CS 170: Computing for the Sciences and Mathematics

rumblecleverAI and Robotics

Dec 1, 2013 (3 years and 8 months ago)

118 views

More Accurate Rate Estimation

CS 170:

Computing for the Sciences and
Mathematics

Administrivia


Last time (in P265)


Euler’s method for computation



Today


Better Methods


Simulation / Automata


HW #7 Due!


HW #8 assigned


Euler’s method



Simplest simulation technique for solving
differential equation


Intuitive


Some other methods faster and more accurate


Error on order of ∆t


Cut ∆t in half


cut error by half


Euler’s Method


t
n

= t
0

+ n

t


P
n

= P
n
-
1

+ f(t
n
-
1
, P
n
-
1
)

t

Runge
-
Kutta 2 method



Euler's Predictor
-
Corrector (EPC) Method



Better accuracy than Euler’s Method



Predict what the next point will be (with Euler)



then correct based on estimated slope.


Concept of method


Instead of slope of tangent line at (t
n
-
1
, P
n
-
1
), want
slope of chord


For ∆t = 8, want slope of chord between

(0, P(0)) and (8, P(8))


Concept of method


Then, estimate for 2
nd

point is ?


(∆t, P(0) + slope_of_chord * ∆t)


(8, P(0) + slope_of_chord * 8)

Concept of method


Slope of chord ≈ average of slopes of tangents at

P(0) and P(8)


EPC


How to find the slope of tangent at P(8) when we do
not know P(8)?


Y = Euler’s estimate for P(8)


In this case Y = 100+ 100*(.1*8) = 180


Use (8, 180) in derivative formula to obtain estimate
of slope at t = 8


In this case, f(8, 180) = 0.1(180) = 18


Average of slope at 0 and estimate of slope at 8 is


0.5(10 + 18) = 14


Corrected estimate of P
1

is 100 + 8(14) = 212

Predicted and corrected estimation of

(8, P(8))

Runge
-
Kutta

2 Algorithm

initialize
simulationLength
,
population
,
growthRate
,
∆t


numIterations


simulationLength / ∆t


for

i

going
from 1 to numIterations
do the following:

growth


growthRate * population

Y



population + growth * ∆t

t


i*∆t

population


灯灵污瑩潮⬠〮㔪⠠杲潷瑨g⬠杲潷瑨剡瑥⩙*


estimating next point (Euler)

averaging two slopes

Error


With P(8) = 15.3193 and Euler estimate = 180,
relative error = ?


|(180
-

P(8))/P(8)| ≈ 19.1%


With EPC estimate = 212, relative error = ?


|(212
-

P(8))/P(8)| ≈ 4.7%



Relative error of Euler's method is O(

t)

EPC at time 100



t


Estimated P


Relative error


1.0


2,168,841


0.015348


0.5


2,193,824


0.004005


0.25

2,200,396


0.001022



Relative error of EPC method is on order of O((

t)
2
)

Runge
-
Kutta

4


If you want increased accuracy, you can expand your
estimations out to further terms.


base each estimation on the Euler estimation of the
previous point.


P
1

= P
0

+
d
1
,

d
1

= rate*P
0
*

t


P
2

= P
1

+
d
2
,

d
2

= rate*P
1
*

t


P
3

= P
2

+
d
3
,

d
3

= rate*P
2
*

t






d
4

= rate*P
3
*

t


P1 = (1/6)*(
d
1

+ 2*
d
2

+ 2*
d
3

+
d
4
)


error: O(

t
4
)

SI MULATI ON

CS 170:

Computing for the Sciences and
Mathematics

Computer simulation


Having computer program imitate reality, in order to
study situations and make decisions



Applications?

Use simulations if…


Not feasible to do actual experiments


Not controllable (Galaxies)


System does not exist


Engineering


Cost of actual experiments prohibitive


Money


Time


Danger


Want to test alternatives

Example: Cellular Automata


Structure


Grid of positions


Initial values


Rules to update at each timestep


often
very

simple


New = Old + “Change”



This “Change” could entail a diff. EQ, a constant
value, or some set of logical rules

Mr. von Neumann’s Neighborhood



Often in automata simulations, a
cell’s “change” is dictated by the state
of its neighborhood


Examples:


Presence of something in the neighborhood


temperature values, etc. of neighboring cells


Conway’s Game of Life


The
Game of Life
, also known simply as
Life
, is a
cellular automaton devised by the British
mathematician
John Horton Conway

in 1970.


The “game” takes place on a 2
-
D grid


Each cell’s value is determined by the values of an expanded
neighborhood (including diagonals) from the previous time
-
step.


Initially, each cell is populated (1) or empty (0)


Because of Life's analogies with the rise, fall and
alterations of a society of living organisms, it belongs to
a growing class of what are called
simulation games

(games that resemble real life processes).

Conway’s Game of Life

The Rules


For a space that is 'populated':


Each cell with
one

or
zero

neighbors
dies

(loneliness)


Each cell with
four

or
more

neighbors
dies

(overpopulation)


Each cell with
two

or
three

neighbors survives


For a space that is 'empty' or 'unpopulated‘


Each cell with three neighbors becomes populated


http://www.bitstorm.org/gameoflife/

HOMEWORK!



Homework 8


READ “Seeing Around Corners”


http://www.theatlantic.com/magazine/archive/2002/04/seeing
-
around
-
corners/2471/


Answer reflection questions


to be posted on class site


Due THURSDAY 11/4/2010



Thursday’s Class in HERE (P265)