Download Diapositiva 1

Document related concepts

Error de aproximación wikipedia , lookup

Estabilidad numérica wikipedia , lookup

Error de redondeo wikipedia , lookup

Análisis numérico wikipedia , lookup

Método de Euler wikipedia , lookup

Transcript
Computación y Cálculo Numérico
Unidad III – ERRORES
UNIDAD III: ERRORES
Hemos desarrollado:
• Sistemas numéricos: decimal, binario y hexadecimal.
• Representación interna de datos: números y caracteres.
Presentaremos hoy:
• Nociones básicas de errores.
Licenciatura en Física – Departamento de Física - ECEN
Turner, P.A.
Computación y Cálculo Numérico
Turner, P.A.
En esta UNIDAD comenzamos a introducirnos en los:
Unidad III – ERRORES
MÉTODOS NUMÉRICOS
Situación REAL
NO SIEMPRE se requiere una RESPUESTA EXACTA
MODELO MATEMÁTICO para describir y analizar
APROXIMACIÓN
SOLUCIÓN ANALÍTICA: Puede NO tener
Puede ser DIFÍCIL o COSTOSA (objetivos)
MÉTODOS NUMÉRICOS
Una SOLUCIÓN APROXIMADA al PROBLEMA ORIGINAL
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
OBJETIVO
MÉTODO NUMÉRICO
Unidad III – ERRORES
Resolver problemas numéricos COMPLEJOS utilizando operaciones
aritméticas SIMPLES.
RECORDEMOS
ALGORITMO
Conjunto FINITO de reglas o instrucciones bien definidas, tal que,
siguiéndolas paso a paso se obtiene la solución a un dado problema.
DIREMOS
MÉTODO NUMÉRICO
Es un ALGORITMO
diseñado para dar respuesta NUMÉRICA
problema con una PRECISIÓN prescripta.
CÁLCULO NUMÉRICO
EVALÚA los MÉTODOS NUMÉRICOS
OBJETIVO
diseñados.
Licenciatura en Física – Departamento de Física - ECEN
a un
Computación y Cálculo Numérico
Turner, P.A.
DIREMOS
Unidad III – ERRORES
El CÁLCULO de un dado MÉTODO NUMÉRICO dará NÚMEROS que se
APROXIMAN a los que se obtendrían aplicando la SOLUCIÓN
ANALÍTICA de un problema, en el caso que existiera.
Si el cálculo aproxima a la solución “exacta”:
NOS PREGUNTAMOS
¿Qué tan PRECISOS (próximos a la solución “exacta”) son los
resultados?
O
¿Qué tanto ERROR se ha introducido?
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
NOCIONES BÁSICAS DE ERRORES
Unidad III – ERRORES
TRATAMIENTO INFORMACIÓN
ENTRADA
INFORMACIÓN
DATOS
ERROR
RESUMIMOS
PROCESO
INFORMACIÓN
SALIDA
INFORMACIÓN
MÉTODO
NUMÉRICO
ERROR
RESULTADOS
FUENTES DE ERROR
• Distintos ERRORES en cada ETAPA.
• Los ERRORES se PROPAGAN dando el ERROR TOTAL.
¿Cómo MEDIMOS el ERROR?
Licenciatura en Física – Departamento de Física - ECEN
ERROR
Computación y Cálculo Numérico
Turner, P.A.
MAGNITUD DEL ERROR
CUANTIFICAMOS el ERROR:
Unidad III – ERRORES
Siendo VA una aproximación de VV, y VV el valor real, entonces:
ERROR ABSOLUTO
e = | VA – VV |
ERROR RELATIVO ABSOLUTO
eR = | ( VA – VV ) / VV |
con la condición VV ≠ 0
ERROR PORCENTUAL ABSOLUTO
eP = 100.| ( VA – VV ) / VV |(%)
con la condición VV ≠ 0
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
CIFRAS SIGNIFICATIVAS
MEDIR la CONFIABILIDAD de un VALOR NUMÉRICO
Unidad III – ERRORES
Siendo VA una aproximación de VV (de la definición de ERROR RELATIVO)
Si d es el mayor número natural tal que
| ( VA – VV ) / VV | < 10-d/2
VA es una aproximación a VV con d CIFRAS SIGNIFICATIVAS
EJEMPLOS
• VA = 3.14 y VV = 3.141592

|(VA – VV)/VV| = 0.000507 < 10-2/2
VA es una aproximación a VV con 2 cifras significativas.
• VA = 999 996 y VV = 1 000 000  |(VA – VV)/VV| = 0.000004 < 10-5/2
VA es una aproximación a VV con 5 cifras significativas.
• VA = 0.000012 y VV = 0.000009  |(VA – VV)/VV| = 0.25 < 10-0/2
VA es una aproximación a VV con 0 cifras significativas.
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
Unidad III – ERRORES
FUENTES DE ERROR
ERRORES en el CÁLCULO al implementar en MÁQUINA el MÉTODO.
Es decir:
Tiempo
ALGORITMO
MÉTODO
PROCESO
COMPUTACIONAL
NUMÉRICO
Espacio
INTENCIONALMENTE al usar un ALGORITMO COMPUTACIONAL
Introducimos restricciones:
TIEMPO FINITO (ALGORITMO)
ESPACIO FINITO (COMPUTADORA)
RIGUROSAMENTE: FINITO no alcanza. FINITO debe entenderse como
RAZONABLE.
ERRORES
• ERROR DE TRUNCAMIENTO (tiempo).
• ERROR DE REDONDEO (espacio).
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
FUENTES DE ERROR EN EL ALGORITMO COMPUTACIONAL
Unidad III – ERRORES
ERROR DE TRUNCAMIENTO
SURGEN debido a la limitación en TIEMPO.
Debemos realizar un número finito de acciones.
EJEMPLOS:
• Evaluar funciones con la Serie de Taylor.
• Proceso iterativo convergente.
• Evaluar por intervalos.
TRUNCAR
Faltará evaluar (ERROR) términos, iteraciones o intervalos TRUNCADOS.
NO PODEMOS IMPLEMENTAR EL LÍMITE ANALÍTICO
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
FUENTES DE ERROR EN EL ALGORITMO COMPUTACIONAL
Unidad III – ERRORES
ERROR DE REDONDEO
SURGEN debido a la limitación en ESPACIO (la memoria ocupa espacio).
Los números reales se representan por una INFINIDAD de dígitos.
En MÁQUINA sólo podemos tener un representación FINITA.
X = ± 0, d1 d2 d3 …. dm x 10n , 1≤d1≤9 y 0≤di≤9
d1 d2 d3 …. dm: mantisa
n: exponente
Trabajamos con: fl(x) = ± 0, d1 d2 d3 …. dk x 10n
Tenemos almacenado un REDONDEO del número real que difiere
(ERROR) del número real.
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
REDONDEO TRUNCADO
Unidad III – ERRORES
El redondeo truncado consiste en truncar el resultado de una operación
al número de cifras significativas que se estén utilizando. Por ejemplo sí
redondeamos 7/9 a 4 cifras significativas tenemos 0.7777
REDONDEO SIMÉTRICO
El redondeo simétrico consiste en aumentar en uno la última cifra
retenida si la primera cifra descartada está entre 5 y 9, o dejarla igual
si la primera cifra descartada está entre 0 y 4.
Ejemplo: 1/3 + 2/3 = 1, su resolución mediante la calculadora puede
llevarnos a un resultado diferente. Si realizamos la suma empleando
únicamente 4 cifras significativas se obtiene
0.3333 + 0.6666 = 0.9999
(redondeo truncado)
0.3333 + 0.6667 = 1.000
(redondeo simétrico)
Licenciatura en Física – Departamento de Física - ECEN
Errores
Computación y Cálculo Numérico
Turner, P.A.
ERROR NUMÉRICO TOTAL
Unidad III – ERRORES
ERROR NUMÉRICO TOTAL
ERROR DE TRUNCAMIENTO
ERROR DE REDONDEO
Error de truncamiento
Agregando términos, iteraciones o disminuyendo el intervalo.
Significa
número de operaciones
Error de redondeo
DISMINUIR UNA COMPONENTE DE ERROR CONDUCE
A UN INCREMENTO EN LA OTRA
Licenciatura en Física – Departamento de Física - ECEN
Unidad III – ERRORES
Computación y Cálculo Numérico
Turner, P.A.
There are 10 2 types of people in the world:
those who understand binary
and
those who don't.
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
Conjunto de todos los números reales positivos de la forma 0.d1d 2d 3d 4 ( 2 ) x 2n
Unidad III – ERRORES
n pertenece al conjunto {-3,-2,-1,0,1,2,3,4}.
{0.10002 x 2-3, 0.10012 x 2-3, … , 0.11102 x 24, 0.11112 x 24}
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
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
Unidad III – ERRORES
Por ejemplo que pasaría si en nuestra computadora de 4 cifras como
describimos en los párrafos anteriores se realiza la operación (1/10 + 1/5) +
1/6? . Supongamos además que nuestra computadora redondea todos los
números reales al número binario más próximo de los que dispone.
1
 0.1101( 2 ) x 2 -3
10
1
 0.1101( 2 ) x 2 -2
5
__
3
10
 0.01101( 2 ) x 2 -2
3
 0.1010( 2 ) x 2-1
10
1
 0.1011( 2 ) x 2-2
6
__
7
15
 0.1010( 2 ) x 2-1
 0.1101( 2 ) x 2 -2
_____________
 1.00111( 2 ) x 2-2
La computadora debe decidir ahora
cómo almacenar el número 1.00111(2) x
2-2 . Supongamos que se redondea como
0.1010(2) x 2-1 . El paso siguiente es
 0.01011( 2 ) x 2-1
_____________
 0.11111( 2 ) x 2-1
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
Unidad III – ERRORES
Ahora la computadora decide como almacenar el número 0.11111(2) x 2-1. Puesto que
suponemos que redondea, almacena 0.1000(2) x 20 . Por lo tanto, la solución a nuestro
problema original es
7
 0.1000( 2 ) x 20
15
El error en el cálculo efectuado por la computadora es
7
 0.1000( 2 )  0.4667  0.5000  0.0333
15
Equivalente a un error del 7% aproximadamente !!...
(1/10 + 1/5) + 1/6 =? 1/10 + (1/5 + 1/6) ….
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
Utilizando polinomios de Taylor analice el valor de exp(x) en funcion del numero
de términos retenidos en la serie
x 2 x3 x 4 x5
xn
e  1  x      ... 
 Pn ( x)
2! 3! 4! 5!
n!
Unidad III – ERRORES
x
exp(1)
(6 cifras significativas):
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
Ejemplo ERROR DE REDONDEO
x2 + 62.10 x + 1 = 0
Unidad III – ERRORES
Raíces aproximadas (7 cifras significativas):
x1 = -0.01610723 , x2 = -62.08390
Soluciones:
 b  b 2  4ac
x1 
2a
 b  b 2  4ac
; x2 
2a
Usando aritmética de 4 cifras (para forzar el error):
b 2  4ac  62 .10 2  4.000  3856 .4 1  4.000  3852  62 .06 4 4 8
Calculamos
x 1 y x2
62 .10  62 .06 0.04000

 0.02000
2.000
2.000
 62 .10  62 .06  124 .2
x2 

 62 .10
2.000
2.000
x1 
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
Ejemplo ERROR DE TRUNCAMIENTO
Unidad III – ERRORES
Considere la serie de Taylor para el seno(x)
x3 x5 x7
xn
sin( x )  x     ... 
3! 5! 7!
n!
Para pequeños valores de x, solo un reducido numero de términos es
necesario para obtener un “buena solución”.
Valor
verdadero
= Valor
suma
+ Error de truncamiento
El valor del Error de truncamiento depende de x y del número de términos
incluidos en Valor suma
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
En el caso de utilizar 5 términos siempre
1  x 

 
11!  2 
11
 3.6e  6
-6
x 10
0.5
Nótese que valores de x mayores
a 0.5 aprox. el error aumenta
rápidamente cuando x tiende a
1. El error máximo es de 3.54e06, lo cual esta en acuerdo con
el error de truncamiento
expresado anteriormente.
0
-0.5
-1
error total
Unidad III – ERRORES
Etrunc
Se puede demostrar que para cualquier serie
alternante convergente el error de truncamiento es
menor que el primer término despreciado
-1.5
-2
-2.5
-3
-3.5
-4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
pi/2 x
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
Si usamos 15 términos …
29
 5.7e  26
-16
x 10
1.5
1
El error por redondeo está
controlando el
comportamiento. Nótese de
todas formas se logra todavía
un resultado aceptable en el
valor de la serie
0.5
0
error total
Unidad III – ERRORES
Etrunc
1  x 

 
29!  2 
-0.5
-1
-1.5
-2
-2.5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
pi/2 x
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
Error de truncamiento
Potencia .vs. factorial
20
40
10
10
sin(pi/6)
Unidad III – ERRORES
0
10
30
10
factorial
-20
10
20
10
-40
10
0
5
10
15
potencia
potencia
(x=13pi/6)
(x=13pi/2)
10
10
10
10
5
10
0
10
sin(13pi/6)
-10
0
10
potencia (x=pi/6)
potencia
(x=pi/2)
0
5
10
15
10
2
4
6
8
10
numeros de termninos
Licenciatura en Física – Departamento de Física - ECEN
12
14
Unidad III – ERRORES
Computación y Cálculo Numérico
Licenciatura en Física – Departamento de Física - ECEN
Turner, P.A.
Computación y Cálculo Numérico
Turner, P.A.
TRES IMPORTANTES CONSTANTES EN LA COMPUTADORA
Unidad III – ERRORES
Estos tres valores definen el rango de números disponibles y la precisión de
nuestra computadora
realmax := máximo número (normalizado)  21024  1.8E+308
realmin := minimo número (normalizado)  2-1022  2.2E-308
 valor positivo mas pequeño de forma tal que sumado a 1 se obtenga
como resultado un valor mayor que 1
eps =  = 0.00…..12 x 20 = 2-52  2.2E-16
# número de dígitos binarios = - log2(eps) = 52
# número de dígitos decimales = - log10(eps)  15.6
Licenciatura en Física – Departamento de Física - ECEN
Unidad III – ERRORES
Computación y Cálculo Numérico
PROGRAM MACHINE_EPSILON
IMPLICIT NONE
REAL * 8 :: machEps = 1, tmp =1
PRINT *, "currEp, 1 + currEp"
DO
PRINT *, machEps, tmp + machEps
IF (tmp + machEps == 1.0) EXIT
machEps = machEps/2.0
END DO
machEps = machEps*2
PRINT *
PRINT *, "Calculated Machine epsilon: ", machEps
! Verify our calculation via the intrinsic F95 function EPSILON()
PRINT *, "EPSILON(x) = ", EPSILON(machEps)
END PROGRAM MACHINE_EPSILON
Licenciatura en Física – Departamento de Física - ECEN
Turner, P.A.
Computación y Cálculo Numérico
Turner, P.A.
Unidad III – ERRORES
TRES ERRORES DE REDONDEO CRÍTICOS
Cancelación
sustracción de dos números casi iguales
Underflow
resultado más pequeño que realmin
Overflow
resultado más grande que realmax
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
constantes de la computadora
errores de redondeo críticos
Turner, P.A.
Unidad III – ERRORES
Algunos datos …
• 25 de Febrero 1991. Falla en el sistema de defensa Patriot (Irak) Reporte
GAO/IMTEC-92-26. Problema de software razón acumulación de errores de
redondeo.
(www.math.psu.edu/dna/455.f97/notes.html)
• 4 de Junio 1996. El cohete Ariane se auto destruye la 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/dan0441.htm)
Licenciatura en Física – Departamento de Física - ECEN
Errores
Computación y Cálculo Numérico
Turner, P.A.
Ejemplo ERROR DE TRUNCAMIENTO
Unidad III – ERRORES
Compare el resultado “exacto” (provisto por la función de librería) de:
1/ 2 x 2
e dx = 0.544987104184
0

con el que se obtiene al integrar los primeros términos de la serie
asociada al integrando.
Problema para el laboratorio
Escriba un programa que le permita calcular el valor del coseno
aproximándolo por su desarrollo en polinomios de Taylor alrededor de
cero en orden creciente desde 1 hasta 4. Realice los cálculos para
valores cercanos a 0, /2 y /4.
Licenciatura en Física – Departamento de Física - ECEN
Computación y Cálculo Numérico
Turner, P.A.
Ejemplo ERROR DE REDONDEO
Unidad III – ERRORES
Resolver la ecuación cuadrática
x2 + 62.10 x + 1 = 0
Raíces aproximadas (7 cifras significativas):
x1 = -0.01610723 , x2 = -62.08390
Problema para el laboratorio
Escriba un programa para sumar 0.00001 diez mil veces a la unidad
usando simple precisión. Compare el resultado con el que se obtiene si
implementa una estrategia de agrupamiento o si lo resuelve utilizando
doble precisión.
Licenciatura en Física – Departamento de Física - ECEN