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

194 views

Published on

Máquina universal de Turing
http://ivanvladimir.github.io/content/teach/curso_lfya_2016I.html

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 Recursivamente enumerables Tipo 0 ( ) Máquina de Turing ?? Dependiente del contexto Tipo 1 ( ) Autómata de doble pila/lineal con fronteras Independiente del contexto Tipo 2 ( ) Autómata de pila Regular Tipo 3 ( ) Autómata finito α → β αV β → αγβ ww, a n b n c n V → α w ,w r a n b n V → aA|ϵ w, a ∗
  4. 4. Lo que sabemos
  5. 5. Si existe una máquina de Turing para el lenguaje, se trata de un lenguaje recursivamente enumerable
  6. 6. Con autómatas finitos, autómatas de pilas, autómatas de doble pila y autómatas con frontera lineal, son máquinas aceptoras: verdadero o falso Entonces las MT contienen máquinas aceptoras
  7. 7. 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
  8. 8. 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
  9. 9. Máquin de Turing Universal
  10. 10. 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
  11. 11. 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
  12. 12. MTU: Máquina de Turing que puede simular una MT arbitraria Mu
  13. 13. Lenguaje aceptado y su correspondiente= {mw|w ∈ L(m)}Lu Mu
  14. 14. Verdadero Falso W MTU M M
  15. 15. Realización, una MT es una cadena Como cadena se podía presentar a una máquina de Turing universal
  16. 16. Verdadero Falso M MTU M M i i i
  17. 17. Las máquinas de Turing que se aceptan a si mismas u otras máquinas
  18. 18. 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,...
  19. 19. 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 M c 0 M c 1 M c 2 M c 3 M c 4 … M0 … M1 … M2 … M3 … M4 … … … … … … … …
  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 M c 0 M c 1 M c 2 M c 3 M c 4 … M0 … M1 … M2 … M3 … M4 … … … … … … … … Md T F T F F …
  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 M c 0 M c 1 M c 2 M c 3 M c 4 … M0 … M1 … M2 … M3 … M4 … … … … … … … … Md F T F T T …
  22. 22. ¡ no existe!Md ¡No es recursivamente enumerable!
  23. 23. = {m|mm ∉ (mm)}Ld Mu
  24. 24. 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
  25. 25. MT Verdadero Falso W
  26. 26. Imaginemos MT Verdadero Falso W Verdadero Falso Complemento de todos los recursivos son recursivo
  27. 27. Lenguaje aceptado Verdadero Falso W MTU M M = {mw|w ∈ L(m)}Lu Si es recursivo, su complemento también...Lu
  28. 28. Verdadero Falso W MTU M M Verdadero Falso ¿Si pasamos nuestra numeración de ?MTi ¡Aceptaría ! ¡No es posible! por lo tanto no es decidibleLd Lu
  29. 29. RE no R
  30. 30. Sabemos que hay MT que son decidibles: verdadero y falso Sabemos que hay otras MT: complemento de Mu Sabemos que hay problemas para los cuales no existe MT, Ld
  31. 31. ¿Qué hace diferente RE a R?
  32. 32. Máquina H Para No para w MTU M M Verdadero Falso Dado un par podemos saber si la máquina va a pararM, w Depende de , entonces es RE, por lo tanto el no parar es la tercera opción Mu
  33. 33. Supongamos que existe Mhalt
  34. 34. Es posible definir la siguiente máquina a partir de ella Para H' M H Para No para
  35. 35. Para H' H' H Para No para Sí para con , también lo hace , pero por definición se queda en un ciclo Sí se cicla con , también lo hace con , pero por definición se para H ′ H ′ H H ′ H ′ H
  36. 36. 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
  37. 37. MT Verdadero Falso W
  38. 38. Modelo teórico: instantáneo Aceptar (T) Llega a estado aceptor Rechazar (F) Se queda en estado no aceptor Loop infinito Rechazó o loopinfinito?
  39. 39. 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 infinito
  40. 40. 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?
  41. 41. 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
  42. 42. ¿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
  43. 43. Hecho de la computación: los loops son básicos en la computación Pero nos meten en problemas rápidamente
  44. 44. Jerarquía de Chomsky extendida* Lenguaje Gramática Máquina Ejemplo No RE -- -- RE/Rec Tipo 0 ( ) Máquina de Turing , Dependiente del contexto Tipo 1 ( ) Autómata de doble pila/lineal con fronteras Independiente del contexto Tipo 2 ( ) Autómata de pila Regular Tipo 3 ( ) Autómata finito Ld α → β mw mmi αV β → αγβ ww, a n b n c n V → α w ,w r a n b n V → aA|ϵ w, a ∗
  45. 45. 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

×