Docstoc

Module

Document Sample
Module Powered By Docstoc
					           CS 170:
Computing for the Sciences and
       Mathematics

       More Accurate Rate Estimation
                         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

 tn = t0 + n t
 Pn = Pn-1 + f(tn-1, Pn-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 (tn-1, Pn-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 2nd 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 P1 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 estimating next point (Euler)
 Y  population + growth * ∆t
 t  i*∆t
 population  population+ 0.5*( growth + growthRate*Y)

                                       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.
    P1 = P0 + d1,   d1 = rate*P0*t
    P2 = P1 + d2,   d2 = rate*P1*t
    P3 = P2 + d3,   d3 = rate*P2*t
                    d4 = rate*P3*t
 P1 = (1/6)*(d1 + 2*d2 + 2*d3 + d4)
 error: O(t4)
           CS 170:
Computing for the Sciences and
       Mathematics

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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:3
posted:7/28/2012
language:
pages:22