19
Aritmética do computador e erros

Aritmética do computador e erros

  • Upload
    gitel

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Aritmética do computador e erros

Aritmética do computador e erros

Page 2: 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.

Page 3: Aritmética do computador e erros

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

Page 4: Aritmética do computador e erros

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

(*)Hadamard Jacques, Sur les problemes aux dérivées partielles et leur signification physique, 1902

Page 5: Aritmética do computador e erros

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.

Page 6: Aritmética do computador e erros

Erros de truncamento

São os erros consecutivos ao truncamento de processos infinito para a determinação de valores: Exemplo: exponencial de x

2 3

1

1 1 ... ...! 2 6 !

n nx

n

x x x xe x

n n

O erro de truncamento é provocada quando ex é

aproximado por exemplo com:2 3

12 6

x x xe x

Page 7: Aritmética do computador e erros

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

Page 8: Aritmética do computador e erros

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 !

Page 9: Aritmética do computador e erros

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 é:

6 2 2 2 6 4 8( , ) 333,75 (11 121 2) 5,52

xf x y x x y y y y

y

54767f(77617,33096)= -

66192

Page 10: Aritmética do computador e erros

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.

Page 11: Aritmética do computador e erros

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.

Page 12: Aritmética do computador e erros

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.

Page 13: Aritmética do computador e erros

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

. .v exata v aprox

. .

.

v exata v aprox

v exata

Page 14: Aritmética do computador e erros

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, f(x,y)p 1x yp p

Page 15: Aritmética do computador e erros

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:

1, .2 1, .2Xe YeXm Ym

1, .2Xe YeXm

1, .2Xe YeXm

1, .2Ye nM

Page 16: Aritmética do computador e erros

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.

Page 17: Aritmética do computador e erros

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.

Page 18: Aritmética do computador e erros

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:

2

2 2

0

4 41 , 2

2 2

ax bx c

b b ac b b acx x

a a

12

cx

ax

Page 19: Aritmética do computador e erros

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.