parte 4 máquinas de turing
TRANSCRIPT
![Page 1: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/1.jpg)
1
Parte 4-Máquinas de Turing v. 2.0
Dr. Ricardo Quintero
Teoría de la Computación
![Page 2: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/2.jpg)
2
Definiciones básicas
Existen lenguajes bastante sencillos que no son independientes de contexto.Por ejemplo: {anbncn|n≥0} no puede ser reconocido por un ADPND, ya que aunque la pila puede recordar el número de a’s (apilando) para el número de b’s (desapilando), este valor n se pierde cuando se desean contar las c’s.
![Page 3: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/3.jpg)
3
Definiciones básicas
El problema es que en la pila los datos solamente pueden ser consultados en el top y no debajo del mismo. El problema no es la memoria adicional, sino la forma en la que la estamos accesando (su organización).Aunque podríamos considerar múltiples organizaciones de memoria, vamos a discutir la que introduce la Máquina de Turing, que es bastante sencilla pero poderosa.
![Page 4: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/4.jpg)
4
Definiciones básicas
La memoria en una Máquina de Turing tiene las siguientes características: Es una colección de celdas que se extiende
infinitamente en ambas direcciones, es una cinta infinita.
Cada celda es capaz de almacenar un único símbolo.
No existe una celda primera, ni una última y por lo tanto tiene capacidad de almacenamiento infinito.
Los contenidos de las celdas pueden ser accedidos en cualquier orden.
Existe una cabeza de lectura/escritura que puede moverse sobre la cinta y en cada movimiento leerá o escribirá un símbolo.
![Page 5: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/5.jpg)
5
Máquina de Turing (TM)
Una máquina de Turing es una 7-tupla M=(Q,,,s,b,F,), donde: Q es un conjunto finito de estados. es un alfabeto de entrada. es un alfabeto llamado alfabeto de la cinta. sQ es el estado inicial. b es el símbolo blanco (y no está en ). FQ es el conjunto de estados finales o de
aceptación. :QxQXx{L,R} es una función parcial (esto
es, su dominio no es todo Qx) que se llama función de transición.
![Page 6: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/6.jpg)
6
Máquina de Turing
En esta definición el valor inicial de todas las celdas de la cinta es el símbolo b.Generalmente se permite que - {b}. b. Esto es, el alfabeto de entrada es un subconjunto del alfabeto de la cinta, sin incluir el blanco. transforma pares (q,) formados por el estado actual y símbolos de la cinta en ternas (p,t,X), donde p es el estado siguiente, t es el símbolo escrito en la cinta y X es un movimiento de lectura o escritura, que puede ser L o R según que el movimiento sea hacia la izquierda o la derecha.
![Page 7: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/7.jpg)
7
Un movimiento en la Máquina de Turing
En un movimiento de la TM se considerará el símbolo actual sobre la cabeza de lectura/escritura y el estado actual de la misma y la dinámica será la siguiente:1. Cambia de estado.2. Escribe un símbolo sobre la cinta,
reemplazando el que existía previamente.3. Mueve la cabeza de lectura/escritura una celda
a la izquierda o la derecha.
![Page 8: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/8.jpg)
8
Ejemplo de movimiento en la Máquina de Turing
La transición (q1,a)=(q5,b,R) provoca que la TM pase de una configuración:
a b b
Cabeza r/w
Estado interno
q1
A la configuración:b b b
Cabeza r/w
Estado interno
q5
![Page 9: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/9.jpg)
9
Sobre la cadena de entrada y su relación con
la cinta
Como las transiciones dependen únicamente del estado actual y del contenido de la celda sobre la que se encuentra la cabeza de lectura/escritura entonces:
Cualquier cadena de entrada se debe presentar a la TM sobre la
cinta.
![Page 10: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/10.jpg)
10
La TM en JFlap
JFlap nos permite trabajar también con TM. En particular estamos considerando un modelo en el que solamente existe una cinta.La opción será 1-Tape Turing Machine.
![Page 11: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/11.jpg)
11
Ejemplo de TM en JFlap
Ej.- Considere la TM siguiente: Q={q1,q2} ={a,b} ={a,b,b} F={q2} s=q1
(q1,a)=(q1,a,R) (q1,b)=(q1,a,R) (q1,b)=(q2,b,L)
Estudie el archivo Ej0411.TM para su correspondiente TM en JFlap. Introduzca la cadena de entrada abba.
![Page 12: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/12.jpg)
12
Ejemplo de TM en JFlap
Ej.- TM en JFlap:
![Page 13: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/13.jpg)
13
Descripciones Instantáneas de la TM
Existen dos formas comunes de representar la Descripción Instantánea (DI) de una TM.La primera tiene la forma (qi,w1w2) donde: qi es el estado actual. w1 es la cadena de la cinta que precede a la
cabeza r/w. el el símbolo de la cinta sobre el que se
encuentra la cabeza r/w. w2 es la cadena de la cinta que sucede a la
cabeza r/w.
![Page 14: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/14.jpg)
14
Descripciones Instantáneas de la TM
Para el ejemplo anterior, las DI serían: (q1,babba) (q1,abba) (q1,aaba) (q1,aaaa) (q1,aaaab) (q2,aaaa)
![Page 15: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/15.jpg)
15
Descripciones Instantáneas de la TM
La segunda está dada por la cadena:
a1a2...ak-1qiak...an
Que representa a la configuración (qi,waku)
Por tanto, las dos primeras DI anteriores serían: q1abba y aq1bba.
![Page 16: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/16.jpg)
16
Paso de una DI a otra
En cualquiera de los dos casos el paso de una configuración a otra se denota por .Por tanto, para el ejemplo anterior se tendrían en los dos tipos de DI vistos: (q1,babba) (q1,abba) (q1,aaba)
(q1,aaaa) (q1,aaaab) (q2,aaaa)
O bien q1abba aq1bba aaq1ba aaaq1a aaaaq1b
aaaq2a
![Page 17: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/17.jpg)
17
Paso de una DI a otra
Las notaciones * y + tienen el signficado usual de “cero o más” o “uno o más” respectivamente.
![Page 18: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/18.jpg)
18
Ejemplo de TM
Ej.- Considere la TM siguiente: Q={q1,q2, q3} ={a,b} ={a,b,b} F={q3} s=q1 (q1,a)=(q1,a,L) (q1,b)=(q1,b,L) (q1,b)=(q2,b,R) (q2,a)=(q3,a,L) (q2,b)=(q3,b,L) (q2,b)=(q3,b,R)
Esta TM examina la cinta de izquierda hasta que encuentre la primer celda en blanco. Se parará y se colocará sobre el blanco
![Page 19: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/19.jpg)
19
Ejemplo de TM
Ej.- Para aababb se tendría:
(q1,aababb) (q1,aababb) (q1,aababb) (q1,aababb) (q1, baababb) (q2,aababb) (q3, baababb)
o bien
aabq1abb aaq1babb aq1ababb q1aababb q1baababb q2aaababb q3baababb
![Page 20: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/20.jpg)
20
Parada de la TM
Cuando (q,a) está indefinido y la configuración de la TM es (q,w1aw2), es imposible pasar a otra configuración. Se dice que la TM está parada.Puede ser que qF, siendo F el conjunto de estados finales o no. Es importante dar significado a la parada en un estado F.Para simplificar se supondrá que no se define ninguna transición para cualquier estado final.
![Page 21: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/21.jpg)
21
Computación
La secuencia de todos los movimientos que conducen a una TM a una configuración de parada (en un estado de aceptación F o no) se llama computación.
![Page 22: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/22.jpg)
22
Ejemplo de TM
Ej.- Considere la TM siguiente: Q={q1,q2} ={a,b} ={a,b,b} F= s=q1 (q1,a)=(q2,a,R) (q1,b)=(q2,b,R) (q1,b)=(q2,b,R) (q2,a)=(q1,a,L) (q2,b)=(q1,b,L) (q2,b)=(q1,b,L)
![Page 23: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/23.jpg)
23
Ejemplo de TM
Ej.- Si esta TM comienza con la cabeza r/w sobre la a de una cadena de la forma abw, se tiene la siguiente secuencia de movimientos:
q1abw aq2bw q1abw aq2bw ...
Esta TM ha caído en un “ciclo inifinito”, nunca parará. Esta es una situación fundamental en la teoría de las TM.
![Page 24: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/24.jpg)
24
TM que nunca para
Una TM que nunca para es aquella que se describe de la siguiente manera:
(q,w1w2)*
O bienw1qw2*
![Page 25: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/25.jpg)
25
Tarea
Resolver los siguientes ejercicios del libro de texto: 4.1.1, 4.1.3
![Page 26: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/26.jpg)
26
TM como aceptadores de lenguajes
Así como un AF o un ADPND, un TM puede comportarse como un aceptador de un lenguaje.Se coloca la cadena w en la cinta, se sitúa la cabeza de r/w sobre el símbolo del extremo izquierdo de la cadena w y ponemos en marcha la máquina a partir de su estado inicial.Si después de una secuencia de movimientos la TM llega a un estado final y para, entonces w es aceptada.
![Page 27: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/27.jpg)
27
Definición de TM como aceptador de lenguajes
Def.- Sea M=(Q,,,s=q1,b,F,) una TM. Entonces el lenguaje aceptado por M es:
L(M)={w*|q1w*w1pw2 para pF y wi*}
![Page 28: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/28.jpg)
28
TM que acepta el lenguaje a*
Ej.- La siguiente TM acepta el lenguaje regular a*: Q={q1,q2} ={a,b} ={a,b,b} F={q2} s=q1 (q1,a)=(q1,a,R) (q1,b)=(q2,b,R)
![Page 29: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/29.jpg)
29
TM que acepta el lenguaje a* en JFlap
Ej.- La TM que acepta a* en JFlap:
![Page 30: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/30.jpg)
30
Rechazando una cadena que no pertenece a un
lenguaje
Para rechazar una cadena que no es aceptable, hay que evitar que se llegue a un estado final.Otra alternativa para rechazar una cadena es que la TM entre en un “ciclo infinito”.
![Page 31: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/31.jpg)
31
Ejemplo de Rechazo de una cadena mediante un “ciclo
infinito”
Ej.- El archivo Ej0421-2.TM contiene una TM que rechaza las cadenas que no pertenecen a a* mediante “ciclos infinitos”.
![Page 32: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/32.jpg)
32
Ejemplo de lenguaje no independiente del contexto que
acepta una TM
Ej.- El archivo Ej0422.TM contiene una TM que acepta las cadenas que pertenecen al lenguaje {anbn|n≥1} ¿Cuál es la “lógica” de la TM para reconocer este lenguaje?
![Page 33: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/33.jpg)
33
Lenguajes recursivamente enumerables
Los lenguajes aceptados por una TM se les conoce como Lenguajes Recursivamente Enumerables (RE).El término “Enumerable” proviene de que una TM puede listar (enumerar) las cadenas del lenguaje.Los RE es un conjunto de lenguajes bastante grande, que incluye los LIC.
![Page 34: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/34.jpg)
34
Lenguajes recursivamente enumerables
Una TM que acepta un lenguaje no necesita parar para todas sus cadenas de entrada. La única condición es que se pare en un estado de aceptación para aquellas cadenas que pertenezcan al lenguaje.De hecho existen TM que no se paran ante todas las cadenas de ciertos LRE.El subconjunto de lenguajes recursivamente enumerables cuya totalidad de cadenas es aceptada por una TM que para se les llama recursivos.
![Page 35: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/35.jpg)
35
La TM como un modelo abstracto de computadora
Puesto que la TM puede leer y escribir sobre su cinta pueden convertir la entrada en salida. Este es el propósito de las computadoras digitales, de tal manera que una TM es considerado como un modelo abstracto de computadora.La entrada para la TM se forma por todos los símbolos de la cinta que no son blancos.La salida está formada por cualquiera de los símbolos que queden en la cinta cuando la computación termina.
![Page 36: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/36.jpg)
36
Ejemplo de TM como modelo abstracto de
computadora
Ej.- El archivo Ej0422-2.TM es una TM que complementa las cadenas sobre el alfabeto S. Su definición es la siguiente:
Q={q1,q2, q3} ={a,b} ={a,b,b} F={q3} s=q1 (q1,a)=(q1,b,R) (q1,b)=(q1,a,R) (q1,b)=(q2,b,L) (q2,a)=(q2,a,L) (q2,b)=(q2,b,L) (q2,b)=(q3,b,R)
![Page 37: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/37.jpg)
37
La TM como una función de cadena
La TM puede ser considerada como la implementación de una función de cadena f(w)=u cuando se cumple qsw*qfu, donde qs es el estado inicial y qf es un estado final.Por conveniencia y claridad, la cabeza de r/w empezará y terminará sobre el símbolo de las cadenas de entrada y salida que está situado más a la izquierda.
![Page 38: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/38.jpg)
38
Funciones Turing computables
Def.- Una función de cadena f es Turing computable si existe una TM M=(Q,,, q1,b,F,) para la cual q1w*qfu para algún qfF, cuando f(w)=u.
![Page 39: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/39.jpg)
39
La TM como computadora de funciones de enteros
La TM puede ser extender fácilmente para computar funciones de enteros. El siguiente ejemplo ilustra esto.Ej.- Suponga un ={a,b} y se representan los enteros como cadenas de a’s. Esto es, el entero positivo n se representa mediante an. La función suma f(n,m)=n+m podría ser implementada mediante la transformación de la entrada anbam (es decir, se introducen a la TM los dos números enteros, m y n, separados por una b) en la salida an+mb.
(Cont...)
![Page 40: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/40.jpg)
40
La TM como computadora de funciones de enteros
Ej.- (Cont...) La siguiente TM implementa la suma de enteros (Ej0423.TM en JFlap) : Q={q1,q2, q3 , q4 , q5} ={a,b} ={a,b,b} F={q5} s=q1 (q1,a)=(q1,a,R) (q1,b)=(q2,a,R) (q2,a)=(q2,a,R) (q2,b)=(q3,b,L) (q3,a)=(q4,b,L) (q4,a)=(q4,a,L) (q4,b)=(q5,b,R)
![Page 41: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/41.jpg)
41
Construcción de TM
Es posible construir una TM más compleja a partir de TM sencillas.Podemos combinar dos TM permitiendo que compartan la misma cinta y, que cuando una termine su ejecución, la otra empiece.El contenido de la cinta al inicio de la ejecución de la segunda TM está formado por todo lo que dejó la primer TM, y la cabeza de r/w de la segunda se situará, al comienzo de la ejecución, sobre la celda de la cinta sobre la que terminó la primera.
![Page 42: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/42.jpg)
42
Ejemplo 1 de TM
Ej.- Sea la TM M1 dada por: Q={q1,q2, q3 , q4} ={a} ={a,b} F1={q4} s1=q1 (q1,a)=(q2,a,R) (q1,b)=(q2,b,R) (q2,a)=(q2,a,R) (q2,b)=(q3,b,L) (q3,b)=(q4,b,L) (q3,a)=(q4,a,R)
Esta máquina busca el primer blanco que haya a la derecha de donde ha comenzado y para.
![Page 43: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/43.jpg)
43
Ejemplo 2 de TM
Ej.- Sea la TM M2 dada por: Q={p1,p2} ={a} ={a,b} F2={p2} s2=p1 (p1,a)=(p2,a,R) (p1,b)=(p2,a,R)
Esta máquina escribe una a y para. La a se escribe independiente del contenido actual de la celda.
![Page 44: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/44.jpg)
44
Combinando Ejemplo 1 y Ejemplo 2 de TM
Al combinar M1 y M2 de tal forma que una computación de M1 vaya seguida de una computación de M2, obtenemos un dispositivo que primero busca hacia la derecha el primer blanco y después escribe una a en la celda.Representaremos la combinación de estas dos TM mediante M1M2 para indicar que la computación de M1 va seguida por la computación de M2.
![Page 45: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/45.jpg)
45
Combinación o composición de TM
Def.- Sean M1 y M2 dos TM sobre el mismo alfabeto de entrada y el mismo alfabeto de cinta , donde: M1=(Q1, , , s, b, F1,1) M2=(Q2, , , s, b, F2,2)
Se supone que Q1Q2=. La composición de las TM M1 y M2 es la TM=(Q,,,s,b,F,), que se denota M1M2, donde: (Cont ...)
![Page 46: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/46.jpg)
46
Combinación o composición de TM
Q=Q1Q2
s=s1
F=F2
q,), si qQ1 y 1(q,)(p,,x) pF1
2(q,), si qQ2
(s2,,X), si qQ1 y 1(q,)=(p,,x) pF1
(q,)=
![Page 47: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/47.jpg)
47
Transiciones combinando Ejemplo 1 y 2 de TM
Ej.- Combinando las TM M1 y M2 tendríamos: (q1,a)=(q2,a,R) (q1,b)=(q2,b,R) (q2,a)=(q2,a,R) (q2,b)=(q3,b,L) (q3,b)=(p1,b,L) (q3,a)=(p1,a,R) (p1,a)=(p2,a,R) (p1,b)=(p2,a,R)
Transiciones de M1 que no cambian
Transiciones de M1 que cambian y conectan a M2
Transiciones de M2 que no cambian
Con s=q1 y F={p2}
![Page 48: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/48.jpg)
48
La TM Rb
A la TM del Ejemplo 1 le llamaremos Rb: “Busca el primer blanco que haya a la derecha de la posición actual de la cabeza r/w”:Obviamente la máquina Rb Rb Rb : “Buscaría el tercer blanco que haya a la derecha de la posición actual de la cabeza de r/w”
![Page 49: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/49.jpg)
49
Tabla para Rb
(q,) ≠b =b
q1 (q2,,R) (q2,b,R)
q2 (q2,,R) (q3,b,L)
q3 (q4,,R) (q4,b,R)
![Page 50: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/50.jpg)
50
La TM Lb’
La TM Lb’ será aquella que: “Busca el primer símbolo que no sea blanco que haya a la izquierda de la posición actual de la cabeza r/w”:
![Page 51: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/51.jpg)
51
Tabla para Lb’
(q,) =b ≠b
q1 (q2, b, L) (q2, , L)
q2 (q2, b, L) (q3, , R)
q3 (q4, b, L) (q4, , L)
Con F={q4} y s=q1
![Page 52: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/52.jpg)
52
Combinando Rb y Lb’
Combinando Rb y Lb’ se tiene Rb
Lb’, donde la cabeza de r/w se sitúa sobre el símbolo de la cinta que precede b que hay a la derecha de la posición actual.
![Page 53: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/53.jpg)
53
La TM ‘a’
La TM a será aquella que: “Escriba en la salida un único símbolo a y que permanezca sobre dicha celda”.
![Page 54: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/54.jpg)
54
Tabla para ‘a’
(q,)
q1 (q2, a, R)
q2 (q3, , L)
Con F={q3} y s=q1
![Page 55: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/55.jpg)
55
La TM R
La TM R será aquella que: “Mueve la cabeza de r/w a la derecha. No hace cambios en los símbolos de la cinta”.
![Page 56: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/56.jpg)
56
Tabla para R, con dos estados finales diferentes
Con F={p2 y p3} y s=p1
(p,) =b ≠b
p1 (p2, b, R) (p3, , R)
![Page 57: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/57.jpg)
57
Combinando Lb’ y R con bifurcación
Combinando Lb’ y R se tiene Lb’ R. Suponga que se desea que esta máquina sea seguida por otra que escriba una a si la celda es un blanco o una b si la celda contiene una a. Una bifurcación.Esto se podría se representar mediante el siguiente diagrama.
![Page 58: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/58.jpg)
58
Combinando Lb’ y R con bifurcación
Lb’ R a
b
=b
=a
![Page 59: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/59.jpg)
59
TM que cambia ‘a’ en ‘b’ y visceversa
R b
a
=a
=b
![Page 60: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/60.jpg)
60
TM con múltiples transiciones y movimientos simples de la cabeza de
r/w
R Ra,b,b
R R
![Page 61: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/61.jpg)
61
TM con bifurcación
R b
=aa
Busca hacia la derecha la primer celda que contenga un símbolo que no sea a y escribe una
b en ese lugar.
![Page 62: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/62.jpg)
62
Desplazando una cadena sobre la cinta una celda a la
derecha
Supongamos que se requiere que la cadena a desplazar sea precedida y seguida por blancos.Por tanto, se desea transformar:
bwbEn
bbw
![Page 63: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/63.jpg)
63
Desplazando una cadena sobre la cinta una celda a la
derecha
L2 bRa
bRb
=a
=b
R
=b
RbR
![Page 64: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/64.jpg)
64
La misma máquina anterior: La TM SR
L2 bR≠b
R
=b
RbREl símbolo en bRsignifia que la máquina compuesta “recuerda” el símbolo que ha sido sobreescrito con el b.
Esta máquina de desplazamiento hacia la derecha se denotará SR.
![Page 65: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/65.jpg)
65
Reconociendo {wwI|w} con estados de aceptación y no
aceptación
bRbL Lb
b
=
b
=b
R bb b
=b
Para en un estado de aceptación Para en un estado
de no aceptación
Se empieza con bub y se espera descubrir que u=wwI. La cadena se acepta cuando todos los símbolos de u son eliminados
![Page 66: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/66.jpg)
66
Reconociendo {wwI|w} solamente con estados de aceptación
bRbL Lb
b
=
b
=b
R bb b
=b
Para en un estado de aceptación
Se empieza con bub y se espera descubrir que u=wwI. La cadena se acepta cuando todos los símbolos de u son eliminados. Sólo se tienen
estados de aceptación
![Page 67: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/67.jpg)
67
Tarea
Resolver del libro de texto: 4.3.2, 4.3.3, 4.3.5, 4.3.6, 4.3.8
![Page 68: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/68.jpg)
68
Modificaciones a la TM
Es posible efectuar modificaciones al diseño original de la TM.Muchas de estas modificaciones dan mayor flexibilidad a la TM original para resolver ciertos problemas en particular.Todos estos diseños alternativos tienen la misma potencia computacional que la TM original.
![Page 69: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/69.jpg)
69
TM sin movimiento de cabeza de r/w
Es posible que la función de transición original:
:QxQxx{R,L}se transforme a:
:QxQxx{R,L,S}Donde S significa “permanecer”, es decir, no mover la cabeza de r/w; para obtener una diseño de TM útil para ciertos problemas.
![Page 70: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/70.jpg)
70
Equivalencia con la TM original
Una transición (q,)=(p,’,S) se puede simular con la TM original de la siguiente manera:(q,)=(p’,’,R) y (p’,)=(p,,L) y/o
(q,)=(p’,’,L) y (p’,)=(p,,R) .
![Page 71: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/71.jpg)
71
Ejemplo de TM equivalentes con/sin estado de
“permanecer”
M1 se define con estado de “permanecer”:
(q,) ≠b =b
q1 (q2, , L) (q2, , L)
q2 (q2, , L) (q3, , S)
Con F={q3} y s=q1
![Page 72: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/72.jpg)
72
Ejemplo de TM equivalentes con/sin estado de
“permanecer”
M1 se define sin estado de “permanecer”. Es equivalente:
(q,) ≠b =b
q1 (q2, , L) (q2, , L)
q2 (q2, , L) (q4, , L)
q3 (q3, , R) (q3, b, R)
Con F={q3} y s=q1
![Page 73: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/73.jpg)
73
TM con múltiples pistas
Considere el siguiente tipo de cinta:
b b b
a a b
a a b
. . .. . .
![Page 74: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/74.jpg)
74
TM con múltiples pistas
Tiene cada celda dividida en tres subceldas. Cada celda de la cinta puede considerarse un n-tupla ordenada.En el ejemplo anterior las n-tuplas son: (b,a,a), (b,a,a) y (b,b,b).Por tanto, los movimientos de la máquina dependen del estado y la n-tupla actual.
![Page 75: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/75.jpg)
75
Equivalencia con la TM original
Si es un alfabeto de cinta, una TM que tiene una cinta de k pistas, cada una con alguno de los símbolos de , puede interpretarse como una TM cuyo alfabeto de cinta estuviera formado por todas las k-tuplas sobre .Por ejemplo, si la TM tiene 2 pistas, entonces el alfabeto de cinta es x.
![Page 76: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/76.jpg)
76
TM con múltiples pistas que suma dos números
La siguiente TM suma dos números binarios:
b 1 0 1 b
b 0 1 0 b
b b b b b
. . .. . .
Suma 101 y 010, deja el resultado en la tercer subcelda
![Page 77: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/77.jpg)
77
Función de transición de TM con múltiples pistas que suma dos
números
q1, R), si (b, b, b)
q2, L), si = (b, b, b)
(q1,)=
![Page 78: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/78.jpg)
78
Función de transición de TM con múltiples pistas que suma dos
números
(q2(0,0,b))=(q2,(0,0,0),L)
(q2(0,1,b))=(q2,(0,1,1),L)
(q2(1,0,b))=(q2,(1,0,1),L)
(q2(1,1,b))=(q3,(1,1,0),L)
(q2(b, b,b))=(q4,(b, b,0),S)
(q3(0,0,b))=(q2,(0,0,1),L)
(q3(0,1,b))=(q2,(0,1,0),L)
(q3(1,0,b))=(q2,(1,0,0),L)
(q3(1,1,b))=(q2,(1,1,1),L)
(q2(b, b,b))=(q4,(b, b,1),S)
![Page 79: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/79.jpg)
79
TM con múltiples pistas que suma dos números
La TM sumará los números binarios:
b b 1 0 1 b
b b 0 1 0 b
b 0 1 1 1 b
. . .. . .
Suma 101 y 010, deja el resultado en la tercer subcelda
Operando 1
Operando 2
Resultado
![Page 80: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/80.jpg)
80
Otras modificaciones
Algunas otras modificaciones que se pueden tener incluyen: TM con una cinta infinita en una sola
dirección. TM multicinta. TM multidimensional.
Cualquier computación que se pueda realizar por medio de las nuevas máquinas cae dentro de las categorías de “computable por una TM” y por tanto son mecánicamente computables.
![Page 81: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/81.jpg)
81
TM Universal
Def.- Es una TM que, a partir de una descripción adecuada de una TM M y una cadena de entrada w, simula el comportamiento de M sobre la cadena w.
![Page 82: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/82.jpg)
82
Descripción de la TM M
Su descripción será a partir del alfabeto finito {0,1}.La TM M deberá de tener un único estado de aceptación, por lo que de no ser así deberá de ser transformada para que desde todos los estados de aceptación que tenga exista una transición a este estado.
![Page 83: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/83.jpg)
83
Descripción de la TM M
Se supondrá que el conjunto de estados será Q={q1,q2,...,qn} donde q1 será el estado inicial y q2 el único estado final.
Se supondrá que el alfabeto de la pila será ={1,2,...,m} donde 1 será el blanco.Partiendo de estas suposiciones M estará definida a partir de su función de transición .
![Page 84: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/84.jpg)
84
Función de transición de la TM M
Para codificar la función de transición : Se representará q1 con un 1, q2 con 11 y
así sucesivamente. Igualmente se representará 1 con un 1,
i con i unos y así sucesivamente. El movimiento de la cabeza se
representará así: L con 1 y R con 11.
Usaremos los 0’s como separadores.
![Page 85: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/85.jpg)
85
Función de transición de la TM M
Una transición tal como:(q3,1)=(q4,3,L)
Se presentaría mediante la cadena:011101011110111010
Así, M tendrá una codificación representada por una cadena finita de 0’s y 1’s. Aún más, dada una codificación, es posible también su decodificación.
![Page 86: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/86.jpg)
86
Implementación de la TM Mu
La TM Mu se puede implementar como una TM de tres cintas cuyo alfabeto de entrada contenga 0’s y 1’s.La primer cinta contiene la codificación de M con su cabeza situada sobre el 0 inicial de la cadena de 0’s y 1’s.La segunda cinta contiene la codificación del contenido de la cinta de M con su cabeza sobre el 1 que pertenece a la codificación del símbolo actual.
![Page 87: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/87.jpg)
87
Implementación de la TM Mu
La tercer cinta se usa para guardar el estado actual de M, conteniendo la versión codificada del estado inicial q1 de M rodeado por blancos. La cabeza de r/w se sitúa sobre el primer 1 de la cadena codificada.
![Page 88: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/88.jpg)
88
Funcionamiento de la MU
Mu analiza las cintas segunda y tercera con el de la primer cinta hasta encontrar una transición o hasta agotar todas las posibilidades.Si no se encuentra una transición, Mu para como también lo haría M. En otro caso, Mu se comporta como lo haría M.Si M para con la cadena w, entonces Mu parará cuando tenga la codificación de M y w también.
![Page 89: Parte 4 Máquinas De Turing](https://reader036.vdocuments.co/reader036/viewer/2022081421/554925d8b4c9054c498bb76d/html5/thumbnails/89.jpg)
89
Funcionamiento de la MU
También la cadena final que quede en la segunda cinta de Mu será también la codificación que hubiera quedado en M.Al parar M, Mu puede moverse al único estado de aceptación o no.