Round off Error
The error produced in a computation
by rounding results at one or more intermediate steps, resulting in a result
different from that which would be obtained using exact numbers. The most common
problems resulting from
roundoff error occur either when many steps are involved with rounding occurring
at each step, when two quantities very close to each other are subtracted, or
when a number is divided by a number which is close to zero.
An egregious example of roundoff error is provided by a
short-lived index devised at the Vancouver stock exchange (McCullough and Vinod
1999). At its inception in 1982, the index was given a value of 1000.000. After
22 months of recomputing the index and truncating to three decimal places at
each change in market value, the index stood at 524.881, despite the fact that
its "true" value should have been 1009.811.
Other sorts of roundoff error can also occur. A notorious
example is the fate of the Ariane rocket launched on June 4, 1996 (European
Space Agency 1996). In the 37th second of flight, the inertial reference system
attempted to convert a 64-bit
floating-point number to a 16-bit number, but instead triggered an overflow
error which was interpreted by the guidance system as flight data, causing the
rocket to veer off course and be destroyed.
The Patriot missile defense system used during the Gulf War was
also rendered ineffective due to roundoff error (Skeel 1992, U.S. GAO 1992). The
system used an integer timing register which was incremented at intervals of 0.1
s. However, the integers were converted to decimal numbers by multiplying by the
binary
approximation of 0.1,
As a result, after 100 hours (
ticks), an error of
had accumulated. This discrepancy caused the Patriot system to
continuously recycle itself instead of targeting properly. As a result, an Iraqi
Scud missile could not be targeted and was allowed to detonate on a barracks,
killing 28 people.
|