Understanding Computer Errors: Motivation through Real-World Examples
420 likes | 573 Vues
This presentation highlights the importance of studying computer errors through two compelling examples. The first example discusses the Patriot missile failure during the Gulf War, which resulted from a rounding error in numerical computing, leading to tragic consequences. The second example illustrates unexpected results in MATLAB computations due to floating-point arithmetic challenges. By using these scenarios, we emphasize the usefulness of understanding computer errors in scientific computing, encouraging students to engage with mathematics and its practical applications.
Understanding Computer Errors: Motivation through Real-World Examples
E N D
Presentation Transcript
TWO EXAMPLES AS MOTIVATION FOR THE STUDY OF COMPUTER ERRORS Prof Jorge Lemagne Faculty of Science, BinduraUniversity jlemagne@buse.ac.zw, jorgelemagneperez@gmail.com
9 strategies for increasing student motivation in Math (Posamentier[2013]) (1)
9 strategies for increasing student motivation in Math (Posamentier [2013]) (2)
Preceding strategies might be applied • In this talk: Two examples as motivation for the study of computer errors. • In both, all S1 to S9 might be applied. • Especially “S6. Indicate the usefulness of a topic” can be carried out by introducing “a practical application of genuine interest to the class at the beginning of a lesson.”
Inevitable presence of error • Scientific computing: Discipline concerned with the development and study of numerical algorithms for solving mathematical problems that arise in science and engineering. • The most fundamental feature of numerical computing is the inevitable presence of error.
Consequences of careless numerical computing • Scientists and engineers often wish to believe that the numerical results of a computer calculation, especially those obtained as output of a software package, contain no error: at least not a significant or intolerable one. • But careless numerical computing does occasionally lead to disasters. • Among them one of the most spectacular was the Patriot missile failure.
Example 1: The Patriot Missile Failure February 25, 1991 (Gulf War), Dharan, Saudi Arabia: An American Patriot Missile was supposed to track and intercept an incoming Iraqi Scud missile.
To produce the time in seconds • In Patriot computer, the system's internal clock measured the time in tenths of second. • So it was multiplied by to produce the time in seconds.
But, what was actually stored? In binary notation, the expansion of is non-terminating: However the multiplication by was performed using a 24 bit fixed point register, so it stored instead
Error Consequently, it is introduced an error , called rounding error (in this case by chopping).
Total time error The Patriot battery was up around 100 hours. Multiplying by the number of tenths of a second in 100 hours gives , the time error (in seconds).
The distance travelled • A Scud travels at about 1676 meters per second. • So travels more than half a kilometre in this time (0.34 sec). • This was far enough that the incoming Scud was outside the "range gate" that the Patriot tracked.
Consequence • As a consequence, the Patriot failed to track and intercept the incoming Iraqi Scud missile. • The Scud struck an American Army barracks, killing 28 soldiers and injuring around 100 other people.
Cause of this disaster • The small rounding error, when multiplied by the large number giving the time in tenths of a second, led to a significant error , due to the magnified rounding error. • It turns out that the cause of this disaster was an inaccurate calculation of the time since boot due to computer arithmetic errors.
Example 2: An apparently contradictory result • The second example of this talk is far less tragic than the preceding one. • We initially propose you to make a simple experiment. • It will be used an environment that is suitable for technical computing: MATLAB (MathWorks [2013]). We open the application:
Simple experiment >> 0.3*4==1.2 ans = 1 >> 0.4*3==1.2 ans = 0 >> Why? (To be explained)
Traditionally • We are used to perform calculations using decimal notation. • Moreover, in some cases, they are done exactly. • That happens when we perform
Scientific calculations • However, scientific calculations are not exact or use decimal notation. • Why? • Scientific calculations are usually carried out in floating point arithmetic. • Actually, this is just a generalization of what is called scientific notation.
Scientific notation • Essentially, as we know, its form has mantissa and exponent. For example: • Since decimal notation is used, the base is 10, and each mantissa digit is between 0 and 9.
Significant digits In the three examples the mantissa has digits, or equivalently, each number has 4 significant digits.
Floating point number • In general, the base is , and , , are digits between 0 and (normally ). • For most computers, . • The reason is mainly technological.
Can we represent exactly 1.2 in floating point with ? • Using the binary notation: • Observe that the mantissa has infinitely many binary digits or bits. • So, again, we need to approximate (round) the number. • This means to take only digits.
IEEE (Institute of Electrical and Electronics Engineers) • Standard 754, published in 1985, defines a binary floating point arithmetic system. • Values of : 24 (simple precision), 53 (double precision) and 64 (extended precision). • Correspondingly, the precision in decimal system is about 7, 15 or 19, obtained multiplying by
For the sake of clarity We consider a computer with , so instead of we have Or equivalently: Hence some error is committed. Observe the number that is actually represented.
The other data Similarly, the other data represented in our computer are the following:
Rounding again • Now, we perform the multiplications with these rounded numbers. • Each multiplication gives a number with 10 significant digits. • Hence, it must be rounded again.
Results Thus, we have the following results: Therefore, in our computer: But
In general, laws of arithmetic do not hold on scientific computing For some numbers and : : In arithmetic of decimal digits:
Further information To deepen on floating point arithmetic and analysis of error: Conte and de Boor [1980] and Heath [2002] (for instance)
So, what have we seen? • Two examples as motivation for the study of computer errors. • These may be startling to readers who are not familiarized with computer arithmetic.
Bibliography (1) [1] Arnold, D. N. (2000): The Patriot Missile Failure, http://www.ima.umn.edu/~arnold/disasters/ disasters.html [2] Conte, S. D. and de Boor, C. (1980): Elementary Numerical Analysis, an Algorithmic Approach, Third Edition, McGraw-Hill Book Company, ISBN 0-07-012447-7 [3] Heath, M. T. (2002): Scientific Computing: An introductory survey, Second edition, The McGraw-Hill Companies, Inc., ISBN 0-07-239910-4, ISBN 0-07-112229-X (ISE)
Bibliography (2) [4] Higham, N. J. (1996): Accuracy and stability of numerical algorithms, SIAM, Philadelphia, ISBN O-8987 l-355-2 (pbk.) [5] MathWorks, Inc., The (2013): MATLAB R2013a [6] Posamentier A. (2013): 9 Strategies for Motivating Students in Mathematics, EDUTOPIA, The George Lucas Educational Foundation, http://www.edutopia.org/blog/ 9-strategies-motivating-students-mathematics-alfred-posamentier