Erros

Teoria Completa

Erros Absolutos e Relativos

Fala meus queridos, tudo certinho? Vamos relembrar um pouquinho uma teoria que é fundamental pro encaminhamento das ciências exatas. Principalmente quando fazemos o comparativo de experimentos e teorias! Adivinhe só qual é? ERROS!

Nós começamos entendendo um pouco sobre como máquinas funcionam e como os erros costumam aparecer, vamos pro objetivo dessa nossa conversinha. Estudar os erros de verdade!

O Erro numérico costuma ser a diferença entre o valor verdadeiro e uma aproximação, recebendo o nome de Erro Absoluto.

E A = x - x -

Nesse caso, x é o valor verdadeiro e x - é o valor aproximado.

Geralmente nós não conhecemos o valor exato do que estamos querendo aproximar. Nesse caso, é impossível obtermos o valor exato do erro absoluto. A solução então é encontrar um limitante superior ou uma estimativa para o erro.

Veja bem, sabemos que 2 está entre 1.41,1.42 . Então tomando 2 como um valor qualquer dentro desse intervalo temos garantidamente que:

E A = 1,42 - 1,41 = 0,01

E A < 0.01

Imagine agora que temos um número x ∈ 3299.8,3300 representado por x ¯ = 3299.9 . E um número y ∈ 1.5,1.7 representado por y - = 1.6 . Em ambos os casos temos o mesmo limitante superior para o erro:

E A x < 0.1

E A y < 0.1

Hmm... certo. Será que podemos afirmar que a precisão é a mesma? Vamos usar um exemplo literal pra ficar mais claro. Pensa assim, o que é pior, você errar por 10 c m a medida da altura de um prédio ou errar por 10 c m a medida da largura de um caderno?

Poxa vida, errar em 10 c m a medida da largura de um caderno?! Isso é muita coisa né? Errar 10 cm em um caderno é quase como errar o tamanho dele como um todo. Mas, o que são 10 c m na altura de um prédio gigantesco? é insignificante. Quando comparamos a ordem de grandeza das coisas fica fácil, mas como fazer isso matematicamente?

Mas agora imagine, uma indústria de papel e celulose, vai preparar papéis para encadernar e erra acidentalmente 10 de toooooooooooooooooooooooodo aquele material.

Concorda comigo que é um baita de um prejuízo? Então o PROBLEMA principal desse método é que ele NÃO LEVA EM CONTA A GRANDEZA!!!!!

E é aaaaaaaaaaí que entra o nosso Erro Relativo! Ele é a relação entre o erro absoluto e o valor exato. E R = E A x

No entanto, como muitas vezes não temos o valor exato, é possível usarmos a aproximação no denominador. Encontrando o erro relativo daqueles exemplos, temos, aí por via de regra você pode usar o valor aproximado sem peso na consciência:

E R = E A x -

E R x = E A x x ≈ E A x x - < 0.1 3299.9 ≈ 3.03 × 10 - 5

E R y = E A y y ≈ E A y y - < 0.1 1.6 = 0.062

No dia a dia da vida real, geralmente representarmos o erro relativo como uma porcentagem. Dessa forma, os exemplos acima ficariam:

E R x ≈ 0.00303 %

E R y = 6.25 %

Está mais que confirmado então que o número x está sendo representado com precisão bem maior que o y . Ou seja, dependendo da ordem de grandeza dos números envolvidos, o erro absoluto não é suficiente para julgarmos a precisão de uma medida ou um cálculo.

Erros de Arredondamento e Truncamento em um Sistema de Aritmética de Ponto Flutuante

Deu pra dar uma relembrada boa em erros? Ótimo!!!! Então segue o jogo.

No tópico sobre aritmética de ponto flutuante vimos como as máquinas representam os, vimos também que há um limite de b i t s que podem ser representados na mantissa. Isso significa que existe um limite de precisão que o sistema pode representar.

Veja esse exemplo: em um sistema na base ( β = 10 ) com 5 dígitos na mantissa ( k = 5), como ficaria a representação do número 4293.19 ?

0.429319 × 10 4

Hmmmmm..., mas ele não pode ser apresentado assim né? Cabem só 5 dígitos na mantissa, então temos duas opões: arredondamento ou truncamento:

Seria representado como 0.42932 × 10 4 caso optássemos pelo arredondamento ou como 0.42931 × 10 4 caso o sistema usasse o truncamento. Existe algum erro envolvido??? Com toda certeza, lembra do que falamos em algarismos significativos sempre haverá um número duvidoso e nele incide o erro. Por isso é meeeeeega importante que você faça o arrendondamento correto, para evitar o agravamento desses erros.

Para o arredondamento teríamos:

E A = 4293.19 - 4293.2 = 0.01

E R = E A 4293.19 = 2.33 × 10 - 6

E para o truncamento:

E A = 4293.19 - 4293.1 = 0.09

E R = E A 4293.19 = 2.1 × 10 - 5

Como vimos, o arredondamento gera erros menores, mas exige um tempo maior de execução. Em geral, seja e o expoente do número em sua representação normalizada em ponto flutuante e t o número de b i t s na mantissa, temos como limitantes para o erro por truncamento:

E A < 10 e - t

E R < 10 - t + 1

No nosso exemplo temos e = 4 e t = 5 , logo:

E A < 10 - 1

E R < 10 - 4

Já para o arredondamento, temos como limitantes:

E A < 1 2 × 10 e - t

E R < 1 2 × 10 - t + 1

No nosso exemplo,

E A < 1 2 × 10 - 1

E R < 1 2 × 10 - 4

Comprovando mais uma vez que o arredondamento acarreta erros menores.

Erros nas Operações Aritméticas de Ponto Flutuante

Quando falamos em erros, eles podem estar presentes em diversas esferas. Veja bem, a maior parte dos estudos científicos, experimentais, projetos estão propensos a erro em algum momento.

Geralmente pensamos no erro humano que é o mais normal, que pode estar em medidas erradas, erros em experimento, perda de material e etc. Em laboratório, alguns equipamentos marcam a quantidade de erros que eles podem gerar. Somando isso, a representação errada de números... eh, a lista aumenta cada vez mais. E é por isso, que esse assunto é bem importante.

Mas as máquinas também erram ok? Então não fique triste!

Além daqueles erros na representação de números (que acontecem por conta de arredondamento, quantidade de números na mantissa que já conversamos) ...

As operações aritméticas feitas por um computador não são exatas e também contém erro!!! Vamos ver um exemplo para ficar mais claro.

Imagine um sistema de aritmética de ponto flutuante de cinco dígitos, na base 10 . Suponha x = 6 7 e y = 2 3 . Usando truncamento para calcular x + y , x - y , x × y e x / y nós teríamos:

x = 6 7 = 0 . 857142 ¯

y = 2 3 = 0 . 6 ¯

A representação no sistema ficaria:

x = 0.85714 × 10 0

y = 0.66666 × 10 0

Sendo assim:

x + y = 0.85714 + 0.66666 = 1.5238

x + y = 0.15238 × 10 1

x - y = 0.85714 - 0.66666 = 0.19048

x - y = 0.19048 × 10 0

x × y = 0.85714 × 0.66666 = 0.5714209524

x × y = 0.57142 × 10 0

x y = 0.85714 0.66666 = 1 . 28572 ¯

x y = 0.85714 0.66666 = 0.12857 × 10 1

Os erros de cada operação seriam:

Pra minimizar isso existem algumas técnicas que ajudam a reduzir bastante os erros incumbidos nessas operações.

Mas, espera aí... não é só somar e subtrair ?????????

Nãaaaaaaaaaaaaaaaaaao.

Vamos dar uma olhadinha aqui. A primeira regra é que a ADIÇÃO E SUBTRAÇÃO na aritmética de ponto flutuante requer o alinhamento dos pontos decimais dos dois números. Beleza, mas o que isso significa? Basicamente a mantissa do número de menor expoente deve ser deslocada para direita até que a base decimal seja a mesma. Vamos ver como fica?

Seja x = 9370 e y = 12,72 , efetue a operação x + y   . Vamos lá!

Você provavelmente pensou assim né:

x + y = 9370 + 12,47

Mas na aritmética de ponto flutuante nós devemos respeitar as regras e transformar todo mundo em base decimal!

x + y   = 0,9370 . 10 4 + 0,1272 . 10 2

Tá melhorando, o que falta agora? Isso mesmo, igualar a base do número de menor expoente ao número de maior expoente:

x + y   = 0,9370 . 10 4 + 0 ,   001272 . 10 4

Basicamente nós enchemos de zeros a esquerda até chegar em 10 4 .

Utilizando precisão dupla, ou seja, aqui nós usamos a representação com k = 4 , mas fazemos os cálculos com k > 4 . Só mudamos na hora de dar o resultado final utilizando arredondamento ou truncamento, assim nós minimizamos a tal da propagação de erro.

x + y   = 0,938272 . 10 4

Fazendo arredondamento:

x + y   = 0,9383 . 10 4

Com truncamento:

x + y   = 0,9382 . 10 4

Nós não podemos representar x + y deforma exata nesse sistema, mas podemos usar a mais próxima do valor real o arredondamento.

Mas e no caso de MULTIPLICAÇÃO e DIVISÃO? Nesse caso o processo é até mais fácil, nós só utilizamos propriedades de potência. Veja bem, primeiro transformamos todo mundo em base 10. Até aí tudo bem... aí nós separamos as operações em (base)*(mantissa) . Parece complicado, mas você vai ver que é até mais fácil, vamos usar o exemplo anterior!

Seja x = 9370 e y = 12,72 , efetue a operação x × y . Vamos lá!

Mas na aritmética de ponto flutuante nós devemos respeitar as regras e transformar todo mundo em base decimal!

x × y   = 0,9370 . 10 4 × 0,1272 . 10 2

Tá melhorando, o que falta agora? Unir as mantissas e unir os expoentes:

x × y   = ( 0,9370 × 0,1272 ) × ( 10 4 × 10 2 )

Multiplicar as mantissas é fácil né? os expoentes também! Tem uma propriedade de potência que envolve multiplicação de expoentes diferentes e bases iguais: Repete a base e soma os expoentes (tem toda uma explicação matemática encima disso, mas pro que queremos essa explicação já basta).

x × y   = ( 0,9370 × 0,1272 ) × ( 10 4 + 2 )

x × y   = 0,1191864.10 6

Agora é só colocar representar corretamente os algarismos com k = 4 :

No arredondamento:

x × y   = 0,1192.10 6