Analise_de_Erros_1pp, Slides de Ciência da Computação. Universidade Federal de Santa Catarina (UFSC)

Analise_de_Erros_1pp, Slides de Ciência da Computação. Universidade Federal de Santa Catarina (UFSC)

PDF (436 KB)
45 páginas
1Números de download
1000+Número de visitas
Descrição
COmputacao Cientifica
20 pontos
Pontos de download necessários para baixar
este documento
baixar o documento
Pré-visualização3 páginas / 45

Esta é apenas uma pré-visualização

3 shown on 45 pages

baixar o documento

Esta é apenas uma pré-visualização

3 shown on 45 pages

baixar o documento

Esta é apenas uma pré-visualização

3 shown on 45 pages

baixar o documento

Esta é apenas uma pré-visualização

3 shown on 45 pages

baixar o documento
Analise_de_Erros

1

Computação Científica II (EEL7031)

Análise de Erros e

Aritmética de Ponto Flutuante

2

Análise de Erros e Aritmética de Ponto Flutuante  Objetivos:

 Estudar a representação aproximada de números reais em notação digital de computadores e o modo de execução da operações.

 Obter uma base de conhecimentos para a análise e depuração de algoritmos, bem como para a validação de resultados obtidos através de métodos numéricos.

 Temas principais:  Introdução

 Representação de números

 Sistemas de ponto flutuante

 Funções de arredondamento

 Tipos de erros que surgem com arredondamentos

 Conceitos de precisão e exatidão

 Instabilidade de algoritmos e problemas

3

Elementos da Simulação de Sistemas Físicos

Modelo Matemático

Programa Computacional

Resultados Numéricos

Algoritmo de Solução

Modelagem

Método de Solução

Implementação

computacional

Processamento

 Equações algébricas:  Lineares  Não-lineares

 Equações diferenciais:  Ordinárias  Parciais

Sistema Físico

4

Simulação de Sistemas Físicos  Aspectos gerais:

 A obtenção de uma solução numérica para um problema físico nem sempre fornece valores que se encaixam dentro de limites razoáveis, mesmo quando se aplicam métodos matemáticos adequados e os cálculos são efetuados de uma maneira correta.

 Deve-se ter bons conhecimentos relativos a todas as etapas da modelagem e simulação de sistemas físicos para a validação dos resultados numéricos obtidos.

 As operações em computadores digitais são realizadas com precisão aritmética finita, gerando erros ao longo de suas execuções.

 É importante ter conhecimentos razoáveis sobre a aritmética de precisão finita para se realizar avaliações a priori e delimitar os efeitos dos erros nos resultados dos algoritmos utilizados.

 Na simulação de sistemas físicos deve-se ter uma clara distinção entre problemas mal-condicionados e algoritmos numericamente instáveis.

5

Representação de Números  Um número N qualquer pode ser descrito numa base β

usando a seguinte forma polinomial:

 Exemplos: Base 10 (decimal): a mais emprega

Base 2 ( binária): usada pelos computadores

,

aFracionári Parte

2

2

1

1

Inteira Parte

0

0

1

1

1

1

   …

   … nn

m

m

m

m aaaaaaaN −

− −

− −

− −

− ++++++++= βββββββ

10 :onde −≤≤ βka

012

10 107104103)347( ∗+∗+∗=

10

01234

2 )23(124016 2121212021)10111( =++++=∗+∗+∗+∗+∗=

Os algarismos que representam o número na base β são os coeficientes do polinômio.

6

Conversão de Bases  Base β base decimal:

 Levar os coeficientes à expressão polinomial e calcular o valor

 Base decimal base β - números inteiros

 Dividir o número sucessivamente pela base β até que o último

quociente seja maior que zero e menor que β. O número é

representado pelo último quociente e os restos, na ordem inversa.

10

321

2 )875.0(212121)111.0( =∗+∗+∗= −−−

210 )1101()13( =

7

Conversão de Bases  Base decimal base β - números fracionários:

 Multiplicar o número fracionário por β. A parte inteira deste resultado é o primeiro dígito do número na base β .

 A parte fracionária restante é novamente multiplicada por β para se obter o próximo dígito do número na base β.

 Repetir o passo anterior até que a parte fracionária do último produto seja nula, caso de representações exatas.

 No caso da representação não ser exata haverá uma seqüência infinita da parte fracionária, sendo o número representado pelas partes inteiras resultantes.

 Ex. 1:

 Ex. 2:

210 )111.0()875.0( =

210 )0110001100110.0()1.0( …=

Este e muitos outros números não tem representação finita na base 2.

00.1)250.0(

50.1)2750.0(

750.1)2875.0(

 

 

 

 

=∗

=∗

=∗

8

Outros exemplos de Conversão de Bases

 Converter (13.25)10 base 2:

 Parte inteira:

 Parte fracionária 210 )01.0()25.0( =

00.1)250.0(

50.0)225.0(

  

  

=∗

=∗⇔

101010 )25.0()13()25.13( +=

210 )1101()13( =

 Converter (-111.001)2 base decimal:

]212020212121[)001.111( 3210122 −−− ∗+∗+∗+∗+∗+∗−=−

102 )125,7(]125.0124[)001.111( −=+++−=−

9

Sistema de Ponto Flutuante

 Aspectos gerais:

 Os números reais são aproximados por números racionais em

máquinas digitais de precisão finita (número de dígitos

limitados), incorrendo em erros que podem ser amplificados à

medida que as operações aritméticas são executadas.

10

 - conjuntos dos números naturais e inteiros, respectivamente;

 β é denominada de base, β≥2;

 é denominado de expoente;

 m é denominado de mantissa;

 n é o máximo de dígitos usados;

 , são os dígitos do número.

Sistema de Ponto Flutuante  Definição 1:

 Um é dito um número de ponto flutuante normalizado se:Rx∈

Z , ,1 ,0 ; )

,,2 ; 10 e 11 )

N ;.0 )

)

maxminmaxminmaxmin

1

21

∈≥≤≤≤

=−≤≤−≤≤

∈±=

∗=

eeeeeeed

njddc

ndddmb

mxa

j

n

e

ββ

β

2

2 )2100.0(

:Exemplo

∗=x

onde:

maxmin eee ≤≤

njd j ,,2,1 ; ⋯=

ZN e

11

Sistema de Ponto Flutuante

precisão. a é e base a é expoente,maior o emenor o

mente,respectiva são, e onde ),,,,( maxminmaxmin

n

eeeenFF

β

β=

 Definição 2:  A união de todos os números de ponto flutuante com o ZERO,

representado na forma é chamado de sistema

de ponto flutuante (SPF) e representado por:

min00000.00 eβ∗= …

 Características:  Os sistemas de ponto flutuante são caracterizados pelos

seguintes elementos:

base β (binária, decimal, hexadecimal, etc.)

precisão n (número de algarismos da mantissa)

 limites do expoente e )( maxmin eee ≤≤

12

Sistema de Ponto Flutuante

 Exemplo:  Representar 25 num SPF com n=10, β=2, emin=-15 e emax=15

101

10

5

210

211001.0)25(

211001.0)11001()25(

∗=

∗== 

expoente do Sinalmantissa da Sinal

expoentemantissa

01010 1100100000 0

↑↑



13

Sistemas de Ponto Flutuante

 Propriedades:

 Menor número em módulo:

 Maior número:

 Cardinalidade de :

 Cardinalidade pode ser determinada como segue:

 número de mantissas positivas:

Número de expoentes possíveis:

Números possíveis:

 Incluindo-se os negativos e o zero, resulta:

min1.0 eβ∗

max]1[]1][1.[0 eββββ ∗−−− ⋯

),,,( maxmin eenFF β=

1)1)()(1(2# minmax 1 ++−−= − eeF nββ

))(1( 1−− nββ

)1( minmax +− ee

)1)()(1( minmax 1 +−− − eenββ

1)1)()(1(2# minmax 1 ++−−= − eeF nββ

14

Sistemas de Ponto Flutuante

 Exemplo: Seja

 Mantissas: 0.100, 0.101, 0.110, 0.111

 Expoentes admissíveis: -1, 0, 1, 2

 Números positivos:

)2,1,3,2(),,,( maxmin −== FeenFF β

2/7212121)1.11()2(0.111

22021)10()2100.0(

1)1()2100.0(

2/12120)1.0()2100.0(

4/1212020)01.0()2100.0(

101

22

2

01

22

2

22

1

10

22

0

210

22

1

=∗+∗+∗==∗

=∗+∗==∗

==∗

=∗+∗==∗

=∗+∗+∗==∗

−−

−−−

15

Sistemas de Ponto Flutuante

 Exemplo: Elementos do SPF )2,1,3,2(),,,( maxmin −== FeenFF β

16

Sistemas de Ponto Flutuante

 Limites de representação:

 Região de Underflow:

Região situada entre o maior número de ponto flutuante negativo

e o ZERO e, simetricamente, entre o menor número de ponto

flutuante positivo e o ZERO.

 Região de Overflow:

Regiões situadas aquém do menor número de ponto flutuante

negativo e além do maior número de ponto flutuante positivo.

17

Sistemas de Ponto Flutuante  Exemplo de aplicação para o SPF :

 Suponha x=5/4 e y=3/8 em F e note que:

)2,1,3,2( −= FF

Fzyxz ; 8

13

8

3

4

5 ∉=+=+=

 Na representação deve-se escolher entre:

2

1)2110.0( 2

3 ∗= 2

1)2111.0( 4

7 ∗=ou

Esse tipo de escolha dá origem a diferentes tipos de arredondamento

2

1

10

10

)21101.0()625.1( 8

13 ∗==

  

18

Sistemas de Ponto Flutuante  Exemplo de aplicação para o SPF:

 Considere os números:

)100,98,5,2( −= FF

F∉= 210 )0110001100110.0()1.0( …

 Somando-se cada um dos números sucessivamente 10 vezes,

resulta:

10

10

1

10 )0.1()1.0( =∑102 10

1

2

3 )96875.0()11111.0()211001.0( ==∗∑ −

F∈∗≅ − 2 3

10 )211001.0()1.0(e

Truncamento

19

Sistemas de Ponto Flutuante  Exemplo de aplicação para o SPF:

 Considere:

 Determinar:

2

0

2

1

2

0 )2110.0( 4

3 e )2110.0(

8

3 ;)2101.0(

8

5 ∗==∗==∗== − zyx

)2,1,3,2( −= FF

zyxs ++= )(1 e )(2 zyxs ++=

11.1110.0.1

110.0)011.0101.0(

)2110.0())2110.0()2101.0((

1

010

1

=+=

++=

∗+∗+∗= −

s

s

10.1

101.1001.1101.0

)110.0011.0(101.0

2

2

=

=+=

++=

s

s

21 ss ≠

20

Sistemas de Ponto Flutuante

Máquina e Aritmética β m emin emax Precisão

Cray-1 Precisão Simples 2 48 -8192 8191 4 x 10-15

Cray-1 Precisão Dupla 2 96 -8192 8191 1 x 10-29

DEC VAX formato G Dupla 2 53 -1023 1023 1 x 10-16

DEC VAX formato D Dupla 2 56 -127 127 1 x 10-17

Calculadoras HP 28 e 48G 10 12 -499 499 5 x 10-12

IBM 3090 Precisão Simples 16 6 -64 63 5 x 10-07

IBM 3090 Precisão Dupla 16 14 -64 63 1 x 10-16

IBM 3090 Precisão Estendida 16 28 -64 63 2 x 10-33

IEEE Precisão Simples 2 24 -126 127 6 x 10-8

IEEE Precisão Dupla 2 53 -1022 1023 1 x 10-16

IEEE Precisão Extendida 2 64 -16381 16384 5 x 10-20

PDP 11 2 24 -128 127 1.19 x 10-7

Control Data 6600 2 48 -976 1070 7.11 x 10-13

Parâmetros de Aritmética de Ponto Flutuante

21

Exercícios Propostos  Considere os sistemas de ponto flutuante abaixo:

a) HP25: F(10,9,-98,100)

b) IBM360.370: F(16,6,-64,63)

c) B6700: F(8,13,-51,77)

 Determinar para cada um destes sistemas:

 A cardinalidade;

 O maior e o menor número em módulo que podem ser representados;

 As regiões de overflow e underflow.

 Considere o SPF :

 Calcule, usando truncamento,

para:

)2,1,3,2( −= FF

)( e )( 21 yzxczyxc +−=−+=

111 2100.0 e 2101.0 ;2110.0 ∗=∗=∗= − zyx

22

Arredondamentos  Aspectos gerais:

 Há diferentes maneiras de se aproximar um número real para um número de ponto flutuante e, então, a questão principal é como realizar tal aproximação.

 Definição:

 Seja um sistema de ponto flutuante. Uma

função é considerada um arredondamento se valer:

),,,( maxmin eenFF β= F→ℜΓ :

xxFx =Γ∈∀ )(,  Tipos de arredondamento:

 Arredondamento para cima ou excesso:

 Arredondamento para baixo ou por falta:

 Arredondamento para o número de máquina mais próximo:

x∆

x∇

ox

23

Arredondamentos  Exemplo 1:

 Seja o sistema de ponto flutuante.

 O número , pois:

 Podemos realizar o arredondamento nas seguintes formas:

)2,1,3,2( −= FF

F∉ 8

9

2

1

10 )21001.0()125.1( 8

9 ∗==

102

1 )0.1()2100.0( 8

9 =∗=

  

∇ou

10

10

2

1 )25.1( 4

5 )2101.0(

8

9 =

  

=∗= 

  

∆

24

Arredondamentos  Definições 1:

 Um arredondamento é dito por falta se:

 Um arredondamento é dito por excesso se:

 Um arredondamento é dito monotônico se valer:

F→ℜΓ : xxx ≤Γℜ∈∀ )(,

F→ℜΓ : xxx ≥Γℜ∈∀ )(,

)()(,, yTxyxyx ≤Γ⇒≤ℜ∈∀  Exemplo:

 Seja o sistema de ponto flutuante, e sejam:

 Então, obtém-se os seguintes resultados para os diferentes arredondamentos.

)10,98,4,10( −= FF 666666.0 e 348436.0 ;333333.0 === zyx

6667.03484.03333.0

6667.0)(3485.0)(3334.0)(

6666.0)(3484.0)(3333.0)(

===

=∆=∆=∆

=∇=∇=∇

ozoyox

zyx

zyx

excessopor monotônico entoarredondam :)(

faltapor monotônico entoarredondam :)(

x

x

25

Erros  Aspetos gerais

 Erros são cometidos toda vez que não for possível uma representação exata em F, ou seja, toda vez em que for necessário algum tipo de arredondamento.

 Tipos de erros:  Erros Inerentes: surgem no processo de elaboração ou simplificação

do modelo matemática de um sistema físico.

 Erros de Discretização: erros cometidos quando se substitui qualquer processo infinito por um processo finito ou discreto.

 Erros de Aredondamento: sugerem na representação de números reais em máquinas digitais. Em geral, é utilizado o arredondamento para o número de ponto flutuante mais próximo ou o arredondamento por falta.

∑∑ =

=

≅= N

ii ii z

00 !

1

!

1

comentários (0)

Até o momento nenhum comentário

Seja o primeiro a comentar!

Esta é apenas uma pré-visualização

3 shown on 45 pages

baixar o documento