Anda di halaman 1dari 14

INTRODUCCION considerar las mquinas abstractas que permiten solucionar ciertos tipos de algoritmos, los algoritmos en los que

no puede recordarse ms que una cantidad fija de informacin y otros en los que la informacin desarrollada durante la ejecucin del algoritmo puede recuperarse solo en concordancia con la regla lifo ltimos en entrar primeros en salir, en esta unidad se describe una maquina abstracta, llamada Mquina de Turing , que es aceptada de manera amplia como modelo general de computacin, aunque las operaciones bsicas de esta mquina son comparables en su sencillez a las de las mquinas estudiadas en las unidades anteriores, las nuevas maquinas pueden realizar una amplia variedad de operaciones de cmputo. Adems de aceptar lenguajes les es posible computar funciones y de conformidad con la tesis de Church-Turing, ejecutar casi cualquier procedimiento algortmico concebible.

OBJETIVO GENERAL Reconocer la importancia y el poder computacional de las Mquinas de Turing en el contexto de la solucin de problemas computacionales de reconocimiento de Lenguajes. OBJETIVOS ESPECFICOS: Estudiar las Mquinas de Turing y sus propiedades bsicas

EJERCICIOS A DESARROLLAR:
1. Dado el alfabeto ={x,y} de la siguiente Mquina de Turing, determine:

El lenguaje que acepta Recorra la mquina con al menos una cadena vlida. Identifique una cadena que no sea vlida y justifquela porque. Identifique los componentes de la Mquina de Turing (descrbala).

2. Disee una MT que reconozca {0 1 : n 1 }


Cambie un 0 por una x (explique qu pasa con la mquina). Cambie un 1 por una y (explique qu pasa con la mquina). Identifique en qu momento la mquina de Turing se detiene. Calcule la funcin Grafquela e identifique sus elementos. Identifique la funcin de transicin.

n n

3. Construya una MT que acepte el Lenguaje (represntela L = {a b c : i 0} sobre = {a,b,c}


Se cambia la a por una x movindose a la derecha. (explique qu pasa con la mquina). Represente los movimientos en la tabla de transiciones para MT. Luego se mueve a la izquierda pasando por encima de las bs (bes) (explique qu pasa con la mquina). Represente los movimientos en la tabla de transiciones para MT. Identifique en qu momento la mquina de Turing se detiene. Calcule la funcin Grafquela e identifique sus elementos.
i i i

4. Construir una MT que reconozca L

= 01*+ = 10*

Para la Mquina M = (Q, , , q0, T , B , ) Q = { q0, q1} x {0,1,B} Estado inicial [q0, B] Estado final [q 1, B] La funcin de transicin est dada por:

([q0, B] , 0 ) = ([q1, 0], 0 , D) ([q0, 0] , 1 ) = ([q1, 0], 1 , D) ([q0, 0] , B ) = ([q1, B], B , D) ([q0, B] , 1 ) = ([q1, 1], 1 , D) ([q1, 1] , 0 ) = ([q1, 1], 0 , D) ([q1, 1] , B ) = ([q1, B], B , D)
Identifique una cadena vlida. 5. Para la siguiente Mquina de Turing (MT):

Identifique que pasa cuando inicia con la cadena con el recorrido de la misma)

yyxyxx

(demustrelo

Plsmela en el simulador (debe entregar el archivo generado por el simulador), Las imgenes capturadas van inmersas en el desarrollo del trabajo.

Con base en esa MT, proponga una nueva mquina que se comporte diferente cuando inicia con la cadena

yyxyxx

6. Considere la mquina de Turing de la figura con el alfabeto {x,y,z} e indique que tipo de cadenas decide el lenguaje que acepta.

Dentro del RunTest y el recorrido de la cinta, Ubique en su cinta la secuencia xy y que sea sustituida por zz. Identifique cuando se detiene la mquina cuando hace esta operacin Plsmela en el simulador. Las imgenes capturadas van inmersas en el desarrollo del trabajo. Ejecute el RunTest a la cadena aceptada (mustrela en la captura de imagen para el trabajo

DESARROLLO

2. Disee una MT que reconozca {0 1 : n 1 }


Cambie un 0 por una x (explique qu pasa con la mquina). Se mueve hacia la derecha, pasando por encima de los ceros e Y, hasta llegar al primer 1 Cambie un 1 por una y (explique qu pasa con la mquina). Se mueve hacia la izquierda por encima de todos Y y de todos los ceros hasta llegar a una X y se repite el proceso hasta que slo queden Xs y Ys. Identifique en qu momento la mquina de Turing se detiene. Se detiene en el estado de aceptacin q4 despus de hacer paso por el smbolo B en blanco. Calcule la funcin

n n

q0 , 0= (q1 , X, D) q1 , 0= (q1 , 0, D) q1 , X = (q1 , X, D) q1 , 1= (q 2 , Y, I) q2 , Y= (q 2 , Y, I) q2 , 0= (q2 , 0, I) q2 , X = (q0 , X, D) q0 , Y= (q 3 , Y, D) q3 , Y= (q 3 , Y, D) q 3 , B= (q 4 , B, D)


Grafquela e identifique sus elementos.

Sea Q= {q0, q1, q2, q3, q4}, = {0, 1},r= {0, 1, X, Y, B}, F = {q4} Inicialmente, la cinta de entrada de M contendr 0 1 seguido de un nmero infinito de blancos. Repetidamente, M reemplaza el 0 ms a la izquierda por X, mueve hacia la derecha la cabeza de la cinta hasta encontrar el 1 que est ms a la izquierda, reemplazndolo por Y , luego se mueve a la izquierda para encontrar la X ms a la derecha, entonces mueve la cabeza una celda hacia la derecha y si encuentra un 0 entonces repite el ciclo. Sin embargo, si cuando se busca un 1, M encuentra un blanco en su lugar, entonces M se para sin aceptar su entrada . Si, despus de cambiar un 1 por una Y , M no encuentra ms 0s, entonces M examina que no haya ms 1, si no los hay entonces acepta su entrada. Cada estado representa una declaracin o un grupo de declaraciones en un programa. Al estado q0 se ingresa inicialmente y es el estado previo a cada reemplazo del 0 ms a la izquierda por una X. El estado q1 se usa para buscar a la derecha, saltando sobre los 0s y las Y s, hasta encontrar el 1 ms a la izquierda. Si M encuentra 1, lo cambia por Y , y entra al estado q2. El estado q2 busca a la izquierda una X y entra en el estado q0 cuando lo encuentra, luego se mueve hacia la derecha hasta el 0 ubicado ms a la izquierda. Conforme M busca hacia la derecha en el estado q1, si B o X aparecen antes de encontrar un 1, entonces la entrada es rechazada; puede que haya demasiados 0s o la entrada no est en 0*1*. El estado q0 tiene otro papel. Si, despus del estado q2 se encuentra la X ms a la derecha, existe una Y inmediatamente a su derecha, entonces los 0s estn agotados. Desde q0, se explora Y , entra el estado q3 para explorar sobre las Y s y examina que no haya 1s restantes. Si las Y s estn seguidas por B, se entra al estado q4 y la aceptacin ocurre; en otro caso, la cadena es rechazada. La funcin es:
Identifique la funcin de transicin.
M = ({q0,
n n

q1, q2, q3, q4}, {0, 1}, {0, 1, X, Y, B}, 0 q1 , X, R q1 , 0, R q 2 , 0, L ------1 ---q 2 , Y, L ----------

, q0, B, Y q 3 , Y, R q1 , Y, R q 2 , Y, L q 3 , Y, R ---B ---------q 4 , B, R ----

{q4}) ESTADO q0 q1 q2 q3 q4 X ------q 0 , X, R -------

3. Construya una MT que acepte el Lenguaje (represntela L = {a b c : i 0} sobre = {a,b,c}


Se cambia la a por una x movindose a la derecha. (explique qu pasa con la mquina). Represente los movimientos en la tabla de transiciones para MT. Al cambiar la a por una X se mueve a la derecha por encima de todas las as e Ys, hasta llegar a la primera b, cambia la primera b por una Y, se mueve a la derecha pasando por encima de las bs y Zs y luego encuentra la primera c y la cambia por Z y se mueve a la izquierda. Luego se mueve a la izquierda pasando por encima de las bs (bes) (explique qu pasa con la mquina). Represente los movimientos en la tabla de transiciones para MT. Al mover a la izquierda pasando por encima de bs, Ys, as, hasta encontrar la X la reemplaza por una X y repite el proceso anterior, cuando la maquina reemplaza la cadena X,Y y Zs reconoce la cadena vaca y busca el estado de aceptacin. Identifique en qu momento la mquina de Turing se detiene. Calcule la funcin
i i i

La funcin de transicin es la siguiente, sea T = {q3} ESTADO q0 q1 q2 q3 q4 q5 a b q1 , X, R q 5 , b, q1 , a, R R q 2 , b, L 3 , b, q 3 , a, L q L ------c X q4 R q1 R q 2 , Z, L q 0 , X, q 3 R L1 q R Y , Y, , Y, , Y, , Y, Z

q 2 , Z, R q 3 , Z, L 1 , Z, q R

Se han utilizado cinco estados, siendo q5 el nico estado de aceptacin. Grafquela e identifique sus elementos. L = {a b c : i 0} sobre = {a,b,c}, L no es un LIC, no puede ser aceptado por ningn autmata de pila.
Sea M = ({q0, q1, q2, q3, q4, q5}, {a,b,c}, a, b, c,X, Y,Z, B), , q0 ,B, F= {q5})
i i i

La idea utilizada para el diseo de esta MT se puede describir as: la unidad 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 q3. 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 sern reemplazadas por Xs, las bes por Y s y las ces por Zs. Una vez terminada la transformacin, el control se mueve hacia la derecha, en el estado q4, hasta encontrar la primera celda marcada con el smbolo blanco b. La MT est diseada de tal forma que si la cadena de entrada no tiene la forma requerida, el procesamiento terminara en un estado diferente del estado de aceptacin q5. A continuacin procesamos la cadena de entrada w = aabbcc L.
q0aabbcc Xq1abbcc Xaq1bbcc XaY q2bcc XaY bq2cc XaY bq3bZc * q3XaY bZc Xq0aY bZc XXq1Y bZc XXY q1bZc XXY Y q2Zc XXY Zq2c XXY q3ZZ * Xq3XY ZZ XXq0Y Y ZZ XXY q4Y ZZ * XXY Y ZZq4b XXY Y ZZbq5b.

El lenguaje L = {, abc, aabbcc, aaabbbccc, ...} para el reconocimiento de la cadena se defini la transicin (qo,B) = (q5,B,D).

Comprobacin de la aceptacin de la cadena w = aabbcc:

4. Construir una MT que reconozca L

= 01*+ = 10*

Para la Mquina M = (Q, , , q0, T , B , ) Q = { q0, q1} x {0,1,B} Estado inicial [q0, B] Estado final [q 1, B]

La funcin de transicin est dada por:

([q0, B] , 0 ) = ([q1, 0], 0 , D) ([q0, 0] , 1 ) = ([q1, 0], 1 , D) ([q0, 0] , B ) = ([q1, B], B , D) ([q0, B] , 1 ) = ([q1, 1], 1 , D) ([q1, 1] , 0 ) = ([q1, 1], 0 , D) ([q1, 1] , B ) = ([q1, B], B , D)
Identifique una cadena vlida.

p = [q0, B] q = [q1, 0] r = [q1, 1] s = [q1, B]

5. Para la siguiente Mquina de Turing (MT):

Identifique que pasa cuando inicia con la cadena con el recorrido de la misma) Siempre llegara al estado de parada

yyxyxx

(demustrelo

Plsmela en el simulador (debe entregar el archivo generado por el simulador), Las imgenes capturadas van inmersas en el desarrollo del trabajo. Con base en esa MT, proponga una nueva mquina que se comporte diferente cuando inicia con la cadena

yyxyxx

6. Considere la mquina de Turing de la figura con el alfabeto {x,y,z} e indique que tipo de cadenas decide el lenguaje que acepta.

Dentro del RunTest y el recorrido de la cinta, Ubique en su cinta la secuencia xy y que sea sustituida por zz. Identifique cuando se detiene la mquina cuando hace esta operacin

La mquina se encuentra en el segundo estado si y slo si el ltimo smbolo ledo es x. En el primer estado se encuentra cuando todava no ha aparecido una x, o cuando despus de una x apareci otro carcter distinto de y.
Plsmela en el simulador. Las imgenes capturadas van inmersas en el desarrollo del trabajo. Ejecute el RunTest a la cadena aceptada (mustrela en la captura de imagen para el trabajo

La mquina nunca puede terminar anormalmente. Porque la cabeza de lectura realiza, como mximo, un retroceso, y este retroceso ocurre solamente cuando se han ledo previamente al menos dos smbolos (la secuencia xy). Sea cual sea la configuracin inicial de la cinta, existe un nico camino posible hacia el estado de parada, ya que la mquina es determinista.

Anda mungkin juga menyukai