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