Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Máquinas que comen máquinas

88 views

Published on

Máquina de Turing Universal

Published in: Education
  • Be the first to comment

  • Be the first to like this

Máquinas que comen máquinas

  1. 1. Máquinas que comen máquinas Toiterateishuman,torecursedivine.— L.PeterDeutsch Ivan Meza
  2. 2. Máquinas de Turing Es una tupla (Q, Σ, Γ, , B, A, δ)q0 conjunto finito de estados alfabeto de cadenas reconocidas alfabeto de cinta, estado inicial Símbolo de espacio en blanco pero estados finales función de transición Q Σ Γ Σ ⊂ Γ q0 B B ∈ Γ B ∉ Σ A δ Q × Γ → Q × Γ × {der, izq}
  3. 3. Jerarquía de Chomsky Lenguaje Gramática Máquina Ejemplo Tipo 0 ( ) Máquina de Turing, APDo, AC ?? Tipo 1 ( ) Autómata lineal con fronteras Tipo 2 ( ) Autómata de pila Tipo 3 ( ) Autómata finito /LRE LRec α → β LDC αV β → αγβ ww, a n b n c n LLC V → α w ,w r a n b n Lreg V → aA|ϵ w, a ∗
  4. 4. Lo que sabemos
  5. 5. Las máquinas que al pasar por un estado nal terminan aceptando la cadena, otras que no tienen una transición y rechazan la cadena, pero de vez en cuando se pueden quedar en un ciclo
  6. 6. Si la cadena debe ser aceptada por la MT, eventualmente llegará al estado aceptor; si la cadena debe ser rechazada puede llegué a una transición inexistente o se quede en un ciclo.
  7. 7. Las autómatas nitos, autómatas de pilas, autómatas con frontera lineal, son máquinas aceptoras: verdadero o falso Entonces las MT contienen máquinas aceptoras
  8. 8. Codificación de una cadena δ( , ) = ( , , )qi Xj qk Xl Dm Asignar a cada estado , a cada símbolo de y cada dirección un entero Codificar cada entrada de la MT como Separar cada codificación con doble uno ( ) Q Γ 0 i 10 j 10 k 10 l 10 m 11
  9. 9. Ejemplo δ( , 1) = ( , 0, R)q1 q3 0100100010100 δ( , 0) = ( , 1, R)q3 q1 0001010100100 δ( , 1) = ( , 0, R)q3 q2 00010010010100 δ( , B) = ( , 1, L)q3 q3 0001000100010010 Con = 1, = 2, = 3; 0 = 1, 1 = 2, B = 3; L = 1, R = 2q1 q2 q3 0100100010100110001010100100110001001001010011000
  10. 10. Máquina de Turing Universal
  11. 11. It is possible to invent a single machine which can be used to compute any computable sequence. If this machine is supplied with a tape on the beginning of which is written the S.D ["standard description" of an action table] of some computing machine , then will compute the same sequence as . U M U M Turing, 1936
  12. 12. Es posible inventar una máquina que pueda ser usada para computar cualquier secuencia computable. Si esta máquina se le provee con una cinta en la que al principio se le escribe la descripción estándar de una tabla de acción de alguna máquina , entonces computará la misma secuencia que U M U M
  13. 13. MTU: Máquina de Turing que puede simular una MT arbitraria Mu
  14. 14. Lenguaje aceptado = {mw|w ∈ L(M)}Lu El lenguaje máquinas y cadenas dónde la máquina acepta a la cadena
  15. 15. Verdadero Falso W MTU M M Por el momento, haremos la hipótesis que es recursivo/decidible Mu
  16. 16. Realización, una MT es una cadena Como cadena se podía presentar a una máquina de Turing universal
  17. 17. Verdadero Falso m MTU m M i i i
  18. 18. Las máquinas de Turing que se aceptan a si mismas = {m|m ∈ L(M)}Ld¯
  19. 19. Las máquinas en realidad son un número, como número las podemos ordenar Ordenadas, cada una corresponde a un número entero Entonces,...
  20. 20. T F F T F F F F F F T T T T T F T F F F T F T F F m0 m1 m2 m3 m4 … M0 … M1 … M2 … M3 … M4 … … … … … … … …
  21. 21. T F F T F F F F F F T T T T T F T F F F T F T F F m0 m1 m2 m3 m4 … M0 … M1 … M2 … M3 … M4 … … … … … … … … Md ¯ T F T F F …
  22. 22. F F F T F F T F F F T T F T T F T F T F T F T F T m0 m1 m2 m3 m4 … M0 … M1 … M2 … M3 … M4 … … … … … … … … Md F T F T T …
  23. 23. El lenguaje de las máquinas que no se aceptan a si mismas = {m|m ∉ L(M)}Ld
  24. 24. Si es RE o Rec existe una máquina de Turing, , ¿qué pasa con su descripción ? Md md Si , quiere decir que no se acepta a si misma, pero para eso tendría que aceptarla, que la hace una máquina que se acepta a si misma, contradicción ∈md Ld Md Si , quiere decir que se acepta a si misma, pero para eso no tendría que aceptarla, que la hace una máquina que no se acepta a si misma, contradicción ∉md Ld Md
  25. 25. existe afuera de las máquinas de Turing Ld
  26. 26. Lenguaje Gramática Máquina Ejemplo No RE -- -- Tipo 0 ( ) Máquina de Turing, APDo, AC ?? Tipo 1 ( ) Autómata lineal con fronteras Tipo 2 ( ) Autómata de pila Tipo 3 ( ) Autómata finito Ld /LRE LRec α → β LDC αV β → αγβ ww, a n b n c n LLC V → α w ,w r a n b n Lreg V → aA|ϵ w, a ∗
  27. 27. Lenguajes aceptados por máquinas aceptoras: recusivos o decidibles ¿Las máquinas de Turing son las máquinas aceptoras? Sabemos que las máquinas Turing tiene un límite
  28. 28. MT Verdadero Falso W
  29. 29. Imaginemos MT Verdadero Falso W Verdadero Falso Complemento de todos los recursivos son recursivo
  30. 30. Lenguaje aceptado Verdadero Falso W MTU M M = {mw|w ∈ L(m)}Lu ¿Si pasamos nuestra numeración de ?MTi Si es recursivo, su complemento también...Lu
  31. 31. Verdadero Falso W MTU M M Verdadero Falso ¿Si pasamos nuestra numeración de ?MTi ¡Aceptaría ! ¡No es posible! por lo tanto tiene algo raroLd Lu
  32. 32. no es Rec pero RE
  33. 33. Lenguaje Gramática Máquina Ejemplo No RE -- -- Tipo 0 ( ) Máquina de Turing, APDo, AC / Tipo 1 ( ) Autómata lineal con fronteras Tipo 2 ( ) Autómata de pila Tipo 3 ( ) Autómata finito Ld /LRE LRec α → β Lu LDC αV β → αγβ ww, a n b n c n LLC V → α w ,w r a n b n Lreg V → aA|ϵ w, a ∗
  34. 34. Sabemos que hay MT que son decidibles: verdadero y falso Sabemos que hay problemas para los cuales no existe MT, Ld Sabemos que hay MT que no son decidibles: verdadero, falso y ciclo
  35. 35. Opciones de una máquina de Turing ¿Cuándo se acepta? Llega a estado aceptor ¿Cuándo se rechaza? Llega a estado del que no hay transición dado el estado de la cinta ¿Otra opción? Quedarse en un ciclo infinito
  36. 36. MT Verdadero Falso W
  37. 37. Modelo teórico: instantáneo Aceptar (T) Llega a estado aceptor Rechazar (F) Se queda en estado no aceptor Loop infinito Rechazó o loopinfinito?
  38. 38. Modelo práctico: tiempo Aceptar (T) En algún momento llega a estado aceptor Rechazar (F) En algún momento llega a estado no aceptor Loop infinito No termina nunca Ante problemas muy, muy difíciles, no sabemos si sigue procesando o está en un loop in nito
  39. 39. Ejemplo de problema muy muy difícil De un conjunto de números enteros de tamaño ¿existe una combinación del subconjuntos de ellos que sume ? N C ¿Cómo se diseña la MT?
  40. 40. N = 1, ∗ 1 = 2 = 2ns2 1 N = 2, ∗ 2 = 8 = 8ns2 2 N = 3, ∗ 3 = 24 = 24ns2 3 N = 10, 0 ∗ 10 = 10, 240 = 10micros2 1 N = 20, 0 ∗ 20 = 20, 971, 520 = 2milis2 2 N = 30, 0 ∗ 30 = 32, 212, 254, 720 = 32s2 3 N = 40, 0 ∗ 40 = 43, 980, 465, 111, 040 = 12h2 4 N = 50, 0 ∗ 50 = 56, 294, 995, 342, 131, 200 = 651d2 5
  41. 41. ¿Por qué mi programa tiene un loop? Por diseño, loops son importantes desde lenguajes regulares ¿Por qué mi programa tiene un loop infinito? Un error Por diseño, interfaz gráfica, satélites, switches, robots
  42. 42. Hecho de la computación: los loops son básicos en la computación Pero nos meten en problemas rápidamente
  43. 43. ¿Qué hay de lenguajes recursivos?
  44. 44. El lenguaje de las máquinas y cadenas que se aceptan en pasos n = {mw|w ∈ L(M) en n pasos}Ln
  45. 45. Enumeremos todas las codi caciones de automatas lineales con frontera (MT) decidibles, { , , …}M1 M2 Enumeramos todas las cadenas de Σ ∗ = { | ∉ L( )}Lf¯ xi xi Mi Si fuera sensitivo al contexto, una de máquina aceptaría a todas las cadenas dentro de , que va encontra de la definición. Por lo tanto no es sensitivo al contexo. Sin embargo, si es decidible ya que la máquina lo único que tiene que hacer es simular a cada con (es decir, es universal), pero no se queda trabada porque se trata de máquinas decidibles Lf ¯ Mx Lf ¯ Mf ¯ Mi xi
  46. 46. Lenguaje Gramática Máquina Ejemplo No RE -- -- Tipo 0 ( ) Máquina de Turing, APDo, AC / , Tipo 1 ( ) Autómata lineal con fronteras Tipo 2 ( ) Autómata de pila Tipo 3 ( ) Autómata finito Ld /LRE LRec α → β Lu Ln Lf ¯ LDC αV β → αγβ ww, a n b n c n LLC V → α w ,w r a n b n Lreg V → aA|ϵ w, a ∗
  47. 47. ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir Máquinas de Turing o máquinas con cola by is licensed under a . Creado a partir de la obra en . Ivan V. Meza Ruiz Creative Commons Reconocimiento 4.0 Internacional License http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/mt.html

×