Está en la página 1de 20

1

de Autómatas de Pila

Tutor:

Jaime Valdez B

Estudiante:

Mileidys Sofía Guell Mendoza 55224481

Grupo:

301405_6

Universidad Nacional Abierta y a Distancia UNAD

Escuela de Ciencias Básicas, Tecnología e Ingeniería ( ECBTI)

Autómatas y lenguajes formales

Código 301405

Barranquilla, Atlántico

2021
2
ACTIVIDAD

Ejercicio 1

Autómata de pila

EJERCICIO C

Caracterización del autómata a Definición formal


pila
Un autómata de pila es una máquina de
estados finitos capaz de reconocer
gramáticas independientes del contexto
y cuenta con una memoria auxiliar
llamada pila en la cual son insertados los
símbolos de pila de acuerdo con el
manejo de last
– in – first- out (LIFO)

Séptupla del autómata

𝐴𝑃 = (𝑄, Σ, Γ, 𝛿, 𝑠, 𝑍0, 𝐹) donde

𝑄: {𝑞0, 𝑞1} Conjunto finito de estados

Σ: {0,1 } Alfabeto finito de entrada

Γ: {𝜆, 𝐴, 𝐵}: Alfabeto de Pila

𝛿: 𝑄 𝑥 Σ 𝖴 {ϵ} 𝑥 Γ → 2𝑄𝑥𝛤∗ Función de


transición 𝛿 (𝑞, 𝑎, 𝑋) → (𝑝, 𝛾), {𝑝, 𝑞} ∈ 𝑄, 𝑎
∈ Σ 𝖴 {𝜀}, 𝑋 ∈ Γ y Υ ∈ Γ {ϵ }, reemplaza a
X.

𝑠 ∶ 𝑞0 Símbolo inicial del autómata

𝐹 ⊆ 𝑄: 𝑞1 Conjunto de estados finales

𝑍0: Símbolo inicial de la pila


3
Transiciones
0, 𝑍, 𝐴
0, 𝑍, 𝐴𝐴
1, 𝐴, 𝜆
0, 𝐴, 𝐵
1, 𝐴, 𝜆

Funciones de transición

𝛿(𝑞0, 0, 𝑍) = {(𝑞0, 𝐴)}


𝛿(𝑞0, 0, 𝐴) = {(𝑞0, 𝐴𝐴)}
𝛿(𝑞0, 1, 𝐴) = {(𝑞1, 𝜆)}
𝛿(𝑞1, 0, 𝐴) = {(𝑞1, 𝐵)}
𝛿(𝑞1, 1, 𝐴) = {(𝑞1, 𝜆)}

Equivalencia entre AP por vaciado


de pila y AP por estado final

Un 𝐴𝑃 = (𝑄, Σ, Γ, 𝛿, 𝑠, 𝑍0, 𝐹)puede


reconocer palabras del alfabeto de
entrada de dos formas distintas:

Por estado final:

𝐿𝐹(𝐴𝑃) = { 𝑥 | (𝑞0, 𝑥, 𝑍0) ├ ∗ (𝑝, λ, X), ( p ∈ F,


X ∈ Γ∗}

Por vaciado de pila:

𝐿𝑣(𝐴𝑃) = { 𝑥 | (𝑞0, 𝑥, 𝑍0) ├ ∗ (p, λ, λ), con p ∈


Q}

𝐿𝐹(𝐴𝑃) 𝑦 𝐿𝑉(𝐴𝑃) representan a los


lenguajes reconocidos por el
autómata 𝐴𝑃 por estado final y por
vaciado de pila respectivamente.

Cuando la aceptación se realiza por


vaciado de pila, el conjunto de
estados finales 𝐹 es irrelevante.

Equivalencias de 𝐴𝑃
Dos autómatas a pila (por vaciado de
pila o por estado final), 𝐴𝑃1 y 𝐴𝑃2, son
4

equivalentes, si aceptan el mismo


leguaje, es decir, si 𝐿(𝐴𝑃1) = 𝐿(𝐴𝑃2)
Procedimiento de paso a paso del En la pila se almacenan los símbolos de
recorrido de una cadena entrada y de la gramática.

Gráficamente en un autómata de pila


existe una cinta de entrada ésta permite
ingresar caracteres de diversos tipos, un
mecanismo de control que se sitúa en el
primer estado y una cadena memoria de
la Pila.
La cadena escogida para este ejercicio
es 00011

PASO 1

Cinta de lectu

0 0

Le
ct
ur
𝒒𝟎 a
de
la
𝒒𝒏 𝒒𝟏 ci
nt
a
Memoria de la
𝒒𝟑

Mecanismo de control

E
n

l
a

i
m
age m
n o
ant
erio s
r se e
pue
de p
obs u
erv e
ar d
que e
la
lect e
ura v
de i
la d
cint e
a n
inic c
ia i
en a
𝑍 r
la
cua e
l es n
la
pos e
ició l
n
inic m
ial e
de c
la a
pila n
co i
mo s
se m
pue o
de
ver d
en e
la
me c
mo o
ria n
de t
la r
pila o
y l
en .
la
pos
ició
n

5

PASO 2
Se observa que la lectura de la cinta se
encuentra en cero (0) por lo tanto se
inicia en base a la primera función de
transición 𝛿(𝑞0, 0, 𝑍) = {(𝑞0, 𝐴)} donde se
encuentra en la posición 𝑞0, desapila 𝑍;
no obstante, no existe 𝑍 por lo tanto no
desapila nada, se dirige hacia 𝑞0 y apila
una 𝐴.

0 0 0 1 1

𝒒𝟎

𝑨
𝒒𝒏 𝒒𝟏
𝒁𝟎

𝒒𝟑

PASO 3
La lectura de la cinta se mueve al
siguiente carácter de la cadena la cual
sigue en cero (0) y permanece en la
posición 𝑞0 por lo tanto se sigue
utilizando la primera función de
transición 𝛿(𝑞0, 0, 𝑍) = {(𝑞0, 𝐴)} donde se
encuentra en la posición 𝑞0, desapila 𝑍;
no obstante, no existe 𝑍 por lo tanto no
desapila nada, se dirige hacia 𝑞0 y apila
nuevamente una 𝐴.

0 0 0 1 1

𝒒𝟎
𝑨
𝑨
𝒒𝒏 𝒒𝟏 𝒁𝟎

𝒒𝟑
6

PASO 4
La lectura de la cinta se mueve al
siguiente carácter de la cadena la cual
sigue en cero (0) y permanece en la
posición 𝑞0 por lo tanto se sigue
utilizando la primera función de
transición 𝛿(𝑞0, 0, 𝑍) = {(𝑞0, 𝐴)} donde se
encuentra en la posición 𝑞0, desapila 𝑍;
no obstante, no existe 𝑍 por lo tanto no
desapila nada, se dirige hacia 𝑞0 y apila
una nueva 𝐴.

0 0 0 1 1

𝒒𝟎
𝑨
𝑨
𝒒𝒏 𝒒𝟏 𝑨
𝒁𝟎

𝒒𝟑

PASO 5
La lectura de la cinta se mueve al
siguiente carácter de la cadena
cambiando ahora a 1 y permaneciendo
en la posición 𝑞0 por lo tanto se pasa a la
tercera función de transición
𝛿(𝑞 , 1, 𝐴) = {(𝑞 , 𝜆)} donde se encuentra
0 1
en la posición 𝑞0, desapila una 𝐴, se
dirige hacia 𝑞1 y no apila nada (𝜆).

0 0 0 1 1

𝒒𝟎

𝑨
𝒒𝒏 𝒒𝟏 𝑨
𝒁𝟎

𝒒𝟑
7
PASO 6
La lectura de la cinta se mueve al
siguiente carácter de la cadena la cual
sigue en 1 pero ya cambió su posición a
𝑞1 por lo tanto se utiliza la quinta función
de transición 𝛿(𝑞1, 1, 𝐴) = {(𝑞1, 𝜆)}
se desapila una 𝐴, se dirige hacia 𝑞1 y no
apila nada (𝜆).

0 0 0 1 1

𝒒𝟎

𝒒𝒏 𝒒𝟏 𝑨
𝒁𝟎

𝒒𝟑

Practicar y verificar lo Se verifica en JFLAP el recorrido de la


aprendido cadena anterior 00011 donde se
dibuja el autómata

Se ingresa la cadena
8

Con aceptación del estado final

Se inicia la simulación del recorrido


de la cadena

Paso 1

Paso 2
9

Paso 3

Paso 4

Paso 5
10

Paso 6

Detalle del recorrido de la cadena


11

Cadenas aceptadas

Cadenas rechazadas

Lenguaje Regular 𝑬𝑹 = 𝟎∗𝟏(𝟏)

Ejercicio 2

Gramática del autómata

Identifique la gramática (de forma manual) por la derecha o izquierda y la


caracteriza. Debe incluir el diagrama de estados con los componentes de la
gramática asociados a las variables y a las constantes.

Para hallar la gramática de un autómata se siguen paso a paso un conjunto de


reglas

Paso 1:
𝑅 = {𝑍0 → (𝑠, ⊥, 𝑓), 𝑓 ∈ 𝐹}

Se tiene el no terminal inicial 𝑍0, el estado inicial 𝑞0, el símbolo de fin de pila ⊥ y el
estado final 𝑞1, esta regla se debe repetir por cada uno de los estados finales en
este caso sólo existe un estado final.

𝑍0 → (𝑞0, ⊥, 𝑞1)
12

Paso 2
{(𝑓, ⊥, 𝑓) → 𝜆, 𝑓 ∈ 𝐹

En este paso se debe tener una regla por cada estado final que exista en el
autómata, no obstante, en este caso sólo existe un solo estado final.
(𝑞1, ⊥, 𝑞1) → 𝜆

Paso 3
{(𝑝, 𝜆, 𝑝) → 𝜆, 𝑝 ∈ 𝑄

En la tercera regla de transformación se deben tener una regla por cada uno de los
estados que tenga el autómata, en este caso se tienen dos estados.
(𝑞0, 𝜆, 𝑞0) → 𝜆
(𝑞1, 𝜆, 𝑞1) → 𝜆

Paso 4
{(𝑝, 𝐴, 𝑟) → 𝑥(𝑞, 𝜆, 𝑟), ((𝑝, 𝑥, 𝐴), (𝑞, 𝜆)) ∈ 𝛿, 𝑟 ∈ 𝑄}

Esta indica que por cada transición que se tenga que desapile un carácter y apile 𝝀
y por cada estado que se tenga en el autómata se debe crear una regla de este
tipo.

En este caso se tienen las transiciones 1, 𝐴; 𝜆 y 1, 𝐴; 𝜆 y los estados 𝑞0 𝑦 𝑞1, por lo


tanto, se deben colocar 4 reglas
(𝑞0, 𝐴, 𝑞0) → 1(𝑞1, 𝜆, 𝑞0)
(𝑞0, 𝐴, 𝑞1) → 1(𝑞1, 𝜆, 𝑞1)
(𝑞1, 𝐴, 𝑞0) → 1(𝑞1, 𝜆, 𝑞0)
(𝑞1, 𝐴, 𝑞1) → 1(𝑞1, 𝜆, 𝑞1)

Paso 4
{(𝑝, 𝐴, 𝑟) → 𝑥(𝑞, 𝐵1, 𝑟1)(𝑟1, 𝐵1, 𝑟2) … (𝑟𝑘−1, 𝐵𝑘, 𝑟), ((𝑝, 𝑥, 𝐴), (𝑞, 𝐵1, 𝐵2 … 𝐵𝑘) ∈ 𝛿 𝑟1, 𝑟2, … … … . 𝑟𝑘−1,𝑟 ∈
𝑄)
(𝑞0, 𝑍, 𝑞0) → 0, (𝑞0, 𝐴, 𝑞0)
(𝑞0, 𝑍, 𝑞0) → 0, (𝑞0, 𝐴, 𝑞1)
13

(𝑞0, 𝑍, 𝑞1) → 0, (𝑞0, 𝐴, 𝑞0)


(𝑞0, 𝑍, 𝑞1) → 0, (𝑞0, 𝐴, 𝑞1)
(𝑞0, 𝐴, 𝑞0) → 0, (𝑞0, 𝐴, 𝑞0)(𝑞0, 𝐴, 𝑞0)

(𝑞0, 𝐴, 𝑞0) → 0, (𝑞0, 𝐴, 𝑞1)(𝑞1, 𝐴, 𝑞0)


(𝑞0, 𝐴, 𝑞1) → 0, (𝑞0, 𝐴, 𝑞0)(𝑞0, 𝐴, 𝑞1)
(𝑞0, 𝐴, 𝑞1) → 0, (𝑞0, 𝐴, 𝑞1)(𝑞1, 𝐴,

𝑞1) (𝑞1, 𝐴, 𝑞1) → 0, (𝑞1, 𝐵, 𝑞1)

(𝑞1, 𝐴, 𝑞1) → 0, (𝑞1, 𝐵, 𝑞0)


(𝑞1, 𝐴, 𝑞0) → 0, (𝑞1, 𝐵, 𝑞1)
(𝑞1, 𝐴, 𝑞0) → 0, (𝑞1, 𝐵, 𝑞0)

𝑍0 → (𝑞0, ⊥, 𝑞1)
14
Ejercicio Grupal

Minimización de autómatas

EJERCICIO GRUPAL

Procedimiento de minimización Se tiene un autómata con la siguiente


5-tupla
𝑄 = {𝑞0, 𝑞1, 𝑞2, 𝑞3, 𝑞4, 𝑞5, 𝑞6} Estados finitos
Σ = {0, 1} Alfabeto
𝛿 = 𝑇𝑟𝑎𝑛𝑠𝑖𝑐𝑖𝑜𝑛𝑒𝑠
𝛿(𝑞0, 0) = 𝑞2
𝛿(𝑞0, 1) = 𝑞3
𝛿(𝑞1, 0) = 𝑞3
𝛿(𝑞1, 1) = 𝑞2
𝛿(𝑞2, 0) = 𝑞0
𝛿(𝑞2, 1) = 𝑞4
𝛿(𝑞3, 0) = 𝑞1
𝛿(𝑞3, 1) = 𝑞5
𝛿(𝑞4, 0) = 𝑞6
𝛿(𝑞4, 1) = 𝑞5
𝛿(𝑞5, 0) = 𝑞2
𝛿(𝑞5, 1) = 𝑞3
𝛿(𝑞6, 0) = 𝑞4
𝛿(𝑞6, 1) = 𝑞0
𝑠 = 𝑞0 Estado inicial
𝐹 = 𝑞5 Estado final

Paso 1
Se separan en dos conjuntos los
estados de aceptación y de no
aceptación y se identifica el alfabeto del
autómata.

𝑥 = {𝑞5}
𝑦 = {𝑞0, 𝑞1, 𝑞2, 𝑞3, 𝑞4,
𝑞6} Σ = {0, 1}
15

Paso 2
Se crea una tabla de transición por
cada uno de los conjuntos creados en el
paso anterior.

Estados de aceptación
𝒙 0 1
𝒒𝟓 𝑦 𝑦

Estados de no aceptación
𝒚 0 1
𝒒𝟎 𝑦 𝑦
𝒒𝟏 𝑦 𝑦
𝒒𝟐 𝑦 𝑦
𝒒𝟑 𝑦 𝑥
𝒒𝟒 𝑦 𝑥
𝒒𝟔 𝑦 𝑦
Resultado del Autómata
minimizado Paso 3
A partir de las tablas de transición
anterior se verifican las características
que cada uno de los conjuntos tienen
respecto al alfabeto y se encuentra que
en el conjunto de no aceptación en los
estados 𝑞3 𝑦 𝑞4, no presentan las mismas
condiciones del resto de estados, por lo
tanto, se crea un nuevo conjunto 𝑧
𝑥 = {𝑞5}
𝑦 = {𝑞0, 𝑞1, 𝑞2, 𝑞6}
𝑧 = {𝑞3, 𝑞4}

Paso 4
Nuevamente se crea una tabla de
transición por cada uno de los
conjuntos obtenidos.

𝒙 0 1
𝒒𝟓 𝑦 𝑧

𝒚 0 1
𝒒𝟎 𝑦 𝑧
𝒒𝟏 𝑧 𝑦
𝒒𝟐 𝑦 𝑧
𝒒𝟔 𝑧 𝑦
16
𝒛 0 1
𝒒𝟑 𝑦 𝑥
𝒒𝟒 𝑦 𝑥

Paso 5
Se puede observar de acuerdo a las
tablas de transición anteriores que en
los conjuntos existen estados con
características equivalentes por lo tanto
se crean nuevos conjuntos y nuevas
tablas de transición

𝑤 = {𝑞0, 𝑞5, 𝑞2}


𝑢 = {𝑞1, 𝑞6}
𝑧 = {𝑞3, 𝑞4}
Σ = {0, 1}

𝒘 0 1
𝒒𝟎 𝑤 𝑧
𝒒𝟐 𝑤 𝑧
𝒒𝟓 𝑤 𝑧

𝒖 0 1
𝒒𝟏 𝑧 𝑤
𝒒𝟔 𝑧 𝑤

𝒛 0 1
𝒒𝟑 𝑢 𝑤
𝒒𝟒 𝑢 𝑤

Paso 6
Se crean nuevas tablas de transiciones,
pero ya no con los estados sino con los
conjuntos hallados.

0 1
𝒂 𝑎 𝑐

0 1
𝒃 𝑐 𝑎

0 1
𝒄 𝑏 𝑎
17

Paso 7
Se procede a realizar el gráfico del
autómata finito determinista
minimizado; teniendo en cuenta que en
el autómata original el estado inicial es
𝑞0 y el estado final es 𝑞5, por lo tanto,
en el nuevo autómata se deben elegir
como estado inicial y final el conjunto
que contenga los estados originales.

Notación formal del autómata Identificación de la quíntupla del


minimizado autómata

𝑄 = {𝑤 , 𝑢, 𝑧}
Σ = {0,1}
𝛿=
𝛿(𝑤, 0) = 𝑤
𝛿(𝑤, 1) = 𝑧
𝛿(𝑢, 0) = 𝑧
𝛿(𝑢, 1) = 𝑤
𝛿(𝑧, 0) = 𝑢
𝛿(𝑧, 1) = 𝑤
𝑠 = {𝑤}
𝐹 = {𝑤}

Tabla de transiciones
0 1
→ #𝑤 𝑤 𝑧
𝑢 𝑧 𝑤
𝑧 𝑢 𝑤
Caracterización del autómata El autómata minimizado
parte teórica corresponde a un autómata finito
Formalmente este se define como
una 5-upla M = donde
Q: conjunto finito de estados
Σ: alfabeto o conjunto finito de
símbolos de entrada.
18

δ: función de transición de estados,


que se define como - δ: E x A → Q
s: estado inicial; q0 ∈ Q
F: conjunto de estados finales o
estados de aceptación; F ⊆ Q
El autómata es finito determinista
(AFD) estos corresponden a aquellos
que sólo pueden estar en un único
estado después de leer cualquier
secuencia de entrada, para cada
entrada sólo existe uno y un único
estado al que éste puede hacer la
transición a partir de su estado actual.
En el caso del autómata del ejercicio se
puede observar que tiene un conjunto
finito de estados 𝑄, un conjunto finito
de símbolos de entrada Σ, una función
de transición que toma un estado, un
símbolo de entrada y devuelve un
estado a su vez.

Lenguaje Regular En este espacio agrega el lenguaje


regular del autómata.
Gramática del autómata En este espacio agrega la gramática
del 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.
Validación de cadenas - Identifique 5 cadenas aceptadas y
cinco cadenas rechazadas
Practicar y verificar lo aprendido Muestre en el simulador JFLAP
(Anexo 1 - JFLAP) o VAS (Anexo 2-
VAS) (gráficamente) como recorre
una cadena válida. Explique cada
secuencia. (No se trata solo de
captura las imágenes, estas deben
ser explicadas en pie de página o de
lo contrario no tienen validez)
Lenguaje Regular
19
REFERENCIAS BIBLIOGRÁFICAS

Carrasco, R. C., Calera Rubio, J., & Forcada Zubizarreta, M. L. (2000). Teoría de

lenguajes, gramáticas y autómatas para informáticos. Digitalia. Recuperado

de https://bibliotecavirtual.unad.edu.co/login?url=https://search-ebscohost-

com.bibliotecavirtual.unad.edu.co/login.aspx?direct=true&db=nlebk&AN=318032&l

ang=es&site=ehost-live&ebv=EB&ppid=pp_Cover

Jurado Málaga, E. (2008). Teoría de autómatas y lenguajes formales. Universidad

de Extremadura. Servicio de Publicaciones. Recuperado

de https://bibliotecavirtual.unad.edu.co/login?url=http://search.ebscohost.com/logi

n.aspx?direct=true&db=edsbas&AN=edsbas.62161440&lang=es&site=eds-

live&scope=site

González, A. [Ángela]. (2017, noviembre 5). Autómatas Finitos. [Archivo de video].

Recuperado de http://hdl.handle.net/10596/10470

También podría gustarte