Computação Aritmética - ufsj.edu.br fileComputação Aritmética Aula Introdutória Erivelton...

Post on 21-Nov-2018

219 views 0 download

Transcript of Computação Aritmética - ufsj.edu.br fileComputação Aritmética Aula Introdutória Erivelton...

Computação AritméticaAula Introdutória

Erivelton Geraldo Nepomuceno

Departamento de Engenharia Elétrica

Universidade Federal de São João del-Rei

2 de Agosto de 2018

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 1 / 40

Números

Figura 1: Representação de um quipu: Dispositivo para guardar um número usadodesde 3000 a.C. na América do Sul. Fonte: Wikipedia.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 2 / 40

Números

Figura 2: Representação de números em um ábaco. Fonte:www.abacus-maths.com

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 3 / 40

Números

Figura 3: Representação de numéros em base 60 na Babilônia por volta de 900a.C. Fonte: British Museum.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 4 / 40

Números

Números Romanos: I, II, III, IV, V, . . .

Números fracionários: base 12.

Tabela 1: Números fracionários romanos.

Número Símbolo

1/12 •

1/6 ••

1/4 • • •

1/2 S

7/12 S •

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 5 / 40

Números

Figura 4: A evolução dos números arábicos na Europa medieval. Fonte:Montucla, J. E. (1757). Histoire de la Mathematique. France.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 6 / 40

Números

Figura 5: Processador Intel 8086 de 1978. Fonte: Wikipedia.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 7 / 40

Números

Figura 6: Altera DE0 Board. Kit didático para ensino de dispositivos lógicosrecon�guráveis, tais como o FPGA. Fonte: www.altera.comProf. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 8 / 40

Números

Atitude elementar de contar.

Tabela 2: Conjuntos de números.

Números naturais N (0), 1, 2, . . .

Números inteiros Z . . . ,−2,−1, 0, 1, 2, 3 . . .

Números racionais Q −1

2,1

3,2

3, . . .

Números irracionais I√2, π, . . .

Números complexos C 2+ 3i ,− i ,−2+ i , 1/2+√2i . . .

Números no computador D Conforme IEEE 754-2008.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 9 / 40

Números

-2 -1 0 1 2 3 4

1/2 πe√2

Figura 7: A linha que representa os números reais.

Considere o seguinte sistema binário:

±(b0b1b2)2 × 2E ). (1)

O número E pode ser −1, 0 ou 1.

Figura 8: Números representados por (1). Fonte: (Overton, 2001, p. 15).

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 10 / 40

Números

-1 0 1

0,3

-1 0 1b

b=0,2999999999999999888978

( )

Figura 9: Representação do número 0,3 no computador com 64 bits. O �número�b representa um intervalo dos números reais, que inclui o valor 0,3. Os traçosvermelhos representam pontos isolados.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 11 / 40

Números

Seja D o conjunto de todos os �números� representados nocomputador.

Tem-se que D ⊂ Q ⊂ R.D não é completo e não é um corpo, o que implica que não hápropriedades elementares da matemática, tais como associativa edistributiva.

Exemplo 1

A operação 0,3− 0,2 realizada em D é imprecisa, e assim:

0,1 6= 0,3− 0,2. (2)

Exemplo 2

Não há propriedade distributiva:

0,1× (0,3− 0,2) > 0,1× 0,3− 0,1× 0,2. (3)

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 12 / 40

ConvergênciaUma função recursiva pode ser de�nida como

xn+1 = f (xn), (4)

que reescrita como o resultado de funções compostas �ca

xn+1 = f1(xn) = f2(xn−1) = . . . = fn+1(x0). (5)

Uma série de dados é gerada pela simples iteração de (4).

Exemplo 3

Conjectura de Collatz: Para qualquer x0 ∈ N, xn+1 tende ao ciclo4→ 2→ 1 quando n ≥ N ∈ N.

xn+1 =

{xn/2 se xn for par

3xn + 1 se xn for ímpar.

Por exemplo: 5→ 16→ 8→ 4→ 2→ 1→ 4→ 2→ 1 . . .

Ninguém até hoje soube explicar a razão desta convergência!

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 13 / 40

Convergência

Exemplo 4

Na otimização, tem-se o Método do Gradiente:

xn+1 = xn − γn∇F (xn), n ≥ 0.

em que γ deve ser su�cientemente pequeno.

Exemplo 5

Os modelos polinomiais NAR são de�nidos da seguinte forma:

y(k) = F l [y(k − 1), . . . ,y(k − ny )],

sendo que ny é o maior atraso de saída e F é uma função polinomial degrau l que relaciona os termos de saída y(k − 1), . . . ,y(k − ny ).

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 14 / 40

Convergência

Teorema 1

A sequência de funções {fn}, de�nida em E , converge uniformemente em

E se e somente se para qualquer ε > 0 existe um inteiro N tal que m ≥ N,n ≥ N, x ∈ E implica

d(fn(x),fm(x)

)≤ ε. (6)

Exemplo 6

Método de Newton para encontrar a raiz quadrada de um número positivoa. Inicia-se com algum valor, x0 > 0 e em seguida realiza-se a seguintefunção recursivamente:

xn+1 =1

2

(xn +

a

xn

), (7)

tal que xn →√a a medida que n→∞.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 15 / 40

Convergência

Realização númerica para a = 2 e x0 = 3 do Exemplo 6.

x0 = 3

x1 =1

2

(x0 +

a

x0

)x1 =

1

2

(3+

2

3

)≈ 1,8333333333333332593185

x2 =1

2

(1,8333333333333332593185+

2

3

)x2 ≈ 1,4621212121212121548552

x3 ≈ 1,4149984298948030669862

x4 ≈ 1.41421378004719766608

x5 ≈ 1.4142135623731117988200

x6 ≈ 1.4142135623730949234300

x7 = x6 ≈ 1.4142135623730949234300 Convergiu! Em D!

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 16 / 40

Convergência

O mapa logístico investigado por May1 é de�nido como

xn+1 = rxn(1− xn). (8)

Algums exemplosI Sensibilidade a propriedade matemática.I Período 2, mas converge para ponto �xo.I Região de caos, mas converge para ponto �xo de período 2.

Matlab é um dos software mais utilizados no mundo. Há pelo menos 1milhão de licenças vendidas. Escrito em C, C++ e Java.2

1May, R. M. (1976). Simple mathematical models with very complicated dynamics.Nature, 261,459�467.

2Fonte: http://www.mathworks.com/company/aboutus/Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 17 / 40

Convergência

Figura 10: Diagrama de Bifurcação de (8). O eixo horizontal é o parâmetro r e oeixo vertical é o x . O valor inicial é x0 = 0,25. Fonte: Domínio Público.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 18 / 40

Artigo no Journal of EngineeringSeja x(t1) = 4± 2, x(t2) = 7± 2, x(t3) = 3± 1 e x(t4) = 7± 1 Nãopodemos a�rmar que x(t1) 6= x(t2). Mas, x(t3) 6= x(t4).

1

2

3

4

5

6

7

8

9

0t1

t2

t3

t4

• •

x

Figura 11: Ilustração da idéia elementar: computador como instrumento!

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 19 / 40

Artigo no Journal of Engineering

Seja I ⊆ R um intervalo, seja x ∈ I e f : I → R uma função. Seja J ⊆ Dum intervalo, x̂ ∈ J a representação de x e f̂ uma aproximação de f . Sejaδ ≥ 0, tem-se

d(f (x),f̂ (x̂)

)≤ δ. (9)

Funções compostas são de�nidas como:

d(fn(x),f̂n(x̂)

)≤ δn. (10)

De (10), pode-se a�rmar que fm(x) 6= fn(x) apenas se

d(f̂m(x̂),f̂n(x̂)

)> δn + δm. (11)

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 20 / 40

Artigo no Journal of Engineering

De�nição 1

Ponto �xo em D: Se d(f̂n(x̂

∗),f̂n−1(x̂∗))≤ δn + δn−1 então x̂∗ é um ponto

�xo.

Para qualquer fn há um erro associado δn. Seja ε̂ tal que

ε̂ > κ = sup(δn) + sup(δm). (12)

Teorema 2

Se a sequência de funções {fn} de�nidas em E , converge em E então para

cada ε̂ > κ há um inteiro N tal que m ≥ N, n ≥ N, x ∈ I e x̂ ∈ J que

implica

κ < d(f̂n(x̂),f̂m(x̂

)≤ ε̂. (13)

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 21 / 40

Artigo no Journal of Engineering

0 20 40 60 80 100 1200

0.2

0.4

0.6

0.8

1

x(k+1)

=rxk(1−x

k), r=39/10, x

0=10/39

n

x n

0 20 40 60 80 100 1200

0.2

0.4

0.6

0.8

1

y(k+1)

=−ryky

k+ry

k, r=39/10, y

0=10/39

n

y n

0 20 40 60 80 100 1200

0.2

0.4

0.6

0.8

1

z(k+1)

=r(zk(1−z

k)), r=39/10, z

0=10/39

n

x n

Figura 12: Simulação de xn em (8) com r = 327/100 e x0 = 100/327(representado por um ◦ em volta do ponto.).

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 22 / 40

Artigo no Journal of Engineering

Valor correto:

x2 =��327

��100

��100

��327

(1− 100

327

)=

327− 100

327=

227

327(14)

e

x3 =��327

100

227

��327

(1− 227

327

)=

227

��100

��100

327=

227

327(15)

e então x2 = x3, . . . ,xn = 227/327. Isso ilustra uma situação em que acomputação do ponto �xo foi errada.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 23 / 40

Artigo no Journal of EngineeringA partir de (13) para todo m e n deve-se atender a d

(f̂n(x̂),f̂m(x̂)

)> κ, o

que tem uma implicação prática em limitar o número de iterações. Issoestá expresso no Colorário 1.

Colorário 1

O número máximo de iterações k = max(m,n) está sujeito a

d(f̂n(x̂),f̂m(x̂)

)≤ (δn + δm) para todo n e m.

Tabela 3: Simulação de (8) para as 3 primeiras iterações.

n x̂n d(x̂n,x̂n−1) δn

0 0.305810397553517 0 2.77555756156289e-17

1 0.694189602446483 0.388379204892966 3.25197734863617e-16

2 0.694189602446483 2.22044604925031e-16 1.52284898079424e-15

3 0.694189602446483 3.33066907387547e-16 5.43916855498739e-15

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 24 / 40

Artigo no Systems Science & Control Engineering

Resultado principal

Nepomuceno e Martins (2016)a apresentam o conceito lower bound error

ou limite inferior do erro, no qual por meio da análise intervalar econhecimento da norma IEEE 754 elaboram uma metodologia para calcularum valor mínimo do erro para simulação de funções recursivas.

aNepomuceno, E. G., & Martins, S. A. M. (2016). A lower bound error forfree-run simulation of the polynomial NARMAX. Systems Science & Control

Engineering, 4(1), 50�58.

Exemplo 7

G (Xn) = 2.6868Xn − 0.2462X 3n (16)

H(Xn) = 2.6868Xn − (0.2462Xn)X2n , (17)

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 25 / 40

Artigo no Systems Science & Control Engineering

(a) Simulação da Eq. (16) e (17), comresultados para G(Xn) (−×−) e H(Xn)(−o−) and e mesma condição inicialX0 = 0,1. n é o número de iterações.

(b) Evolução do erro relativo (em loga-ritmo) εα,n da Eq. (16). Quando n ≥44 o εα,n > ε = log10(0,001) = −3.

Figura 13: Mapa senoidal: (a) Simulação livre (b) Evolução do erro.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 26 / 40

Artigo no Congresso NSC 2016 (INPE)

Resultado Principal

Simulação do circuito de Chua apresenta dois resultados diferentes. Aindanão sabemos qual resultado é o correto. Trabalho da aluna de mestradoMelanie Rodrigues .

Figura 14: Circuito de Chua3

3Silva, M. R., Nepomuceno, E. G., Amaral, G. F. V., & Martins, S. A. M. (2017).Exploiting the rounding mode of �oating-point in the simulation of Chua's circuit.Discontinuity, Nonlinearity, and Complexity, (Accepted), 1�10.Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 27 / 40

Artigo no Congresso NSC 2016 (INPE)

(a) (b)

Figura 15: Tensão no diodo de Chua. (a) Tensão usando simulação padrão RK-4.(b) Tensão trabalhando análise intervalar e modo de arredondamento para IEEE754 m.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 28 / 40

Artigo no IJBC

0 10 20 30 40 50 60 70 80t

-40

-35

-30

-25

-20

-15

-10

-5

0

5

log(

|X1-

X2|

)

1.497 t -39.380

Figura 16: Cálculo do expoente de Lyapunov e tempo máximo de simulaçãoassociado ao Limite Inferior do Erro.4

4Mendes, E. M. A. M., & Nepomuceno, E. G. (2016). A Very Simple Method toCalculate the (Positive) Largest Lyapunov Exponent Using Interval Extensions. Int. J. of

Bifurcation and Chaos, 26(13), 1650226.4Mendes, E. M. A. M., & Nepomuceno, E. G. (2016). A Very Simple Method to

Calculate the (Positive) Largest Lyapunov Exponent Using Interval Extensions. Int. J. of

Bifurcation and Chaos, 26(13), 1650226.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 29 / 40

Artigo no Chaos Solitons and Fractals

40 42 44 46 48 50 52 54 56 58 60−20

−15

−10

−5

0

5

10

15

20

t

x 3 / x 4

Figura 17: Resultados divergentes devido a computação aritmética.5

5Nepomuceno, E. G., & Mendes, E. M. A. M. A. M. (2017). On the analysis ofpseudo-orbits of continuous chaotic nonlinear systems simulated using discretizationschemes in a digital computer. Chaos, Solitons & Fractals, 95, 21�32.Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 30 / 40

Artigo no Simpósio Brasileiro de Automação Inteligente

Síntese de sistemas caóticos 6

6Silva, D. A., Nepomuceno, E. G., & Pereira, E. B. (2017). Realização do MapaLogístico em FPGA Usando Padrão Ponto Fixo de 32 Bits. In Simpósio Brasileiro deSistemas Elétricos, Porto Alegre (pp. 1�6).Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 31 / 40

Outros resultados recentes I

Guedes, P. F. S., Peixoto, M. L. C., Freitas, O. A. R. O., Barbosa A.M., Martins, S. A. M., & Nepomuceno, E. G. (2018). IntervalSimulation of Narmax Models Based on Computer Arithmetic. InAnais do XXII CBA - Congresso Brasileiro de Automática (pp. 1�6).João Pessoa. (html)

Nepomuceno, E. G., Rodrigues Junior, H. M., Martins, S. A. M., Perc,M., & Slavinec, M. (2018). Interval computing periodic orbits of mapsusing a piecewise approach. Applied Mathematics and Computation,336, 67�75. (html)

Nepomuceno, E. G., Peixoto, M. L. C., Martins, S. A. M., Rodrigues,H. M., & Perc, M. (2018). Inconsistencies in Numerical Simulations ofDynamical Systems Using Interval Arithmetic. International Journal ofBifurcation and Chaos, 28(04), 1850055. (html)

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 32 / 40

Outros resultados recentes II

Peixoto, M. L. C., Nepomuceno, E. G., Martins, S. A. M., & Lacerda,M. J. (2018). Computation of the largest positive Lyapunov exponentusing rounding mode and recursive least square algorithm. Chaos,Solitons & Fractals, 112, 36�43. (html)

Nepomuceno, E. G., Martins, S. A. M., Lacerda, M. J., & Mendes, E.M. A. M. (2018). On the Use of Interval Extensions to Estimate theLargest Lyapunov Exponent from Chaotic Data. MathematicalProblems in Engineering, 2018, 1�8. (html)

Nepomuceno, E. G., Martins, S. A. M., Silva, B. C., Amaral, G. F. V.,& Perc, M. (2018). Detecting unreliable computer simulations ofrecursive functions with interval extensions. Applied Mathematics andComputation, 329, 408�419. (html)

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 33 / 40

Outros resultados recentes III

Junior, H. M. R., Peixoto, M. L. C., Nepomuceno, E. G., & Martins,S. A. M. (2018). Using Di�erent Interval Extensions to Increase theAccuracy of the Exact Solution on Recursive Functions. TheInterdisciplinary Journal of Discontinuity, Nonlinearity, and Complexity,7(2), 165�172. (html)

Silva, M. R., Nepomuceno, E. G., Amaral, G. F. V, Martins, S. A. M.,& Nardo, L. G. (2018). Exploiting the rounding mode of �oating-pointin the simulation of Chua's circuit. The Interdisciplinary Journal ofDiscontinuity, Nonlinearity, and Complexity, 7(2), 185�193. (html)

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 34 / 40

References

Parhami, B. (2012). Computer arithmetic algorithms and hardware

architectures. Oxford University Press, New York.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 35 / 40

Tocci, R. J., Widmer, N. S., & Moss, G. L. (2011). Sistemas Digitais.Princípios e Aplicações (11th ed.). São Paulo: Pearson Prentice Hall.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 36 / 40

Overton, M. L. (2001), Numerical Computing with IEEE �oating point

arithmetic, SIAM.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 37 / 40

Moore, R. E., Kearfott, R. B., & Cloud, M. J. (2009). Introduction to

Interval Analysis. SIAM.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 38 / 40

Rudin, W. (1976), Principles of mathematical analysis, McGraw-HillNew York.

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 39 / 40

Obrigado pela atenção!

www.ufsj.edu.br/nepomuceno

Prof. Erivelton (DEPEL/UFSJ) Computação Aritmética 2 de Agosto de 2018 40 / 40