* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download PPT - Department of Computer Science
		                    
		                    
								Survey							
                            
		                
		                
                            
                            
								Document related concepts							
                        
                        
                    
						
						
							Transcript						
					
					CS 170: Computing for the Sciences and Mathematics Error: Finding Creative ways to Screw Up Administrivia  Last time  Basics of modeling  Assigned HW 1  Today  HW1 due!  Assign HW 2  Monday 9/13– NO CLASS Error  What is the value of a model…  That is completely wrong  That is a perfect match to a physical system  That may be off by as much as 5% Types of Error  Input Data Errors  Faulty/inaccurate sensors, poorly calibrated, mis-read results..  Modeling Errors  Poor assumptions, bad math, mis-understanding of system  Implementation Errors  Bug in computer program, poor programming  Precision  The limits of finite number representation Input Data Errors  NSIDC  Sensor drift led to their real-time sea ice estimates to be off by over 500,000 km2 Still only off by 4%  http://nsidc.org/arcticseaicenews/2009/022609.html  Modeling Errors  Obvious type: math formulation errors, mis-writing a formula, etc.  By virtue of making assumptions and simplifications, models will have “error” versus reality.  This isn’t necessarily a bad thing, as long as we manage it well  Lord Kelvin used his knowledge of temperature dissipation to estimate that the earth was between 20-40 million years old.   Actual: ~12 billion Assumed there was no heat source but the sun Implementation Errors  Incorrect programming (a “bug”)  Didn’t implement the model correctly Wrong equations  Mis-defined inputs/outputs  Implemented the solution to a different problem   Precision Errors  Computers only have so much space to store numbers  This limits the range and precision of values! Precision Errors  In a computer, a number is stored in a number of bits (binary digits)  IEEE 754 standard floating point Variation on standard normalized scientific notation  single-precision is 32 bits  double-precision is 64 bits   Stored in 3 parts sign (1 bit) – is it positive or negative?  magnitude – what is the exponent?  mantissa/significand – what is the number?  i.e. 6.0221415 × 1023 Exponential notation  Example: 698.043990  103  Fractional part or significand?  698043990  Exponent?  3  Normalized?  6.98043990  105 Significant digits  Significant digits of floating point number  All digits except leading zeros  Number of significant digits in  9 significant digits  Precision  Number of significant digits 698.043990  103? Round-off error  Problem of not having enough bits to store entire floating point number  Example: 0.698043990  105 if only can store 6 significant digits, rounded?  0.698044  105  Do not test directly for equality of floating point variables  Note that many numbers that seem “safe” really aren’t!  i.e. 0.2 is an infinite repeating series when expressed in binary Absolute error  |correct – result|  Example: correct = 0.698043990  105 and result = 0.698043  105  Absolute error = ?  |0.698043990  105 - 0.698043  105| = 0.00000990  105 = 0.990 Relative error  |(correct - result) / correct|  Example: (correct - result) = 0.990 and correct = 0.698043990  105  0.990/(0.698043990  105) = 1.4182487  10-5 Relative error  Why consider relative errors?  1,000,000 vs. 1,000,001  1 vs. 2  Absolute error for these is the same!  If exact answer is 0 or close to 0, use absolute error  Why? Addition and subtraction errors  Beware if there is a big difference in the magnitude of numbers!  Example: (0.65  105) + (0.98  10-5) = ?  65000 + 0.0000098 = 65000.0000098  Suppose we can only store 6 significant digits?  65000.0 = (0.650000  105) Associative property  Does not necessarily hold!  Sum of many small numbers + large number may not equal adding each small number to large number  Similarly, distributive property does not necessarily hold To reduce numerical errors  Round-off errors  Use maximum number of significant digits  If big difference in magnitude of numbers  Add from smallest to largest numbers Error Propagation (Accumulated Error)  Example: repeatedly executing: t = t + dt  Better to repeatedly increment i and calculate: t = i * dt Overflow/underflow  Overflow - error condition that occurs when not enough bits to express value in computer  Underflow - error condition that occurs when result of computation is too small for computer to represent   Truncation error 2 3 4 n x x x x e x  1 x       1 2 1 2 3 1 2 3 4 n! 1 1 1 1 e 11     1 2 1 2 3 1 2 3 4 20!  Truncation error  Error that occurs when truncated, or finite, sum is used as approximation for sum of infinite series 1 1 1    21! 22! 23!  2.051020 Error is Not Inherently Bad  Almost all of these issues can be managed and controlled!  A certain amount of error is normal  What’s important is that we:  Know how much error there might be  Keep it within a bound that allows the results to still be valid Rates: The Basics of Calculus Calculus  Mathematics of change  Two parts  Differential calculus  Integral calculus Rates  “Rate of Change”  Often depends on current amounts  Rates are important in a lot of simulations  growth/decay of… populations  materials/concentrations  radioactivity  money     motion force pressure Height (y) in m vs time (t) in sec of ball thrown up from bridge change in position s(b) s(a) average velocity   change in time b a Time (t) in seconds Height (y) in meters 0.00 11.0000 0.25 14.4438 0.50 17.2750 0.75 19.4938 1.00 21.1000 1.25 22.0938 1.50 22.4750 1.75 22.2438 2.00 21.4000 2.25 19.9437 2.50 17.8750 2.75 15.1937 3.00 11.9000 3.25 7.9938 3.50 3.4750 3.75 -1.6563 Average velocity  between 0 sec & 1 sec?  between 1 sec & 2 sec?  between 0.75 sec & 1.25 sec?  Estimate of instantaneous velocity at t = 1 sec? Derivative s(1 t) s(1) instantaneous velocity at 1 sec  lim t 0 t  Derivative of y = s(t) with respect to t at t = a is the instantaneous rate of change of s with respect to t at a (provided limit exists): dy s'(a)  dt s(a  t) s(a)  lim t 0 t t a Derivative at a point is the slope of the curve at that point Differential Equation  Equation that contains a derivative  Velocity function  v(t) = dy/dt = s'(t) = -9.8t + 15  Initial condition  y0 = s(0) = 11  Solution:  function y = s(t) that satisfies equation and initial condition(s)  in this case:  s(t) = -4.9t2 + 15t + 11 Second Derivative  Acceleration - rate of change of velocity with respect to time  Second derivative of function y = s(t) is the derivative of the derivative of y with respect to independent variable t  Notation  s''(t)  d2y/dt2 Systems Dynamics  Software package that makes working with rates much easier.  Components include:     “Stocks” – collections of things (noun) “Flow” – activity that changes a stock (verb) “Variables” – constants or equations – converter “Connector” – denotes input/information being trasmitted HOMEWORK!  READ pages 17-48 in the textbook  On your own  Work through the Vensim PLE tutorial  Turn-in the final result files on W:  Vensim is being deployed tonight. If there is a problem, I will notify everyone ASAP.  NO CLASS on Monday