Está en la página 1de 20

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

FACULTAD DE CIENCIAS BASICAS TECNOLOGÍA E INGENIERÍA

AUTOMATAS Y LENGUAJES FORMALES

UNIDAD 2 FASE 2 – DEBATIR Y DESARROLLAR LOS EJERCICIOS


PLANTEADOS SOBRE AUTOMATAS CON PILA Y GRAMATICAS

TUTOR:
CESAR JIMENEZ

PRESENTADO POR:
Oscar Javier Delgado - Código: 80217860
Javier Alexander Anaya Moreno – Código: 80188959
Helbert Hernández – Código: 80221536

301405_14

INGENIERIA DE SISTEMAS
CEAD JOSE ACEVEDO Y GOMEZ
BOGOTA D.C octubre de 2018
DESARROLLO DE LA ACTIVIDAD

ACTIVIDAD 1: Autómatas de Pila

EJERCICIO A
TRABAJAR

Caracterización En este espacio se realiza:


del autómata a Un autómata a pila (AP) es un AFN con transiciones ε y con
pila una pila en la que se puede almacenar una cadena de
“símbolos de pila”

P = ( Q, Σ, Γ, δ, q 0, Z 0, F )
 Q: conjunto finito de estados
 Σ: conjunto finito de símbolos de entrada
 Γ: alfabeto de pila finito
 δ: función de transición, δ (q, a, X) = ( p, γ )
 q 0: estado inicial
 Z0: símbolo inicial de la pila
 F: conjunto de estados de aceptación

- Realizar un cuadro comparativo de la Equivalencia


entre AP por vaciado de pila y AP por estado final

Vaciado por pila Estado Final


Para todo AP P = (Q, Σ,
Γ, δ, q 0, Z 0) se define el : se puede llegar a
lenguaje que acepta través de P con 0 o más
como: pasos.
N ( P) = { w | ( q 0, w, Z0)
├* (q, ε, ε)} para
cualquier estado q
Procedimiento de Realice de manera detallada y grafica el procedimiento
paso a paso del paso a paso del recorrido de una cadena (La cadena la
recorrido de una selecciona el estudiante, debe contener como mínimo 8
cadena caracteres) en el autómata a pila.

- Paso 1
La cadena que se va a realizar es la siguiente (aaaabbbb)

δ(q0,a,Z0)={(q0,aZ0)}
δ(q0,b,Z0)={(q1,λ)}
δ(q1,b,Z0)={(q1,λ)}
- Paso 2

Se inicia el AP con el primer procedimiento que es el fondo


de la pila

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0

- Paso 3

Se lee la primera a y se agrega a la pila, pero se continua


en el estado q0

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
q0 aaabbbb a

- Paso 4

Se lee la segunda a y se agrega a la pila, pero se continua


en el estado q0

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
q0 aaabbbb a
q0 aabbbb aa

- Paso 5

Se lee la tercera a y se agrega a la pila, pero se continua


en el estado q0

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
q0 aaabbbb a
q0 aabbbb aa
q0 abbbb aaa

- Paso 6
Se lee la cuarta a y se agrega a la pila, se cambia al estado
q1

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
q0 aaabbbb a
q0 aabbbb aa
q0 abbbb aaa
q1 bbbb aaaa

- Paso 7

Se lee la primera b y se elimina la última a agregada a la


pila, se continua en el estado q1

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
q0 aaabbbb a
q0 aabbbb aa
q0 abbbb aaa
q1 bbbb aaaa
q1 bbb aaa

- Paso 8

Se lee la segunda b y se elimina la última a agregada a la


pila, se continua en el estado q1

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
q0 aaabbbb a
q0 aabbbb aa
q0 abbbb aaa
q1 bbbb aaaa
q1 bbb aaa
q1 bb aa

- Paso 9

Se lee la tercera b y se elimina la última a agregada a la


pila, se continua en el estado q1

a a a a b b b b
Estado por leer Pila
q0 aaaabbbb Z0
q0 aaabbbb a
q0 aabbbb aa
q0 abbbb aaa
q1 bbbb aaaa
q1 bbb aaa
q1 bb aa
q1 b a

- Paso 10

Se lee la cuarta b y se elimina la última a agregada a la pila,


se continua en el estado q1, pero sin nada ya en la pila

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
q0 aaabbbb a
q0 aabbbb aa
q0 abbbb aaa
q1 bbbb aaaa
q1 bbb aaa
q1 bb aa
q1 b a
q1 λ Z0

Para una transición:

δ(q0,a,Z0)={(q0,aZ0)}
δ(q0,b,Z0)={(q1,λ)}
δ(q1,b,Z0)={(q1,λ)}

- Paso 1: cuando el autómata se encuentra en el estado q0,


lee el símbolo de entrada a y tiene el símbolo a en la cima
de la pila.

- Paso 2: El autómata continuo en el estado q0, agrega la


siguiente entrada de a dejándola en la cima de la pila
- Paso 3: El autómata continuo en el estado q0, agrega la
siguiente entrada de a dejándola en la cima de la pila

- Paso 4: El autómata continuo en el estado q0, agrega la


siguiente entrada de a dejándola en la cima de la pila

- Paso 5: El autómata pasará al estado q1, eliminará el


símbolo a de la pila de la última a agregada.

- Paso 6: El autómata continuo al estado q1, eliminará el


siguiente símbolo a de la pila de la penúltima a agregada.

- Paso 7: El autómata continuo al estado q1, eliminará el


siguiente símbolo a de la pila de la segunda a agregada.

- Paso 8: El autómata continuo al estado q1, eliminará el


siguiente símbolo a de la pila de la primera a agregada, y
pasará al final de la pila Z0.
Practicar y
verificar lo
aprendido

ACTIVIDAD 1: Autómatas de Pila

EJERCICIO
A
TRABAJAR

Caracteriza En este espacio se realiza:


ción del
autómata a Caracterización
pila AP = (Σ, Γ, Q, A0, q0, Z0, F, f)

 Σ:es el alfabeto de entrada


 Γ: es el alfabeto de la pila
 Q: es un conjunto finito de estados
 A0 ∈ Γ: es un símbolo inicial de la pila
 q0 ∈ Q: el estado inicial del autómata
 F ⊆ Q: es el conjunto de estados finales.
 f: es una aplicación denominada función de transición de ternas
(estado, símbolo de entrada o λ, símbolo de pila) en el conjunto
de las partes Q × Γ*
- Realizar un cuadro comparativo de la Equivalencia entre AP por
vaciado de pila y AP por estado final

Vaciado por pila Estado Final


Para todo AP P = (Q, Σ,
Γ, δ, q 0, Z 0) se define el : se puede llegar a
lenguaje que acepta través de P con 0 o más
como: pasos.
N ( P) = { w | ( q 0, w, Z0)
├* (q, ε, ε)} para
cualquier estado q
Procedimien Realice de manera detallada y grafica el procedimiento paso a paso
to de paso del recorrido de una cadena (La cadena la selecciona el estudiante,
a paso del debe contener como mínimo 8 caracteres) en el autómata a pila.
recorrido - Paso 1
de una La cadena que se va a realizar es la siguiente (aaaabbbb)
cadena δ(q0,a,Z0)={(q0,ZZ0)}
δ(q1,a,Z0)={(q1, ZZ0)}
δ(q2,b,Z0)={(q1, ZZ0)}
δ(q0,b,Z0)={(q0,ZZ0)}

- Paso 2

Se inicia el AP con el primer procedimiento que es el fondo de la pila

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0

- Paso 3

Se lee la primera a y se agrega a la pila Z

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
q1 aaabbbb Z

- Paso 4

Se lee la segunda a y se agrega z

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
Q1 aaabbbb Z
Q2 aabbbb zz

- Paso 5

Se lee la a y se agrega a la pila Z

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
Q1 aaabbbb z
Q2 aabbbb zz
Q3 abbbb zz

- Paso 6

Se lee la a y no se agrega nada

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
q1 aaabbbb z
q2 aabbbb zz
q3 abbbb zz

- Paso 6

Se lee la a y no se agrega nada

a a a a b b b b

Estado por leer Pila


q0 aaaabbbb Z0
q1 aaabbbb z
q2 aabbbb zz
q3 abbbb zz
q4 bbbb ZZZ

Practicar y
verificar lo
aprendido
Actividad 1: Autómatas de Pila.

EJERCICIO A
TRABAJAR

Caracterización Un autómata a pila (AP) es un AFN con transiciones ε y con


del autómata a una pila en la que se puede almacenar una cadena de
pila “símbolos de pila”

P = ( Q, Σ, Γ, δ, q 0, Z 0, F )
 Q: conjunto finito de estados
 Σ: conjunto finito de símbolos de entrada
 Γ: alfabeto de pila finito
 δ: función de transición, δ (q, a, X) = ( p, γ )
 q 0: estado inicial
 Z0: símbolo inicial de la pila
 F: conjunto de estados de aceptación

- Realizar un cuadro comparativo de la Equivalencia


entre AP por vaciado de pila y AP por estado final

Vaciado por pila Estado Final


Para todo AP P = (Q, Σ,
Γ, δ, q 0, Z 0) se define el : se puede llegar a
lenguaje que acepta través de P con 0 o más
como: pasos.
N ( P) = { w | ( q 0, w, Z0)
├* (q, ε, ε)} para
cualquier estado q
Procedimiento Realice de manera detallada y grafica el
de paso a paso procedimiento paso a paso del recorrido de una
del recorrido cadena (La cadena la selecciona el estudiante,
de una cadena debe contener como mínimo 8 caracteres) en el
autómata a pila. Describir cómo funciona el
almacenamiento en la pila, como funciona LIFO,
etc.
- Paso 1
La cadena a realizar es: (abbabbaba)

- Paso 2
Iniciamos el AP con el primer procedimiento que s
el fondo de la pila

a b b a b b a b a

Estado por leer Pila


q0 abbabbaba Z0

- Paso 3
Leemos la primera a y se agrega a la pila, y
pasamos a q1

a b b a b b a b a

Estado por leer Pila


q0 abbabbaba Z0
q1 bbabbaba a

- Paso 4
Leemos la segunda que es la letra b y se agrega a
la pila retornando a q0
a b b a b b a b a

Estado por leer Pila


q0 abbabbaba Z0
q1 bbabbaba a
q0 babbaba ba
- Paso 5
Leemos la siguiente letra que es la b y se agrega a
la pila y pasamos nuevamente a q1

a b b a b b a b a

Estado por leer Pila


q0 abbabbaba Z0
q1 bbabbaba a
q0 babbaba ba
q1 abbaba bba
- Paso 6
Leemos la cuarta letra que es la a y se agrega a la
pila y nuevamente retorna a q0.

a b b a b b a b a

Estado por leer Pila


q0 abbabbaba Z0
q1 bbabbaba a
q0 babbaba ba
q1 abbaba bba
q0 bbaba abba

- Paso 7
Leemos la quinta letra que es la b y se agrega a la
pila y pasamos a q1.

a b b a b b a b a

Estado por leer Pila


q0 abbabbaba Z0
q1 bbabbaba a
q0 babbaba ba
q1 abbaba bba
q0 bbaba abba
q1 baba babba

- Paso 8
Leemos la sexta letra que es la b y se agrega a la
pila y retornamos a estado inicial q0.

a b b a b b a b a

Estado por leer Pila


q0 abbabbaba Z0
q1 bbabbaba a
q0 babbaba ba
q1 abbaba bba
q0 bbaba abba
q1 baba babba
q0 aba bbabba
- Paso 9
Leemos la séptima letra que es la a y se agrega a
la pila y pasamos al estado siguiente q1.
a b b a b b a b a

Estado por leer Pila


q0 abbabbaba Z0
q1 bbabbaba a
q0 babbaba ba
q1 abbaba bba
q0 bbaba abba
q1 baba babba
q0 aba bbabba
q1 ba abbabba

- Paso 10
Leemos la octava letra que es la b y se agrega a la
pila y retorna nuevamente a q0.

a b b a b b a b a

Estado por leer Pila


q0 abbabbaba Z0
q1 bbabbaba a
q0 babbaba ba
q1 abbaba bba
q0 bbaba abba
q1 baba babba
q0 aba bbabba
q1 ba abbabba
q0 a babbabba

- Paso 11
Leemos la última letra que es la a y se agrega a la
pila y pasa al estado final q2.

a b b a b b a b a

Estado por leer Pila


q0 abbabbaba Z0
q1 bbabbaba a
q0 babbaba ba
q1 abbaba bba
q0 bbaba abba
q1 baba babba
q0 aba bbabba
q1 ba abbabba
q0 a babbabba
q1 λ ababbabba
Practicar y Apoyándose en el simulador JFlap o VAS ejecutar y
verificar lo validar por lo menos cinco cadenas válidas y 5
aprendido cadenas rechadas por el autómata. En este espacio
adjunta la imagen.

Actividad 2:

Teniendo en cuenta el siguiente autómata realice:


1. Realice el proceso paso a paso la minimización del autómata.

Para el autómata ya minimizado realice:

2. Realice la notación formal (caracterización) matemática del autómata ya

minimizado.

3. Identifique El Lenguaje que reconoce.

4. Identifique su gramática (de forma manual) por la derecha y caracterícela.

Debe incluir el diagrama de estados con los componentes de la gramática

asociados a las variables y a las constantes.

El diseño solicitado corresponde al diligenciamiento de la siguiente tabla:


EJERCICIO A
TRABAJAR

Procedimiento Paso 1: característica del autómata


de
minimización Es un autómata es determinista
Estados del autómata:
𝑀 = {𝑞0 , 𝑞1 , 𝑞2 , 𝑞3 , 𝑞4 , 𝑞5 , 𝑞6 , 𝑞7 , 𝑞8 }
Alfabeto {0,1}
Estado inicial del autómata es 𝑞0 y el conjunto de
estados finales es: {𝑞2 , 𝑞4, 𝑞8 }

Paso 2:
Tabla de transición:
Estado 0 1
q0 q3 q1
q1 q2 q1
q2 q4 q5
q3 q0 q1
q4 q4 q8
q5 q2 q8
q6 q7 q3
q7 q8 q3
q8 q7 q4

Paso 3: construcción del conjunto de estados de


aceptación y estados de no aceptación.
𝑥 = {𝑞2 , 𝑞4 , 𝑞8 }; 𝑦 = {𝑞0 , 𝑞1 , 𝑞3 , 𝑞5 , 𝑞6 , 𝑞7 }

Tabla de transición con el conjunto x

Estado 0 1
q2 X Y
q4 X X
q8 Y X
Tabla de transición con el conjunto y

Estado 0 1
q0 Y Y
q1 X Y
q3 Y Y
q5 X X
q6 Y Y
q7 X Y

Paso 4: Se deben identificar los estados


equivalentes y realizar los nuevos conjuntos.
𝑨 = {𝒒𝟐 }, 𝑩 = {𝒒𝟒 } , 𝑪 = {𝒒𝟖 } ; 𝑷 = {𝒒𝟎 , 𝒒𝟑 , 𝒒𝟔 }; 𝑸 = {𝒒𝟏 , 𝒒𝟕 }; 𝑹 = {𝒒𝟓 }

Validación del conjunto P

Estado 0 1
q0 P Q
q3 P Q
q6 Q P

Validación del conjunto Q

Estado 0 1
q1 X Q
q7 X P

Validación del conjunto R

Estado 0 1
q5 X X

Validación del conjunto A

Estado 0 1
q2 B R

Validación del conjunto B

Estado 0 1
q4 B C

Validación del Conjunto C

Estado 0 1
q8 Q B

Paso 5: Identificar equivalentes y nuevamente


crear conjuntos:
𝑨 = {𝒒𝟐 }, 𝑩 = {𝒒𝟒 } , 𝑪 = {𝒒𝟖 } ; 𝑶 = {𝒒𝟎 , 𝒒𝟑 }; 𝑷 = {𝒒𝟔 }; 𝑹 = {𝒒𝟏 }; 𝑺
= {𝒒𝟕 }; 𝒁 = {𝒒𝟓 }
Validación de A
Estado 0 1
q2 B Z
Validación de B
Estado 0 1
q4 B C

Validación de C
Estado 0 1
q8 S B

Validación de O
Estado 0 1
q0 O R
q3 O R

Validación de P
Estado 0 1
q6 S O

Validación de R

Estado 0 1
q1 A R

Validación de S

Estado 0 1
q7 C O

Validación de Z

Estado 0 1
q5 A C

Tabla de transición de estados Finales

Estado 0 1
A B Z
B B C
C S B
O O R
P S O
R A R
S C O
Z A C

Resultado del
Autómata
minimizado
Notación En este espacio agrega la notación formal del
formal autómata.

Lenguaje En este espacio agrega el lenguaje regular del


Regular autómata.

Gramática del En este espacio agrega la gramática del autómata.


autómata Identifique su gramática (de forma manual) por la
derecha y caracterícela. Debe incluir el diagrama de
estados con los componentes de la gramática
asociados a las variables y a las constantes.
Referencias Bibliografías
 Carrasco, R., Calera, R., Forcada, M. (2016). Teoría De Lenguajes, Gramáticas
Y Autómatas Para Informáticos. Recuperado de
http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=nlebk&AN
=318032&lang=es&site=eds-live&ebv=EB&ppid=pp_Cover
 Hernández, R. (2010). Practique la teoría de autómatas y lenguajes formales.
(pp. 1 -124). Recuperado de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=1056
6114&ppg=10
 Alfonseca C, E., Alfonseca M, M., Mariyón S, R. (2009). Teoría de autómatas
y lenguajes formales. Recuperado de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=1049
8456&ppg=6
 Millán, J., Antonio J. (2009). Compiladores y procesadores de lenguajes. (pp.
73-126). Recuperado de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/detail.action?docID=1084
4351

También podría gustarte