computação aritmética - ufsj.edu.br filecomputação aritmética aula introdutória erivelton...
TRANSCRIPT
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