Download MODELOS DE PROCESOS DE DESARROLLO DE SOFTWARE

Document related concepts
no text concepts found
Transcript
Análisis Numérico
PREGUNTAS PARA ORIENTAR EL ESTUDIO DEL CAPITULO 1.
Subtemas:
1.1. Representación de un número real en punto flotante y operaciones.
1.2. “Underflow” y “ Overflow”.
01. ¿A qué se denomina “conjunto de punto flotante”?
Conjunto de números racionales utilizado para representar a los números reales.
Ubiquémonos:
Sobre los Racionales:
En matemáticas, se llama número racional a todo número que puede representarse como el
cociente de dos números enteros o, más precisamente, un entero y un natural positivo, es
decir, una fracción común a/b con numerador a y denominador b distinto de cero.
Sobre los Fraccionarios:
Fracción Exacta: la parte decimal tiene un número finito de cifras. Al no ser significativos, los
ceros a la derecha del separador decimal pueden omitirse, lo que da por resultado una
expresión «finita» o «terminal».
Ejemplo: 8/5 = 1.6
Fracción Periódica pura: toda la parte decimal se repite indefinidamente.
Ejemplo: 1/7 = 0.142857142857...
Fracción Periódica mixta: no toda la parte decimal se repite.
Ejemplo: 1/60 = 0.01666...
Sobre los Irracionales:
Es un número que no puede ser expresado como una fracción m/n, donde m y n son enteros
y n es diferente de cero. La expresión decimal de un número irracional es siempre infinita y
no periódica.
Universidad del Cauca
1
Análisis Numérico
Los irracionales más conocidos son:
Los números irracionales se clasifican en dos tipos:
Número algebraico: Son la solución de alguna ecuación algebraica y se representan por un
número finito de radicales libres o anidados. Todas las raíces no exactas de cualquier orden
son irracionales algebraicos. Por ejemplo, el número áureo es una de las raíces de la ecuación
2
algebraica x – x – 1 = 0, por lo que es un número irracional algebraico.
Número trascendente: No pueden representarse mediante un número finito de raíces libres o
anidadas; provienen de las llamadas funciones trascendentes (trigonométricas, logarítmicas y
exponenciales, etc.). Los llamados números trascendentes tienen especial relevancia ya que
no pueden ser solución de ninguna ecuación algebraica. Los números pi y e son
irracionales trascendentes, puesto que no pueden expresarse mediante radicales.
02. ¿Por qué se habla de aritmética finita?
Hace referencia a que cada número del computador se representa mediante un número finito
de dígitos.
03. ¿Cómo se describe matemáticamente un número del computador?
Un número del computador o de punto flotante, distinto de cero,
matemáticamente en la forma
σ
*
(.a1a2 . . . at)β
*
se
describe
βe
En la cual los símbolos que allí aparecen, tienen el siguiente significado:
σ = +1
o
σ = −1 es el signo del número.
β es un entero que denota la base del sistema numérico usado.
Por lo general β = 2 (Sistema Binario), β = 8 (Sistema Octal) o β =16 (Sistema Hexadecimal).
ai, i = 1,2,...,t, es un entero con 0≤ ai ≤β−1. Los enteros 0,1,...,(β −1) son llamados
dígitos en la base β . Nosotros asumiremos en todo lo que sigue que a1 ≠ 0, en cuyo caso el
número se dice que está en forma normalizada.
(.a1a2 . . . at)β denota la suma
a1
a2
1
+
β
β2
+
...
+
at
βt
A esa suma se le llama mantisa o fracción del número de punto flotante.
Universidad del Cauca
2
Análisis Numérico
El entero t indica el número de dígitos en la base β que se usan para representar el número de
punto flotante, y es llamado precisión. Por lo general t=6 o t=7 con β =10 (precisión
sencilla), t=14 o t=15 con β =10 (doble precisión). En algunos computadores se pueden hacer
representaciones en precisión sencilla, doble precisión e incluso en precisión mayor.
El valor e es un entero llamado el exponente, y es tal que L≤e≤U para ciertos enteros L y U;
es común encontrar L = −U o L = −U±1. Un caso frecuente es L = −63 y U= 64, para un
total de 128 posibles exponentes. El número cero requiere una representación especial.
04. ¿Cuáles son los cuatro parámetros que definen un conjunto de punto flotante F?
Un conjunto de punto flotante F queda caracterizado por cuatro parámetros:
a) La base β,
b) La precisión t,
c) Los enteros L y U.
c) El exponente e.
Un conjunto de punto flotante carece de algunas de las propiedades algebraicas de que gozan
los números reales.
Una de las características de todo conjunto de punto flotante F es que es finito. La cantidad
de elementos de un conjunto de punto flotante (incluyendo el cero) se define por la fórmula:
[2(β-1)βt-1(U-L+1)]+1
Los elementos del conjunto de punto flotante están en forma normalizada (excepto el cero).
(Ver ejemplo en la página 2 del módulo)
05. Si tenemos en cuenta que solo algunos números pueden representarse, entonces
¿que regla se sigue para representar cualquier número real que se necesite?
Todo número real x que entra en el computador o que es el resultado de un cálculo, es
reemplazado (si es posible) por un número de punto flotante que notaremos fl(x). Existen
reglas para escoger tal número (reglas de redondeo), por lo general es el número de punto
flotante más cercano a x. La diferencia |x− fl(x)| se llama error (absoluto) de redondeo.
06. La distribución de los valores de F no es uniforme. ¿Qué implica esa situación?
Si observamos la distribución de los elementos de F, en la recta real, vemos que no están
igualmente espaciados (están más densamente distribuidos en la cercanía del cero), lo que
implica que el error de redondeo puede depender del tamaño del número (entre más grande
sea el número en valor absoluto, mayor puede ser el error de redondeo).
(Ver gráfica en la página 3 del módulo)
07. A qué se denominan (en palabras sencillas) regiones de underflow y de overflow?
Región de underflow: la ubicada entre el cero y el número más pequeño del conjunto de
punto flotante.
Región de overflow: la ubicada más allá del número más grande del conjunto de punto
flotante.
Universidad del Cauca
3
Análisis Numérico
Técnicamente:
A la región
RL = { x Є
/ 0 < |x| < FL }
se le llama región de underflow o subflujo, y en algunos computadores si un número real
cae en esta región, el número se redondea a cero.
Por otra parte,
A la región
RU = { x Є
/
|x| > FU }
se le llama región de overflow o sobreflujo, y en algunos computadores si un número real
cae en esta región, el número es redondeado al número de punto flotante más cercano
perteneciente al rango (FU , −FU) o se informa del fenómeno overflow.
Se define como rango del conjunto F, al conjunto
RF = { x Є
/ x=0
o FL <= |x| <= FU }
De acuerdo con esto, todo número de punto flotante, distinto de cero, fl(x), debe
satisfacer:
FL <= |fl(x)| <= FU
08. Revise los ejemplos planteados en el módulo (páginas 5 y 6) para que constate 2
cosas: primero, cuáles son las reglas para simular las cuatro operaciones básicas en
el computador (denominadas operaciones de punto flotante) y segundo, cuáles
reglas de la suma o el producto se mantienen en las operaciones de punto flotante.
Si x e y son números reales en el rango de F ,
definimos las operaciones
a las que nos referiremos como operaciones de punto flotante, así:
x
y
=
fl( fl(x) + fl(y) )
x
y
=
fl( fl(x) - fl(y) )
x
y
=
fl( fl(x) x fl(y) )
=
fl( fl(x) ÷ fl(y) )
x
y
donde +, −, × y ÷ son las operaciones aritméticas usuales.
PERO OJO: La combinación aritmética usual +, −, ×, ÷ de dos números de punto flotante
NO SIEMPRE produce un número de punto flotante.
Universidad del Cauca
4
Análisis Numérico
Subtemas:
1.3. Errores de redondeo.
1.4. Errores absolutos y relativos.
09. Todo número real x ≠ 0 puede escribirse en la forma decimal normalizada. ¿Qué es
eso de la forma normalizada?
Todo número real x ≠ 0 puede escribirse en la forma decimal normalizada siguiente
x = ±(.a1a2 . . . ata(t+1) . . .)
*
10n
, n es algún entero
Para simplificar el análisis de los errores de redondeo, supongamos que nuestro conjunto
de punto flotante F es de t-dígitos (precisión t) en base 10 (decimal);
en tal caso la forma de punto flotante (normalizada) de x, la cual se denomina fl(x), se
obtiene finalizando la mantisa de x después de t-dígitos.
10. Para representar el número hay que TRUNCAR o REDONDEAR, ¿Qué reglas se siguen
en cada caso?
Se acostumbran dos formas para hacerlo:
i. Cortando o truncando el número x: En este caso
fl(x) = ±(.a1a2 . . . at)
*
10n ,
no importa como sea
a(t+1)
ii. Redondeando el número x: En este caso
fl(x) = ±(.a1a2 . . . at)
*
10n ,
si 0 <= a(t+1) < 5
fl(x) = ±(.a1a2 . . . at)
*
10n ± 1.0*10(n-t)
si a(t+1) >= 5
11. ¿A qué se denomina error de redondeo?
El error |x− fl(x)| que resulta al reemplazar un número x por su representante de punto
flotante, fl(x), se denomina error de redondeo, independientemente de que se use el
método de cortado o de redondeo.
Cuando se calcula el valor de un error, interesa su valor y no su signo (por eso se representa
como valor absoluto).
Universidad del Cauca
5
Análisis Numérico
12. Hay varias formas acostumbradas para medir errores de aproximación. ¿Cómo se
definen el “error”, el “error absoluto”, el “error relativo” y el “error porcentual”?
Por favor revise los ejemplos de la página 8 del módulo.
Hay varias formas acostumbradas para medir errores de aproximación; algunas de ellas se
dan en la siguiente definición.
Definición 1.1. Sea x* una aproximación de un número real x:
El error de x* con respecto a x es e=x−x*;
El error absoluto de x* con respecto a x es E= |x−x*|;
El error relativo de x* con respecto a x, con x ≠ 0
=
Er
| x−x* |
|x|
También se define el error porcentual de x* con respecto a x, como Ep=(Er*100)% y se
expresa en porcentaje (%).
(Ver ejemplo en la página 8 del módulo)
13. ¿Bajo qué circunstancia se dice que el número x* aproxima con sus primeros tdígitos o cifras significativas al número x ≠ 0 ?
Se dice que el número x* aproxima con sus primeros t-dígitos o cifras significativas al
número x ≠ 0, si t es el mayor entero no negativo para el cual
Er
=
| x− x* |
|x|
-t
< 5*10
Representa la menor cota superior para el error relativo.
14. Técnicamente, ¿Qué son los t-dígitos significativos?
Los t-dígitos significativos hacen referencia a que son los primeros t-dígitos en la mantisa de
x* cuando x* se escribe en forma decimal normalizada.
15. ¿Bajo qué circunstancia se dice que el número x* aproxima con sus primeras kcifras decimales exactas al número x ≠ 0 ? Por favor revise los ejemplos de las
páginas 8 y 9 del módulo.
Se dice que el número x* aproxima con sus primeras k-cifras decimales exactas al número x,
si k es el mayor entero no negativo tal que
-(k+1)
E = |x − x*| <= 5*10
Las k cifras decimales exactas, a que se refiere esta definición, son las primeras k cifras
contadas a partir del punto decimal en x*, cuando x* se escribe en forma decimal.
Universidad del Cauca
6
Análisis Numérico
Subtemas:
1.5. Pérdida de cifras significativas.
1.6. Algoritmos estables e inestables.
16. Pérdida de cifras significativas. Ojo con lo siguiente: Además de los inevitables errores de
redondeo, en un proceso numérico se producen otro tipo de errores que una cuidadosa
programación puede controlar. Es el llamado error generado. Un ejemplo típico es la pérdida de
cifras significativas que se produce al restar dos cantidades muy próximas.
Ejemplo. Supongamos que estamos trabajando con una máquina decimal con mantisa de
cinco dígitos y que se usa REDONDEO, que tenemos x = 22.375686, y=22.373897 y
deseamos calcular x-y. La máquina utilizará:
x-y = 0.001789
fl(x) =0.22376*102
fl(y) = 0.22374*102
y proporcionará
fl(x)-fl(y) = 0.00002*102 =0.20000*10-2
Si medimos el error relativo producido por la operación
|(x-y) - [fl(x)-fl(y)]|
|0.001789-0.002|
------------------------ = ---------------------------- ≈ 11.79%
|x-y|
0.001789
Se ve que resulta muy grande.
La pregunta es: ¿Qué alternativas hay para reducir la pérdida de cifras significativas? Revisar
los ejemplos de las páginas 9 a 11 del módulo; concentrémonos en el comportamiento del
problema allí exhibido y extractemos las alternativas para resolver los inconvenientes
mencionados.
Alternativas:
(a) Aumentar la precisión
(b) Re-escribir las expresiones
(c) Evitar sumas y restas alternadas
17. ¿Bajo cuál circunstancia se considera que un algoritmo es estable o es inestable?
Algoritmo estable: cuando el efecto acumulativo de los errores, incluyendo errores de
redondeo, es limitado de modo que se genera un resultado útil.
Algoritmo inestable: cuando los errores crecen de manera incontrolada de modo que se
genera una respuesta defectuosa al problema.
18. ¿Bajo cuál circunstancia se considera que un problema es bien condicionado?
Revisar el ejemplo de la página 12 del módulo.
Un problema se dice bien condicionado si pequeños cambios en los datos inducen sólo un
cambio pequeño en el resultado, es decir, problemas "cercanos" tienen respuesta "cercana".
El buen condicionamiento es algo inherente al problema.
------------------------------------------------ FIN DEL DOCUMENTO
Universidad del Cauca
7