1 / 19

Aritmética do computador e erros

Aritmética do computador e erros. Introdução. Associado a uma representação especifica é necessário definir uma aritmética adaptada. E igualmente necessária de definir métodos para medir e administrar os erros de aproximação. Origem dos erros. Erros iniciais

gitel
Télécharger la présentation

Aritmética do computador e erros

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aritmética do computador e erros

  2. Introdução • Associado a uma representação especifica é necessário definir uma aritmética adaptada. • E igualmente necessária de definir métodos para medir e administrar os erros de aproximação.

  3. Origem dos erros • Erros iniciais • Problema mal condicionado, medidas aproximativas, modelo simplificado • Erros de arredondamento • Representação finita de números reais • Erros de truncamento • Método numérico de determinação de um valor

  4. Erros iniciais • Problema mal condicionado: noção formalizada pelo matemático Hadamard (1902*). • O princípio é que um problema bem posto é um problema que tem uma solução única e cujo pequenas perturbações nos dados provoquam pequenas perturbações nos resultados. (*)Hadamard Jacques, Sur les problemes aux dérivées partielles et leur signification physique, 1902

  5. Erros de aproximação • O computador representa os números de uma forma finita e aproximativa: • Precisa de forma de gerenciar o infinitamente pequeno e o infinitamente grande, • Precisa de minimizar e medir os erros de aproximação. Os números representados pelo computador não são distribuídos de forma homogênea dentro do conjunto de números reais.

  6. Erros de truncamento • São os erros consecutivos ao truncamento de processos infinito para a determinação de valores: • Exemplo: exponencial de x O erro de truncamento é provocada quando ex é aproximado por exemplo com:

  7. Comentários • Mais que o erro cometido, precisamos da precisão de um resultado. • Especificar o erro rigorosamente é na maioria dos casos impossível • as exigências matemáticas sobre as funções, formulas, etc, envolvidas para poder determinar o erro são difícil a satisfazer). • Algoritmos numéricos em geral não são acompanhados de gerenciamento de erro • O usuário deve determinar o nível de qualidade de um resultado

  8. Administrar o erro • Comparação de resultados obtidos com diversas precisões (float, double, extended): os primeiros algarismos idênticos são considerados como dando o melhor resultado. • Esse método não funciona !

  9. Administrar o erro • Exemplo de não funcionamento do método de comparasão: Considera a função seguinte: • Temos f(77617,33096)=-1.18059e+021 com float • Temos f(77617,33096)=-1.1805916207174e+021 com double (testes efetuados com Visual C++ e pentium) Quando o resultado é:

  10. Calculadora • Esse método de limitação dos erros não funciona sempre, mas tem um certo domínio de validade. • As calculadoras usam esse método e calculam com mais algarismo que os algarismos do “display”, arredondando os resultados calculados.

  11. Acompanhamento do erro • Existem vários modelos de acompanhamento do erro. O computador, na medida dos cálculos, determina a precisão deles: “self-validated computation”. A precisão de um cálculo é conhecido no final desse cálculo.

  12. Acompanhamento do erro • Existem diversos métodos de acompanhamento: • Métodos baseados sobre estatísticas. • Métodos baseados sobre intervalos: determinar o intervalo que contem o resultado exato, em geral em função do intervalo que contem os dados de entrada.

  13. Medida de erros • Erro absoluto: diferencia entre o valor exato e o valor aproximado: • Erro relativo: valor absoluto dividido pelo valor exato: • Porcentagem: Erro relativo x 100

  14. Intervalo de confiança • Em certas situações, o fato que um dado esta num intervalo é baseado sobre probabilidade. Os intervalos de erros são acompanhados de valor de probabilidades. • Exemplo: Se x é dentro do intervalo [-1,1] com a probabilidade 0,95 e y é dentro do intervalo [4,6] com a probabilidade 0,8; x+y é dentro do intervalo [3,7] com a probabilidade minimal: 0,95+0,8-1=0,75. Em geral,

  15. Adição de números • Adição de dois positivos: • Determinaçaõ de Xe-Ye e shift right de 1,Xm de Xe-Ye para alignar as mantissas: • Adição de 1,Ym e • Shift right ou left do resultado para chegar a uma forma 1,M com aumento ou diminução do exponente (n), • resultado:

  16. Over-underflow • Os números manipulados • grande de mais para ser representados provocam um overflow. • pequeno de mais para ser representados provocam um underflow. • Os sistemas têm feedback diferentes em caso de over ou underflow. Certos param a execução, certos dão uma mensagem e outros representam o número de uma forma especifica.

  17. Condicionamento de algoritmos • Para poder controlar mais precisão dos calculo, os algoritmos podem ser adaptados: • Se várias formulas permitem a determinação de um resultado, nem todas tem a mesma eficiência com os números do computador. • No caso de algoritmos iterativos, os passos de iteração podem ser escolhidos de tal forma de ser representáveis em binário.

  18. Condicionamento de algoritmos • Com a representação usada pelo computador em geral a soma de um número muito grande é pouco significativa: • Exemplo: resolução de uma equação do segundo grau. • Se b é muito grande em relação com a e c, é mais calcular x2 e x1 em função de x2:

  19. Condicionamento de algoritmos • No caso de iteração, temos sempre tendência a usar um passo formado por uma potencia de 10: 0,1; 0,01; etc • No caso da representação binária, essa tendência é pouca relevante. E melhor usar potencia de 2: 0,24;0,125, etc.

More Related