Sei sulla pagina 1di 30

MOMENTO 3

JAVIER MARMOLEJO SERRANO CC16.276.985


LORENA SALGADO GUTIERREZ CC29818267
NORMAN CONSTANZA GALLEGO CC
OMAR MONTAO CC

Trabajo presentado al Tutor


VICTOR FERNANDO CAON RODRIGUEZ
En el curso de
AUTOMATAS Y LENGUAJES FORMALES
GRUPO 301405_20

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


FACULTAD DE CIENCIAS BASICAS E INGENIERIA
INGENIERA DE SISTEMAS
CEAD PALMIRA
MAYO 2016
PALMIRA
INTRODUCCION

En las unidades anteriores, hemos vistos una serie de mquinas abstractas que
sirven para reconocer un lenguajes y dan solucin a un algoritmos, de igual forma
hemos estudiados las expresiones y las gramticas, otra forma de expresar
lenguajes.
En esta nueva unidad se ha visto como el proceso ha ido evolucionando en cuanto
a lenguajes y mquinas. De igual manera se estudia y se comprende el
funcionamiento de 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.
Este curso se tratar bsicamente de formalizacin de lenguajes, de las mquinas
abstractas (o autmatas) que reconocen estos lenguajes de las Teora de
autmatas y lenguajes formales y de las gramticas que generan estos lenguajes,
elaborando este trabajo para aplicar y comprender mejor el tema.

OBJETIVOS

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
Conocer las partes que conforman una Maquina de Turing
Comprender el funcionamiento de cada uno de sus componentes, de la
mquina de Turing.
Demostrar el poder de cmputo que tiene una Mquina de Turing.

Actividades a desarrollar:

Primer Ejercicio
Disee 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 smbolos blanco si es que los necesita en su
diseo.
1. Identifique los componentes de la Mquina de Turing (descrbala).
En la Maquina de Turing M es un sptuplo 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 smbolo en blanco,
Es el conjunto de estados finales,

{q2}

Es la funcin de transicin

Con las transiciones que se pueden ver, su estado inicial es q0 y el estado final es
q2.

qo
q1
q2

a
(q0 , 1, R)
(q1, 1, R)

b
(q1, 0, R)
(q1, 0, R)

(q2, , R)

2. Disela en un Diagrama de Moore.

3. Recorra la mquina con al menos una cadena vlida explicando lo


sucedido tanto en la cinta como en la secuencia de entrada.

Se recorrer la mquina con la cadena de entrada aab, se plasma en la cinta, a la


izquierda y derecha de la cadena de entrada se ubican smbolos vacos. Al iniciar,
el cabezal se encuentra en la posicin de inicio, la cinta leer el primer smbolo de
la cadena de entrada (a)
a

Lee el primer smbolo de entrada (a)

La funcin de transicin indica

, es decir, que si en la posicin

ingresa (o se lee) un smbolo a, se debe escribir o reemplazar por el smbolo 1, se


permanece en la misma posicin ( ) y se desplace a la derecha en la cinta:

b
Lee el siguiente smbolo de entrada (a)

Al leer el segundo smbolo de entrada (a), la funcin de transicin indica que


, es decir que si en la posicin

se lee un smbolo (a) se debe

remplazar por el smbolo 1, permanece en el estado

y se desplaza a la derecha

de la cinta
1

b
Lee el siguiente smbolo de entrada (b)

Al leer el siguiente smbolo de entrada (b), la funcin de transicin indica que


, es decir que si en la posicin

se lee un smbolo (b) se debe

remplazar por el smbolo 0, permanece en el estado

y se desplaza a la derecha

de la cinta
1

Lee el siguiente smbolo de entrada ( )

En este punto la cinta lee un smbolo de entrada blanco , la funcin de transicin


indica que
smbolo blanco
izquierda. Al ser

, es decir que se remplaza el smbolo blanco


, se mueve a la posicin

por el

y hace un desplazamiento a la

el estado halt (estado final o de aceptacin) la maquina se

detiene y la cadena es reconocida.

4. Identifique una cadena que no sea vlida y justifquela porque.

Tal y como est el diseo se aceptara cualquier combinacin de entrada que


contenga a y b, la cadena no ser vlida 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


smbolos.

6. Identifique en que momento la mquina se detiene.


La mquina se detiene cuando encuentra en la cinta un smbolo blanco
momento se mueve al estado

, en ese

el cual reconoce como estado final y en ese

momento se termina el proceso


7. Lo que acaba de disear es una MUT o una MT. Justifique su respuesta.
Es una MT, ya que est diseada para un clculo especfico.
Se dise una mquina de Turing porque la mquina de Turing universal puede
simular una mquina de Turing arbitraria (Wikipedia, 2013) 1 es decir puede
funcionar con mltiples propsitos a voluntad de alguna persona. Y la mquina de
Turing diseada funciona nicamente con el propsito de duplicar la entrada de la
a con una salida en bs por lo tanto es una maquina especializada que solo
funciona para dicho propsito.
8. Mencione y justifique las semejanzas y diferencias entre una Mquina de
Turing reconocedora y una Maquina de Turing Transductora.
Transductor: es el que modifica el contenido de la cinta realizando cierta funcin.
MT que sustituye los dgitos por cero
MT que aade 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 podra no
parar.
MT que reconoce el lenguaje a*b*,
MT que acepta el lenguaje an cn bn

Segundo Ejercicio
Dada la siguiente mquina de Mealy,
M= ({a , b}, {1 , 2}, { q0, q1, q2 }, T, S)

1. Identifique los componentes de la Mquina (descrbala).

Q:
{ 0, q1, q2 }
Ent:
{a , b}
Sal:
{1 , 2}
Tran: T
Res: S
Q0:
Q0
2. Disela en diagrama (Mquina de Mealy).

3. Recorra la mquina con al menos una cadena vlida explicando lo


sucedido tanto en la cinta como en la secuencia de entrada.
Recorriendo la cadena valida
abba
La mquina se posiciona en el estado inicial 0, y analiza el primer smbolo
de entrada , se cambia el smbolo a a 1 y pasa al estado 0

La mquina lee el siguiente smbolo de entrada b, se cambia el smbolo a por 2 y


pasa al estado 2

Vuelve a leer el siguiente smbolo de entrada que es b, se cambia al


smbolo 1 y pasa al estado 1

Desde el estado q2 lee el siguiente smbolo de entrada que es a, se


cambia al smbolo 1 y pasa al estado 0

Ese era el ltimo smbolo 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 vlida y justifquela porque.


Se ingresa la cadena no valida abc

Se ingresa los smbolos abc el cual contiene el smbolo c que no se encuentra


dentro del alfabeto del autmata para poder que este nos muestra que no acepta
un smbolo diferentes a los elementos ab debido a que el autmata por tener la
estrella de King en los estados q0 y q1 con smbolo a y b y la relacin de q2 a q0
que tiene relacin de entrada y de salida hacen que el autmata me reciba o
acepte cualquier cadena que intercale con diferentes interrelaciones entre los
smbolos de entrada a y b
5. Ejecute el RunTest a una cadena aceptada que tenga al menos tres
smbolos
Se realiza el Run -test con la cadena aceptada abb

6. Identifique en que momento la mquina se detiene.

La mquina se detiene en el smbolo b con salida 1 dado que no encuentra ms


smbolos por leer en la cadena ingresada

7. Explique cinco caractersticas de la Mquina de Mealy y encuentre cinco


diferencias con las Mquinas de Turing (MT).
Mquina de Mealy
Una Mquina de Mealy (o Transductor de estados finito) tambin es un autmata
finito pero que genera una salida.
Es definido por una 6-tupla
Todos los estados son Finales y solamente uno de ellos es el estado inicial
Tiene menor cantidad de nmero de estados
Es menos estable
Mquina de Turing (MT)
Las mquinas de Turing tiene un estado inicial, y un estado final o de aceptacin.
Las mquinas de Turing permiten hacer recorridos en la cinta y cambiar su
direccin.
La cinta es de longitud infinita hacia la derecha, hacia donde se extiende
indefinidamente, llenndose los espacios con el carcter blanco
La mquina 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 cmputo
que un computador digital sea capaz de realizar.
EJERCICIO TRES

1. Realice la conversin paso a paso de la mquina de Mealy del


ejercicio del punto 2 a la mquina de Moore equivalente. Se debe
realizar la explicacin de cada paso que se realice
Teniendo en cuenta la mquina de Mealy
ME = ({a, b}, {1,2}, {q0, q1, q2}, T, S)
Funcin
T
q0
q1
q2

de transicin f
a
b
q0
q2
q0
q1
q0
q1

Funcin de salida
S
a
q0
1
q1
1
q2
2

b
2
2
1

Comenzando el proceso de conversin a una mquina de Moore equivalente:


MO = ({a, b}, {1,2}, {Q, t, s)
Donde:
t (q0, a) = q0, S (q0, a) = 1 entonces
q01 Q; s (q01) = 1; t (q01, a) = q01; t (q02, a) = q01
t (q0, b) = q2, S (q0, b) = 2 entonces
q22 Q; s (q22) = 2; t (q01, b) = q22; t (q02, b) = q22
T (q1, a) = q0, S (q1, a) = 1 entonces
q01 Q; s (q01) = 1; t (q11, a) = q01; t (q12, a) = q01
T (q1, b) = q1, S (q1, b) = 2 entonces
q12 Q; s (q12) = 2; t (q11, b) = q12; t (q12, b) = q12
T (q2, a) = q0, S (q2, a) = 2 entonces
q02 Q; s (q02) = 2; t (q21, a) = q02; t (q22, a) = q02
T (q2, b) = q1, S (q2, b) = 1 entonces
q11 Q; s (q11) = 1; t (q21, b) = q11; t (q22, b) = q11

Nos quedar entonces Q = {q01, q22, q12, q02, q11}, vemos entonces que el
estado q21 nunca ha sido creado, por lo tanto, se anularn todas las
transiciones correspondientes a dicho estado.
Funcin
t
q01
q22
q12
q02
q11

de transicin t
a
b
1
q0
q22
2
q0
q11
q01
q12
1
q0
q22
q01
q12

Funcin de salida s
s
q01
1
q22
2
2
q1
2
q02
2
1
q1
1

Comparacin de Mquina de Mealy con Mquina de Moore

MM

MO

2. Identifique los componentes de la Mquina de Moore (descrbala)


Se define por la quntupla ME = (E, S, Q, f, g)
E: Alfabeto de entrada
S: Alfabeto de salida
Q: Conjunto finito vaco de estados
f: Funcin de transicin

g: Funcin de salida

3. Disela en un diagrama de Moore

4. Recorra la mquina con al menos una cadena vlida explicando lo


sucedido tanto en la cinta como en la secuencia de entrada

Para comprobar la validez de las cadenas utilizaremos la cadena con la que se


trabaj en la mquina de Mealy.
Cadena a comprobar baba

Cuando simulamos en la mquina de Moore la cadena baba aparece la cinta


ingresando en el estado inicial q0 un 1.

Ejecutamos step para mirar el siguiente dato ingresa b en el estado q2

saliendo 2, luego pasa al estado q4 leyendo a con salida 2, regresa q2 y lee


b con salida 2, y nuevamente llega a q4, donde lee el ultimo carcter a
mostrando 2. Esto representa que est leyendo y recorriendo como alfabeto de
entrada baba, asigna inicialmente un 1, luego, 2222 como final. Igual que en la
mquina de Mealy convierte baba en 2222, pero en Moore asigna inicialmente
el valor de 1 en la entrada de la cinta y luego lee la cadena vlida baba.
5. Identifique una cadena que no sea vlida y justifquela porque
Ahora para probar una cadena no vlida simulo abcab

El simulador acepta la cadena, la cinta empieza a mostrar el recorrido en el


autmata

Al iniciar lee 1 como entrada, estado inicial q0, siguiente paso leo a y muestra
1, leo ahora b y muestro 2

Al continuar el recorrido la cinta lee c, pero por ser un smbolo diferente al


alfabeto de entrada, se detiene y termina su recorrido en el estado q2.

6. Ejecute el RunTest a cada cadena aceptada que tenga al menos cinco


smbolos

Cadena bbbbb -> 121222

Cadena aaaaa -> 111111

7. Identifique en que momento la mquina se detiene

La mquina se detiene cuando se lee el ltimo smbolo del alfabeto de entrada y al


mostrar su salida.
Para el caso de la cadena bbbbb -> 121222
Se desplaza desde el estado q0 al q2, q3, q1, q1 y termina leyendo b en el estado
q1 mostrando como ltimo dato de salida 2.
Para la cadena aaaaa -> 111111
Se inicia la lectura desde q0, por ser el smbolo de entrada solamente a, se realiza
el ciclo en el estado q0 y termina en este mismo, al leer la ltima a mostrando
como salida el ultimo 1.

CONCLUSIONES

El tema de los autmatas y lenguajes regulares, es bastante complejo del


cual se dispone de mucho tiempo y cuidado.
Hay ms de una forma de expresar lenguajes regulares, por medio de
autmatas, expresiones y gramticas,
La mquina de Turing, es la mquina abstracta con una amplia capacidad
de cmputo que cualquier otra mquina, ubicada dentro de los lenguajes
estructurados por frases.
Los simuladores como jflap herramientas esenciales para plasmar un
autmata, identificar el lenguaje que reconoce, las cadenas que lee y
muchas opciones ms como la representacin de expresiones regulares a
un autmata.
Poco a poco vamos avanzando hacia los lenguajes de programacin de alto
nivel.

BIBLIOGRAFIA

Wikipedia. Autmatas y Lenguajes. Extrado Abril 21 de 2.016 desde:


http://es.wikipedia.org/wiki/Lenguaje_formal
Unad. Modulo Autmatas y lenguajes formales. Extrado Abril 21 de 2.016 desde:
http://campus06.unad.edu.co/ecbti05/course/view.php?id=115
Univalle. Autmatas y Lenguajes. Extrado Abril 21 de 2.016 desde:
http://eisc.univalle.edu.co/materias/Computabilidad/material/turing.pdf

Potrebbero piacerti anche