Está en la página 1de 27

Captulo 6

Maquinas de Turing
En este captulo se presenta la Maquina de Turing (MT) que es el modelo
de automata con maxima capacidad computacional: la unidad de control
puede desplazarse a izquierda o a derecha y sobre-escribir smbolos en la
cinta de entrada.
6.1. Maquinas de Turing como aceptadoras de
lenguajes
Una maquina de Turing (MT), M = (Q, q
0
, F, , , b, ), consta de siete
componentes:
1. Q es el conjunto (nito) de estados.
2. q
0
Q es el estado inicial.
3. F es el conjunto de estados nales o de aceptacion, = F Q.
4. es el alfabeto de entrada.
5. es el alfabeto de cinta, que incluye a , es decir, .
6. b es el smbolo blanco (el smbolo b no puede hacer parte del
alfabeto de entrada ).
7. es la funcion de transicion de la maquina:
: Q Q {, }
1
2 CAP

ITULO 6. M

AQUINAS DE TURING
es una funci on parcial, es decir, puede no estar denida en algunos
elementos del dominio. La echa denota desplazamiento a izquierda
mientras que denota desplazamiento a la derecha. La transicion
(q, a) = (p, b, D)
signica: estando en el estado q, escaneando el smbolo a, la unidad
de control borra a, escribe b y se mueve en el estado p, ya sea a la
izquierda (si el desplazamiento D es ) o a la derecha (si D es ).
Una maquina de Turing M procesa cadenas de entrada w

colocadas
sobre una cinta innita en ambas direcciones. Para procesar una cadena de
entrada w, la unidad de control de M esta en el estado inicial q
0
escaneando
el primer smbolo de w. Las demas celdas o casillas de la cinta contienen el
smbolo blanco b.
Descripci on o conguraci on instantanea. Es una expresion de la forma
a
1
a
2
a
i1
qa
i
a
n
donde los smbolos a
1
, . . . , a
n
pertenecen al alfabeto de cinta y q Q.
Esta expresion representa el estatus actual del computo:
a
1
a
2
a
i1
a
i
a
n
q
Es decir, la descripcion instantanea a
1
a
2
a
i1
qa
i
a
n
indica que la uni-
dad de control de M esta en el estado q escaneando el smbolo a
i
. Se supone
que las casillas en las que no aparecen aes contienen el smbolo blanco, b.
Ejemplos concretos de descripciones instantaneas son:
aabq
2
baaa
q
5
ababba
abbbaabq
0
bba
La conguracion o descripcion instantanea inicial, o simplemente congu-
raci on inicial, es
q
0
w
6.1. M

AQUINAS DE TURING COMO ACEPTADORAS DE LENGUAJES 3


siendo w la cadena de entrada, la cual se coloca en cualquier parte de la
cinta de entrada.
Paso computacional. El paso de una descripcion instantanea a otra, por
medio de una transicion denida por , se denomina un paso computacional
y se denota por
u
1
qu
2
v
1
pv
2
.
Aqu u
1
, u
2
, v
1
, v
2

y p, q Q. Un ejemplo concreto es
abbaq
2
ba abbq
1
aca
en la cual la maquina utilizo la transicion (q
2
, b) = (q
1
, c, ).
La notacion
u
1
qu
2

v
1
pv
2
signica que M puede pasar de la descripcion instantanea u
1
qu
2
a la des-
cripcion instantanea v
1
pv
2
en cero, uno o mas pasos computacionales.
C omputos especiales. Durante el computo o procesamiento de una ca-
dena de entrada hay dos situaciones especiales que se pueden presentar:
1. El computo termina porque en determinado momento no hay transi-
cion denida.
2. El computo no termina; esto es lo que se denomina un bucle innito.
Esta situacion se representa con la notacion
u
1
qu
2


la cual indica que el computo que se inicia en la descripcion ins-
tantanea u
1
qu
2
no se detiene nunca.
Un detalle para tener en cuenta es que las transiciones con smbolo b,
(q, b) = (p, s, D), no son las mismas transiciones usadas para automa-
tas en captulos anteriores. Una transicion en un automata tiene lugar
independientemente del smbolo ledo y la unidad de control permanece
estacionaria, mientras que una transicion (q, b) = (p, s, D) en una MT re-
quiere que el smbolo blanco b este escrito en la casilla escaneada; ademas,
la unidad de control sobre-escribe el blanco y realiza un desplazamiento D.
Lenguaje aceptado por una MT. Una cadena de entrada w es aceptada
por una MT M si el computo que se inicia en la conguracion inicial q
0
w
4 CAP

ITULO 6. M

AQUINAS DE TURING
termina en una conguracion instantanea w
1
pw
2
, p estado de aceptacion,
en la cual M se detiene completamente. El lenguaje L(M) aceptado por
una MT M se dene entonces como
L(M) := {w

: q
0
w

w
1
pw
2
, p F, w
1
, w
2

, M se detiene
en la congiguracion w
1
pw
2
}.
La nocion de aceptacion para maquinas de Turing es mas exible que para
automatas: una cadena de entrada no tiene que ser leda en su totalidad
para que sea aceptada; solo se requiere que la maquina se detenga comple-
tamente, en un momento determinado, en un estado de aceptacion.
Para simplicar los argumentos sobre maquinas de Turing, en el modelo
est andar se supone que la unidad de control siempre se detiene al ingresar
a en un estado de aceptaci on. Es decir, no se permiten transiciones (q, a)
cuando q F.
Las maquinas de Turing originan las siguientes clases de lenguajes:
1. L es un lenguaje recursivamente enumerable (RE) si existe una MT
M tal que L(M) = L.
2. L es un lenguaje recursivo si existe una MT M tal que L(M) = L y
M se detiene con todas las cadenas de entrada.
Las denominaciones lenguaje recursivamente enumerable y lenguaje re-
cursivo pueden parecer un tanto extra nas; esta terminologa es anterior a
la aparicion de las maquinas de Turing y se ha mantenido vigente hasta el
presente. En el Teorema 6.6.3 se justicara la denominacion recursivamen-
te enumerable (RE) al establecerse que para todo lenguaje RE se puede
construir una MT que enumere secuencialmente sus cadenas.
Obviamente, todo lenguaje recursivo es recursivamente enumerable, pero
la armacion recproca no es (en general) valida, como se demostrara en la
seccion 7.5.
Diagrama de estados o diagrama de ujo de una MT. La funcion de
transicion de una MT se puede presentar como un diagrama de estados
o diagrama de ujo. As, la transicion (q, a) = (p, b, ) se representa por
q p
a|b
6.1. M

AQUINAS DE TURING COMO ACEPTADORAS DE LENGUAJES 5


Unidad de control estacionaria. Para simplicar la descripcion del mo-
delo estandar, se ha exigido que la unidad de control se desplace hacia
la izquierda o hacia la derecha en cada transicion. No obstante, se puede
permitir que la unidad de control no se mueva en un determinado paso
computacional, es decir, que no realice ning un desplazamiento. Este tipo
de transicion lo escribimos en la forma:
(q, a) = (p, b, )
donde a, b ; p, q Q y signica que la unidad de control no se
mueve. Tal transicion se puede simular por medio de un movimiento a la
derecha seguido de un retorno a la izquierda. As, para simular la transicion
(q, a) = (p, b, ) utilizamos un estado auxiliar nuevo q

y las transiciones:
(q, a) = (q

, b, ),
(q

, s) = (p, s, ), para todo smbolo s .


La directriz de no-desplazamiento tambien se puede simular con un movi-
miento a la izquierda seguido de un retorno a la derecha. En cualquier
caso, concluimos que las MT en las que hay transiciones estacionarias,
(q, a) = (p, b, ), aparte de las transiciones normales, aceptan los mismos
lenguajes que las MT estandares. Notese que las transiciones estacionarias
se asemejan a las transiciones en automatas, excepto por el hecho de que
las maquinas de Turing tienen la capacidad de sobre-escribir los smbolos
escaneados.

Ejemplo
La siguiente MT acepta el lenguaje de las cadenas con un
n umero par de ceros sobre el alfabeto {0, 1}.
>
q
0
q
1
q
2
0|0
0|0
b|b
1|1
1|1

Ejemplo
En este ejemplo se construye una MT M que acepta el lenguaje
L = {a
i
b
i
c
i
: i 0} y que se detiene al procesar todas las
entradas. Por consiguiente, L es un lenguaje recursivo aunque no es LIC,
6 CAP

ITULO 6. M

AQUINAS DE TURING
como se demostro en la seccion 4.11; es decir, L no puede ser aceptado por
ning un automata con pila.
Sea M la MT con parametros
= {a, b, c},
= {a, b, c, X, Y, Z, b},
Q = {q
0
, q
1
, q
2
, q
3
, q
4
, q
5
},
F = {q
5
},
y cuya funcion de transicion esta representada por el siguiente diagrama:
>
q
0
q
1
q
2
q
3
q
5
q
4
a|X
b|Y c|Z
X|X
b
|
b

b|b
Y |Y
Y |Y
Z|Z
b|b
Z|Z
a|a
Y |Y
a|a
b|b
Y |Y
Z|Z
La idea utilizada para el dise no de esta MT se puede describir as: la uni-
dad de control cambia la primera a por X y se mueve a la derecha hasta
encontrar la primera b, la cual se sobre-escribe por una Y . Luego se mueve
hacia la derecha hasta encontrar la primera c, la cual se cambia por Z. El
control retrocede entonces hacia la izquierda en busca de la primera X que
encuentre en su camino; este retorno se hace en el estado q
3
. La maquina
avanza luego hacia la derecha, hasta la primera a que quede en la cinta, y
todo el proceso anterior se repite. Si la cadena de entrada tiene la forma
requerida, todas las aes seran reemplazadas por Xs, las bes por Y s y las
ces por Zs. Una vez terminada la transformacion, el control se mueve hacia
la derecha, en el estado q
4
, hasta encontrar la primera celda marcada con
el smbolo blanco b. La MT esta dise nada de tal forma que si la cadena
6.1. M

AQUINAS DE TURING COMO ACEPTADORAS DE LENGUAJES 7


de entrada no tiene la forma requerida, el procesamiento terminara en un
estado diferente del estado de aceptacion q
5
.
A continuacion procesamos la cadena de entrada w = aabbcc L.
q
0
aabbcc Xq
1
abbcc Xaq
1
bbcc XaY q
2
bcc XaY bq
2
cc XaY bq
3
bZc

q
3
XaY bZc Xq
0
aY bZc XXq
1
Y bZc XXY q
1
bZc
XXY Y q
2
Zc XXY Zq
2
c XXY q
3
ZZ

Xq
3
XY ZZ
XXq
0
Y Y ZZ XXY q
4
Y ZZ

XXY Y ZZq
4
b
XXY Y ZZbq
5
b.
La cadena de entrada w = aaabbcc, que no esta en L, se procesa as:
q
0
aaabbcc Xq
1
aabbcc Xaaq
1
bbcc XaaY q
2
bcc XaaY bq
2
cc
XaaY bq
3
bZc

q
3
XaaY bZc Xq
0
aaY bZc XXaq
1
Y bZc
XXaY q
1
bZc XXaY Y q
2
Zc XXaY Zq
2
c XXaY q
3
ZZ

Xq
3
XaY ZZ XXq
0
aY Y ZZ XXXq
1
Y Y ZZ

XXXY Y q
1
ZZ (computo abortado).
Por otro lado, la cadena abbbcc, que tampoco esta en L, se procesara as:
q
0
abbcc Xq
1
bbcc XY q
2
bcc XY bq
2
cc XY q
3
bZc

q
3
XY bZc
Xq
0
Y bZc XY q
4
bZc (computo abortado).

Ejercicios de la secci on 6.1


Dise nar MT que acepten los siguientes lenguajes sobre el alfabeto dado.
Escribir explcitamente la idea utilizada en el dise no de la maquina y hacer
su diagrama de estados.
1. L = {a
2i
b
i
: i 1}. Alfabeto: = {a, b}.
2. L = {a
i
b
2i
: i 1}. Alfabeto: = {a, b}.
3. L = {a
i
b
j
a
i+j
: i 0, j 1}. Alfabeto: = {a, b}.
4. L = {w

: w tiene el mismo n umero de ceros que de unos}. Al-


fabeto: = {0, 1}.
5. L = {w

: w = w
R
}. Alfabeto: = {0, 1}.
6. L = {ww
R
: w

}. Alfabeto: = {0, 1}.


8 CAP

ITULO 6. M

AQUINAS DE TURING
6.2. Subrutinas o macros
Hay procedimientos intermedios, como copiar o trasladar cadenas, que se
repiten frecuentemente en el dise no de maquinas de Turing. Es util identi-
car algunos de estos procedimientos, llamados subrutinas o macros, para
simplicar el dise no de maquinas mas complejas. Los macros se pueden
considerar como maquinas de Turing con estado inicial pero sin estados de
aceptacion.

Ejemplo
Macro TI, traslacion a la izquierda. Este macro toma una cadena
de entrada y la traslada una casilla hacia la izquierda. Si la
entrada es la cadena a
1
a
2
a
k
, la accion de TI se puede representar en la
forma
Entrada: b a
1
a
k1
a
k
b

Salida: a
1
a
2
a
k
b b
La echa indica que las casillas se naladas sobre la cinta coinciden. Los
smbolos subrayados en las dos cintas representan los smbolos ledos por
la unidad de control al iniciar y al terminar el macro, respectivamente.
La MT que aparece a continuacion sirve para implementar el macro TI
cuando el alfabeto de entrada es {a, b, c}:
>
q
0
q
1
q
a
q
b
q
c
b|b b|b
a|b b|a
c|b b|c
b|b
A continuacion denimos algunos otros macros utiles; se solicita al lector
dise nar MT que los implementen.
6.2. SUBRUTINAS O MACROS 9
Macro TD, traslacion a la derecha. Traslada la cadena de entrada una casilla
a la derecha:
Entrada: ba
1
a
2
a
k
b

Salida: b b a
1
a
k1
a
k
Macro BI, primer blanco a la izquierda. Busca el primer smbolo b a la iz-
quierda de una cadena w que no posee blancos:
Entrada: bwb

Salida: bwb
Macro BD, primer blanco a la derecha. Busca el primer smbolo b a la derecha
de una cadena w que no posee blancos:
Entrada: bwb

Salida: bwb
Macro NBI, primer smbolo no-blanco a la izquierda. Busca el primer smbolo
diferente de b a la izquierda de una cadena de blancos:
Entrada: abb bb

Salida: abb bb
Macro NBD, primer smbolo no-blanco a la derecha. Busca el primer smbolo
diferente de b a la derecha de una cadena de blancos:
Entrada: bb bba

Salida: bb bba
Macro COPD, copia a la derecha. Copia la cadena w a la derecha de si misma,
separando las dos w por un blanco b. La cadena w no posee blancos:
Entrada: bwb b

Salida: bwb w b
Macro COPI, copia a la izquierda. Copia la cadena w a la izquierda de si
misma, separando las dos w por un blanco b. La cadena w que no posee
10 CAP

ITULO 6. M

AQUINAS DE TURING
blancos:
Entrada: b bwb

Salida: b w bwb
Macro INT, intercambio. Intercambia las cadenas u y v (estas cadenas no
poseen blancos y no necesariamente son de la misma longitud):
Entrada: bubvb

Salida: bvbub

Ejercicios de la secci on 6.2


1. Dise nar MT que implementen los macros TD, BI, BD, NBI, NBD,
COPD, COPI e INT cuando el alfabeto de entrada es {a, b}.
2. Dise nar MT que implementen los macros TD, BI, BD, NBI, NBD,
COPD, COPI e INT cuando el alfabeto de entrada es {0, 1, 2}.
3. Sea = {a, b}. Dise nar MT para los siguientes macros:
(i) TI
2
. Traslada la cadena de entrada 2 casillas a la izquierda.
(ii) TD
2
. Traslada la cadena de entrada 2 casillas a la derecha.
(iii) TI
k
. Traslada la cadena de entrada k casillas a la izquierda (k
es un entero jo 1).
(iv) TD
k
. Traslada la cadena de entrada k casillas a la derecha (k es
un entero jo 1).
6.3. Maquinas de Turing como generadoras de
lenguajes
Otra faceta importante de las MT es su capacidad para generar lenguajes,
tarea para la cual no son necesarios los estados de aceptacion. Concreta-
mente, una MT M = (Q, q
0
, , , b, ) genera el lenguaje L

si
1. M comienza a operar con la cinta en blanco en el estado inicial q
0
.
2. Cada vez que M retorna al estado inicial q
0
, hay una cadena u per-
teneciente al lenguaje L escrita sobre la cinta.
3. Todas las cadenas de L son, eventualmente, generadas por M.
6.3. M

AQUINAS DE TURING COMO GENERADORAS DE LENGUAJES 11

Ejemplo
La siguiente MT genera cadenas con un n umero par de aes
sobre el alfabeto = {a}, o sea, el lenguaje L = {a
2i
: i 1}.
>
q
0
q
1
b|a
b|a

Ejemplo
La siguiente MT genera todas cadenas de ceros y unos en el
orden lexicograco (las cadenas se ordenan por longitud y las
cadenas de la misma longitud se ordenan ortogracamente de izquierda a
derecha, considerando 0 < 1): 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100,
101, 110, 111, 0000, 0001, . . . .
>
q
0
q
1
q
2
q
3
0|1
b|b
b|0
b|b
b|b
0|0
1|1
0|0
1|1
0|0
1|0

Ejercicios de la secci on 6.3


1. Dise nar MT que generen los siguientes lenguajes:
(i) L = {a
i
b
i
: i 1}. (iii) L = {a
i
b
i
c
i
: i 1}.
(ii) L = {a
i
cb
i
: i 1}. (iv) L = {0
i
1
j
0
i+j
: i, j 1}.
2. Modicar la MT del ultimo ejemplo de esta seccion para dise nar una
MT que genere todas las cadenas de {a, b, c}

en orden lexicograco.
Ayuda: no se necesitan mas estados.
3. Sea un alfabeto de n smbolos, = {a
1
, a
2
, . . . , a
n
}. Modicar
la MT del ultimo ejemplo de esta seccion para dise nar una MT que
genere

en orden lexicograco. Ayuda: no se necesitan mas estados.


12 CAP

ITULO 6. M

AQUINAS DE TURING
6.4. Variaciones del modelo estandar de MT
El modelo estandar de MT es susceptible de varias modicaciones que no
alteran la clase de lenguajes aceptados. Las variaciones que estudiaremos
a naden recursos computacionales a las maquinas, individualmente consi-
deradas, pero la capacidad de computo no se incrementa en general: los
modelos son equivalentes al modelo estandar. Indicaremos como se pueden
simular los nuevos modelos por medio maquinas estandares.
Recuerdese que en el modelo estandar, una MT siempre se detiene cuan-
do la unidad de control ingresa en un estado de aceptacion. Es decir, no se
permiten transiciones (q, a) cuando q F.
6.4.1. Estado de aceptacion unico
Toda MT se puede convertir, sin alterar el lenguaje aceptado, en una maqui-
na con un unico estado de aceptacion. Esto se consigue facilmente a nadien-
do transiciones desde los estados de aceptacion originales hasta el unico
estado de aceptacion q
f
, el cual es un estado nuevo. Las transiciones nece-
sarias son de la forma:
(q, a) = (q
f
, a, ),
para todo q estado de aceptacion original y todo a . De esta manera,
se puede considerar que toda MT tiene un unico estado inicial y un unico
estado de aceptacion. Este es un hecho importante para la codicacion
binaria de maquinas de Turing (seccion 7.1).
6.4.2. Maquina de Turing con cinta dividida en pistas
En el modelo multi-pista, la cinta esta dividida en un n umero nito k de
pistas, como se muestra en la siguiente gura:
q

Pista 1

Pista 2

Pista k
a
1
a
2
a
k

.
.
.
.
.
.
.
.
.
.
.
.
La funcion de transicion adquiere la siguiente forma:
(q, (a
1
, a
2
, a
3
, . . . , a
k
)) = (p, (b
1
, b
2
, b
3
, . . . , b
k
), D)
6.4. VARIACIONES DEL MODELO EST

ANDAR DE MT 13
donde los a
i
y los b
i
son smbolos del alfabeto de cinta y D es , o .
En un paso computacional, la unidad de control cambia simultaneamente
el contenido de las k pistas de la celda escaneada y realiza luego uno de los
desplazamientos , o .
Simulaci on. Las maquinas de Turing que act uan sobre una cinta dividida
en k pistas aceptan los mismos lenguajes que las MT estandares. Para
concluir tal armacion, basta considerar el modelo multi-pistas como una
MT normal en la que el alfabeto de cinta esta formado por el conjunto de
k-uplas (s
1
, s
2
, . . . , s
k
), donde los s
i
. Es decir, el nuevo alfabeto de cinta
es el producto cartesiano
k
= (k veces).

Ejemplo
Las pistas se usan por lo general para se nalar con marcas o
marcadores ciertas posiciones en la cinta. La MT dise nada
en el ejemplo de la seccion 6.1 para aceptar el lenguaje L = {a
i
b
i
c
i
: i 1}
utiliza implcitamente la idea de marcadores: reemplazar las as por Xs,
las bes por Y s y las ces por Zs no es otra cosa que colocar las marcas X,
Y y Z en las posiciones deseadas. Estas marcas se pueden colocar en una
pista diferente, sin necesidad de sobre-escribir los smbolos de la cadena de
entrada.
6.4.3. Maquina de Turing con m ultiples cintas
En el modelo multi-cintas hay k cintas diferentes, cada una dividida en
celdas o casillas, como se muestra en la gura que aparece en la parte
superior de la pagina siguiente.
Inicialmente, la cadena de entrada se coloca en la primera cinta y las
demas cintas estan llenas de blancos. En un paso computacional, la uni-
dad de control cambia el contenido de la casilla escaneada en cada cinta y
realiza luego uno de los desplazamientos , o . Esto se hace de ma-
nera independiente en cada cinta; el control tiene entonces k visores que
act uan independientemente en cada cinta. La funcion de transicion tiene la
siguiente forma:
(q, (a
1
, a
2
, a
3
, . . . , a
k
)) =
_
p, (b
1
, D
1
), (b
2
, D
2
), (b
3
, D
3
), . . . , (b
k
, D
k
)
_
,
donde los a
i
y los b
i
son smbolos del alfabeto de cinta , y cada D
i
es un
desplazamiento , o .
Simulaci on. A pesar de que el modelo multi-cinta parece, a primera vista,
mas poderoso que el modelo estandar, resulta que una MT con m ultiples
cintas se puede simular con una MT multi-pista. A continuaci on bosqueja-
remos el procedimiento de simulacion.
14 CAP

ITULO 6. M

AQUINAS DE TURING

a
1

a
2

a
k
q
.
.
.

Cinta 1
Cinta 2
Cinta k
.
.
.
Una MT con k cintas se simula con una MT que act ua sobre una unica
cinta dividida en 2k + 1 pistas. Cada cinta de la maquina multi-cinta da
lugar a 2 pistas en la maquina simuladora: la pista superior simula la cinta
propiamente dicha y la inferior tiene todas sus celdas en blanco, excepto
una, marcada con un smbolo especial X, que indica la posicion actual del
visor de la maquina original en dicha cinta. La pista adicional de la maquina
simuladora se utiliza para marcar, con un smbolo especial Y , las posiciones
mas a la izquierda y mas a la derecha de la unidad de control en la maqui-
na original. Para simular un solo paso computacional, la nueva maquina
requiere hacer m ultiples recorridos a izquierda y a derecha, actualizando el
contenido de las pistas y la posicion de los marcadores X y Y .

Ejemplo
Dise nar una MT con dos cintas que acepte el lenguaje L =
{a
i
b
i
c
i
: i 0}.
Solucion: Una MT con dos cintas es mas facil de dise nar que la MT estandar
presentada en el segundo ejemplo de la seccion 6.1. La idea es copiar en la
segunda cinta una X por cada a leda y, al aparecer las bes, avanzar hacia la
derecha en la primera cinta y hacia la izquierda en la segunda. Al aparecer
las ces se avanza hacia la derecha en ambas cintas. Si la cadena de entrada
tiene la forma a
i
b
i
c
i
, se detectara simultaneamente el smbolo en blanco b
en ambas cintas.
6.4. VARIACIONES DEL MODELO EST

ANDAR DE MT 15
La funcion de transicion requerida para implementar esta idea es:
(q
0
, (a, b)) = (q
1
, (a, ), (X, )),
(q
1
, (a, b)) = (q
1
, (a, ), (X, )),
(q
1
, (b, b)) = (q
2
, (b, ), ( b, )),
(q
2
, (b, X)) = (q
2
, (b, ), (X, )),
(q
2
, (c, b)) = (q
3
, (c, ), ( b, )),
(q
3
, (c, X)) = (q
3
, (c, ), (X, )),
(q
3
, ( b, b)) = (q
4
, ( b, ), ( b, )),
(q
0
, ( b, b)) = (q
4
, ( b, ), ( b, )).
Se han utilizado cuatro estados, siendo q
4
el unico estado de aceptacion.
6.4.4. Maquinas de Turing no-deterministas (MTN)
En el modelo no-determinista se permite que, en un paso computacional, la
unidad de control escoja aleatoriamente entre varias transiciones posibles.
La funcion tiene la siguiente forma:
(q, a) = {(p
1
, b
1
, D
1
), (p
2
, b
2
, D
2
), . . . , (p
k
, b
k
, D
k
)}
donde los a
i
y los b
i
son smbolos del alfabeto de cinta , los p
i
son estados
y cada D
i
es un desplazamiento , o .
La nocion de aceptacion en una MTN es similar a la de los modelos no-
deterministas de automatas considerados antes: una cadena de entrada w
es aceptada si existe por lo menos un c omputo a partir de la conguracion
inicial q
0
w, y que termina en la conguracion u
1
pu
2
, con p F. Como
antes, los computos en los cuales la maquina se detiene en un estado de no
aceptacion, o en los cuales no se detiene, son irrelevantes para la aceptacion.
Simulaci on. Una MTN no tiene mayor poder computacional que una MT
estandar, es decir, una MTN se puede simular con una MT, como lo expli-
caremos a continuacion. Sea M una MTN; se bosquejara la construccion
de una MT M

tal que L(M) = L(M

).
Sea n el n umero maximo de transiciones en los conjuntos (q, a), con-
siderando todo smbolo a y todo estado q Q. Para cada a y
q Q, las transiciones contenidas en (q, a) se pueden enumerar entre 1 y
n. Si hay menos de n transiciones en un (q, a) particular, se repite arbitra-
riamente una de de ellas hasta completar n. De esta manera, cada una de
16 CAP

ITULO 6. M

AQUINAS DE TURING
las transiciones (q, a) se puede considerar como un conjunto de n opciones
indexadas:
(q, a) =
_
(p
1
, b
1
, D
1
)
. .
1
, (p
2
, b
2
, D
2
)
. .
2
, . . . , (p
k
, b
k
, D
k
)
. .
n
_
ndice
En algunos (q, a) habra opciones repetidas, pero esta repeticion no altera
el lenguaje aceptado.
La MT M

que simulara a M tendra tres cintas. La primera cinta alma-


cena la entrada, la segunda genera de forma sistematica todas las secuencias
nitas de n umeros entre 1 y n: primero las secuencias de longitud 1, luego
las secuencias de longitud 2, luego las de longitud 3 y as sucesivamente
(para esto se puede usar una subrutina como la construida en el ejercicio 3
de la seccion 6.3).
Para cada secuencia i
1
i
2
i
k
generada en la cinta 2, M

copia la cadena
de entrada sobre la cinta 3 y simula la computacion de k pasos que hace
sobre ella la maquina original M, utilizando en el paso j la opcion con
ndice j en el (q, a) correspondiente. Si M

se detiene en un estado de
aceptacion, entonces tanto M como M

aceptan la entrada. Si el computo


simulado no termina en la aceptacion, M

borra el contenido de las cintas


2 y 3, genera otra secuencia en la cinta 2, copia de nuevo la entrada en la
cinta 3 e inicia una nueva simulacion.
Si la entrada es aceptada por la maquina original M, existira un computo
que se detiene en un estado de aceptacion y, eventualmente, M

encontrara y
simulara tal computo.

Ejercicios de la secci on 6.4


1. Dise nar maquinas de Turing multi-pistas que acepten los siguientes
lenguajes. Escribir explcitamente la idea utilizada en el dise no.
(i) L = {a
i
b
i
c
i
: i 0}.
(ii) L = {a
i
b
2i
a
i
: i 0}.
2. Dise nar maquinas de Turing multi-cintas que acepten los siguientes
lenguajes. Escribir explcitamente la idea utilizada en el dise no.
(i) L = {a
i
b
j
a
i
b
j
: i, j 0}.
(ii) L = {a
i
b
2i
c
3i
: i 0}.
6.5. SIMULACI

ON DE AUT

OMATAS POR MEDIO DE M

AQUINAS DE TURING 17
6.5. Simulacion de automatas por medio de
maquinas de Turing
En esta seccion veremos que los automatas simples (AFD, AFN o AFN-)
y los automatas con pila (AFPD o AFPN) se pueden simular con maquinas
de Turing: dado un automata M se puede construir una MT que acepte
el mismo lenguaje que M. Usando estas simulaciones se podra concluir
que tanto los lenguajes regulares como los independientes del contexto son
recursivos.
6.5.1. Simulacion de automatas
Un automata (sin pila) se puede simular con una maquina de Turing: prime-
ro se convierte en un AFDM = (Q, q
0
, F, , ) equivalente, usando las tecni-
cas del Captulo 2. Luego se construye una MT M

tal que L(M) = L(M

)
a nadiendo un nuevo estado q
f
, que sera el unico estado de aceptacion de
M

, y transiciones desde los estados de F hasta q


f
, en presencia del smbolo
blanco b. Es decir, M

= (Q

, q
0
, F

, , , b,

) donde
Q

= Q {q
f
}, q
f
es un estado nuevo,
= {b},
F

= {q
f
},

(q, s) = ((q, s), s, ), para q Q, s ,

(q, b) = (q
f
, b, ), para todo q F.
Notese que la MT M

as construida se detiene con cualquier entrada w.


Puesto que los lenguajes regulares son precisamente los aceptados por los
AFD, hemos establecido el siguiente teorema.
6.5.1 Teorema. Todo lenguaje regular es recursivo.
6.5.2. Simulacion de automatas con pila
Sea M = (Q, q
0
, F, , , s
0
, ) un automata con pila. Para simular a M se
puede construir una MT M

que act ue sobre dos cintas: la primera cinta


simula la cinta de entrada y la segunda simula la pila del aut omata. M

sera una MT determinista o no-determinista dependiendo de si el automata


dado es un AFPD o un AFPN. Se dene M

= (Q

, q
0
, F

, ,

, b, ) por
18 CAP

ITULO 6. M

AQUINAS DE TURING
medio de
Q

= Q {q
f
}, donde q
f
es un estado nuevo,

= {b},
F

= {q
f
}.
La MT M

coloca inicialmente el smbolo inicial de pila sobre la cinta 2:


(q
0
, (s, b)) = (q
0
, (s, s
0
), (, )), para cualquier s .
Una transicion de la forma (q, a, s) = (p, ) se simula con varias transi-
ciones: se trata de lograr que M sobre-escriba el smbolo s en la cinta 2,
que representa el tope de la pila, por la cadena . Por ejemplo, la transicion
(q, a, s) = (p, a
1
a
2
a
3
) se simula a nadiendo un estado auxiliar q
e
junto con
las transiciones
(q, (a, s)) = (q
e
, (a, ), (a
3
, )),
(q
e
, (a, b)) = (q
e
, (a, ), (a
2
, )),
(q
e
, (a, b)) = (p, (a, ), (a
1
, )).
Para no alterar el lenguaje aceptado, cada transicion de este tipo requiere
la adicion de un estado especial q
e
diferente. Una transicion del automata
M, (q, , s) = (p, ), se simula de manera similar: la posicion de la uni-
dad de control y el contenido de la primera cinta no cambian durante el
procedimiento.
Finalmente, se debe a nadir la transicion
(q, ( b, s)) = (q
f
, ( b, s), (, )), para todo s y todo q F.
Lo anterior muestra que el comportamiento del automata M se simula
completamente con la MT M

y se tiene que L(M) = L(M

).
Notese que la MT as construida no necesariamente se detiene con todas
las cadenas de entrada ya que el automata original M puede ingresar a un
bucle innito con transiciones que inserten y extraigan indenidamente
smbolos en la pila. Por consiguiente, para concluir que todo LIC es re-
cursivo es necesario restringir primero las transiciones del automata. En la
demostracion del siguiente teorema se indica como hacerlo.
6.5.2 Teorema. Todo LIC es un lenguaje recursivo.
6.5. SIMULACI

ON DE AUT

OMATAS POR MEDIO DE M

AQUINAS DE TURING 19
Demostraci on. Sabemos que un LIC L dado se puede generar con una
GIC G en FNC en la que la variable inicial no sea recursiva. En G no
hay transiciones , excepto posiblemente S . A partir de G podemos
construir un AFPN M tal que L(G) = L(M) = L usando el procedimiento
del Teorema 5.4.1, y luego una MT M

que simule a M, en la forma indicada


arriba. Se puede observar que M y M

siempre se detienen al procesar una


cadena de entrada cualquiera: no ingresan nunca en bucles innitos debido
al tipo restringido de las transiciones que surgen de la gramatica G.
Con ayuda de los teoremas 6.5.1 y 6.5.2, podemos establecer las rela-
ciones de contenencia entre las colecciones de lenguajes estudiadas hasta
ahora (sobre un alfabeto dado):
Regulares LIC Recursivos Recursivamente Enumerables

.
Recursivamente Enumerables
Recursivos
LIC
Regulares

Sabemos que hay lenguajes recursivos que no son LIC y lenguajes LIC que
no son regulares. En el proximo captulo se mostrara que existen lenguajes
RE que no son recursivos y lenguajes que no son RE. Por tal raz on, todas
las contenencias anteriores son estrictas.
En la siguiente tabla se muestra, a manera de resumen, la relacion entre
los lenguajes estudiados y las maquinas que los aceptan.
Lenguajes Maquinas aceptadoras
Regulares Automatas nitos (AFD AFN AFN-)
LIC Automatas con pila no-deterministas (AFPN)
RE Maquinas de Turing (MT)
Recursivos Maquinas de Turing que se detienen con toda entrada
20 CAP

ITULO 6. M

AQUINAS DE TURING

Ejercicios de la secci on 6.5


1. Simular el siguiente AFD por medio de una MT M y hacer el diagra-
ma de estados de la maquina M.
>
q
0
q
1
q
2
b b b
a a
2. Simular por medio de una MT M el automata de pila del primer
ejemplo de la seccion 5.1, el cual acepta el lenguaje {a
i
b
i
: i 1}
sobre el alfabeto = {a, b}, y cuya funcion de transicion es:
(q
0
, a, s
0
) = (q
0
, As
0
),
(q
0
, a, A) = (q
0
, AA),
(q
0
, b, A) = (q
1
, ),
(q
1
, b, A) = (q
1
, ),
(q
1
, , s
0
) = (q
2
, s
0
).
6.6. Propiedades de clausura de los lenguajes RE
y de los lenguaje recursivos
En esta seccion presentaremos algunas propiedades de clausura de los len-
guajes recursivos y de los RE; en los ejercicios del nal de la seccion apa-
recen otras propiedades similares.
6.6.1 Teorema. 1. El complemento de un lenguaje recursivo tambien
es recursivo.
2. La uni on de dos lenguajes recursivos es recursivo.
3. La uni on de dos lenguajes RE es RE.
Demostraci on.
1. Sea L un lenguaje recursivo aceptado por la MT M. La maquina M
se detiene con cualquier entrada, ya sea en un estado de aceptacion
o en uno de rechazo. Se puede construir una MT M

que acepte a
6.6. PROPIEDADES DE CLAUSURA 21
L, haciendo que los estados de aceptacion de M dejen de serlo en
M

. De esta forma, las cadenas aceptadas por M seran rechazadas


por M

. Adicionalmente, desde los estados de no-aceptacion en los


cuales M se detiene, denimos transiciones a un estado (nuevo) de
aceptacion de M

. De esta forma, las cadenas no aceptadas por M


s seran aceptadas por M

. Por consiguiente, L(M

) = L.
2. Sean L
1
y L
2
dos lenguajes recursivos aceptados por las MT M
1
y M
2
,
respectivamente. Construimos una MT M con dos cintas que simule a
M
1
en la primera cinta y a M
2
en la segunda. M procesa inicialmente
la entrada en la primera cinta; si M
1
acepta, M tambien aceptara. Si
M
1
se detiene en un estado de no-aceptacion, M procedera a procesar
la entrada en la segunda cinta, simulando a M
2
. Si M
2
acepta, M
tambien aceptara pero si M
2
se detiene en un estado de rechazo, M
tambien se detendra y no aceptara. Puesto que tanto M
1
como M
2
siempre se detienen, L(M) = L
1
L
2
.
3. El procedimiento del numeral anterior ya no sirve en este caso porque
es posible que M
1
o M
2
nunca se detengan al procesar una entrada
particular. En lugar de una simulacion consecutiva de las maquinas
dadas, se necesita que M simule simult aneamente a M
1
y a M
2
. Para
lograrlo utilizamos tambien dos cintas, la primera para simular a M
1
y la segunda para simular a M
2
. En cada paso computacional, M
simula un paso de M
1
y uno de M
2
.
Resulta muy instructivo presentar explcitamente una maquina M que
implemente la anterior idea intuitiva. Aparte de los estados especiales
q
e
y q
f
, denidos mas adelante, los estados de M son parejas de la
forma (p, q), donde p es un estado de M
1
y q un estado de M
2
. Cada
par de transiciones

1
(q
1
, s
1
) = (p
1
, r
1
, D
1
) de la MT M
1
,

2
(q
2
, s
2
) = (p
2
, r
2
, D
2
) de la MT M
2
,
da lugar a la siguiente transicion en la maquina M:

_
(q
1
, q
2
), (s
1
, s
2
)
_
=
_
(p
1
, p
2
), (r
1
, D
1
), (r
2
, D
2
)
_
.
Si alguno de los estados q
1
o q
2
es un estado de aceptacion de M
1
o M
2
, respectivamente, hacemos que M ingrese y se detenga en un
estado q
f
(estado nuevo), que sera el unico estado de aceptacion de
M. Esto se consigue con la transicion

_
(q
1
, q
2
), (s
1
, s
2
)
_
=
_
q
f
, (s
1
, ), (s
2
, )
_
.
22 CAP

ITULO 6. M

AQUINAS DE TURING
Tambien hay que permitir que M siga operando en una de las cintas
incluso si se ha detenido en la otra cinta en un estado de no aceptacion.
Por ejemplo, si
1
(q
1
, s
1
) no esta denida en M
1
, pero
2
(q
2
, s
2
) =
(p
2
, r
2
, D
2
) es una transicion de M
2
, denimos

_
(q
1
, q
2
), (s
1
, s
2
)
_
=
_
(q
e
, p
2
), (s
1
, ), (s
2
, D
2
)
_
,
donde q
e
es un estado especial (nuevo). Por medio de esta transicion,
cuando M ingrese en el estado q
e
en alguna de las cintas, se deten-
dra en dicha cinta pero contin ua la simulacion en la otra. Si M ingresa
al estado (q
e
, q
e
), se detendra sin aceptar.
El siguiente teorema establece una importantsima conexi on entre las nocio-
nes de lenguaje recursivo y lenguaje RE, la cual se puede demostrar como
consecuencia del Teorema 6.6.1.
6.6.2 Teorema. Un lenguaje L es recursivo si y s olo si L y su complemento
L son RE.
Demostraci on. En la direccion izquierda a derecha, la conclusion es directa:
si L es recursivo, obviamente es RE. L es tambien recursivo (parte 1 del
Teorema 6.6.1) y por lo tanto RE.
La parte esencial de este teorema es la otra direccion: si L y L son RE,
entonces L debe ser recursivo. Para verlo, partimos de dos maquinas M
1
y
M
2
que acepten a L y L, respectivamente. Construimos luego una MT M
que simule simultaneamente a M
1
y M
2
, tal como se hizo en la parte 3 del
Teorema 6.6.1. Puesto que para una entrada w solo hay dos posibilidades,
w L o w L, entonces la maquina M eventualmente se detendra en
la cinta 1 o en la cinta 2. En el primer caso, M acepta la entrada y en
el segundo caso la rechaza. Como M se detiene con toda entrada, L es
recursivo.
El siguiente teorema justica la denominacion recursivamente enume-
rable para los lenguajes aceptados por maquinas de Turing.
6.6.3 Teorema. Para todo lenguaje L aceptado por una MT M, se puede
construir una MT M

que enumere secuencialmente las cadenas de L.


Bosquejo de la demostraci on. La MT M

tendra tres cintas. Las cadenas


de L seran enumeradas secuencialmente en la cinta 1 usando el smbolo
& como separador: w
1
&w
2
&w
3
& . La cinta 2 se usa para generar todas
las cadenas de

en el orden lexicograco, utilizando la subrutina cons-


truida en el ejercicio 3 de la seccion 6.3, modicada de tal manera que
6.6. PROPIEDADES DE CLAUSURA 23
las cadenas queden separadas entre s por el separador &. En la cinta 2
tambien se escribe, a la izquierda de la lista de cadenas, un contador que
registra del n umero de cadenas generadas. La cinta 3 se usa para simular
el procesamiento de M sobre las cadenas que se generan en la cinta 2.
Para precisar, M

procede seg un las siguientes acciones:


Accion 1. M

genera sobre la cinta 2 la primera cadena de

(o sea, ) y
simula en la cinta 3 un movimiento de la accion de M sobre .
Accion 2. M

genera sobre la cinta 2 la segunda cadena de

y simula, en
la cinta 3, dos movimientos de la accion de M sobre dicha cadena,
as como un movimiento mas del procesamiento de la cadena .
Accion i, (i 1). M

genera sobre la cinta 2 la i-esima cadena de

y
simula, en la cinta 3, i movimientos de la accion de M sobre dicha
cadena, as como un movimiento mas del procesamiento de las i 1
cadenas previamente generadas en la cinta 2. Se incrementa luego,
en la cinta 2, el contador i de cadenas generadas (este es tambien
el contador del n umero de movimientos simulados para cada cadena
generada).
Al concluir la accion i se han generado en la segunda cinta las i primeras
cadenas de

y se han simulado, en la cinta 3, los i primeros movimientos


que M realiza sobre esas cadenas. Si durante la simulacion, alguna cadena
es aceptada por M, M

la copia en la cinta 1. Las casillas ocupadas en la


cinta 3 por las simulaciones de cadenas ya aceptadas se tachan (es decir,
se marcan con un smbolo especial), de tal manera que M

no tenga que
procesarlas en los pasos subsiguientes.
Para acomodar las simulaciones, cada vez mas extensas, puede ser nece-
sario usar en la cinta 3 subrutinas de desplazamiento de cadenas, a izquier-
da o a derecha. En todo caso, al terminar la accion i, M ha utilizado una
porcion nita en cada una de las tres cintas.

Ejercicios de la secci on 6.6


1. Utilizando razonamientos similares a los del teorema 6.6.1 demostrar
lo siguiente:
(i) Si L
1
y L
2
son recursivos, L
1
L
2
es recursivo.
(ii) Si L
1
y L
2
son RE, L
1
L
2
es RE.
2. Demostrar o refutar:
24 CAP

ITULO 6. M

AQUINAS DE TURING
(i) Los lenguajes recursivos son cerrados para la concatenacion, es
decir, si L
1
y L
2
son recursivos, L
1
L
2
tambien es recursivo.
(ii) Los lenguajes RE son cerrados para la concatenacion.
(iii) Los lenguajes recursivos son cerrados para la estrella de Kleene,
es decir, si L es recursivo, L

tambien es recursivo.
(iv) Los lenguajes RE son cerrados para la estrella de Kleene.
3. Sea L un lenguaje recursivo pero no RE, demostrar que para toda
MT M que acepte a L hay innitas cadenas de entrada con las cuales
M no se detiene nunca.
6.7. Maquinas de Turing como calculadoras de
funciones
Como las maquinas de Turing pueden transformar las cadenas de entrada,
se pueden utilizar como mecanismos para calcular funciones. Formalmente,
una MT M = (Q, q
0
, q
f
, , , b, ) calcula una funci on f :

(total
o parcial) si para toda entrada w se tiene
q
0
w

q
f
v, donde v = f(w).
El modelo de MT aqu utilizado coincide con el estandar, pero no hay esta-
dos de aceptacion. El estado q
f
, llamado estado nal, se usa para terminar el
procesamiento de la entrada y producir la salida. No se permiten transicio-
nes desde el estado nal q
f
. Notese que M debe terminar el procesamiento
en la conguracion q
f
v, o sea, la unidad de control debe estar escaneando
el primer smbolo de la salida v.
Una MT que calcula una funcion puede utilizar cintas auxiliares, es decir,
se puede usar el modelo multi-cintas. En tal caso, la primera cinta se usa
como la cinta entrada-salida.

Ejemplo
Dise nar una MT M que calcule la funcion suma, en el sistema
de numeracion unitario. Con entrada 1
n
01
m
, M debe producir
como salida 1
n+m
. Aqu, el 0 se usa como separador entre 1
n
y 1
m
, que
representan los n umeros naturales n y m, respectivamente.
Solucion: M va a transformar 1
n
01
m
en 1
n+m
trasladando la cadena 1
m
una casilla hacia la izquierda. El separador 0 se sobre-escribe por 1 y el
6.8. LA TESIS DE CHURCH-TURING 25
ultimo 1 de 1
m
se sobre-escribe por el smbolo b. La funcion de transicion
necesaria para implementar esta idea es:
(q
0
, 1) = (q
1
, 1, ),
(q
1
, 1) = (q
1
, 1, ),
(q
1
, 0) = (q
2
, 1, ),
(q
2
, 1) = (q
2
, 1, ),
(q
2
, b) = (q
3
, b, ),
(q
3
, 1) = (q
4
, b, ),
(q
4
, 1) = (q
4
, 1, ),
(q
4
, b) = (q
f
, b, ).

Ejercicios de la secci on 6.7


Dise nar MT que calculen las siguientes funciones. Las entradas numericas
se dan en el sistema de numeracion unitario, como en el ejemplo de esta
seccion.
1. f(n) = 2n, para todo n umero natural n.
2. La funcion de paridad de los n umeros naturales:
f(n) =
_
1, si n es par,
0, si n es impar.
3. La funcion mayor que truncada:
f(n, m) =
_
1, si n > m,
0, si n m.
Aqu la entrada (n, m) se presenta en la forma 1
n
01
m
.
6.8. La tesis de Church-Turing
Historicamente, el modelo de maquina de Turing fue presentado en 1936
como un mecanismo abstracto de computo capaz de ejecutar algoritmos
paso a paso. La maquina de Turing antecedio en varias decadas a la imple-
mentacion fsica de los computadores digitales y se ha usado desde entonces
como el modelo teorico fundamental de la nocion de computacion secuen-
cial.
26 CAP

ITULO 6. M

AQUINAS DE TURING
Hay varias razones por las cuales la maquina de Turing sigue siendo un
formalismo util y ampliamente utilizado:
1. La nocion de paso computacional esta claramente denida. Esto
permite precisar sin ambig uedades el concepto de tiempo de compu-
tacion.
2. La nocion de lugar de almacenamiento esta tambien claramente pre-
sentada, por medio de las casillas individuales en la cinta.
3. Estos dos recursos, tiempo y espacio, aparecen en la maquina de
Turing de una manera muy realista y permiten analizar los efectos
de imponer limitaciones sobre ellos, lo cual es muy adecuado en las
investigaciones sobre complejidad computacional.
Ning un modelo computacional captura de manera tan satisfactoria tales
aspectos de la computacion.
Dise nar una MT es completamente similar a escribir un programa com-
putacional, lo cual establece una conexion intuitiva directa entre maquinas
de Turing y algoritmos. Esta conexion es el fundamento de la armacion
conocida como Tesis de Church-Turing y que puede ser enunciada de la
manera mas directa como:
6.8.1. Tesis de Church-Turing. Todo algoritmo puede ser descrito por
medio de una m aquina de Turing.
En su formulacion mas amplia, la Tesis de Church-Turing abarca tanto
los algoritmos que producen una salida para cada entrada como aquellos que
no terminan (ingresan en bucles innitos) para algunas entradas. Tambien
se incluyen los algoritmos deterministas y los no-deterministas.
Para apreciar su signicado y su alcance, hay que enfatizar que la Tesis
de Church-Turing no es un enunciado matematico susceptible de demostra-
cion, ya que involucra la nocion intuitiva de algoritmo. En otras palabras,
la tesis no se puede demostrar. Se podra refutar, no obstante, exhibiendo
un procedimiento efectivo, que todo el mundo acepte que es un verdadero
algoritmo y que no pueda descrito por una maquina de Turing. Pero tal
refutacion no se ha producido hasta la fecha; de hecho, la experiencia acu-
mulada durante decadas de investigacion ha corroborado una y otra vez la
Tesis de Church-Turing. Entre los hechos que contribuyen a apoyar la tesis
podemos destacar los dos siguientes:
1. La adicion de recursos computacionales a las maquinas de Turing
(m ultiples pistas o cintas, no determinismo, etc) no incrementa el
6.8. LA TESIS DE CHURCH-TURING 27
poder computacional del modelo basico. Esto es un indicativo de que
el modelo de MT es lo sucientemente poderoso como para simular
todas las acciones consideradas computacionalmente validas.
2. Todos los modelos o mecanismos computacionales propuestos para
describir formalmente la nocion de algoritmo han resultado ser equi-
valentes a la maquina de Turing, en el sentido de que lo que se puede
hacer con ellos tambien se puede hacer con una MT adecuada, y vice-
versa. Entre los modelos de computacion secuencial equivalentes a la
maquina de Turing podemos citar: las funciones parciales recursivas
(modelo de Godel y Kleene, 1936), el calculo- (modelo de Church,
1936), los sistemas de deduccion canonica (modelo de Post, 1943), los
algoritmos de Markov (modelo de Markov, 1951) y las maquinas de
registro (modelo de Shepherdson-Sturgis, 1963).

También podría gustarte