Vous êtes sur la page 1sur 24

AUTOMATAS Y LENGUAJES FORMALES

TRABAJO COLABORATIVO 2

PRESENTADO POR
RAFAEL RICARDO VILLAMIZAR
1.090.387.474
NILGER OSWALDO VILLAMIZAR
LIBARDO BARBOSA

GRUPO: 301405_14

TUTOR
JAIME RUBIANO LLORENTE

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA

COLOMBIA
2015

INTRODUCCION
El siguiente trabajo corresponde al desarrollo del trabajo colaborativo del curso de
Autmatas y lenguajes formales, en el aplicaremos los contenidos temticos que hemos
adquirido del estudio de la unidad dos.
Los lenguajes independientes del contexto que tambin se conocen con el nombre de
gramticas de contexto libre son un mtodo recursivo sencillo de especificacin de
reglas gramaticales con las que se pueden generar cadenas de un lenguaje

EJERCICIOS A DESARROLLAR:
1. Calcular el autmata mnimo correspondiente al siguiente autmata finito.
ACTIVIDADES ANTES DE MINIMIZAR.
1. Enuncie el autmata en notacin matemtica
M K , q 1, , F Donde el conjunto de estados estn compuesto por lo
,
siguiente :
Conjunto de estados K q 0, q 1, q 2, q 3, q4

Alfabeto a, b
Estado inicial q 0
Estado final F q 3
Funcin de transicin est dada por :
: donde interviene los 5 estados q 0, q 1, q 2, q 3, q4
Asociado a los smbolos del alfabetoX a, b q 0, q 1, q 2, q 3, q4
como estado
inicial
y estado
final

q 0
q 3

2. Identifique los componentes del autmata (que tipo de tupla es)

La notacin matemtica
Clasificamos la tupla y los componentes del autmata
Dado el siguiente autmata mnimo correspondiente al siguiente autmata
finito M= (K, , q 0, , F) Donde el conjunto de estados estn compuesto por
lo siguiente:
(Conjunto de estados total 5) K= {q 0, q 1, q 2, q 3, q4}
(Alfabeto) = {a, b}
(Estado inicial) = q 0
(Estado final) F {q 3}
Funcin de transicin est dada por:
: donde interviene los 5 estados{q 0, q 1, q 2, q 3, q4} Asociado a los
smbolos del alfabeto X {a, b} {q 0, q 1, q 2, q 3, q4} como estado inicial
(q 0) y estado final (q 3)
Identificando funcin de los estados
: { q 0, a } = q 0, q 1
: { q 0, b } = q 0
: { q 1, a } = -- : { q 1, b } = q 2
: { q 2, a } = q 4
: { q 2, b } = q 2, q 3
: { q 3, a } = q 4
: { q 3, b } = q 3
: { q 4, a } = -- : { q 4, b } = q 3

3. Identifique el lenguaje que reconoce y enuncie cinco posibles cadenas vlidas


que terminen en el estado halt
Verificando mediante un lenguaje de cadenas y sus tipos que pueden
reconocer:
L= {, E(a, b)} * = lenguaje que genera el autmata compuesto por las
palabras que pertenecen al conjunto del alfabeto para que cumpla cierta
condicin donde puede comenzar con una a o muchas a(s) o con una b o
muchas b(s)

Cadenas validas

4. Encuentre la expresin regular vlida

6. Encuentre su gramtica que sea vlida para la funcin de transicin


(describa sus componentes y como se escriben matemticamente).
Justifquela si la convierte a la Izquierda o a la derecha. Plsmela en el
simulador y recrela. (Debe quedar documentado en el texto el paso a paso
que realizan en el simulador)

7. Realice el rbol de Derivacin de esa gramtica


Como primera instancia convierto a gramtica el autmata finito, generando
de las transiciones me produce nueve producciones

Es una gramtica lineal por la derecha

8. Identifique si ese rbol o gramtica es ambigua o no y plasme las razones


de su afirmacin
La gramtica del rbol no es ambigua, es una gramtica univoca libre de
contexto que tiene asociado un rbol de derivacin para toda la cadena.

ACTIVIDADES PARA EL EJERCICIO A MINIMIZAR O YA MINIMIZADO:


9. Explicar el proceso de Minimizacin (que estados se suprimen y porque).
Paso 1: Se crean dos subconjuntos, uno formado por los estados no finales
y el otro por los estados finales.
No finales
Finales
{q1, q5, q6, q7}
{q0, q2, q3, q4}
Paso 2: Aplicar a los dos subconjuntos formados en el paso anterior, las
transiciones del AFD, en este caso aplicaremos para los subconjuntos la
transicin 0.
No finales
Finales
{q1, q5, q6, q7}
{q0, q2, q3, q4}
0
q2, q7, q7, q7
q1, q1, q1, q7
Paso 3: Se separan del subconjunto los estados de un subconjunto que al
aplicarle la transicin se comporta de manera diferente a los dems estados
del subconjunto. Esto es, el que se desplaza hacia el estado final en nuestro
caso es q1 para los estados no finales y q4 para los estados finales.
No finales
Finales
{q1, q5, q6, q7}
{q1}
{q0, q2, q3}
{q4}
Repetimos el paso dos
Paso 2: Aplicar a los dos subconjuntos formados en el paso anterior, las
transiciones del AFD, en este caso aplicaremos para los subconjuntos la
transicin 1.
No finales
Finales
{q5, q6, q7}
{q1}
{q0, q2, q3}
{q4}

q3, q3, q3,

q1

q6, q5, q4

q4

Repetimos el paso tres


Paso 3: Se separan del subconjunto los estados de un subconjunto que al
aplicarle la transicin se comporta de manera diferente a los dems estados
del subconjunto. Esto es, el que se desplaza hacia el estado final en nuestro
caso es q0 para los estados no finales y q3 para los estados finales.
No finales
{q5, q6, q7}

Finales
{q0, q2} {q3}

{q1}

{q4}

Repetimos el paso dos


Paso 2: Aplicar a los dos subconjuntos formados en el paso anterior, las
transiciones del AFD, en este caso aplicaremos para los subconjuntos la
transicin 1 y 0.
No finales
Finales
{q5, q6, q7}
{q1}
{q0, q2}
{q3}
{q4}
1
q3, q3, q3,
q3
q6, q5
q4
q4
0
q7, q7, q7
q2
q1, q1
q1
q7
Como no se reflejan cambios al aplicar este paso hemos llegado al final de
los procedimientos a seguir por lo tanto tenemos nuestro autmata al
mnimo.
Paso 4: Elaboramos la tabla de transicin del autmata minimizado, en base
a los subconjuntos formados. Para los subconjuntos que tengan ms de un
estado se debe elegir un estado que sea representante del subconjunto y
remplazarlo en la tabla de transicin por su respectivo representante esto
con el fin de eliminar estados repetidos.
Autmata Minimizado
Eliminacin Estados Nuevo Autmata
Estados
1
0
1
0
1
0
Finales
q0
q6
q1
q0
q5 q1
q0
q5 q1
q2
q5
q1
q0
q5 q1
q3

q4

q1

q3

q4

q1

q3

q4

q1

q4

q4

q7

q4

q4

q5

q4

q4

q5

q5
q6
q7

q5
q3
q3

q7
q7
q7

q5
q5
q5

q3
q3
q3

q5
q5
q5

q5

q3

q5

q1

q3

q2

q1

q3

q0

q1

q3

q0

Estados No
finales

Paso 5: En este paso se elabora la tabla de transicin y se grafica el nuevo


autmata minimizado.

Para realizar la tabla de transicin de nuestro autmata minimizado se


ordenaran los estados y se asignan nuevos estados ordenados en base a
las transiciones del autmata minimizado.
Equivalencia ordenada de estados
Nueva tabla de estados
1
q0 = q0
q0
q3
q3 = q1
q2
q1
q4 = q2
q2
q2
q5 = q3
q1
q3
q1= q4
q1
q4

PARTE 2: Disee un AP que dentro de su lenguaje L ={ab}* ;es decir todas las
combinaciones posibles de cadenas conformadas por los smbolos (a) (b) o
conjunto universal de estrellas de kleene, (con pila vaca): exceptuando o
rechazando cadenas como:
3. Grafquelo en JFLAP y realice el Traceback para las transiciones. (Las
columnas para un AP son: El estado en que se encuentra el autmata, lo que falta
por leer de la palabra de entrada, y el contenido de la pila).
Graficado en JFLAP

Traceback para las Transiciones

0
q4
q4
q3
q3
q0

Si hacemos click en Trace se abre otra ventana en la cual nos muestra la


traza de ejecucin para esa cadena.

6. Muestre el diagrama correspondiente de estados.

Diagrama de estados
Para los autmatas con pila se pueden hacer diagramas de estados, similares a los
ya conocidos, pero resultan de poca utilidad prctica ya que el procesamiento
completo de una cadena de entrada depende del contenido de la pila, el cual puede
cambiar en cada paso computacional.
ESTADO
POR LEER
PILA
q
xxy
q
xxy
x
q
xy
xx
q
y
xxy
6. Identifique los contenidos de la pila y el estado de parada.
3. Construccin de Autmatas
Para los siguientes dos autmatas:

23. Identifique la tupla que los define y justifique en que difieren.


Una tupla est definida por:

TUPLA

M=(S,,T,s A)

AUTOMATA A

AUTOMATA B

M=({q6,q2}, {x,y},, q6, {q2})

M=({q5,q0, q4}, {x,y},, q5, {q0,q4})

:=(q6,x) = {q6}
:=(q2,x) = {q2}

:=(q5,x) = {q5}
:=(q0,x) = {q0}
:=(q4,x) = {q4}

:=(q6,y) = {q2}
:=(q2,y) = {q2, q6}

:=(q5,y) = {q0}
:=(q0,y) = {q4}
:=(q4,y) = {q4}

El autmata A difiere del autmata B principalmente en el nmero de estados ya


que para A el nmero de estados es dos mientras que para B es de tres estados,
De igual forma para el autmata A se tiene que posee un solo estado de aceptacin
mientras que el autmata B posee dos estados de aceptacin, Partiendo de estos
hechos notaremos que la funcin de transicin es diferente.
2. Que lenguaje reconoce cada Autmata y justifique si es el mismo o no.

AUTOMATA A
Lenguaje

L= {A {x, y} | A= xn yn ,n
>=1}

AUTOMATA B
L= {A {x, y} | A= xn yn ,n >=1}

El lenguaje que reconocen los dos autmatas es el mismo ya que ambos lenguajes
generan cadenas validas en base a las transiciones del autmata, el lenguaje nos
dice que A pertenece a (x) y (y) tal que A es igual a (xn) y (yn) donde n es mayor
o igual a uno.
25. Identifique si son AFD o AFND. (Tenga en cuenta todas las variables a tener en
cuenta para calificar un autmata o para clasificarlo como tal)
Tanto el autmata A como el autmata B son autmatas finitos no deterministas
AFND. Porque nuestro autmata A en el estado q2 salen dos transiciones con el
mismo smbolo e independientemente de esta regla tambin tiene ms de una
transicin en sus estados. Igual caso para el autmata B este posee ms de una
transicin en uno o mas estados.
Autmata A

Expresin regular

(x*x(y+x)*y)*x*x(y+x)*
Autmata B

Expresin regular

ER= yx*+yx*y(x+y)
4. Gramticas
Sean L1 el lenguaje generado por la gramtica G 1 y L2 el lenguaje generado por la
gramtica G2
S xABy
S xAyzy | xAy
A xzS | B
A xzS | yz |
B yz |
Gramtica G1
Gramtica G2
Gramtica G1
Autmata Finito Diagrama de Moore

Gramtica G2
Autmata Finito Diagrama de Moore

La expresin regular para el autmata de la gramtica G 1 es: xy (zy+yz*) y


La expresin regular para el autmata de la gramtica G 2 es: xy (yz*) y
La Gramtica 1 y la Gramtica 2 generan dos palabras comunes del
lenguaje que son:
xyzy

xyzyzy
Usaremos el simulador para verificar estas palabras:
Verificacin palabra xyzy para la Gramtica 1

Verificacin palabra xyzy para la Gramtica 2

Verificacin palabra xyzyzy para la Gramtica 1

Verificacin palabra xyzyzy para la Gramtica 1

Explicar el proceso de Minimizacin (que estados se suprimen y porque).


Realice la tabla de estados distinguibles.
Cmo se soluciona: Recordemos el teorema 7: Dos autmatas M1 y M2 son
equivalentes, M1 M2, cuando aceptan exactamente el mismo lenguaje.

Para saber si dos estados q1 y q6 son equivalentes, se les pone a ambos como
estado inicial de sendos autmatas M1 y M2 , y se procede a comparar dichos
autmatas. Si stos ltimos son equivalentes, quiere decir que los estados q1 y q6
son equivalentes.}
Si dicha comparacin de AFDs da un resultado de equivalencia, se concluye que
los estados son redundantes
. Una vez que se sabe que dos estados son equivalentes, se puede pensar en
eliminar uno de ellos, para evitar redundancias y hacer ms eficiente a AFD. Sin
embargo, la eliminacin de un estado en el AFD plantea el problema de qu hacer
con las flechas que conectan al estado eliminado con el resto del autmata. Esta
cuestin se resuelve con los siguientes criterios:
Las flechas que salen del estado eliminado son eliminadas.
Las flechas que llegan al estado eliminado son redirigidas hacia su estado
equivalente.
MTODOS PARA LOCALIZAR ESTADOS REDUNDANTES Y MINIMIZAR AFDs
1. DEFINIMOS EL AUTMATA E IDENTIFICAMOS LO QUE VA A CAMBIAR:
Entrada: (el autmata inicial sin minimizar) : Un : M =(K, , q , , F) donde: =
{0,1,2} q Es el estado Inicial F = q0,q1,q4,q5 y K = {q0, q1, q2, q3, q4, q5}
Salida: (un AFD mnimo como resultado): M = (, K, , q0 , F) (ntese que
el alfabeto no cambia)
2. ELIMINAR ESTADOS INACCESIBLES DE M;

En la figura se han identificado los estados q4 y q2 como candidatos a ser


comparados para eliminar (en este caso q4).
Claramente se ve que el estado q0 es inaccesible, (o le llegan transiciones
adems) por tanto, se puede eliminar este estado y sus transiciones. Quedando
como estado inicial q2

Claramente se ve que el estado q1 es inaccesible, (o le llegan transiciones


adems) por tanto, se puede eliminar este estado y sus transiciones

3. IDENTIFICAR ESTADOS DISTINGUIBLES:


Vamos a definir la nocin de estados distinguibles, que intuitivamente quiere decir
que si dos estados son distinguibles, ya no pueden ser equivalentes. La definicin
es inductiva:
Los estados p y q son distinguibles si son incompatibles (es decir, uno es final y el
otro no final). Esta es la base de la induccin. Se puede verificar el ejercicio.
Teorema 9: Dos estados son equivalentes (o redundantes) si no son distinguibles.
Es relativamente sencillo verificar si dos estados son distinguibles.
Resultado final: Al final quedan PAR (q4,q2)
y por lo tanto: q2 - q4
Y el autmata cociente (mnimo) es: M ( { [q2] , [q3] , [q5] } , {1,2} , , [q2] , [q5]
})
Note que se han eliminado los estados q0, q1, q4
Se cambi el estado inicial a q2 y solamente se conserv el estado final q5

BIBLIOGRAFA

Alfonseca, M., J. Sancho, M. A. Orga, Teora de Lenguajes, Gramticas y


Autmatas, Promosoft, 1997.
Cueva L., Juan Manuel, Lenguajes Gramticas y Autmatas, Segunda Edicin,
2001, Universidad de Oviedo.
Daz Vctor, Caete Jos Miguel, Lenguajes Formales y autmatas, Universidad
de Sevilla, 2006
Ferreiro, Emilia y Margarita Gmez Palacio (Comp.) Nuevas perspectivas sobre
los procesos de lectura y escritura. Siglo XXI. Buenos Aires.
H. Contreras, Los fundamentos de la gramtica transformacional, Mxico, siglo
XXI, 1971.
Hopcroft, J.E., R. Motwani, J. D. Ullman, Introduccin a la teora de autmatas,
lenguajes y computacin (2 Edicin), Prentice-Hall, 2000.
J. Nivette: Principios de gramtica generativa. Madrid, Fragua, 1973.
Vidal Lamiquiz, Lingstica Espaola. Publicaciones de la Universidad de Sevilla,
1973.

Vous aimerez peut-être aussi