Buscar

Aritmética de Pontos Flutuantes e Epsilon de Máquina

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aritmética de Ponto Flutuante
Operações e Propagação de Erros
Épsilon de Máquina
Alunos
Ponto fixo e Ponto flutuante
 Ponto fixo:
• Possui parte inteira e/ou fracionária
• Possui notação limitada
 Ponto flutuante:
• Sempre é fracionário.
• Possui uma faixa de números maior
 Exemplo: Um número qualquer
• Ponto fixo: 9.9999 ou 0.0001
• Ponto flutuante: 0.999 x 1099 ou 0.1 x 10-99
Ponto fixo e Ponto flutuante
 Ponto fixo:
 Ponto flutuante:
d
Espaço da parte inteira 
Espaço da parte fracionária
Ponto decimal fixo
O dígito neste 
local sempre 
será d x 𝛽−2
d
Mantissa Expoente
O valor depende do 
expoente, tornando-o 
um ponto flutuante. 
Sinal do expoente (+ ou - )
Sinal da mantissa (+ ou - )
Ponto fixo e Ponto flutuante
 Exemplos:
• 2343.12 na base 10
• 0.0012234 na base 10
• 123456789
0 2 3 4 3 1 2 + 2 3 4 3 1 2 + 0 4
Ponto fixo Ponto flutuante
0 0 0 0 0 0 0 1 2 2 3 + 1 2 2 3 4 - 0 2
Ponto fixo Ponto flutuante
+ 1 2 3 4 5 6 8 + 0 7
Ponto fixo Ponto flutuante
Ponto Flutuante
 Forma aritmética para trabalhar com uma grande
faixa de números em um ambiente digitalizado.
 Por ter notação sempre fracionária, não há parte
desperdiçada nos espaços de armazenamento
no computador
 Por usar uma grande faixa de números, permite
que o computador trabalhar com manipulação e
processamento de imagens, gráficos, jogos e
programas em 3D, maiores cálculos
matemáticos, etc.
Representação em Ponto Flutuante
 A representação em ponto flutuante é baseado na notação
científica:
 De tal forma que 𝛽𝑒 é a base elevado a um expoente (e) e
𝑑𝑡 é o algarismo de acordo com o número de dígitos (t) da
mantissa.
• Amantissa, no caso, é um número na forma 0. 𝑑1𝑑2𝑑3…𝑑𝑡
• t é o número de dígitos
• 0. é a notação do número em ponto flutuante
• 𝑑𝑖 ∈ 0,1, … , 𝛽 − 1 e 𝑖 = 1,2, … , 𝑡
• O expoente 𝑒 é definido no intervalo 𝐿, 𝑈
𝑥 = ±0. 𝑑1𝑑2𝑑3…𝑑𝑡 × 𝛽
𝑒
Representação em Ponto Flutuante
 Um sistema de ponto flutuante pode ser definido
como:
Onde:
 β é a base do sistema
 t é o número de dígitos da mantissa
 L é o menor valor para o expoente
 U é o maior valor para o expoente
𝐹 𝛽, 𝑡, 𝐿, 𝑈
Representação em Ponto Flutuante
 Nota-se que os números em ponto flutuante são
discretos.
• E podem ser variáveis em seus valores de
discretização.
0.25
0.5
0.625
0.75
0.875
1.25
1.5
1.75 2.5 3.5
Representação em Ponto Flutuante
 Considerando o sistema de um ponto flutuante
𝐹 𝛽, 𝑡, 𝐿, 𝑈 , tem-se que m e M são,
respectivamente, o menor e o maior valor
absoluto de um ponto flutuante x.
 Sendo assim, se m ≤ |x| ≤ M, então o número
pode ser representado no sistema 𝐹 𝛽, 𝑡, 𝐿, 𝑈 .
• Se |x| ≤ m, o número não poderá ser representado no
sistema, ocorrendo um underflow.
• Se |x| ≥ M, o número não poderá ser representado no
sistema, ocorrendo um overflow.
Representação em Ponto Flutuante
 Exemplo:
• 𝛽=10; t=3; L=-5; U=5
Os números do sistema serão:
0. 𝑑1𝑑2𝑑3 × 10
𝑒
Onde 0 ≤ 𝑑 ≤ 9 e 𝑑1 ≠ 0
Onde −5 ≤ 𝑒 ≤ 5
Assim, o menor e o maior número representado em valor
absoluto (m e M, respectivamente) são:
m= 0.100 × 10−5 = 10−6
M= 0.999 × 105 = 99900
Representação em Ponto Flutuante
Se o número inserido nesse sistema for 0.123 × 10−7, o
sistema acusará como underflow e não poderá ser
representado, já que o expoente é menor do que -5.
Se o número inserido nesse sistema for 0.456 × 108, o
sistema acusará como overflow e não poderá ser
representado, já que o expoente é maior do que 5
Arredondamento e Truncamento
 Trata-se de achar um valor aproximado ҧ𝑥 para o
ponto flutuante 𝑥 de tal forma que o valor do erro
seja o menor possível.
 Arredondamento:
• 𝑠 +
1
2
𝛽−𝑡 = 0. 𝑑1𝑑2𝑑3... 𝑑𝑡−1𝑑𝑡𝑑𝑡+1...
• Na base 10: acontece de acordo com os valores dos dígitos
que serão descartados, desde o primeiro dígito à direita ao
último. Caso esse dígito tenha valor menor do que 5, seu
valor permanece inalterado. Caso seja igual ou maior que 5,
deve-se somar +1 ao próximo dígito à esquerda.
 Truncamento:
• Desconsidera-se os dígitos finais da mantissa,
independente do seu valor.
Arredondamento e Truncamento
 Exemplos no sistema F(10,3,-5,5)
• 10.053
Representação por arredondamento: 0.101 × 102
Representação por truncamento: 0.100 × 102
• 0.001119
Representação por arredondamento: 0.112 × 10−2
Representação por truncamento: 0.111 × 10−2
• 0.00000001
O expoente vai ser menor que -5
Representação ∞
• 7182356.82
O expoente vai ser maior que 5
Representação ∞
Erro
 Erro absoluto:
𝑥 − ҧ𝑥
 Erro relativo:
𝑥 − ҧ𝑥
𝑥
Operações Aritméticas em Ponto Flutuante
 Adição/Subtração:
• Deve-se ajustar o número de menor expoente para
igualá-lo ao expoente do outro número.
 Exemplo:
• Somar 0.123 × 104 e 0.45678 × 102, com t=3
Ajustando os números:
0.123 × 104 e 0.0045678 × 104
Somando os números:
0.1275678 × 104 como resultado.
Com arredondamento: 0.128 × 104
Com truncamento: 0.127 × 104
Operações Aritméticas em Ponto Flutuante
 Multiplicação/Divisão:
• Realiza-se a multiplicação/divisão nas mantissas e
uma soma/subtração nos expoentes, respectivamente.
 Exemplo:
• Multiplicar 0.123 × 104 e 0.45678 × 102, com t=3
Multiplicando as mantissas e somando os expoentes:
(0.123 × 0.45678) × 104+2
Resultado:
0.05618394 × 106, ou melhor, 0.5618394 × 105
Com arredondamento: 0.562 × 105
Com truncamento: 0.561 × 105
Propagação de Erros
 Um grande número de operações elementares é
normalmente utilizado em métodos numéricos para
buscar a solução de um determinado problema.
 Assim, mesmo que o erro em uma operação isolada
não seja significativo para a solução do problema, é
necessário analisar como esses erros se propagam:
• Erro ilimitado: desenvolvem-se em uma taxa crescente de
propagação, gerando uma sequência de operações
instáveis.
• Erro limitado: : desenvolvem-se em uma taxa decrescente
de propagação, gerando uma sequência de operações
estáveis.
Épsilon de Máquina
 Quando tratamos de ponto flutuante, a
representação do número real, de certa forma,
torna-se finita, pois, quando há um número muito
pequeno para ser adicionado a outro número mais
relevante, a ideia é que essa soma acrescente
pouco ao valor relevante. A ideia é que essa soma
acrescente pouco ao valor relevante. Sendo assim,
é próprio que a resposta seja o arredondamento
deste valor, que, assim, voltará ao valor relevante,
sem a soma do pequeno valor inicial. Dessa forma,
existe um valor máximo do erro relativo para que o
computador considere o acréscimo viável ao número
real. Trata-se o épsilon de máquina
Épsilon de Máquina
 Para todo procedimento de arredondamento dentro
de um sistema F de ponto flutuante, existe um erro
relativo máximo, ou seja, existe uma diferença
máxima entre o valor real e o valor arredondado
onde a resolução do sistema ainda funcione com
uma precisão relativamente adequada. Esse erro
relativo máximo é o épsilon de máquina.
 Trata-se do menor número representável, do limite
do erro relativo.
 É determinado sendo a distância entre o número 1 e
o menor ponto flutuante maior do que 1, sem
arredondamento.
Épsilon de Máquina
 Para todo arredondamento, tem-se o número real 1, que
é representado como ponto flutuante 0.1 x 101. Somando
ao valor 1 um número u muito pequeno, o computador
retornará o valor final ainda sendo como 1. Dessa forma,
tem-se que 1+u=1.
 Sendo o valor u o menor valor possível para o qual ainda
se considere a sua soma um acréscimo ao número,
fazendo com que ele seja maior do que antes, tem-se
que 1+ 𝜀𝑚𝑎𝑐ℎ > 1, onde 𝜀𝑚𝑎𝑐ℎ é o épsilon de máquina.
• O erro relativo, sendo usado em uma operação aritmética de um
número, é sempre no máximo o épsilon de máquina.
 Considerando um sistema 𝐹 𝛽, 𝑡,𝑚,𝑀 , o épsilon de
máquina é 𝜀 =
1
2
𝛽1−𝑡
Exemplos
 Usando RStudio para achar o Épsilon de
máquina:
• Sendo o épsilon de máquina o menor número
representável pelo sistema, de tal forma que a
equação 𝑎 + 𝑏 > 𝑎 passe a ser 𝑎 + 𝑏 = 𝑎 , podemos
construir o seguinte exemplo:
𝑎 = 1 e 𝑏 = 1, de tal forma que, enquanto 𝑎 + 𝑏 > 𝑎,
deve-se fazer 𝑏 = 𝑏/2.
Assim, quando o sistema desconsiderar o valor de
𝑏, com 𝑏 ≠ 0, e calcular a soma entre 𝑎 e 𝑏 sendo
igual ao valor de 𝑎, a variável 𝑏 será o valor do
épsilon de máquina.
Exemplos
 Usando RStudio e identificando o erro relativo na
aritmética de ponto flutuantes:
• Tendo a identidade
1+𝑥 −1
𝑥
= 1 com 𝑥 ≠ 0, quando se
tem valores próximos a 0, a função, ao invés retornar
o valor 1, retorna valores próximos a 1. Trabalhando
com ponto flutuante, podemos visualizar o erro relativo
que ocorre entre os valores de 𝑦 e de ത𝑦.
Exemplos
 No uso industrial e científico, temos cálculos de
médias, volumes, áreas, torques, pressão, etc,
feitos pelo computador com medidas variáveis
que, muitas vezes, são arredondadas em seus
resultados, de acordo à aritmética dos pontos
flutuantes. E isso pode causar problemas.
Como, por exemplo, a explosão de um míssil em
1996, por overflow no processamento de um
computador.
Exemplos
 Se um conjunto de medidas foi realizado de
forma bem planejada e cuidadosa para
minimizar os erros sistemáticos, de acordo com
as mesmas condições experimentais, o erro
relativo entre o valor médio e os valores de
medida é pequeno e desconsiderado.
 Porém, se as medidas variam de acordo com os
fatores externos e internos do sistema, tem-se a
dispersão entre o valor médio e a medida,
gerando uma propagação de erro que pode
causar algum dano ao projeto, quando não
corrigido.
Exemplos
 A propagação de erros deve ser sempre
considerada nos sistemas iterativos, para evitar
erros como os citado anteriormente.
 Considerando uma equação de estimativa para
o número de 𝜋, por exemplo, podemos visualizar
o gráfico dessa propagação do erro relativo.
• 𝑧 𝑛 + 1 = 2(𝑛−0.5) × 1 − 1 − 𝑧(𝑛)2 × 4(1−𝑛)
• (𝑧 𝑛 − 𝜋)/𝜋
• Devido aos arredondamentos no sistema, gera uma
propagação do erro.

Continue navegando