Subido por ?

Guia Lab10-MaquinasTuringVariaciones

Anuncio
UNIVERSIDAD NACIONAL DE SAN AGUSTIN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
EDITH PAMELA RIVERO TUPAC
Ing. Informática y de Sistemas
Magister en Seguridad Informática
GUÍA DE LABORATORIO
TEORÍA DE LA COMPUTACIÓN
2021 A
COMPETENCIAS
Al finalizar la asignatura el estudiante podrá aplicar de forma transformadora conocimientos de teoría de la
computación como herramienta para evaluar, sintetizar y mostrar información como fundamento de sus ideas y
perspectivas para la resolución de problemas.
Curso: Teoría de la Computación
Laboratorio
10
Página:
1
Variantes de Maquinas de
Turing
I
OBJETIVOS
 Conocer e interactuar con variantes de una máquina de Turing
II
TEMAS A TRATAR



Variantes de Maquinas de Turing
Máquina de Turing de varias cintas
Máquina de Turing no determinista
III
MARCO TEÓRICO
1. Introducción
Existen algunos modelos de computadora que están relacionados con las máquinas de
Turing y que tienen la misma funcionalidad de reconocimiento de lenguajes que el
modelo básico de la MT. Uno de estos modelos es la máquina de Turing de varias
cintas, y es importante porque es mucho más fácil ver cómo una MT de este tipo
puede simular computadoras reales. Por otro lado, la máquina de Turing no
determinista, permite elegir un movimiento entre un conjunto finito de posibles
movimientos en una situación dada. Esta extensión también facilita la
“programación” de las máquinas de Turing en algunas circunstancias.
Mgt. Edith Pamela Rivero Tupac
Curso: Teoría de la Computación
Página:
2
1.1. Variantes
Las variantes de las MT mantienen el concepto original, con ciertas
modificaciones que permiten un enfoque diferente para distintos casos. Entre ellas
se encuentran:

MT de varias cintas

MT no deterministas

MT de doble cinta infinita

MT con varias pilas

MT desconectadas, con una cinta solamente para el output

MT con solamente movimiento Left (L) y State (S)

MT con estados aceptados y rechazados

MT contadoras
2. Maquinas de Turing de varias cintas
La MT tiene una unidad de control (estado) y un número finito de cintas. Cada cinta
está dividida en casillas, y cada casilla puede contener cualquier símbolo del alfabeto. Al
igual que en la MT de una sola cinta, el conjunto de símbolos de la cinta incluye el
espacio en blanco y también dispone de un subconjunto de símbolos de entrada, al que no
pertenece el espacio en blanco. El conjunto de estados incluye un estado inicial y varios
estados de aceptación.
La función de transición está dada por δ: Q x Γk  Q x Γk x {L, R, S}k
Mgt. Edith Pamela Rivero Tupac
Curso: Teoría de la Computación
Página:
3
3. Maquina de Turing no determinista
Una máquina de Turing no determinista (MTN) se diferencia de la máquina
determinista en que tiene una función de transición δ tal que para el estado q y símbolo de
cinta X, δ (q,X) es un conjunto de tuplas. La MTN puede elegir, en cada paso, cuál de las
tuplas será el siguiente movimiento. Sin embargo, no puede elegir un estado de una, un
símbolo de cinta de otra y una dirección de una tercera.
En otras palabras se ha reemplazado las función de transición por una relación de
transición.
Las MTN no aceptan ningún lenguaje que no sea aceptado por una MT determinista
δ:Q x Γ  P(Q x Γ x {L, R}) --> P = Power set/potencia de estados
IV
ACTIVIDADES
1. Realizar los siguientes ejercicios para entender la Maquina de Turing, las
herramientas utilizadas serán JFlap.
Mgt. Edith Pamela Rivero Tupac
Curso: Teoría de la Computación
Página:
4
V
EJERCICIOS RESUELTOS
1. Ejercicio Nro1:
Lenguaje que acepta:
L = {anbncn | n ≥ 1}
Su diagrama:
2. Ejercicio Nro2:
Una máquina de Turing no determinista M empieza con el estado q0 y tiene los
siguientes estados y δ.
δ: Tabla de transición:
Estado
0
1

q0
{(q1, 0, R)}
{(q1, 0, R)}
{(q1, 0, R)}
q1
{(q1, 1, R), (q2, 0, L)} {(q1, 1, R), (q2, 1, L)}
{(q1, 1, R), (q2, , L) }
q2
{(q3, 0, R)}
{(q2, 1, L)}
{}
q3
{}
{}
{}
Lenguaje: L={w | {0,1}*}
Mgt. Edith Pamela Rivero Tupac
Curso: Teoría de la Computación
Diagrama
Configuración aceptada
Para la cadena: 01110
q0 q1q2q3 con la siguiente configuración:
q0(0;0, R)  q1
q1(1;1, L)  q2
q2(0;0, R)  q3
Mgt. Edith Pamela Rivero Tupac
Página:
5
Curso: Teoría de la Computación
Página:
6
VI
EJERCICIOS PROPUESTOS
1. EJERCICIO Nro 1 (Puntos 4)
a) Reconocer el lenguaje que acepta
b) Proporcionar tres palabras al azar que pertenezcan al lenguaje y revisar el
resultado de la cinta.
c) Reconocer cual es la función que se aplica a la cadena.
2. EJERCICIO Nro 2 (Puntos 5)
Implementar la Maquina de Turing de 2 cintas cuya definición y funcionamiento
sea duplicar una palabra del lenguaje:
Lenguaje: L = {ambnam| m, n ≥ 1}
1. Primer paso, iniciar con la cadena en la cinta 1 y en vacio la cinta 2.
2. Segundo paso, al recorrer la cinta 1, se debe copiar en la cinta 2.
Mgt. Edith Pamela Rivero Tupac
Curso: Teoría de la Computación
Página:
3. Tercer paso, mover la cinta 2 hasta al inicio de la palabra.
4. Cuarto paso, copiar los caracteres de la cinta 2 a la cinta 1.
a) Obtener el diagrama en JFLAP.
b) Ejecutar paso a paso un ejemplo y mostrar la salida para una cadena
elegida.
3. EJERCICIO Nro 3 (Puntos 3)
He aquí la función de transición de una MT no determinista (Ejercicio propuesto
de [1], pagina 291)
M = ({q0,q1,q2},{0,1},{0,1,B}, δ ,q0,B,{q2}):
Mgt. Edith Pamela Rivero Tupac
7
Curso: Teoría de la Computación
Página:
8
Determine la configuración alcanzable a partir de la configuración inicial si la
entrada es:
a) 01.
b) 011.
4. EJERCICIO Nro 4 (Puntos 3)
Considere la máquina de Turing no determinista (Ejercicio propuesto de [1], pagina 292):
M = ({q0,q1,q2,qf },{0,1},{0,1,B},δ ,q0,B,{qf })
δ consta de los siguientes conjuntos de reglas:
δ (q0,0) = {(q0,1,R), (q1,1,R)};
δ (q1,1) = {(q2,0,L)};
δ (q2,1) = {(q0,1,R)};
δ (q1,B) = {(qf ,B,R)}
a) Describa el lenguaje que acepta
b) Realice el diagrama.
c) Determine la configuración alcanzable a partir de la configuración inicial para
alguna cadena elegida.
5. EJERCICIO Nro 5 (Puntos 3)
Recordando los ejercicios de de MT determinista:
a) Obtener la definición formal, puede elegir el nombre de los estados.
b) Proporcionar una palabra al azar que pertenezcan al lenguaje y revisar el
resultado de la cinta.
c) Reconocer cual es la función que se aplica a la cadena.
Mgt. Edith Pamela Rivero Tupac
Curso: Teoría de la Computación
Página:
9
VII
CUESTIONARIO
1. Investigar sobre autómatas finitos no deterministas, ¿Que relación tiene con los
algoritmos BFS y DFS? (2 puntos)
VIII
BIBLIOGRAFÍA
[1] J. E.Hopcroft, R. Motwani and J. D. Ullman, Teoría de autómatas, lenguajes y
computación, Addison Wesley, 2007.
[2] https://www2.cs.duke.edu/csed/jflap/tutorial/turing/multi/index.html
Mgt. Edith Pamela Rivero Tupac
Descargar