Máquinas de Turing - John Martin
Máquinas de Turing - John Martin
Máquinas de Turing - John Martin
formala&
gtaarla _
-
~111 3ª edición
Me r
1 ,mci11
Graw
Hill
CAPITULO
Máquinas de Turing
L
320 PARTE IV Maquinas de Turlng Y sus lenguajes
La cinta sirve como dispositivo de entrada (la entrada es simplemente la cadena, que
se supone finita, de símbolos que no son el espacio en blanco, en la cinta original), memo-
ria disponible para uso en los cómputos y dispositivo de salida (la salida es la cadena de
símbolos que queda en la cinta al final del cómputo). La diferencia más significativa entre
esta máquina de Turing y otras más sencillas, estudiadas en capítulos previos, es que en
una máquina de Turing el procesamiento de una cadena ya no está restringido a un paso de
izquierda a derecha por la entrada. La cabeza de cinta puede moverse en ambas direccio-
nes, además de borrar o modificar cualquier símbolo con el que se tope. La máquina puede
examinar una parte de la entrada, modificarla, dedicar tiempo a ejecutar ciertos cálculos en
un área distinta de la cinta, regresar para examinar de nuevo la entrada, repetir cualquiera
de esas acciones y, quizás, interrumpir el procesamiento antes de que haya analizado toda
la entrada.
Por razones similares, es posible omitir una tarea que antes realizaban ciertos estados;
indicar una aceptación provisional de la cadena leída hasta ese m omento. En particular, es
posible arreglárselas con dos estados.finales o de detención , más allá de los cuales es inne-
cesario que continúe la computadora: un estado ha, que indica la aceptación, y otro h,, para
el rechazo. Si se pretende simplemente que la m áquina acepte O rechace la cadena de ~otra·
da, entonces puede moverse al estado de detención apropiado una vez que cuente con inf~r-
., fi . b0 a}gun
macion su 1c1ente para tomar una decisión. En el supuesto de que deba llevar a ca
otro cómputo, el estado de aceptación indica que el cómputo terminó normalmente, Yel
1
estado hr pued~ usarse para indicar una "caída", que resulta de alguna situación anorll1ª e:i
la que la máqu~na no_ puede ej~utar su tarea como se esperaba. Sea cual fuere el cas~Ófl•
c~mputo se detJ.ene s1 la máquma de Turing llega a cualquiera de los estados de detencO se
Sm embargo -y ~sto resul~ muy importante-- también es posible que el cómputo n.
detenga Y la máquma de Tunng continúe realizando movimientos interminables.
CAPITULO 9 MaQu1n8S d4l llk1ng
ta-1
(q, Xª-Y)
PARTE IV Maquinas de Tur lng Y sus lenguajes
322
Son tres las ~osibilidades cuando una máquina de Turing procesa una cadena de e~-
La máquma puede aceptarla, al entrar en el estado h · rechazarla de manera expll·
cita, s1 pasa
. , al estado.hr: o entrar en un ciclo
• mfinito,
. ª' que nunca se det1ene,
de modo • siDO
que contmua• en movmuento perpetuº· En cualquiera . de los .dos primeros casos, e1 bser·
O
•
vad or aprecia e1resultado y sabe si· se aceptó la cadena o no Sin embargo
· en e1tercer
·
caso, -pese a que· no se acepta la cadena, el observador · _, no se' muestra un
· no se· entera·
CAfllTULO • 1~ de IIWWIQ
Una máquina de Turing que acepta {a, bt{aba} {a, bt EJEMPLO 9.1
•dere el lenguaje:
cons1
L == {a, b)*{aba}{a, b)* = {x E {a , b}* 1x contiene la subcadena aba)
n lenguaje regular, de modo que es posible trazar un AF que reconozca a L, como en la figura
iesu
2a- No debe sorpren der que construir . una m áquma
. d e Tur'mg que acepte a L también
. sea senc1'JI o y,
~- hecho, sea posible hacerlo de modo que los diagramas de transición se parezcan mucho. La MT se
¡¡:straen Ja figura 9.2b . Los alfabetos de entrada y cinta son en ambos casos {a, b }. El estado inicial
corresponde en realidad a un estado del AF, ya que la MT no considera ninguna cadena hasta que
0
:ueve su cabeza más allá del espacio en blanco inicial.
La figura 9.2b muestra de manera explícita las transiciones que llevan al estado de rechazo h,,
punto en el cual aparece un espacio en blanco (a la derecha de la entrada) antes de la cadena aba. En
la figura 9.2c, se ilustra un diagrama simplificado, incluso más similar al diagrama de transición del
AF, donde se omiten esas transiciones. Suele ser conveniente simplificar los diagramas de esta ma-
nera; siempre que se hace, el diagrama se interpreta como el paso al estado h, para cada combinación
de estado y símbolo de cinta respecto de la cual no se muestre explícitamente un movimiento. Lo que
Ja MT hace con la cabeza de cinta en un movimiento final de este tipo es, en lo fundamental, arbitra-
a) b)
blb, R ala,R
blb, R
blb, R
e)
F
U..,_l,21
DAF
y una MT que aceptan a {a , b)*{aba}{a, b)*.
324 PARTE IV Maqu inas de Turl ng y sus lenguajes
b a
a
a)
blb,R a/a, R
a/a,R
Mll,R
b)
Figura 9.31
UnAFy unaMT que aceptan a {a, b}*{aba}.
rio, ya que ha terminado el cómputo; bien podría suponerse en general que la cabeza de cinta se
mueve a la derecha, como en la figura 9.2b. (Más adelante se analiza la combinación de dos o más
MT, de modo que la segunda empieza donde la primera se detiene. En tal caso, lo que la primera
máquina hace en su último movimiento no es arbitrario; pero se permite que esa MT compuesta lleve
a cabo el cómputo de dos fases sólo si la primera se detiene de manera normal en el estado de
acep~ión ha.)
Puesto que se trata de un lenguaje regul¡µ-, la MT de las figuras 9.2a y b puede procesar cadenas de
entrada de la manera en que se ve forzado a ha<;:erlo un autómata finito, a saber, con el desplazamiento
de la cabeza de cinta a la derecha en cadayaso, sin que nunca modifique los símbolos de la cinta Una
MT que simule de este modo a un AF puede aceptar cualquier lenguaje regular. Como cabría esperar,
este tipo de procesamiento es insuficiente para reconocer un lenguaje no regular.
Observe también que, tan pronto la MT descubre la presencia de aba en la cinta, pasa al estado
ha si, con ello, acepta la cadena de entrada completa, pese a que podría no haberla leído en su
totalidad. Por supuesto, algunas MT deben leer toda la entrada, incluso si los lenguajes que aceptan
son regulares. Por ejemplo, en relación con:
A fin de que aprecie un poco más el poder de las máquinas de Turing a continuación se constrUYe una
~T que acepta _al. l~nguaje pal de palíndromos en {a, b}. Más adeiante, en este mismo capí~Io,:
mtroduce la po~1b1lidad de no determinismo en una MT, lo cual permitiría construir una máqt1103 q
CAPITULO t M8QU1nas de Tl#ing
dón e .
basta ueden usarse los cuadrados con espacio en blanco como marcadores en los extremos. Des-
una tvff,p arcadores hacia el centro corresponde a borrar (es decir, cambiar a espacio en blanco) los
01
plaza! !os recién comprobados. La cabeza de cinta oscila de manera repetida en su comparación del
,:.,,t,o!os . .
""" d un extremo de la cadena remanente sm espacios en blanco con el símbolo del otro extremo.
ÍJJlt,oo1 e .
s . grama de transición se muestra en la figura 9.4. De nuevo, el alfabeto de cinta es {a, b), el mismo
El dial alfabeto de entrada. La máquina toma el trayecto superior cada vez que se topa con una a al
que e intenta localizar una a correspondiente al final.
eo!lllenzo
En caso de encontrarse con una b en el estado q3, de modo que no puede establecer correspon-
. la a del comienzo, entra en el estado de rechazo h,. (Al igual que en la figura 9.2c, no se
denc1a c00 .
esta transición.) De manera semeJante, ocurre el rechazo del estado q6 s1. no puede 1ocal'izar
muestra
una b al principio.
Se rastrean los movimientos que hace la máquina para tres tipos diferentes de cadena de entra-
da, a saber, no palíndromos,
palíndromo de longitud par y palíndromo de longitud non:
a/a,R
blb,R
M!:i,R
(palíndromo non)
M!:i,L
qz
a/1:i,R
M!:i, R
b/1:i,R
q5
a/a,R
blb,R
M!:i,R
(palíndromo par)
Fiturat.41
Una MT que acepta palíndromos en {a, b ).
328 PARTE IV Maquinas de Turlng y sus lenguajes
111111
CAPITULO e Maq\Jltla'S de lUflng
Sl7
A/A , R
BIB,R
ala,R ala, L
blb, R blb, L
l!,./t,., L
A/A,L
BIB,L
q2
A/A,L Mt,.,S
BIB,L
Ala,L q5
Blb,L
l!,./t,.,R
Mt,.,S
b/B,R a/A,R
B/t,.,L A/t,.,L
t,./t,.,L
ala,L
blb,L
Figura 9.& 1
Una máquina de Turing que acepta a {ss I s E {a, b}*}.
(qo,á_abab) 1-• . . .
(lo mismo que en el caso previo, hasta el 3ero (movimiento final)
1- (q6, AAQAB) 1- (q 7 , LlABLlB) 1- (q1, LlABLlfl)
1- (q9 , AABá) 1- (q 9, LlAfl) 1- (q6, l!..ABá)
1- (h a, óABá) (aceptación)