Top Banner
More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics
22

More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

Dec 30, 2015

Download

Documents

Stuart Scott
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

More Accurate Rate Estimation

CS 170:Computing for the Sciences

and Mathematics

Page 2: 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

Page 3: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

Euler’s method

Simplest simulation technique for solving differential equation

IntuitiveSome other methods faster and more

accurateError on order of ∆t

Cut ∆t in half cut error by half

Page 4: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

Euler’s Method

tn = t0 + n t

Pn = Pn-1 + f(tn-1, Pn-1) t

Page 5: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

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.

Page 6: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

Concept of method

Instead of slope of tangent line at (tn-1, Pn-1), want slope of chord

For ∆t = 8, want slope of chord between (0, P(0)) and (8, P(8))

Page 7: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

Concept of method

Then, estimate for 2nd point is ? (∆t, P(0) + slope_of_chord * ∆t) (8, P(0) + slope_of_chord * 8)

Page 8: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

Concept of method

Slope of chord ≈ average of slopes of tangents at P(0) and P(8)

Page 9: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

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 P1 is 100 + 8(14) = 212

Page 10: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

Predicted and corrected estimation of (8, P(8))

Page 11: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

Runge-Kutta 2 Algorithm

initialize simulationLength, population, growthRate, ∆t

numIterations simulationLength / ∆t

for i going from 1 to numIterations do the following:growth growthRate * populationY population + growth * ∆tt i*∆tpopulation population+ 0.5*( growth + growthRate*Y)

estimating next point (Euler)

averaging two slopes

Page 12: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

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)

Page 13: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

EPC at time 100

t Estimated P Relative error1.0 2,168,841 0.0153480.5 2,193,824 0.0040050.25 2,200,396 0.001022

Relative error of EPC method is on order of O((t)2)

Page 14: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

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. P1 = P0 + 1, 1 = rate*P0*t

P2 = P1 + 2, 2 = rate*P1*t

P3 = P2 + 3, 3 = rate*P2*t

4 = rate*P3*t

P1 = (1/6)*(1 + 2*2 + 2*3 + 4)error: O(t4)

Page 15: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

SIMULATION

CS 170:Computing for the Sciences

and Mathematics

Page 16: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

Computer simulation

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

Applications?

Page 17: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

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

Page 18: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

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

Page 19: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

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

Page 20: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

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).

Page 21: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

Conway’s Game of Life

The RulesFor 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/

Page 22: More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.

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)