Computacao Numérica
-
Author
fernando-simeone -
Category
Technology
-
view
171 -
download
4
Embed Size (px)
Transcript of Computacao Numérica
1. Fernando Simeone Computao Numrica 1 1 1 1 1 2. Sumrio 1. Clculo de Funes 2. Computao Numrica 3. Operaes Sequenciais 4. Criando uma Linguagem de Programao 5. Consideraes Finais 3. Clculo de Funes1 4. Mquina de Turing Reconhecimento de Linguagens MT = (Q, , , , q0) q0 qs qn q1 q2 B a c c b B B B B B B Entrada: 5. Mquina de Turing Reconhecimento de Linguagens MT = (Q, , , , q0) q0 qs qn q1 q2 B a c c b B B B B B B x No aceita Aceita Entrada: 6. Mquina de Turing Clculo de Funes MT = (Q, , , , q0, qf) q0 qf Fim da computao B a c c b B B B Entrada: M 7. Mquina de Turing Clculo de Funes MT = (Q, , , , q0, qf) q0 qf Fim da computao B a c c b B B B Entrada: B a a B B B B B Resultado: M 8. Mquina de Turing Clculo de Funes (Turing computveis) MT = (Q, , , , q0, qf) q0 qf Fim da computao B a c c b B B B Entrada: B B B B B B B B Resultado: q1 q2 (B, B, ) (B, B, ) (b, b, ) (b, b, ) (a, a, ) (a, a, ) (B, B, ) (b, B, ) (a, B, ) 9. Mquina de Turing Clculo de Funes MT = (Q, , , , q0, qf) computa f: * * q0 qfq1 q2 (B, B, ) (B, B, ) (b, b, ) (b, b, ) (a, a, ) (a, a, ) (B, B, ) (b, B, ) (a, B, ) 10. Mquina de Turing Clculo de Funes MT = (Q, , , , q0, qf) computa f: * * q0 qfq1 q2 (B, B, ) (B, B, ) (b, b, ) (b, b, ) (a, a, ) (a, a, ) (B, B, ) (b, B, ) (a, B, ) Apenas uma transio partindo do estado q0: (q0,B) = [qi, B, ]; 11. Mquina de Turing Clculo de Funes MT = (Q, , , , q0, qf) computa f: * * q0 qfq1 q2 (B, B, ) (B, B, ) (b, b, ) (b, b, ) (a, a, ) (a, a, ) (B, B, ) (b, B, ) (a, B, ) Apenas uma transio partindo do estado q0: (q0,B) = [qi, B, ]; No h transies que retornam para q0; 12. Mquina de Turing Clculo de Funes MT = (Q, , , , q0, qf) computa f: * * q0 qfq1 q2 (B, B, ) (B, B, ) (b, b, ) (b, b, ) (a, a, ) (a, a, ) (B, B, ) (b, B, ) (a, B, ) Apenas uma transio partindo do estado q0: (q0,B) = [qi, B, ]; No h transies que retornam para q0; No h transies na forma (qf,B); 13. Mquina de Turing Clculo de Funes MT = (Q, , , , q0, qf) computa f: * * q0 qfq1 q2 (B, B, ) (B, B, ) (b, b, ) (b, b, ) (a, a, ) (a, a, ) (B, B, ) (b, B, ) (a, B, ) Apenas uma transio partindo do estado q0: (q0,B) = [qi, B, ]; No h transies que retornam para q0; No h transies na forma (qf,B); A MT com entrada u para com congurao q0 BvB se f(u) = v; 14. Mquina de Turing Clculo de Funes MT = (Q, , , , q0, qf) computa f: * * q0 qfq1 q2 (B, B, ) (B, B, ) (b, b, ) (b, b, ) (a, a, ) (a, a, ) (B, B, ) (b, B, ) (a, B, ) Apenas uma transio partindo do estado q0: (q0,B) = [qi, B, ]; No h transies que retornam para q0; No h transies na forma (qf,B); A MT com entrada u para com congurao q0 BvB se f(u) = v; A MT no pra se f(u) for indenido. 15. Mquina de Turing Lendo argumentos e escrevendo resultado 16. Mquina de Turing Lendo argumentos e escrevendo resultado B a b B B B B B B B B B b a B B f(ab) = ba Entrada Resultado 17. Mquina de Turing Lendo argumentos e escrevendo resultado B a b B B B B B B B B B b a B B f(ab) = ba Entrada Resultado B a b B c c B b a c B B a b B B f(ab, cc, bac) = ab Entrada Resultado 18. Mquina de Turing Lendo argumentos e escrevendo resultado B a b B B B B B B B B B b a B B f(ab) = ba Entrada Resultado B a b B c c B b a c B B a b B B f(ab, cc, bac) = ab Entrada Resultado B a b B B b a c B B B B B B B B f(ab, , bac) = Entrada Resultado 19. Clculo de Funes Exemplo: concatenando palavras q0 q1 (B, B, ) q2 q5 q3 q4 q6 qf (b, b, ) (a, a, ) (B, B, ) (a, B, ) (B, a, ) (b, B, ) (B, b, ) (B, B, ) (B, B, ) (B, B, ) (b, b, ) (a, a, ) B a b B b a B Entrada Resultado B a b b a B B 20. Computao Numrica2 21. Funes Numricas 22. Funes Numricas f: N N N N N 23. Funes Numricas f: N N N N N Exemplos 24. Funes Numricas f: N N N N N Exemplos sq(n) = n2 25. Funes Numricas f: N N N N N Exemplos sq(n) = n2 db(n) = 2n 26. Funes Numricas f: N N N N N Exemplos sq(n) = n2 db(n) = 2n add(x, y) = x + y 27. Representao Como representar nmeros na fita 28. Representao n = 1n+1 Como representar nmeros na fita 29. Representao n = 1n+1 0 = 1 Como representar nmeros na fita 30. Representao n = 1n+1 0 = 1 1 = 11 Como representar nmeros na fita 31. Representao n = 1n+1 0 = 1 1 = 11 2 = 111 Como representar nmeros na fita 32. Representao Como representar nmeros na fita 33. Representao Como representar nmeros na fita B 1 1 1 B B B B B B B B 1 1 B B f(2) = 1 Entrada Resultado 34. Representao Como representar nmeros na fita B 1 1 1 B B B B B B B B 1 1 B B f(2) = 1 Entrada Resultado B 1 1 1 1 B 1 B B B B B 1 1 1 B f(3, 0) = 2 Entrada Resultado 35. Clculo Funes Numricas Sucessor q0 q1 (B, B, ) qf (1, 1, ) (B, 1, ) (1, 1, ) B 1 1 1 B B B Entrada Resultado B 1 1 1 1 B B S: s(n) = n + 1 36. Clculo Funes Numricas Zero q0 q1 (B, B, ) qf (1, 1, ) (B, B, ) B 1 1 1 B B B Entrada Resultado B 1 B B B B B Z: z(n) = 0 q2 (1, B, ) (B, B, ) (B, 1, ) q3 37. Clculo Funes Numricas Adio q0 q1 (B, B, ) qf (1, 1, ) (B, 1, ) Entrada Resultado B 1 1 1 1 B B A: a(n, m) = n + m q2 (1, 1, ) (B, B, ) (1, B, ) q3 (1, B, ) q4 (1, 1, ) B 1 1 B 1 1 1 B 38. Clculo Funes Numricas Decremento q0 q1 (B, B, ) qf (1, 1, ) Entrada Resultado B 1 1 B B B B D: a(n) = n - 1 q2 (1, 1, ) (1, 1, ) (B, B, ) q3 (B, B, ) q4 (1, 1, ) B 1 1 1 B B B B (1, B, ) 39. Operaes Sequenciais3 40. Operaes Sequenciais Com mquinas de Turing qs,0 qs,1 (B, B, ) qs,f (1, 1, ) (B, 1, ) (1, 1, ) S: qz,0 qz,1 (B, B, ) qz,f (1, 1, ) (B, B, ) Z: qz,2 (1, B, ) (B, B, ) (B, 1, ) qz,3 Zero Sucessor z(n) = 0 s(n) = n + 1 41. Operaes Sequenciais Com mquinas de Turing qs,0 qs,1 (B, B, ) qs,f (1, 1, ) (B, 1, ) (1, 1, ) S: qz,0 qz,1 (B, B, ) qz,f (1, 1, ) (B, B, ) Z: qz,2 (1, B, ) (B, B, ) (B, 1, ) qz,3 Zero Sucessor z(n) = 0 s(n) = n + 1 42. Operaes Sequenciais Com mquinas de Turing qs,1 (B, B, ) qs,f (1, 1, ) (B, 1, ) (1, 1, ) qz,0 qz,1 (B, B, ) qz,f = qs,0 (1, 1, ) (B, B, ) qz,2 (1, B, ) (B, B, ) (B, 1, ) qz,3 s( z(n) ) = 0 + 1 = 1 43. Operaes Sequenciais Com mquinas de Turing qs,1 (B, B, ) qs,f (1, 1, ) (B, 1, ) (1, 1, ) qz,0 qz,1 (B, B, ) qz,f = qs,0 (1, 1, ) (B, B, ) qz,2 (1, B, ) (B, B, ) (B, 1, ) qz,3 s( z(n) ) = 0 + 1 = 1 44. Operaes Sequenciais Macros * f(n) = s( z(n) ) Z * S *F: 45. Operaes Sequenciais Macros * f(n) = s( z(n) ) Z * S * Nem todas as computaes iro iniciar com a cabea de leitura na posio 0 da ta; F: 46. Operaes Sequenciais Macros * f(n) = s( z(n) ) Z * S * Nem todas as computaes iro iniciar com a cabea de leitura na posio 0 da ta; F: 47. Operaes Sequenciais Macros * f(n) = s( z(n) ) Z * S * Nem todas as computaes iro iniciar com a cabea de leitura na posio 0 da ta; Toda computao deve iniciar lendo o smbolo branco (B) da ta. F: 48. Macros Notao utilizada B n1 B n2 B B nk B 49. Macros Notao utilizada B n1 B n2 B B nk B k-simo nmero na ta" (sequncia de 1s) 50. Macros Notao utilizada B n1 B n2 B B nk B k-simo nmero na ta" (sequncia de 1s) B 1 1 B 1 1 1 B B Exemplo: { { n1 n2 51. Macros Exemplo MRk B n1 B n2 B B nk B Move Right B n1 B n2 B B nk B 52. Macros Exemplo q0 q1 (B, B, ) qf (1, 1, ) (B, B, ) MR2: (1, 1, ) MRk B n1 B n2 B B nk B Move Right B n1 B n2 B B nk B 53. Macros Exemplo q0 q1 (B, B, ) qf (1, 1, ) (B, B, ) MR2: (1, 1, ) MRk B n1 B n2 B B nk B Move Right B n1 B n2 B B nk B q0 q1 (B, B, ) qf (1, 1, ) (B, B, ) MRk: (1, 1, ) (B, B, ) qk-1 (1, 1, ) (B, B, ) 54. Macros MRk B n1 B n2 B B nk B Move Right B n1 B n2 B B nk B 55. Macros MRk B n1 B n2 B B nk B Move Right B n1 B n2 B B nk B MLk B n1 B n2 B B nk B Move Left B n1 B n2 B B nk B 56. Macros MRk B n1 B n2 B B nk B Move Right B n1 B n2 B B nk B MLk B n1 B n2 B B nk B Move Left B n1 B n2 B B nk B FR B B B n1 B n2 B B Find Right B B B n1 B n2 B B 57. Macros MRk B n1 B n2 B B nk B Move Right B n1 B n2 B B nk B MLk B n1 B n2 B B nk B Move Left B n1 B n2 B B nk B FR B B B n1 B n2 B B Find Right B B B n1 B n2 B B FL Find Left B BB n1 B n2 B B B BB n1 B n2 B B 58. Macros MRk B n1 B n2 B B nk B Move Right B n1 B n2 B B nk B MLk B n1 B n2 B B nk B Move Left B n1 B n2 B B nk B FR B B B n1 B n2 B B Find Right B B B n1 B n2 B B FL Find Left B BB n1 B n2 B B B BB n1 B n2 B B Ek Erase B B B B B B B BB n1 B n2 B B nk B 59. Macros CPYk Copy B n1 B n2 B B nk B B B B B B B B B n1 B n2 B B nk B n1 B n2 B B nk B 60. Macros CPYk Copy B n1 B n2 B B nk B B B B B B B B B n1 B n2 B B nk B n1 B n2 B B nk B CPYk, i Copy B n1 B B nk B B nk+i B B B B B B B n1 B B nk B B nk+i B n1 B B nk B 61. Macros CPYk Copy B n1 B n2 B B nk B B B B B B B B B n1 B n2 B B nk B n1 B n2 B B nk B CPYk, i Copy B n1 B B nk B B nk+i B B B B B B B n1 B B nk B B nk+i B n1 B B nk B T B B B n1 B B B B Translate B BBn1 B B B B 62. Macros BRN Branch on zero B n1 B n2 B B nk B B n1 B n2 B B nk B * BRN n = 0 n > 0 * * 63. INT Interchange B n B m B B B * * E1 * T * MR1 * T * ML1 *CPY1,1 B m B n B B B Utilizando outras macros Macros 64. * * MR1 * * A * ML1 * A *CPY1 Exemplo de utilizao Macros f(n) = 3n CPY1 65. Exemplo de utilizao Macros T * E1 * ML1 *q 0 (B, B, ) q 1 (1, 1, ) q 2 (B, B, ) E1 * T q 3 CPY1 * q 5 q 4 ML1A *MR1 *CPY1,1 q 8 q 7 q 6 * MULT: (1, X, ) (1, 1, ) (B, B, ) (B, B, ) (X, B, ) (B, B, ) (X, B, ) (1, B, ) (1, 1, ) (1, 1, ) (X, X, )(1, X, ) (1, 1, ) (B, B, ) 66. Criando uma Linguagem de Programao 4 67. Arquitetura B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho home 68. B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 69. INIT v Inicializa varivel local B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 70. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 71. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. LOAD v Carrega a varivel B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 72. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. LOAD v Carrega a varivel STOR v Armazena o valor do registrador B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 73. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. LOAD v Carrega a varivel STOR v Armazena o valor do registrador RETURN v Limpa todas as variveis deixando o valor de B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 74. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. LOAD v Carrega a varivel STOR v Armazena o valor do registrador RETURN v Limpa todas as variveis deixando o valor de CLEAR t Limpa o valor do registrador t B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 75. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. LOAD v Carrega a varivel STOR v Armazena o valor do registrador RETURN v Limpa todas as variveis deixando o valor de CLEAR t Limpa o valor do registrador t BRN L, t Vai para a instruo L se o valor do registrador t 0. B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 76. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. LOAD v Carrega a varivel STOR v Armazena o valor do registrador RETURN v Limpa todas as variveis deixando o valor de CLEAR t Limpa o valor do registrador t BRN L, t Vai para a instruo L se o valor do registrador t 0. GOTO L Executa a instruo L. B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 77. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. LOAD v Carrega a varivel STOR v Armazena o valor do registrador RETURN v Limpa todas as variveis deixando o valor de CLEAR t Limpa o valor do registrador t BRN L, t Vai para a instruo L se o valor do registrador t 0. GOTO L Executa a instruo L. NOP No operation (utilizada em conjunto com a instru GOTO) B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 78. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. LOAD v Carrega a varivel STOR v Armazena o valor do registrador RETURN v Limpa todas as variveis deixando o valor de CLEAR t Limpa o valor do registrador t BRN L, t Vai para a instruo L se o valor do registrador t 0. GOTO L Executa a instruo L. NOP No operation (utilizada em conjunto com a instru GOTO) INC t Incrementa o valor do registrador t. B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 79. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. LOAD v Carrega a varivel STOR v Armazena o valor do registrador RETURN v Limpa todas as variveis deixando o valor de CLEAR t Limpa o valor do registrador t BRN L, t Vai para a instruo L se o valor do registrador t 0. GOTO L Executa a instruo L. NOP No operation (utilizada em conjunto com a instru GOTO) INC t Incrementa o valor do registrador t. DEC t Decrementa o valor do registrador t. B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 80. INIT v Inicializa varivel local HOME t Move a cabea de leitura para home quando h t variveis alocadas. LOAD v Carrega a varivel STOR v Armazena o valor do registrador RETURN v Limpa todas as variveis deixando o valor de CLEAR t Limpa o valor do registrador t BRN L, t Vai para a instruo L se o valor do registrador t 0. GOTO L Executa a instruo L. NOP No operation (utilizada em conjunto com a instru GOTO) INC t Incrementa o valor do registrador t. DEC t Decrementa o valor do registrador t. ZERO t Substitui o valor do registrador t por 0. B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho Incio 81. Instrues B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho home 82. Instrues B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho home HOME t MR t 83. Instrues B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho home INIT vi MR i - 1 ZR ML i - 1 HOME t MR t 84. Instrues B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho home INIT vi MR i - 1 ZR ML i - 1 HOME t MR t STOR vi, t MR t - 2 INT ML1 INT MR1 INT MR 1 ER 1 ML t - 1 ( ) ( ) t + n - i - 1 t + n - i - 1 85. Instrues B v1 B v2 B B vk B vk+1 B vn B B B B B Variveis de entrada Variveis locais Registradores e espao de trabalho home INIT vi MR i - 1 ZR ML i - 1 HOME t MR t STOR vi, t MR t - 2 INT ML1 INT MR1 INT MR 1 ER 1 ML t - 1 ( ) ( ) t + n - i - 1 t + n - i - 1 LOAD vi, t ML n - i + 1 CPY 1, n - i + 1 + t MR n - i + 1 86. Exemplo INIT v2 INIT v3 HOME 3 LOAD v1,1 STOR v2,1 L1 LOAD v2,1 BRN L2,1 LOAD v1,1 INC STOR v1,1 LOAD v2,1 DEC STOR v2,1 GOTO L1 L2 LOAD v1,1 INC STOR v1,1 RETURN v1 Incio f(n) = 2n + 1 87. Consideraes Finais5 88. Referncias SUDKAMP, T. A. Languages and Machines: An Introduction to the Theory of Computer Science (3rd Edition). Boston, MA, USA: Addison- Wesley Longman Publishing Co., Inc., 2005. ISBN 0321322215. 89. Obrigado Dvidas ??