Informtica Aplicada (ING. MECANICA) Ultima revisin: Agosto 2013 NOTAS DE CLASE Tema: Errores en los Mtodos Numricos Errores en los Mtodos Numricos Notas de Clase Situacin REAL NO SIEMPRE se requiere una RESPUESTA EXACTA MODELO MATEMTICO para describir y analizar APROXIMACIN SOLUCIN ANALTICA: Puede NO tener Puede ser DIFCIL o COSTOSA (objetivos) MTODOS NUMRICOS Una SOLUCIN APROXIMADA al PROBLEMA ORIGINAL importancia mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase MTODO NUMRICO Resolver problemas numricos COMPLEJOS utilizando operaciones aritmticas SIMPLES. OBJETIVO Conjunto FINITO de reglas o instrucciones bien definidas, tal que, siguindolas paso a paso se obtiene la solucin a un dado problema. ALGORITMO RECORDEMOS: MTODO NUMRICO Es un ALGORITMO diseado para dar respuesta problema con una PRECISIN prescripta. NUMRICA a un DEFINICIN CLCULO NUMRICO EVALA los MTODOS NUMRICOS diseados. OBJETIVO importancia mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase El CLCULO de un MTODO NUMRICO dar NMEROS que se APROXIMAN a los que se obtendran aplicando la SOLUCIN ANALTICA de un problema, en el caso que existiera. DIREMOS Qu tan PRECISOS (prximos a la solucin exacta) son los resultados? Qu tanto ERROR se ha introducido? NOS PREGUNTAMOS Si el clculo aproxima a la solucin exacta: importancia mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase TRATAMIENTO INFORMACIN RESUMIMOS ENTRADA INFORMACIN PROCESO INFORMACIN SALIDA INFORMACIN conceptos bsicos fuentes de error ejemplos DATOS MTODO NUMRICO RESULTADOS FUENTES DE ERROR Distintos ERRORES en cada ETAPA. ERROR ERROR ERROR Los ERRORES se PROPAGAN dando el ERROR TOTAL. Cmo MEDIMOS el ERROR? mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase CUANTIFICAMOS el ERROR: Siendo V A una aproximacin de V V , y V V el valor real, entonces: e = | V A V V | e R = | ( V A V V ) / V V | con la condicin V V ! 0 ERROR PORCENTUAL ABSOLUTO ERROR ABSOLUTO ERROR RELATIVO ABSOLUTO e P = 100.| ( V A V V ) / V V |(%) con la condicin V V ! 0 conceptos bsicos fuentes de error ejemplos mtodos numricos errores punto flotante
Definicin 1.7 Errores en los Mtodos Numricos Notas de Clase CONVERGENCIA X 0 : aproximacin a la solucin (X) de un problema Aplicacin del mtodo numrico Generacin de la sucesin: x 0 , x 1 , x 2 ,, x n Si un mtodo numrico es convergente, entonces debe cumplir: CRITERIOS DE CONVERGENCIA TERICOS: APLICABLES EN LOS MTODOS NUMRICOS: mtodos numricos errores punto flotante
conceptos bsicos fuentes de error ejemplos Errores en los Mtodos Numricos Notas de Clase PROCESO MTODO NUMRICO ALGORITMO COMPUTACIONAL ERRORES ERROR DE TRUNCAMIENTO (tiempo). Tiempo ERROR DE REDONDEO (espacio). ERRORES en el CLCULO al implementar en MQUINA el MTODO. Es decir: TIEMPO FINITO (ALGORITMO) ESPACIO FINITO (COMPUTADORA) INTENCIONALMENTE al usar un ALGORITMO COMPUTACIONAL Introducimos restricciones: Espacio RIGUROSAMENTE: FINITO no alcanza. FINITO debe entenderse como RAZONABLE. conceptos bsicos fuentes de error ejemplos mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase ERROR DE TRUNCAMIENTO
SURGE debido a la limitacin en TIEMPO. Debemos realizar un nmero finito de acciones.
EJEMPLOS: Evaluar funciones con la Serie de Taylor. Proceso iterativo convergente. Evaluar por intervalos. Faltar evaluar trminos, iteraciones o intervalos TRUNCADOS ! ERROR NO PODEMOS IMPLEMENTAR EL LMITE ANALTICO TRUNCAR conceptos bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
Cap. I (pp. 28) Errores en los Mtodos Numricos Notas de Clase ERROR DE REDONDEO
SURGE debido a la limitacin en ESPACIO (la memoria ocupa espacio). Los nmeros reales se representan por una INFINIDAD de dgitos. En MQUINA slo podemos tener un representacin FINITA.
Qu sucede cuando se representa el nmero decimal 0.1 en el sistema binario ?
0.1 d = 0. 0001 1001 1001 1001 1001 1001 1001 1001. b
conceptos bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
Cap. I (pp. 28-) Errores en los Mtodos Numricos Notas de Clase nociones bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
ERROR NUMRICO TOTAL Agregando trminos, iteraciones o disminuyendo el intervalo. DISMINUIR UNA COMPONENTE DE ERROR CONDUCE A UN INCREMENTO EN LA OTRA ERROR DE TRUNCAMIENTO ERROR DE REDONDEO Error de truncamiento Significa nmero de operaciones Error de redondeo " SOLUCIN DE COMPROMISO Errores en los Mtodos Numricos Notas de Clase x = 0. d1 d2 d3 dk dk+1 x 10 n
donde: d1 # {1,2,,8,9} y dj # {0,1,,8,9} j > 1
d1 d2 d3 . dk+1: mantisa n: exponente
NOTACION NORMALIZADA mtodos numricos errores punto flotante
nociones bsicas fuentes de error ejemplos Errores en los Mtodos Numricos Notas de Clase El redondeo truncado consiste en truncar el resultado de una operacin al nmero de dgito significativos que se estn utilizando. Por ejemplo se redondea 7/9 a 4 dgito significativos tenemos 0.7777. 0.3333 + 0.6666 = 0.9999 (redondeo truncado) 0.3333 + 0.6667 = 1.000 (redondeo simtrico) nociones bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
REDONDEO TRUNCADO REDONDEO SIMTRICO El redondeo simtrico consiste en aumentar en uno el ltimo dgito retenido si la primer dgito descartado est entre 5 y 9, o dejarlo igual si el primer dgito descartado est entre 0 y 4. Ejemplo: 1/3 + 2/3 = 1, su resolucin mediante la calculadora puede llevarnos a un resultado diferente. Si realizamos la suma empleando nicamente 4 dgitos significativos se obtiene Errores en los Mtodos Numricos Notas de Clase conceptos bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
REDONDEO TRUNCADO Y SIMETRICO (cont.) fl trunc (x) = 0. d 1 d 2 d 3 d k x 10 n ; k nmero mximo de cifras decimales
d 1 # {1,2,,8,9} y d j # {0,1,,8,9} 1 < j $ k
fl red (x) = 0. r 1 r 2 r 3 r k x 10 n ; k nmero mximo de cifras decimales
r 1 # {1,2,,8,9} y r j # {0,1,,8,9} 1 < j $ k se calcula redondeando el nmero d 1 d 2 d 3 d k d k+1 d k+2 al nmero ms prximo (siendo fl red (x) = 0,9999 d k+1 x 10 n = 0.1 x 10 n+1 si d k+1 % 5) Cap. I (pp. 29) Errores en los Mtodos Numricos Notas de Clase conceptos bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
REDONDEO TRUNCADO Y SIMETRICO (cont.) X = 22 / 7 = 3.142857142857142857
Utilizando 6 dgitos significativos: fl trunc (x) = 0,314285 x 10 1 fl red (x) = 0,314286 x 10 1
X = 0.23159966 fl trunc (x) = 0,231599 fl red (x) = 0,231600 Errores en los Mtodos Numricos Notas de Clase conceptos bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
EJEMPLO Ejemplo 1.17 Vamos a comparar los resultados de calcular f(500) y g(500), usando 6 dgitos significativos con redondeo simtrico. Siendo f(x) = x(&(x+1) - &x) y g(x) = x/(&(x+1) + &x) Mostrar que ambos f(x) y g(x) son algebraicamente equivalentes < f(x) = g(x) > ' DEBERA OBTENERSE EL MISMO RESULTADO Errores en los Mtodos Numricos Notas de Clase conceptos bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase conceptos bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
El valor exacto es de 11.174755300747198
f(500) = 11.15 g(500) = 11.1748
La respuesta de g(500) tiene un error absoluto menor que el obtenido para f(500).
CALCULE EN AMBOS CASOS LOS ERRORES ABSOLUTO y RELATIVO
RESUELVA El EJEMPLO 1.18 (Cap. I, pp 31) y EL EJERCICIO 12 y 13 (Cap. I, pp. 42)
PASO A PASO Evaluar g(500); 500 = 0.500000x10 3
Errores en los Mtodos Numricos Notas de Clase Utilizando polinomios de Taylor analice el valor de exp(x) en funcin del nmero de trminos retenidos en la serie nociones bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
exp(1)
) ( 5 4 3 2 1 5 4 3 2 x n x x x x x x e n n x P ! ... ! ! ! ! = + + + + + + + ! ! (6 dgitos significativas): Errores en los Mtodos Numricos Notas de Clase PROPAGACIN DEL ERROR conceptos bsicas fuentes de error propagacin mtodos numricos errores punto flotante
Medidas indirectas : Magnitudes que se calculan a partir de los valores encontrados en las medidas de otras magnitudes.
Conocemos x !x , y !y ,... Calculamos z = f (x, y,...) Cul es el error de z?
Propagacin de errores : Conjunto de reglas que permiten asignar un error a z, conocidas las incertidumbres de x e y, ...
Permiten asignar un error al resultado final. Indica la importancia relativa de las diferentes medidas directas. Planificacin del experimento.
Hiptesis de partida : Medidas dependientes.- Hiptesis pesimista. Siempre en la situacin ms desfavorable. Conjunto de reglas prcticas. Errores en los Mtodos Numricos Notas de Clase conceptos bsicas fuentes de error propagacin mtodos numricos errores punto flotante
PROPAGACIN DE ERRORES EN SUMAS Y DIFERENCIAS El error absoluto de la suma y de la diferencia de dos o mas magnitudes es la suma de los errores absolutos de dichas magnitudes: Errores en los Mtodos Numricos Notas de Clase PROPAGACIN DEL ERROR EN EL PRODUCTO conceptos bsicas fuentes de error propagacin mtodos numricos errores punto flotante
El error relativo del producto es igual a la suma de los errores relativos: RESUELVA EL EJERCICIO 8 (Cap. I, pp. 41) Errores en los Mtodos Numricos Notas de Clase PROPAGACIN DEL ERROR EN EL COCIENTE conceptos bsicas fuentes de error propagacin mtodos numricos errores punto flotante
El error relativo del cociente es la suma de los errores relativos: Errores en los Mtodos Numricos Notas de Clase RESUMEN conceptos bsicas fuentes de error propagacin mtodos numricos errores punto flotante
El error relativo del cociente es la suma de los errores relativos: El error relativo del producto es igual a la suma de los errores relativos: El error absoluto de la suma y de la diferencia de dos o mas magnitudes es la suma de los errores absolutos de dichas magnitudes: Errores en los Mtodos Numricos Notas de Clase There are 10 types of people in the world:
those who understand binary
and
those who don't. 2 nociones bsicas fuentes de error ejemplos
mtodos numricos errores punto flotante
Repase INFORMATICA I Representacin interna ALGEBRA Sistemas de numeracin Errores en los Mtodos Numricos Notas de Clase n 2 4 3 2 1 2 x d d d 0.d ) ( {0.1000 2 x 2 -3 , 0.1001 2 x 2 -3 , , 0.1110 2 x 2 4 , 0.1111 2 x 2 4 }
Conjunto de todos los nmeros reales positivos de la forma n pertenece al conjunto {-3,-2,-1,0,1,2,3,4}; d 1 = {1}; d j = {1,0} j=2,3,4. Mantisa Exponente n=-3 n=-2 n=-1 n=0 n=1 n=2 n=3 n=4 0.1000 (2) 0.0625 0.125 0.25 0.5 1 2 4 8 0.1001 (2) 0.0703125 0.140625 0.28125 0.5625 1.125 2.25 4.5 9 0.1010 (2) 0.078125 0.15625 0.3125 0.625 1.25 2.5 5 10 0.1011 (2) 0.0859375 0.171875 0.34375 0.6875 1.375 2.75 5.5 11 0.1100 (2) 0.09375 0.1875 0.375 0.75 1.5 3 6 12 0.1101 (2) 0.1015625 0.203125 0.40625 0.8125 1.625 3.25 6.5 13 0.1110 (2) 0.109375 0.21875 0.4375 0.875 1.75 3.5 7 14 0.1111 (2) 0.1171875 0.234375 0.46875 0.9375 1.875 3.75 7.5 15 nociones bsicas fuentes de error ejemplos BITVIEWER.EXE Cap. I (pp. 21-22) mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase Por ejemplo que pasara si en nuestra computadora de 4 cifras como describimos en los prrafos anteriores se realiza la operacin (1/10 + 1/5) + 1/6? . Supongamos adems que nuestra computadora redondea todos los nmeros reales al nmero binario ms prximo de los que dispone. 2 - 2 2 - 2 2 - 2 2 - 2 2 - 2 3 - 2 2 x 0100 1 10 3 2 x 1101 0 2 x 1101 0 5 1 2 x 0111 0 2 x 01101 0 2 x 1101 0 10 1 ) ( ) ( ) ( ) ( ) ( ) ( . _____ __________ __ . . . . . != != " != = " La computadora debe decidir ahora cmo almacenar el nmero 0.01101 (2) x 2 -2 . Supongamos que se redondea como 0.0111 (2) x 2 -2 . 1 - 2 1 - 2 1 - 2 2 - 2 1 - 2 1 - 2 2 x 0000 1 15 7 2 x 0110 0 2 x 01011 0 2 x 1011 0 6 1 2 x 1010 0 2 x 1010 0 10 3 ) ( ) ( ) ( ) ( ) ( ) ( . ______ __________ __ . . . . . != != = " != " nociones bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase 0 2 2 x 1000 0 15 7 ) ( . ! 0333 0 5000 0 4667 0 1000 0 15 7 2 . . . . ) ( ! " ! " ! Ahora la computadora decide como almacenar el nmero 1.0000 (2) x 2 -1 . Puesto que suponemos que redondea, almacena 0.1000 (2) x 2 0 . Por lo tanto, la solucin a nuestro problema original es El error en el clculo efectuado por la computadora es Equivalente a un error del 7% aproximadamente !!... nociones bsicas fuentes de error ejemplos (1/10 + 1/5) + 1/6 =? 1/10 + (1/5 + 1/6) . mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase nociones bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
Considere la serie de Taylor para el seno(x) ! ... ! ! ! ) sin( n x x x x x x n + + ! + ! " 7 5 3 7 5 3 Para pequeos valores de x, slo un reducido nmero de trminos es necesario para obtener una buena solucin. Valor verdadero = Valor suma + Error de truncamiento El valor del Error de truncamiento depende de x y del nmero de trminos incluidos en Valor suma
DISMINUIR UNA COMPONENTE DE ERROR CONDUCE A UN INCREMENTO EN LA OTRA Errores en los Mtodos Numricos Notas de Clase nociones bsicas fuentes de error ejemplos Vemos que para valores grandes de x la serie converge ms lentamente MATLAB sinserie.m Condicin de salida trm. / Suma < 5.E-6 # trm. > 15 mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 0.5 1 1.5 2 2.5 3 3.5 4 x 10 -6 Se puede demostrar que para cualquier serie alternante convergente el error de truncamiento es menor que el primer trmino despreciado (ANALISIS 1er. ao) ( ) 6 6 3 11 1 11 ! " < e x trunc . ! E Ntese que valores de x mayores a (/4 aprox. el error aumenta rpidamente cuando x tiende a (/2. El error mximo es de 3.6e-06, en acuerdo con el error de truncamiento expresado anteriormente. nociones bsicas fuentes de error ejemplos En el caso de utilizar 5 trminos siempre mtodos numricos errores punto flotante
[0, (/2] E r r o r
T o t a l
x 10 -6 Errores en los Mtodos Numricos Notas de Clase Si usamos 15 trminos ( ) 28 46 1 31 1 31 ! " < e x trunc . ! E 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 x 10 -16 pi/2 x e r r o r
t o t a l El error por redondeo est controlando el comportamiento. nociones bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
E r r o r
T o t a l
x 10 -16 Cmo se entiende ?... Errores en los Mtodos Numricos Notas de Clase para ir pensando - Qu causa la terminacin del proceso iterativo? - Para valores de x = {pi/2, 11pi/2, 21pi/2, 31pi/2} analice: Qu tan exacto es el resultado calculado? Cuntos trminos son requeridos? Cul es el trmino ms grande en la serie? nociones bsicas fuentes de error ejemplos mtodos numricos errores punto flotante
Errores en los Mtodos Numricos Notas de Clase mtodos numricos errores punto flotante
constantes de la computadora errores de redondeo crticos realmin, realmax, eps Conjunto DISCRETO de valores Errores en los Mtodos Numricos Notas de Clase mtodos numricos errores punto flotante
TRES IMPORTANTES CONSTANTES EN LA COMPUTADORA Estos tres valores definen el rango de nmeros disponibles y la precisin de nuestra computadora realmax := mximo nmero (normalizado) ) 2 1024 ) 1.8E+308 realmin := minimo nmero (normalizado) ) 2 -1022 ) 2.2E-308 *, eps o epsilon) valor positivo ms pequeo de forma tal que sumado a 1 se obtenga como resultado un valor mayor que 1 eps = * = 0.00..1 2 x 2 0 = 2 -52 ) 2.2E-16 # nmero de dgitos binarios = - log 2 (eps) = 52 # nmero de dgitos decimales = - log 10 (eps) ) 15.6 constantes de la computadora errores de redondeo crticos ! 15-16 DGITOS Errores en los Mtodos Numricos Notas de Clase constantes de la computadora errores de redondeo crticos mtodos numricos errores punto flotante
TRES ERRORES DE REDONDEO CRTICOS Cancelacin Underflow Overflow sustraccin de dos nmeros casi iguales resultado ms pequeo que realmin resultado ms grande que realmax Errores en los Mtodos Numricos Notas de Clase Para evitar problemas comunes con la aritmtica de punto flotante prcticamente la totalidad de operaciones en MATLAB son realizadas en aritmtica de precisin doble, conforme al estndar IEEE 754. Debido a que las computadoras slo representan nmeros con una precisin finita (doble precisin admite 52 bits en la mantisa), los clculos en ocasiones llevan a resultados matemticamente no intuitivos. Es importante notar que estos resultados NO son ERRORES de Matlab. Los siguientes ejemplos tratan de ilustran la problemtica.
Ejemplo1 Redondeo (lo que usted consigue no es lo que espera) El nmero decimal 4/3 no es exactamente representable como una fraccin binaria. Por esta razn, el clculo siguiente no resulta cero. Pero revela la cantidad llamada EPS.
e = 1 - 3*(4/3 - 1) e = 2.2204e-016
mtodos numricos errores punto flotante
constantes de la computadora errores de redondeo crticos Errores en los Mtodos Numricos Notas de Clase Similarmente, 0.1 no tiene representacin exacta en binarios, encontrndose el siguiente comportamiento:
a = 0.0; for i = 1:10 a = a + 0.1; end a == 1 ans = 0
Note que el orden de las operaciones puede influir en el clculo:
b = 1e-16 + 1 - 1e-16; c = 1e-16 - 1e-16 + 1; b == c ans = 0
mtodos numricos errores punto flotante
constantes de la computadora errores de redondeo crticos Errores en los Mtodos Numricos Notas de Clase Existen saltos entre los nmeros de punto flotante. A media que el nmero se agranda lo hace el salto como se evidencia en:
(2^53 + 1) - 2^53 ans = 0
Dado que pi no es realmente pi, no sorprende que sin(pi) no sea exactamente cero: sin(pi) ans = 1.224646799147353e-016
Ejemplo2 Cancelacin. Cuando la sustraccin es realizada con dos operandos casi iguales, pueden suceder algunas cancelaciones inesperadas. La siguiente es un ejemplo de cancelacin caudada por perdida de la precisin lo cual hace la adicin insignificante:
sqrt(1e-16 + 1) 1 ans = 0 mtodos numricos errores punto flotante
constantes de la computadora errores de redondeo crticos Errores en los Mtodos Numricos Notas de Clase 25 de Febrero 1991. Falla en el sistema de defensa Patriot (Irak) Reporte GAO/ IMTEC-92-26. Problema de software. Razn: acumulacin de errores de redondeo. (www.math.psu.edu/dna/455.f97/notes.html) 4 de Junio 1996. El cohete Ariane se auto destruye al corto tiempo del despegue. Causa del desastre: un error de overflow. ( www.rpi.edu/~holmes/NumComp/Misc/siam.ariane.html) 1997. Un error de redondeo es descubierto en los procesadores Pentium-II. Problema no solo de imagen de la empresa (INTEL) sino el costo del reemplazo de un gran numero de procesadores defectuosos. ( x86.ddj.com/secrets/dan0411.htm) constantes de la computadora errores de redondeo crticos
mtodos numricos errores punto flotante
Si te interesa ac van algunos datos de la realidad constantes de la computadora errores de redondeo crticos realmin, realmax, eps