Você está na página 1de 25

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

Autmatas y Lenguajes formales


Grupo: 301405_84

Trabajo Colaborativo Momento 2

Presentado por:
JUAN CARLOS SEPULVEDA DAZA
Cdigo: 7185224
EDGAR DARIO MUESES PALACIOS
Cdigo: 98353302
JEYSON ANDREY LESMES VERA

Presentado a :
Tutor: Nelson Miguel Sandoval

Escuela De Ciencias Bsicas e Ingeniera (Ingeniera en Sistemas)


CEAD Tunja
Octubre de 2015

PARTE 1: HALLAR EL AUTMATA MNIMO CORRESPONDIENTE al siguiente


autmata finito.

1. Realice la descripcin (notacin) (caracterizacin) matemtica del


autmata. (Antes de minimizar)
Explicacin minimizacin del autmata
Una de las mejores cualidades de los AFD es que existen mtodos
mecnicos para simplificarlos.
La simplificacin es la reduccin en el numero de estados pero que estos
aceptan el mismo lenguaje que antes de la simplificacin
La minimizacin es la obtencin de un autmata con el menor nmero posible
de estados
Los estados redundantes o equivalentes son cuando 2 estados al intercambiar
uno con el otro en cualquier configuracin no altera la aceptacin o rechazo
de toda palabra .
Este autmata es un quntuplo ya que contiene 5 elementos y sus
caractersticas son las siguientes las cuales pude identificar desmenuzando
el ejercicio es decir tome el ejercicio por partes para poder entenderlo mejor.
M = (K, , s, , F)

K= Es el conjunto de estados que posee el autmata.


= (Sigma) Es el alfabeto de entrada
s = Al estado inicial del autmata
= (sigma) Denota una funcin
F=Estado final del autmata
En el desarrollo de este autmata tuve que determinar varias cosas como lo
son:
Identifique los estados del autmata K = {q0, q1, q2, q3, q4, q5, q6, q7, q8}
Identifique el alfabeto de entrada = {0,1}
Identifique el estado inicial del autmata el cual es = q0
Identifique la funcin= : {q0, q1, q2, q3, q4, q5, q6, q7, q8} {0,1} {q0, q1,
q2, q3, q4, q5, q6, q7, q8} q0 {q3, q5, q8,}
Identifique los estados finales del autmata F= q3, q5, q8
Matemtica del autmata. (Antes de minimizar)

M = {q0, q1, q2, q3, q4, q5, q6, q7, q8}, {0,1} q0 {q3, q5, q8}
K = {q0, q1, q2, q3, q4, q5, q6, q7, q8}
= {0,1}
s = q0
F= {q3, q5, q8}
2. Plasme la tabla de transicin del autmata. (No es la que generas VAS).
(Antes de minimizar)
Tabla de transicin antes de minimizar el autmata.


q0
q1
q2
#q3
q4
#q5
q6
q7
#q8

0
q2
q4
q3
q2
q6
q7
q4
q8
q7

1
q1
q5
q4
q6
q7
q1
q8
q4
q6

3. Identifique El Lenguaje que reconoce. (Antes de minimizar)


Debemos plasmar el lenguaje que reconoce el autmata de forma regular o
forma normal.
L = { {0, 1, = {

}}

Esto quiere decir que el lenguaje (L) de todas las posibles cadenas () que
pertenecen () a los smbolos del alfabeto (0 ,1 ) y que estn incluidos en el
conjunto universal (*) es decir todas las posibles combinaciones tal que ( )
esas cadenas () sean iguales a (
, ( ) por lo tanto que empiecen con
un solo (0) o con muchos (0) , con 1 o ms 11111111111 y que termine con
un (1) o con muchos (111111111111111111).
4. Identifique la ER y en una tabla de validacin (puede ser de Excel),
verifique una cadena vlida y una no vlida. Tenga en cuenta la jerarqua de
operadores. (Antes de minimizar)
Para identificar la ER y minimizar el autmata voy a emplear la teora de
conjuntos
Para esto determino 2 conjuntos los cuales sern:
X = Estados aceptadores
Y =Estados no aceptadores
Para mi caso los conjuntos sern:
X = {q3, q5, q8}
Y = {q0, q1, q2, q4, q6, q7}

Procedo a validar mis conjuntos por medio de las tablas


Validacin conjunto x:
Valido q3
= {0,1}

q3

1
y

Valido q5
= {0,1}

q5

1
y

Valido q8
= {0,1}

q8

1
y

Validacin conjunto y:

q0
q1
q2
q4
q6
q7

0
y
y
x
y
y
x

5. Identifique los estados Distinguibles y los No distinguibles


Los estados distinguibles para nuestro autmata son:

1
y
x
y
y
x
y

Estados distinguibles o aceptadores: X = {q3, q5, q8}


Estados no distinguibles o no aceptadores: Y = {q0, q1, q2, q4, q6, q7}
6. Identifique los estados equivalentes (para ello muestre cmo evala esas
equivalencias, colocando a los estados candidatos de equivalencia como
estados iniciales). Evidencie el proceso de cmo los evala.
Identifico los estados equivalentes en x:
X = {q3, q5, q8}

q3

q5

q8

Podemos observar que en el conjunto x los estados equivalentes son todos:


q3, q5, q8
Identifico los estados equivalentes en y:
Y = {q0, q1, q2, q4, q6, q7}

q0
q1
q2
q4
q6
q7

0
y
y
x
y
y
x

1
y
x
y
y
x
y

Los estados q0, q4 son equivalentes (Teniendo presente que q0 es el estado


inicial)
Los estados q1, q6 son equivalentes
Los estados q2, q7 son equivalentes

Por tal razn se generan 3 Conjuntos.


7. En el proceso de eliminacin de estados, identifique que transiciones se
eliminan y cules se re direccionan. Muestre la tabla de estados
distinguibles
Para este proceso eliminamos a (Y) ya que esta cumpli su funcin y
procedemos a crear 3 estados o conjuntos nuevos con el resultado de la
identificacin de estados.
X = {q3, q5, q8}
M = {q0, q4}
N = {q1, q6}
Z = {q2, q7}
Procedemos a validar el nuevo grupo de conjuntos.
Validamos M.
M = {q0, q4}

q0
q4

0
Z
N

1
N
Z

Los estados q0, q4 NO son equivalentes (Teniendo presente que q0 es el


estado inicial) se generan 2 conjuntos mas
Validamos N.

q1
q6

0
M
M

1
X
X

Los estados q1, q6 son equivalentes


Validamos Z.

q2
q7

0
X
X

1
M
M

Los estados q2, q7 son equivalentes


Por consiguiente M desaparece y se generan 2 conjuntos ms
X = {q3, q5, q8}
A = {q0}
B = {q4}
N = {q1, q6}
Z = {q2, q7}
Procedemos a validar el nuevo grupo de conjuntos.
Validamos X.

q3
q5

0
Z
Z

1
N
N

q8

Los estados q3, q5. q8 son equivalentes


Validamos A.

q0

0
Z

1
N

0
N

1
z

0
B
B

1
X
X

Validamos B.

q4

Validamos N.

q1
q6

Recordando que q0 es el estado inicial

Los estados q1, q6 son equivalentes


Validamos Z.

q2
q7

0
X
X

1
B
B

Los estados q2, q7 son equivalentes


Por tal razn ya no hay ningn conjunto que no sea equivalente es por eso
que nuestro autmata ya se encuentra en su estado mnimo y lo conforman
los conjuntos:
X = {q3, q5, q8}
A = {q0}
B = {q4}
N = {q1, q6}
Z = {q2, q7}
Para el caso de los conjuntos (X , N, Z) puedo eliminar cualquier estado sin
que esto afecte su funcionamiento.
X = {q3, q5, q8} Para este conjunto eliminare (q5, q8)
N = {q1, q6} Para este conjunto eliminare (q6)
Z = {q2, q7} Para este conjunto eliminare (q7)
Por tal razn la nueva tabla de transicin del Autmata Minimizado queda de
la siguiente manera:

8. El autmata nuevo minimizado expresarlo o graficarlos en un diagrama de


Moore
Diagrama de Moore para el nuevo autmata minimizado.

9. Realice la descripcin (notacin) (caracterizacin) matemtica del


autmata ya minimizado
Notacin y caracterizacin matemtica del autmata minimizado
La simplificacin es la reduccin en el nmero de estados pero que estos
aceptan el mismo lenguaje que antes de la simplificacin
La minimizacin es la obtencin de un autmata con el menor nmero posible
de estados
Los estados redundantes o equivalentes son cuando 2 estados al intercambiar
uno con el otro en cualquier configuracin no altera la aceptacin o rechazo
de toda palabra .

Este autmata es un quntuplo ya que contiene 5 elementos y sus


caractersticas son las siguientes .
M = (K, , s, , F)
K= Es el conjunto de estados que posee el autmata.
= (Sigma) Es el alfabeto de entrada
s = Al estado inicial del autmata
= (sigma) Denota una funcin
F=Estado final del autmata
Identifique los estados del autmata K = {q0, q1, q2, q3, q4}
Identifique el alfabeto de entrada = {0,1}
Identifique el estado inicial del autmata el cual es = q0
Identifique la funcin= : {q0, q1, q2, q3, q4} {0,1} {q0, q1, q2, q3, q4} q0
{q3}
Identifique el estado final del autmata F= q3
Matemtica del autmata minimizado.

M = {q0, q1, q2, q3, q4}, {0,1} q0 {q3}


K = {q0, q1, q2, q3, q4}
= {0,1}
s = q0
F= {q3}
10. Identifique El Lenguaje que reconoce. (Autmata ya minimizado)
Dado que el autmata que se nos fue planteado en esta gua es un autmata
finito determinista podemos decir que el lenguaje que reconoce este est basado en
todas las posibles cadenas que empiecen con un cero o con un uno o viceversa y esto

no implica que afecte su funcionamiento por lo tanto se puede decir que el lenguaje
que reconoce es el que est dado por cada estado que posee el autmata y con la
entrada de 1,0(Alfabeto de entrada) , habr una transicin posible desde el estado y
con esa entrada

11. Identifique la ER del autmata ya minimizado y en una tabla de validacin


(puede ser de Excel), verifique una cadena vlida y una no vlida. Tenga en
cuenta la jerarqua de operadores.
Para el desarrollo de este punto utilizare el simulador jflap para
representar paso a paso la ER del autmata minimizado
Autmata recreado por medio del simulador

El simulador nos permite por medio de una herramienta que nos permite convertir el
autmata en ER (seleccionamos la opcin convert FA to RE)

Se generan una serie de validaciones de cadenas validas hasta que llega a un


estado final por medio del botn Do it

Le damos exportar y tendremos la ER para nuestro autmata

Por consiguiente la expresin regular es:


(11+00*11+(10+00*10)(00+10*10)*(01+10*11))(11+00*11+(10+00*10)(00+10*10)*(
01+10*11))*

Tabla de validacin echa en exel.

Expresin regular

Cadena valida

11+00*11
10+00*10

01+10*11
11+00*11

10+00*10

Validacin en el simulador.

110011
10000101111
11000011
110000011
1000001011

Cadena No valida
1100111
100000101
11000011110
1100000110
100010

12. (Autmata minimizado) Identifique su gramtica (de forma manual) por la


derecha y caractercela.. Debe incluir el diagrama de estados con los
componentes de la gramtica asociados a las variables y a las constantes.
La gramtica es un conjunto de reglas para formar correctamente las
frases de un lenguaje.
Gramtica libre de contexto = G
Esta es un conjunto de reglas de reemplazo donde las partes izquierda son
de longitud 1
Se representa:
CFG = G
S
1A
S
0B
C
1A
A
1C
B
0B
D
1B
C
0B
B
1A
C
A
0D
D
0A
Una gramtica es un cudruplo (v, , R, s)
V =Alfabeto variable
= Alfabeto constante
R = Conjunto de reglas
S = Smbolo inicial, es un elemento del alfabeto de variables
Estas reglas son vistas como reglas de reemplazo.
Por medio del simulador creamos nueva gramtica damos test y nos dice que
es una gramtica libre de contexto

13. Realice la gramtica por la izquierda (de forma manual) y compare si esta
gramtica acepta o no el mismo lenguaje (cadenas). Justifique y demuestre su
respuesta
Gramtica echa manualmente por la izquierda.
CFG = G
S
S
C
A
B
D
C
B
C
A
D

A1
B0
A1
C1
B0
B1
B0
A1
D0
A0

Al ingresar la cadena valida 110011 podemos darnos cuenta que si acepta la cadena
por lo consiguiente el recorrido hacia la izquierda es aceptado.

14. Con una cadena vlida, genere un rbol de derivacin para la gramtica por la
derecha y demuestre y justifique si la cadena y rbol generado puede ser ambigua
o no.
Lo primero que realizamos es abrir por medio del simulador la interfaz echa
de la gramtica en jflap

Seleccionamos la opcin input y escogemos Brute Force Parse

Seleccionamos cualquier cadena valida que en mi caso ser (110011) y la


digitamos dentro de imput.

Al dar click sobre start podemos darnos cuenta que la cadena si es valida o
aceptada y de esta forma se empieza a crear el rbol de derivacin
Nota:(adjunto la imagen al ingresar una cadena no valida que por consiguiente
genera un error )
Al dar click sobre step vamos creando el rbol de derivacin paso a paso
hasta llegar al estado final o de aceptacin

Al comparar los dos recorridos tanto por la izquierda como por la derecha
podemos determinar que el autmata no es ambiguo ya que no genera un
rbol de derivacin diferente en conclusin:
Tanto el rbol de derivacin por la izquierda como por la derecha son
iguales es decir la gramtica no es ambigua
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:
Cadenas no vlidas.
Las que estn compuestas por uno o muchos smbolos b: ejemplo: {(b)
(bb) (bbb) (bbbb) (bbbbb) (bbbbbb) (bbbbbbb) (bbbbbbbb) (bbbbbbbbb).}
En el diseo que haga es libre determinar si acepta la cadena vaca o no.
El diseo del autmata de pila que voy a realizar reconocer las cadenas
b para cualquier numero natural n

1. Describa el autmata en notacin matemtica.

Este autmata de pila reconoce el lenguaje:


L={

b}*

Tal que estar representado por


siguiente forma:

su sptupla la cual se representa de la

Matemtica del autmata


AP = {Q, V, , ,q0, Z0, F}
Q = Conjunto de estados del AP ( {q0, q1})
V = Alfabeto {a, b}
= alfabeto de la pila {Z0, , 1}

2. Determine el lenguaje que reconoce el AP.


Este autmata de pila reconoce el lenguaje:
L={

b}*

Por consiguiente el lenguaje que reconocer el autmata de pila estar


compuesto por las palabras que pertenecen al conjunto alfabeto (V) que
pertenecen a los estados (Q) y que entraran dentro del alfabeto de pila (), por
tal razn se tienen que cumplir ciertas condiciones como comenzar con una o
muchas (a) y solo una (b).
Por consiguiente: L = {.

,b)} *

3. Justifique y asocio o evidencie si el diseo es un APND o un APD


4. Grafquelo en JFLAP y realice el Trace back 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).
Traficacin del autmata por medio de jflap
Lo primero que debemos realizar es elegir dentro de la consola de jflap la
opcin Pushdown Automaton

Seleccionamos Mltiple charcter Input


Procedemos a construir el autmata de pila.

Seleccionamos la opcin de input y elegimos step by state y en la ventana que


se abre digitamos la cadena para nuestro autmata de pila que en mi caso ser
(aab), damos aceptar

Se generara una nueva ventana para verificar el paso a paso de la funcin

Para verificar la condicin que se nos plantea en el ejercicio la cual es:

Cadenas no vlidas.
Las que estn compuestas por uno o muchos smbolos b: ejemplo: {(b)
(bb) (bbb) (bbbb) (bbbbb) (bbbbbb) (bbbbbbb) (bbbbbbbb) (bbbbbbbbb).}
Procedemos a ejecutar el multiple run para ingresar las cadenas validas y las no
validas

Como se puede apreciar el autmata cumple con las condiciones que se nos
fueron planteadas
Para realizar el Trace back dentro de la table text size seleccionamos
cualquier cadena que haya ingresado presiono view trace y de esta manera
se nos genera el Trace back

5. Plasme las imgenes del recorrido de ese Trace back para cada
movimiento en el documento. (Se debe apoyar en JFLAP) (Documente el
proceso)
Recorrido del Trace Back

Seleccionamos input , seguido de Step with closure se abrir una nueva


ventana all digitaremos la cadena y se abrir una nueva ventana que nos
demostrara el recorrido paso por paso en mi caso ser con (aab)

Se abrir la ventana que nos mostrara el paso a paso de esta cadena.

Damos click en step y nos mostrara el rrecorrido.

Como se puede apreciar despus del recorrido o la validacin llega a su estado


final

6. Muestre el diagrama correspondiente de estados.


Para realizar el diagrama de estados para el autmata de pila tomare la
cadena valida (aab) empleando los pasos del punto anterior para poder
observar cmo es su recorrido y as generar el diagrama de estados.

Estado
q0
q0
Q0
Q1

Por Leer
aab
ab
b

Pila
Z0
1
1
Z0

7. Determine si su diseo acepta o no la cadena vaca y explique por qu en


cualquier caso, demostrando el recorrido o comportamiento de la Pila para
ese evento. (Evidencindolo).
Mi diseo no acepta las cadenas vacas.
Demostracin del recorrido

Você também pode gostar