mÁquinas de turing
DESCRIPTION
MÁQUINAS DE TURING. Teoría del Autómata. Definición. Definimos una máquina de Turing como una 7-tupla M = ( Q , S , G , s , b , F , d ), donde. Q es un conjunto finito de estados S es un alfabeto de entrada G es un alfabeto llamado alfabeto de la cinta - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/1.jpg)
MÁQUINAS DE TURING
Teoría del Autómata
![Page 2: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/2.jpg)
Definición
Definimos una máquina de Turing como 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 s Q es el estado inicial b es el símbolo blanco F Q es el conjunto de estados finales o de aceptación d: Q Q {L, R} es una función parcial que se llama función de transición
![Page 3: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/3.jpg)
La cinta
La máquina de Turing posee una cinta dividida en celdas, cada celda es capaz de almacenar un símbolo.
Además posee una cabeza lectora/escritora que lee y escribe un símbolo en la cinta. Inicialmente la cinta contiene b en todas sus celdas.
La función de transición transforma pares (q, ) en ternas de la forma (p, t, X), donde p es el siguiente estado, t es el símbolo escrito en la cinta y X es el movimiento de la cabeza lectora/escritora, que puede ser L o R.
a b b
Posición de la cabeza lectora/escritora
Estado interno q1
(q1, a) = (q5, b, R) b b b
Posición de la cabeza lectora/escritora
Estado interno q5
![Page 4: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/4.jpg)
Representación instantáneaSe puede dar una descripción instantánea de la máquina de Turing similar a la de los ADPND, para la transición anterior sería
(q1, abb) ├─ (q5, bbb)
el carácter subrayado indica la posición de la cabeza lectora/escritora.
Otra posibilidad es anteponer el estado actual al carácter señalado por la cabeza lectora/escritora como se muestra
q1abb ├─ bq5bb
![Page 5: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/5.jpg)
Máquinas de Turing como aceptadores de lenguajes
Sea M = (Q, , , s, b, F, ) una máquina de Turing. Entonces el lenguaje aceptado por M es
L(M) = {w * | q1w ├─* w1pw2 para p F y wi *}
Los lenguajes aceptados por las máquinas de Turing se conocen como lenguajes recursivamente enumerables.
Una cadena puede rechazarse por una máquina de Turing si se termina de procesarla en un estado de no aceptación. Otra forma es rechazarla al entrar en un bucle infinito.
![Page 6: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/6.jpg)
Ejemplo
El lenguaje regular a* es aceptado por la máquina Q = {q1, q2}, s = q1, F = {q2}, (q1, a) = (q1, a, R) y (q1, #) = (q2, #, R)
También puede se aceptar por la máquina:
Q = {q1, q2 , q3}, s = q1, F = {q3},
(q1, a) = (q1, a, R) (q2, a) = (q2, a, R)
(q1, b) = (q2, b, R) (q2, b) = (q2, b, R)
(q1, #) = (q3, #, R) (q2, #) = (q2, #, R)
![Page 7: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/7.jpg)
Ejemplo El lenguaje anbn es aceptado por la máquina Q = {q1, q2 , q3 , q4 , q4}, s = q1, F = {q5}
(q1, a) = (q2, c, R) (q2, d) = (q2, d, R)
(q2, a) = (q2, a, R) (q2, b) = (q3, d, L)
(q3, d) = (q3, d, L) (q3, a) = (q3, a, L)
(q3, c) = (q1, c, R)
(q1, d) = (q4, d, R) (q4, d) = (q4, d, R)
(q4, #) = (q5, #, L)
![Page 8: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/8.jpg)
Ejemplo
El siguiente grafo muestra una máquina de Turing transforma una cadena de la forma anbam en an+mb mediante la siguiente función de transición:
(q1, a) = (q1, a, R)(q1, b) = (q2, a, R)(q2, a) = (q2, a, R)(q2, #) = (q3, #, L)(q3, a) = (q4, b, L)(q4, a) = (q4, a, L)(q4, #) = (q5, #, R)
![Page 9: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/9.jpg)
Maquinas de Turing y lenguajes
Una máquina de Turing que acepta un lenguaje no necesita detenerse para cualquier cadena de entrada, solo para las que pertenecen al lenguaje.
Hay lenguajes RE para los cuales ninguna máquina de Turing que los acepte para con todas las entradas.
La subclase de lenguajes que son aceptados al menos por una máquina de Turing que para con toda cadena de entrada se llaman lenguajes recursivos.
![Page 10: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/10.jpg)
Funciones Turing computablesSe dice que una función de cadena f e sTuring computable si existe una máquina de Turing M = (Q, , , q1, #, F, ) para la cual q1w |–* qf u para algún qf F, cuando f (w) = u.
La función f (m, n) = m + n se puede implementar con
(q1, a) = (q1, a, R) (q3, a) = (q4, b, L)
(q1, b) = (q2, a, R) (q4, a) = (q4, a, L)
(q2, a) = (q2, a, R) (q4, #) = (q5, #, R)
(q2, c) = (q3, b, L)
![Page 11: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/11.jpg)
a/a,R
b/a,R
a/a,R
#/#,L a/b,L #/#,R
a/a,L
q2 q3 q4 q5q1
Diagrama de estados
![Page 12: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/12.jpg)
EjemploLa siguiente máquina de Turing reconoce el lenguaje anbn.
(q1, a) = (q2, c, R)(q2, a) = (q2, a, R)(q2, d) = (q2, d, R)(q2, b) = (q3, d, L)(q3, d) = (q3, d, L)(q3, a) = (q3, a, L)(q3, c) = (q1, c, R)(q1, d) = (q4, d, R)(q4, d) = (q4, d, R)(q4, b) = (q5, b, L)
a/a, L
a/c, R
a/a, R
d/d, R
b/b, L
d/d, R
q1q2 q3
q4
q5
b/d, L
d/d, R d/d, L
c/c, R
![Page 13: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/13.jpg)
Construcción de Máquinas de TuringDefinición. Sean M1 y M2 dos máquinas de Turing sobre el mismo alfabeto de entrada y el mismo alfabeto de salida , donde
M1 = (Q, , , s1, b, F1, 1)
M2 = (Q, , , s2, b, F2, 2)
se supone Q1 Q2 = , La composición de máquinas de Turing M1 y M2 es la máquina de Turing M = (Q, , , s, b, F, ), que se denota por M1M2. donde
Q = Q1 Q2
s=s1
F = F2
1(q, ) si q Q1 y 1(q, ) (p, , X) p F1
= 2(q, ) si q Q2
(s2, , X) si q Q1 y 1(q, ) =(p, , X) para algún p F1
{
![Page 14: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/14.jpg)
Bloques de construcciónDefinimos Rb como la máquina M1 con F1 = {q4} con
1(q1, a) = (q2, a, R)1(q1, #) = (q2, #, R)1(q2, a) = (q2, a, R)1(q2, #) = (q3, #, L)1(q3, #) = (q4, #, R)1(q3, a) = (q4, a, R)
Mueve la cabeza lec/esc hasta la posición del siguiente blanco a la derecha.
Definimos la máquina M2 con F2 = {p2} con
2(p1, a) = (p2, a, R)2(p1, #) = (p2, a, R)
Escribe a en la posición de la cabeza lec/esc. Se representa por el símbolo a.
Definimos M1M2 estará dada por
(q1, a) = (q2, a, R)(q1, #) = (q2, #, R)(q2, a) = (q2, a, R)(q2, #) = (q3, #, L)(q3, #) = (p1, #, R)(q3, a) = (p1, a, R)(p1, a) = (p2, a, R)(p1, #) = (p2, a, R)
con F = {p2}
Se mueve al siguiente blanco a la derecha y escribe una a.
![Page 15: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/15.jpg)
Ejemplo
a a a a a a
Cabeza lec/esc
Antes de R#R#
a a a a a a
Cabeza lec/esc
Después de R#R#
#
![Page 16: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/16.jpg)
Otra forma de R#
(q, )
# = #
q1 (q2, , R) (q2, #, R)
q2 (q2, , R) (q3, #, L)
q3 (q4, , R) (q4, #, R)
![Page 17: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/17.jpg)
Lb
Esta máquina busca el primer símbolo de la izquierda que no sea blanco.
(q, )
= # #
q1 (q2, #, L) (q2, , L)
q2 (q2, #, L) (q3, , R)
q3 (q4, #, L) (q4, , L)
![Page 18: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/18.jpg)
Ejemplo
a a a a a a
Cabeza lec/esc
Antes de R#L#
a a a a a a
Cabeza lec/esc
Después de R#L#
![Page 19: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/19.jpg)
Otras máquinas útiles
(q, )
q1 (q2, a, R)
q2 (q2, , L)
Escribe el símbolo a sobre la cinta y deja la cabeza sobre el símbolo
(q, )
= # = a
q1 (q2, #, L) (q4, a, L)
q2 (q3, #, R) (q3, a, R)
q4 (q5, #, R) (q5, a, R)
La siguiente máquina termina en q3 si el símbolo en la cinta es un blanco y termina en q5 si es una a. Esta máquina representa una bifurcación y se representa mediante dos flechas.
= #
= a
![Page 20: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/20.jpg)
Máquina de Turing que cambia aes por bes y bes por aes.
= a
= b
R b
a
En el simulador JCT:
![Page 21: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/21.jpg)
Flechas múltiples
Ra, b, #
RR
a
Rb
#
RR o R2
aR b
= a
aR b
a
![Page 22: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/22.jpg)
Desplazamiento de una cadena w
L2 #RaR#R = a
R
= #
= b
#Rb
L2 #RR#R #
R
= #El símbolo indica que la máquina recuerda cual símbolo escribió sobre #.
SR
En el simulador JCT:
![Page 23: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/23.jpg)
Reconocedor de wwI
#R#L L#R=
= #
#
# #
#
= #
#
Para en estado de aceptación Para en estado de no aceptación
#R#L L#R=
= #
#
# #
#
= #
b
Para en estado de aceptación
![Page 24: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/24.jpg)
Modificaciones de las máquinas de Turing
Transiciones sin movimiento de la cabeza lec/esc. Modificar
: Q Q {R, L}
Por : Q Q {R, L, S}
Donde S significa permanecer.
Puede obtenerse con una máquina normal agregando
(q, ) = (p’, ’, R) y (p’, ) = (p, , L)
![Page 25: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/25.jpg)
Cinta dividida en subceldas
a a a aa b a aa b b a
La cinta contiene múltiples caracteres. El movimiento de la cabeza dependerá del estado actual y de la n-tupla que represente el contenido actual.
![Page 26: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/26.jpg)
Suma binariaEl alfabeto estará formado por las ternas:
(b, b, b) (1, 1, b) (1, 1, 0) (1, 1, 1)(0, 0, b) (0, 0, 0) (0, 0, 1) (b, b, 1)(0, 1, b) (0, 1, 0) (0, 1, 1)(1, 0, b) (1, 0, 0) (1, 0, 1)
Primero buscará el extremo derecho mediante
(q1, ) = (q1, , R) si <> (b, b, b)
(q1, ) = (q2, , L) si = (b, b, b)
además:
(q2, (0, 0, b)) = (q2, (0, 0, 0), L) (q3, (0, 0, b)) = (q2, (0, 0, 1), L)
(q2, (0, 1, b)) = (q2, (0, 1, 1), L) (q3, (0, 1, b)) = (q3, (0, 1, 0), L)
(q2, (1, 0, b)) = (q2, (1, 0, 1), L) (q3, (1, 0, b)) = (q3, (1, 0, 0), L)
(q2, (1, 1, b)) = (q3, (0, 0, 0), L) (q3, (1, 1, b)) = (q3, (1, 1, 1), L)
(q2, (b, b, b)) = (q4, (b, b, 0), S) (q3, (b, b, b)) = (q2, (b, b, 1), S)
![Page 27: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/27.jpg)
Cinta semiinfinita
a a a a b ba a b
Máquina de Turing con una cinta semiinfinita.
Máquina de Turing con una cinta infinita puede simularse con una cinta semiinfinita de dos pistas
a b a a b ba a b
a a b a
b ba a b
*
*
a b a a b ba a b
a a b a
b ba a b
*
*
![Page 28: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/28.jpg)
Máquinas multicintaContiene varias cintas independientes. En un solo movimiento, esta máquina de Turing
1. Cambia de estado dependiendo del estado actual y del contenido de las celdas de todas las cintas, que están analizando actualmente las cabezas lec/esc.
2. Escribe un nuevo símbolo en cada una de las celdas barridas por sus cabezas lec/esc.
3. Mueve cada una de las cabezas hacia la izquierda o hacia la derecha (de forma independiente al resto de las cabezas).
: Q n Q n {L, R}n
(q,(, ,..., n)) = (p,(, ,..., n),(X1, X2,X3,...,Xn))
![Page 29: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/29.jpg)
Ejemplo: reconocer anbn
(q1, (a, b)) = (q1, (a, a), (R, R))(q1, (b, b)) = (q2, (b, b), (S, L))(q2, (b, a)) = (q2, (b, a), (R, L))(q2, (b, b)) = (q3, (b, b), (R, L))
a a b b
a a
a a b b
a
a a b b
aa
a a b b
aa
a a b b
aa
a a b b
estado: q1 estado: q1 estado: q1
estado: q2 estado: q2 estado: q2
![Page 30: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/30.jpg)
Máquina Universal de Turinguna máquina Universal de Turing es una máquina que a partir de una descripción de una máquina de Turing M y una cadena de entrada w, simula el comportamiento de M sobre la cadena w.
Suponemos que Q = {q1, q2, ..., qn} donde q1 es el estado inicial y q2 es el único estado de aceptación. Además = {1, 2, ..., m} donde 1 es el símbolo blanco.
Codificamos M de la siguiente manera
representamos q1 por 1
representamos q2 por 11, etc
representamos 1 por 1
representamos 2 por 11, etc
representamos L por 1 y representamos R por 11
Ejemplo: (q3, 1) = (q4, 3, L) 0111010011110111010
![Page 31: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/31.jpg)
Máquina Universal de Turing
La máquina de Turing Universal Mu consta de tres cintas
1er cinta – la codificación de M en uno y ceros.
2a. cinta – la codificación del contenido de la cinta de M en unos y ceros.
3a. cinta – la codificación del estado actual codificado de M.
![Page 32: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/32.jpg)
Problema de la parada
El problema de la parada o problema de la detención para máquinas de Turing es el ejemplo de problema irresoluble más conocido.
Consiste en determinar si una máquina de Turing se detendrá con cierta entrada, o bien quedará en un ciclo infinito.
Este fue el primer problema que se demostró formalmente que no tenía solución.
![Page 33: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/33.jpg)
Problema de la parada
Definición
Sea M una máquina de Turing arbitraria con un alfabeto de entrada Σ. Sea . ¿Puede decidirse si la máquina M se detendrá con la entrada w?
Demostración
Para demostrarlo, supongamos que el problema de la parada tiene solución, es decir, supondremos que existe una máquina de Turing que es capaz de determinar si otra máquina de Turing para con una entrada determinada.
![Page 34: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/34.jpg)
Problema de la paradaConsideremos una máquina de Turing P, que recibe como entrada una máquina de Turing M y una cadena w codificadas en la cinta y una a continuación de la otra (Mw), y que se encarga de ejecutar M sobre la cadena w.
La máquina P parará y aceptará la entrada si M para con w, y parará y rechazará la entrada si M no para con w.
![Page 35: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/35.jpg)
Modificamos la máquina P, creando una máquina P' equivalente.
Esta máquina no parará si M para con w, y parará si M no para con w.
![Page 36: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/36.jpg)
Ahora crearemos una máquina D, cuya función es la siguiente.
Recibe una máquina M, la pasa por una máquina que se encarga de copiar la máquina M a continuación. Por lo tanto, a la salida de la máquina copia, la cinta contendrá MM (la codificación de la máquina repetida).
A continuación, D coge este resultado y lo pasa a través de P'. Con esto intentamos decidir si la máquina M para con la entrada M. Es decir, si M para con la entrada M, entonces D no para, y si M no para con la entrada M, entonces D para.
![Page 37: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/37.jpg)
Por último, tomaremos una máquina D (denominaremos SD), y le aplicaremos como entrada una máquina D. SD aplica como entrada a la máquina que recibe, la misma máquina.Por lo tanto, esta máquina en principio parará si D no para con entrada D, y no parará si D para con entrada D. Pero si SD no para y si D para con entrada D, sabiendo que D=SD, llegamos a una contradicción, por que aplicar D a SD debería dar como resultado lo mismo que aplicar D sobre D. Del mismo modo para el otro caso. Por lo tanto, el problema de la parada no tiene solución.Obtenido de "http://es.wikipedia.org/wiki/Problema_de_la_parada"
![Page 38: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/38.jpg)
Lenguajes recursivamente enumerables
Un lenguaje L sobre un alfabeto se dice que es recursivamente enumerable si es aceptado por una máquina de Turing.
Un lenguaje L es recursivo si L es recursivamente enumerable y hay alguna máquina de Turign que para sobre todas las entradas que acepta L.
![Page 39: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/39.jpg)
Máquina para reconocer un lenguaje regular
Sea M = (Q, , s, F, ), un autómata finito determinista, Se puede construir una máquina de Turing que reconozca el lenguaje reconocido por M, M’ = (Q’, ’, , s’, #, F’, ’), donde
Q’ = Q {q’}
’ =
= {#}
F’ = {q’}
’(q, ) = (’(q, ), , R) para todo q Q y
’(q, ) = (q, #, S) para todo q Q
![Page 40: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/40.jpg)
Gramáticas no restringidas
Una gramática no restringida (también se conoce como una gramática estructurada por frases) es una 4-tupla G = (N, , S, P), donde
N es el alfabeto de símbolos no terminales
es el alfabeto de símbolos terminales
S N es el símbolo inicial
P es un conjunto de producciones de la forma , donde (N )+ u (N )* (es decir, P (N )+ (N )* y es un conjunto finito)
![Page 41: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/41.jpg)
Ejemplo
S aSBC | aBC
CB BC
aB ab
bB bb
bC bc
cC cc
La producción CB BC intercambia los no terminales B y C, obteniendo una cadena de la forma anBnCn.
Las producciones aB ab y bB bb transforman toda B en b, obteniendo anbnCn.
Las producciones bC bc y cC cc transforman toda C en c, obteniendo anbncn
![Page 42: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/42.jpg)
Ejemplo
S ACaB
Ca aaC
CB DB | E
aD Da
AD AC
aE Ea
AE
A y B actúan como marcadores de final de la cadena de aes.
C se desplaza a la derecha al duplicarse el número de aes hasta que está junto a B, entonces se transforma en D.
D se desplaza hacia la izquierda hasta que encuentra una A, y entonces se convierte en C.
Cuando CB se reemplaza por E, termina la generación de aes.
Entonces E se desplaza a la izquierda hasta que encuentra la A, momento en el cual se elimina AE.
Lenguaje generado: k
a2
![Page 43: MÁQUINAS DE TURING](https://reader035.vdocuments.pub/reader035/viewer/2022062806/56814fc2550346895dbd7e41/html5/thumbnails/43.jpg)
La Jerarquía de Chomsky
Tipo Language AutómataNormas de producción
de gramáticas
0recursivamenteenumerable (LRE)
Máquina de Turing (MT) Sin restricciones
1dependiente delcontexto (LSC)
Autómata linealmenteacotado
αAβ → αγβ
2independiente delcontexto (LLC)
Autómata con pila A → γ
3 regular (RL) Autómata finitoA → aB
A → a