Anda di halaman 1dari 25

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

FACULTAD DE CIENCIAS BASICAS TECNOLOGÍA E INGENIERÍA

AUTOMATAS Y LENGUAJES FORMALES

UNIDAD 2 Fase 2

TUTOR:
CESAR JIMENEZ

LUIS ADOLFO GANTIVA CÓD. 80.253.287

Grupo 301405_68

INGENIERIA DE SISTEMAS
CEAD JOSE ACEVEDO Y GOMEZ
Bogotá D.C Noviembre de 2017
CONTENIDO
INTRODUCCIÓN ................................................................................................. 3
OBJETIVOS ......................................................................................................... 4
DESARROLO ........................................................................................................ 5
BIBLIOGRAFIA .....................................................................................................25
INTRODUCCIÓN

En el siguiente trabajo se presenta el desarrollo de los ejercicios de la unidad 3 fase


4 de la materia Autómatas y lenguajes formales. Se deben desarrollar los ejercicios
de MT y Mealy.
OBJETIVOS

General: Realizar los ejercicios de MT

Específicos:

Realizar la presentación máquina de Turing

Definir las características de MT

Identificar los tipos de gramáticas


DESARROLO

Ejercicio 1:

Diseñe una MT que se comporte como reconocedor que su lenguaje sea


{a,b} que acepte cadenas que empiecen y terminen en el mismo símbolo.

1. Identifique los componentes de la Máquina de Turing (descríbala).


Es un dispositivo hipotético que es capaz de leer unos signos o símbolos que
están grabados en una cinta teniendo en cuenta unas reglas determinadas. Y este
puede simular cualquier algoritmo de un computador. Es una maquina muy
sencilla, y está formada por tres elementos que son:
Una cinta que está dividida en celdas y cada celta tiene un determinado símbolo o
signo
Control de estado: almacena el estado corriente de M.
Cabeza de lectura y de escritura. Este dispositivo fuera de estas funciones puede
desplazarse hacia la izquierda, o hacia la derecha.
La definición formal de la máquina de turing es:
𝑴𝑻 = (Г, 𝚺, 𝒃, 𝑸, 𝒇, 𝒒𝟎 , 𝑭)

Г 𝑒𝑠 𝑒𝑙 𝑎𝑙𝑓𝑎𝑏𝑒𝑡𝑜 𝑑𝑒 𝑙𝑎 𝑐𝑖𝑛𝑡𝑎

𝚺 𝑒𝑠 𝑒𝑙 𝑎𝑓𝑎𝑏𝑒𝑡𝑜 𝑑𝑒 𝑒𝑛𝑡𝑟𝑎𝑑𝑎

𝒃 ∈ Г 𝑠𝑖𝑚𝑏𝑜𝑙𝑜 𝑒𝑠𝑝𝑒𝑐𝑖𝑎𝑙 . 𝑒𝑠𝑝𝑎𝑐𝑖𝑜 𝑒𝑛 𝑏𝑙𝑎𝑛𝑐𝑜, , pero no está incluido en el 𝚺, TB se


representa como □

𝑸 𝑒𝑠 𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑓𝑖𝑛𝑖𝑡𝑜 𝑦 𝑛𝑜 𝑣𝑎𝑐𝑖𝑜 𝑑𝑒 𝑙𝑜𝑠 𝑒𝑠𝑡𝑎𝑑𝑜𝑠 𝑑𝑒𝑙 𝑎𝑢𝑡𝑜𝑚𝑎𝑡𝑎

𝒇 𝑒𝑠 𝑙𝑎 𝑓𝑢𝑛𝑐𝑖𝑜𝑛 𝑑𝑒 𝑡𝑟𝑎𝑛𝑠𝑖𝑐𝑖𝑜𝑛 𝑄𝑥𝐺


→ 𝑄𝑥𝐺𝑥 {𝐼, 𝐷, 𝑃} (𝐼: 𝑖𝑧𝑞𝑢𝑖𝑒𝑟𝑑𝑎, 𝐷: 𝑑𝑒𝑟𝑒𝑐ℎ𝑎, 𝑃: 𝑝𝑎𝑟𝑎𝑑𝑎)

𝒒𝟎 𝝐 𝑸 𝑒𝑠 𝑒𝑙 𝑒𝑠𝑡𝑎𝑑𝑜 𝑖𝑛𝑖𝑐𝑖𝑎𝑙

𝑭 ⊂ 𝑸 𝑒𝑠 𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑒 𝑒𝑠𝑡𝑎𝑑𝑜𝑠 𝑓𝑖𝑛𝑎𝑙𝑒𝑠 𝑑𝑒 𝑎𝑐𝑒𝑝𝑡𝑎𝑐𝑖ó𝑛 (𝐹 ≠ ∅)

2. Diséñela en un Diagrama de Moore.

𝜹 (q0,a) (a,r,q1)

𝜹 (q0,b) (b,r,q2)

𝜹 (q1,a) (a,r,q1)

𝜹 (q1,a) (1,r,q1)

𝜹 (q1,□) (□,l,q3)

𝜹 (q2,a) (a,r,q2)

𝜹 (q2,b) (b,r,q2)
𝜹 (q2, □) (□,l,q4)

𝜹 (q3,a) (a,r,q5)!

𝜹 (q4,a) (a,r,q5)!

Ejercicio realizado en la pagina http://morphett.info/turing/turing.html#SyntaxInfo


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.

En este ejercicio utilizaremos la cadena aba. Cuando iniciamos la simulación, el


programa se pone en inicio y lee el primer carácter.
Cuando el carácter que es leído es a, mantiene la a, se desplaza a la derecha y
busca q1.

Al estar en q1, lee los caracteres que están en la cadena y se mantiene en q1,
cuando encuentra un espacio blanco, no hace ningun cambio y se desplaza a la
izquierda y busca q3.
Estando en q3, lee el carácter a, mantiene la a, y se desplaza a q5 que es un
estado da aceptación.

4. Identifique una cadena que no sea válida y justifíquela porque.


La palabra que no es válida es la siguiente bba. Lee el primer carácter, en este
caso es b, mantiene la b y se desplaza hacia la derecha y busca q2.
Estando en q2, lee todos los caracteres que tiene la palabra hasta que encuentra
un espacio en blanco. Cuando lo encuentra, mantiene el espacio en blanco, se
desplaza hacia la izquierda y busca q4.
Estando en q4, espera que llegue una b, para pasar al estado de aceptación que
es q5. Pero como no llega se queda en q4, que es un estado de no aceptación.
5. Lo que acaba de diseñar es una MUT o una MT. Justifique su respuesta.

Es una MT, porque solo puede funcionar con el lenguaje especificado. Si le


introducen otro lenguaje no hace nada.

Ejercicio 2
Teniendo en cuenta la siguiente tabla de transición de una máquina de Mealy,
realice:
f Entrada
Estado 0 1
q0 q1 q0
q1 q3 q0
q2 q1 q2
q3 q2 q1

G Entrada
Estado 0 1
q0 1 0
q1 1 1
q2 0 1
q3 0 0

1. Identifique los componentes de la Máquina (descríbala).


𝑀𝑀 = (𝑄, ∑, 𝛤, 𝑞0 , 𝛿, 𝛼)
Se tiene:
𝑄 = {𝑞0, 𝑞1, 𝑞2, 𝑞3}
∑ = {0,1} 𝑒𝑠 𝑒𝑙 𝑎𝑙𝑓𝑎𝑏𝑒𝑡𝑜 𝑑𝑒 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 𝑑𝑜𝑛𝑑𝑒 ц ∉ ∑
𝛤 = {0,1,2} 𝑒𝑠 𝑒𝑙 𝑎𝑙𝑓𝑎𝑏𝑒𝑡𝑜 𝑑𝑒 𝑠𝑎𝑙𝑖𝑑𝑎

𝑀𝑀 = ({𝑞0, 𝑞1, 𝑞2, 𝑞3}, {0,1}, {0,1}, 𝑞0 , 𝛿, 𝛼)


𝛿 𝑒𝑠 𝑙𝑎 𝑓𝑢𝑛𝑐𝑖ó𝑛 𝑑𝑒 𝑡𝑟𝑎𝑛𝑠𝑖𝑐𝑖ó𝑛 𝑑𝑒 𝑒𝑠𝑡𝑎𝑑𝑜𝑠 𝑦 𝑒𝑠𝑡á 𝑑𝑒𝑓𝑖𝑛𝑖𝑑𝑎 𝑝𝑜𝑟:

𝛿(𝑞0,0) = 𝑞1
𝛿(𝑞0,1) = 𝑞0
𝛿(𝑞1,0) = 𝑞3
𝛿(𝑞1,1) = 𝑞0
𝛿(𝑞2,0) = 𝑞1
𝛿(𝑞2,1) = 𝑞2
𝛿(𝑞3,0) = 𝑞2
𝛿(𝑞3,1) = 𝑞1

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.

Se ingresa la cadena “10100” en jflap y ver su recorrido


Para iniciar el proceso el cabezal de la maquina se posiciona sobre el estado inicial
q0

El siguiente paso la maquina transita del estado q0 al mismo estado q0 por medio
de la transición 1 escribiendo en la cinta el numero 0 luego el cabezal avanza un
espacio a la derecha de la cinta.
En el siguiente pantallazo la máquina pasa del estado q0 al estado q1 mediante la
transición 0 escribiendo en la cinta el número 1 luego el cabezal adelanta un espacio
a la derecha de la cinta.

La máquina pasa del estado q1 al estado q0 mediante la transición 1 escribiendo en


la cinta el número 1 luego el cabezal avanza un espacio a la derecha de la cinta.
La máquina pasa del estado q0 al estado q1 mediante la transición 0 escribiendo en
la cinta el número 1 luego el cabezal avanza un espacio a la derecha de la cinta

La máquina pasa del estado q1 al estado q3 mediante la transición 0 escribiendo en


la cinta el número 1 luego el cabezal avanza un espacio a la derecha de la cinta y
termina el recorrido
4. Realice la conversión paso a paso de máquina de Mealy a máquina de
Moore

En primera instancia se diseña la tabla de la máquina Mealy:


0 1

Estado Salida Estado Salida

q0 q1 1 q0 0

q1 q3 1 q0 1

q2 q1 0 q2 1

q3 q2 0 q1 0

Ahora con base a esta tabla se diseña los posibles estados equivalente, para la
maquina Moore basándonos en la tabla de arriba:

Posibles estados
q0
q11
q00
q31
q01
q10
q21
q20
Ahora sí, ya con estas tablas se procede a crear la tabla de equivalencia para la
maquina Moore.

0 1
Estado Salida Estado Salida

q0 q11 1 q00 0
q00 q11 1 q00 0
q01 q11 1 q00 0
q10 q31 1 q01 1
q11 q31 1 q01 1
q20 q10 0 q21 1
q21 q10 0 q21 1
q31 q20 0 q10 0

Con base a esta tabla hacemos nuestro diagrama en Jflap:

Estos pantallazos prueban de su equivalencia con el diagrama Mealy


5. Explique cinco características de la Máquina de Mealy y encuentre cinco
diferencias con las Máquinas de Moore.

Características Maquina Mealy:

Las máquinas de Mealy, son en esencia máquinas traductoras, ya que dada una
palabra en la entrada generan otra palabra en la salida. Por lo expuesto en el párrafo
anterior, para producir la correspondiente transformación estas máquinas deberán
estar compuestas por:

 Dos cintas asociadas, una que permita alojar una cadena de símbolos a la
entrada, que serán leídos uno por vez, y otra cinta que permita registrar las
salidas que se irán produciendo en la ejecución de la máquina.
 Deberán contener un conjunto finito de estados, los que son capaces de
memorizar, en cada momento la parte de la palabra de entrada leída en ese
instante de tiempo, cambiar de estado y producir una salida.
 Es importante resaltar que, en un determinado intervalo de tiempo, las
máquinas secuenciales realizarán tres acciones que serán indivisibles
(consideradas como una unidad), las cuales son:

1. Realizan una lectura sobre la cinta de entrada.


2. Cambiar de estado.
3. Grabar un símbolo en la cinta de salida
 Otra característica importante a destacar sobre este tipo de máquinas, es
que no disponen de un estado inicial previsto, por lo tanto, en el momento de
comenzar su funcionamiento podrán hacerlo desde cualquiera de sus
estados, produciendo eventualmente salidas diferentes.
 Determina sus salidas dependiendo de los estados presentes de la máquina
y de las entradas.
Diferencias
Máquina de Mealy Máquina de Moore
 Las salidas están en función de  Las salidas están en función del
dos, el estado presente y las estado presente solamente.
entradas.
 Reacciona más rápido a las  En las máquinas de Moore se
entradas. necesita más lógica para
descodificar las salidas, debido
a que cuenta con más retrasos
de circuito.
 Tiene menos estados que la  Tiene más estados que la
máquina de moore. máquina de Mealy.
 Cuando llega un pulso de reloj,  En la máquina de Moore, la
se captura el nuevo estado. salida se toma directamente del
Defecto: Con el pulso de reloj se registro, por lo que no necesita
captura el nuevo estado y el L/C lógica combinacional para
recalcula otro estado y una sintetizar la salida.
nueva salida.
 En los circuitos de Mealy las  En los circuitos de Moore las
salidas únicamente son función
salidas son función del estado y
del estado.
de las entradas.
BIBLIOGRAFIA
Rosenfeld, D. (2016). Compatibilidad, Complejidad computacional y verificación
de programas. (pp. 7 - 27). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=1120161
6&ppg=12
Alfonseca C, E., Alfonseca M, M., Mariyón S, R. (2009). Teoría de autómatas y
lenguajes formales. (pp. 7-797). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=1049845
6&ppg=6
Oscar Pulido (2012), Maquinas de estados. Recuperado de:
https://www.youtube.com/watch?v=KRE-igv2Adg

Andres Flores (2015), Maquinas de estado 1ra parte. Recuperado de:


https://www.youtube.com/watch?v=g6JkqUUvPNk

Anda mungkin juga menyukai