AUTOMATAS Y LENGUAJES FORMALES MOMENTOS 3
INTEGRANTE: FELIX FEL IX DARIO DAR IO RACERO RACE RO AREVAL ARE VALO O CODIGO: 88283275
TUTOR: JUAN JOSE VALDES
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA MAYO DEL 2016
INTRODUCCION Un autómata es un modelo matemático para una máquina de estado finito (FSM sus siglas en inglés). Una FSM es una máquina que, dada una entrada de símbolos, "salta" a través de una serie de estados de acuerdo a una función de transición (que puede ser expresada como una tabla). En la variedad común "Mealy" de FSMs, esta función de transición dice al autómata a qué estado cambiar dados un determinado estado y símbolo.
En la unidad se ha visto como el proceso ha ido evolucionando en cuanto a lenguajes y máquinas. De igual manera se estudia y se comprende el funcionamiento de una maquina abstracta, llamada Máquina de Turing, que es aceptada de manera amplia como modelo general de computación, aunque las operaciones básicas de esta máquina son comparables en su sencillez a las de las máquinas estudiadas en las unidades anteriores, las nuevas maquinas pueden realizar una amplia variedad de operaciones de cómputo.
Actividades a desarrollar: Primer Ejercicio Diseñe Una MT que se comporte como reconocedor que reconozca el lenguaje L = {an bn; n >= 1} (NO incluye o NO acepta la cadena λ). El alfabeto de la cinta debe ser diferente al alfabeto de entrada. Es decir el alfabeto de entrada es “a” y el de la cinta “1” con sus respectivos símbolos blanco si es que los necesita en su diseño. 1. Identifique los componentes de la Máquina de Turing (descríbala). En la Maquina de Turing M es un séptuplo M = (Q, Σ, Γ, δ, s, □, F), donde : Es el conjunto finito de estados {q0, q1, q2}. Es el alfabeto de entrada,
{a, b}
Es el alfabeto de la cinta,
{1, 0}
Es el estado inicial, Es el símbolo en blanco, Es el conjunto de estados finales,
{q2}
Es la función de transición
Con las transiciones que se pueden ver, su estado inicial es q0 y el estado final es q2.
qo q1 q2
a
b
(q0 , 1, R) (q1, 1, R)
(q1, 0, R) (q1, 0, R)
(q2, , R)
2. Diséñela en un Diagrama de Moore.
3. Recorra la máquina con al menos una cadena válida explicando lo sucedido tanto en la cinta como en la secuencia de entrada.
Se recorrerá la máquina con la cadena de entrada aab, se plasma en la cinta, a la izquierda y derecha de la cadena de entrada se ubican símbolos vacíos. Al iniciar, el cabezal se encuentra en la posición de inicio, la cinta leerá el primer símbolo de la cadena de entrada (a) a
a
b
Lee el primer símbolo de entrada (a)
La función de transición indica , es decir, que si en la posición ingresa (o se lee) un símbolo a, se debe escribir o reemplazar por el símbolo 1, se permanece en la misma posición ( ) y se desplace a la derecha en la cinta:
1
a
b
Lee el siguiente símbolo de entrada (a)
Al leer el segundo símbolo de entrada (a), la función de transición indica que , es decir que si en la posición se lee un símbolo (a) se debe remplazar por el símbolo 1, permanece en el estado de la cinta 1
1
b
y se desplaza a la derecha
Lee el siguiente símbolo de entrada (b)
Al leer el siguiente símbolo de entrada (b), la función de transición indica que , es decir que si en la posición se lee un símbolo (b) se debe remplazar por el símbolo 0, permanece en el estado
y se desplaza a la derecha
de la cinta 1
1
0 Lee el siguiente símbolo de entrada ( )
En este punto la cinta lee un símbolo de entrada blanco , la función de transición indica que , es decir que se remplaza el símbolo blanco por el símbolo blanco , se mueve a la posición y hace un desplazamiento a la izquierda. Al ser el estado halt (estado final o de aceptación) la maquina se detiene y la cadena es reconocida .
4. Identifique una cadena que no sea válida y justifíquela porque. Tal y como está el diseño se aceptara cualquier combinación de entrada que contenga “a” y “b”, la cadena no será válida si se ingresa únicamente “a” ya que entrara al estado q0 y no pasara al estado q1 y por lo tanto no llegara al estado final q2, en la siguiente imagen se observa lo que sucede al ingresar la cadena “aaaaa”
5. Ejecute el RunTest a una cadena aceptada que tenga al menos cinco símbolos.
6. Identifique en que momento la máquina se detiene. La máquina se detiene cuando encuentra en la cinta un símbolo blanco , en ese momento se mueve al estado el cual reconoce como estado final y en ese momento se termina el proceso
7. Lo que acaba de diseñar es una MUT o una MT. Justifique su respuesta. Es una MT, ya que está diseñada para un cálculo específico. Se diseñó una máquina de Turing porque “la máquina de Turing universal puede simular una máquina de Turing arbitraria” (Wikipedia, 2013) 1 es decir puede funcionar con múltiples propósitos a voluntad de alguna persona. Y la máquina de Turing diseñada funciona únicamente con el propósito de duplicar la entrada de la “a” con una salida en “b”s por lo tanto es una maquina especializada que solo funciona para dicho propósito.
8. Mencione y justifique las semejanzas y diferencias entre una Máquina de Turing reconocedora y una Maquina de Turing Transductora. Transductor: es el que modifica el contenido de la cinta realizando cierta función. MT que sustituye los dígitos por cero MT que añade un bit de paridad a la entrada MT que duplica de 1s que hay en la cinta Si la entrada esa bien formada debe terminar en el estado final Si la entrada no está bien formada debe terminar en un estado no final
Reconocedor: MT capaz de reconocer un lenguaje L. MT capaz de aceptar un lenguaje L MT capaz de reconocer o aceptar un lenguaje L Un MT reconoce un lenguaje L si dada una entada w en la cinta, la MT siempre se para y lo hace en un EF si y solo si: w ϵ L. Una MT acepta un lenguaje, L si dada una entrada w en la cinta la, la MT se para en un estado final si y solo si w ϵ L, asi en este caso, si w ∉ L, la MT podría no parar. MT que reconoce el lenguaje a*b*, MT que acepta el lenguaje an cn bn
Segundo Ejercicio Dada la siguiente máquina de Mealy, M= ({a , b}, {1 , 2}, { q0, q1 , q2 }, T, S)
1. Identifique los componentes de la Máquina (descríbala).
Q: Ent: Sal: Tran: Res: Q0:
{ 0, q1, q2 } {a , b} {1 , 2} T S Q0
2. Diséñela en diagrama (Máquina de Mealy).
3. Recorra la máquina con al menos una cadena válida explicando lo sucedido tanto en la cinta como en la secuencia de entrada. Recorriendo la cadena valida
abba La máquina se posiciona en el estado inicial 0, y analiza el primer símbolo de entrada “ ”, se cambia el símbolo a a 1 y pasa al estado 0
La máquina lee el siguiente símbolo de entrada “ b”, se cambia el símbolo a por 2 y pasa al estado 2
Vuelve a leer el siguiente símbolo de entrada q ue es “b”, se cambia al símbolo 1 y pasa al estado 1
Desde el estado q2 lee el siguiente símbolo de entrada que es “ a”, se cambia al símbolo 1 y pasa al estado 0
Ese era el último símbolo de entrada, entonces se termina la cadena y es aceptada. La cadena ingresada fue abba, y la cadena de salida es 1211
4. Identifique una cadena que no sea válida y justifíquela porque. Se ingresa la cadena no valida abc
Se ingresa los símbolos abc el cual contiene el símbolo c que no se encuentra dentro del alfabeto del autómata para poder que este nos muestra que no acepta un símbolo diferentes a los elementos ab debido a que el autómata por tener la estrella de King en los estados q0 y q1 con símbolo a y b y la relación de q2 a q0 que tiene relación de entrada y de salida hacen que el autómata me reciba o
acepte cualquier cadena que intercale con diferentes interrelaciones entre los símbolos de entrada a y b
5. Ejecute el RunTest a una cadena aceptada que tenga al menos tres símbolos Se realiza el Run -test con la cadena aceptada abb
6. Identifique en que momento la máquina se detiene. La máquina se detiene en el símbolo b con salida 1 dado que no encuentra más símbolos por leer en la cadena ingresada
7. Explique cinco características de la Máquina de Mealy y encuentre cinco diferencias con las Máquinas de Turing (MT). Máquina de Mealy Máquina de Turing (MT) Una Máquina de Mealy (o Transductor de estados finito) también es un autómata finito pero que genera una salida. Es una máquina de estados finita, donde las salidas están determinadas por el estado actual y la entrada. Es menos estable. Para probar un circuito, primero se hace el cambio en la entrada X y después se da el pulso de reloj. Las salidas se encuentran en la arista. Se define como una tupla de 6 (Q, Σ, S, δ, λ, q0)
Las máquinas de Turing tiene un estado inicial, y un estado final o de aceptación. Las máquinas de Turing permiten hacer recorridos en la cinta y cambiar su dirección. Tiene más estados que la Máquina de Mealy. Las Máquinas de Turing deben tener un estado final. Se define como una tupla de 7 (MT = Q, Σ, Γ, δ, q0, B, F) Para aceptar una cadena válida debe tener un estado final o de aceptación. La cinta es de longitud infinita hacia la derecha, hacia donde se extiende indefinidamente, llenándose los espacios
con el carácter blanco
Es definido por una 6-tupla Todos los estados son Finales y solamente uno de ellos es el estado inicial Tiene menor cantidad de número de estados Es menos estable
La máquina de Turing consta de un cabezal lector/escritor y una cinta infinita en la que el cabezal lee el contenido, borra el contenido anterior y escribe un nuevo valor. Con este aparato extremadamente sencillo es posible realizar cualquier cómputo que un computador digital sea capaz de realizar.
TERCER EJERCICIO:
Actividades a desarrollar:
1. Realice la conversión paso a paso de la máquina de Mealy del ejercicio del punto 2 a la máquina de Moore equivalente. Se debe realizar la explicación de cada paso que se realice.
Solucion:
Convirtiendo la máquina de Mealy a Máquina de Moore la cual son equivalentes tenemos:
Máquina de Mealy
Maquina de Moore
M. MEALY
M. MOORE
q: (Q x
q: ( Q x
q: ( q,a) =b
q: ( q) =b
Filas: estado posible de maquina q: Filas: estados posibles máquina q E E Q y Columnas: simbolos del Q alfabeto de entrada am E ∑e
FUNCION MEALY T
TRANSICI N a
b
q0
q0
q2
q1
q0
q1
q2
q0
q1
FUNCION SALIDA
S
a
b
q0
1
2
q1
1
2
q2
2
1
Para Moore nos quedaría así:
FUNCION MOORE T
TRANSICIÓN a
b
q0
q0
q2
q1
q0
q1
q2
q0
q1
FUNCION SALIDA S
a
q0
1
q1
1
q2
2
2. Identifique los componentes de la Máquina (descríbala). Solucion:
Los componentes de la Maquina de Moore son los siguientes:
Se identifica por la quíntupla M = {
Alfabeto de entrada Alfabeto de salida Q = conjunto finito no vacío de estados f = Función de transición f:Qx
Q
f (q,a) = q’/a є
, q’ є Q
g : Función Salida f:Q
, g(q) = b / b є
dónde:
3. Diséñela en un Diagrama de Moore.
Solucion:
4. Recorra la máquina con al menos una cadena válida explicando lo sucedido tanto en la cinta como en la secuencia de entrada.
Solucion:
Para este caso emplearemos la cadena válida “ba”, la cual Cuando inicia el recorrido en q0 ya arranca en el primer carácter de la cadena “a”
Luego al darle el nuevo paso le agrega una b, ubicando el cabezal en q2 y transcribiendo los caracteres de en trada “ba” en “ab”
Y para terminar el recorrido señalado continua su recorrido hacia el estado inicial “q0” leyendo el último carácter de la cadena “ a”, haciendo la transcripción completa en “aba”
5. Identifique una cadena que no sea válida y justifíquela porque.
Solucion:
En este recorrido no acepta la cadena porque del estado q0 al estado q1 es la finalización y en el recorrido “b” una “a” que al terminar le agrega la “b” pero no puede seguir recorriendo.
6. Ejecute el RunTest a una cadena aceptada que tenga la menos cinco símbolos.
Solucion:
Emplearemos una cadena “babaa”, la cual es aceptada ya que cumple sus recorridos completamente.
La anterior cadena hace su recorrido por cada uno de los estados y leyendo cada uno de los caracteres que conforma la cadena “babaa”, transcribiendo los elementos de salida “ababa b” sin ningún tipo de inconveniente.
7. Identifique en que momento la máquina se detiene. Solucion: Si observamos el comportamiento de la anterior máquina, ella se detiene cuando lee y hace la transcripción del último carácter de la cadena ingresada, que para este caso la cadena “babaa” conformada por 5 caracteres es convertida en 6 caracteres “ababab”, deteniéndose en q1, lo cual es una de las características de la máquina de Moore al terminar la secuencia siempre suma un carácter más a los ingresados.
CONCLUSIONES
Podemos concluir hay más de una forma de expresar lenguajes regulares, por medio de autómatas, expresiones y gramáticas,
Existen diversas clasificaciones de las Máquinas de Turing, atendiendo a los estados reconocidos, tipo de cinta, cantidad o división de dichas cintas: MT con directiva de permanecer, MT con cinta infinita en una dirección, MT en dos direcciones, MT multicinta, MT Multidimensional, MT No determinista.
Los simuladores como jflap herramientas esenciales para plasmar un autómata, identificar el lenguaje que reconoce, las cadenas que lee y muchas opciones más como la representación de expresiones regulares a un autómata.
BIBLIOGRAFIA
Modulo. Autómata y lenguajes formales. Unidad 3. Recuperado desde: http://campus06.unad.edu.co/ecbti05/mod/lesson/view.php?id=617
Alex, R. (2011). Máquina de Mealy. Recuperado http://alexrocha.globered.com/categoria.asp?idcat=30
Univalle. Autómatas y Lenguajes. Extraído Abril 21 de 2.016 desde: http://eisc.univalle.edu.co/materias/Computabilidad/material/turing.pdf
desde: