Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ciencias de La Computación I: Autómatas de Pila y Lenguajes Libres Del Contexto
Ciencias de La Computación I: Autómatas de Pila y Lenguajes Libres Del Contexto
Autómatas de Pila y
Lenguajes Libres del Contexto
✓ A es el alfabeto de entrada
AP=
✓ P es el alfabeto de la pila
✓ ei es el estado inicial; ei E
1
Autómatas de Pila Reconocedores
✓ es la función de transición de estados
: E x ( A {} ) x P → E x P*
a, X / a
1) (ei, a, X) = (ek, a) ej ek
, X / a
2) (ei, , X) = (ek, a) ej ek
donde a A; X P; a P* ; ei , ek E
Importante:
Si existe transición de tipo (2), sólo se garantiza que AP es determinístico
si
B
1) a b c b 4) a b c b a
a Z0 A
Z0
2) a b c b a A 5) a b c b a A
Z0
Z0
B
3) a b c b a 6) a b
A c b a
Z0 Z0
2
Ejemplo: Lenguaje libre del contexto determinístico
L = { w c wR / w {a,b}* }
b,B / BB
b,A / BA
a,B / AB a,A /
a,A / AA b,B/
B
1) a b b a 3) a b b a
Z0 A
Z0
2) a b b a A 4) a b b a A
Z0
Z0
5) a b b a
Z0
3
Ejemplo: Lenguaje libre del contexto no determinístico
L = { w wR / w {a,b}* }
b,B / BB
b,A / BA
a,B / AB a,A /
a,A / AA b,B/
b,Z0 / BZ0 b,B /
a,Z0 / AZ0 a,A /
, Z0 / Z0
e0 e1 e2
e3
b,B / BB
b,A / BA
a,B / AB a,A /
a,A / AA b,B/
b,Z0 / BZ0 b,B /
a,Z0 / AZ0 a,A /
, Z0 / Z0
e0 e1 e2
e3
Ejemplo cadena abba
<e0, abba,Z0> ├ <e1,bba, AZ0 >├ <e1, ba, BAZ0>├ <e1, a, BBAZ0>├ <e1, , ABBAZ0>
lee abba pero no termina en estado final, intenta otro camino (si hay)
<e0, abba,Z0> ├ <e1,bba, AZ0 >├ <e1, ba, BAZ0>├ <e2, a, AZ0> ├ <e2, , Z0> ├ <e3, , Z0>
lee abba y termina en estado final luego, abba L
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2021
4
Autómata de Pila de No Determinístico
APND= <E, A , P, , e0, Z0, F>, siendo no determinística definida como:
Autómatas de Pila
Teorema:
Los APND tienen mayor poder de reconocimiento que los APD.
Es decir, hay lenguajes libres del contexto que pueden ser
reconocidos por un APND pero no por un APD.
APD
APND
5
Análisis del Lenguaje
✓ S es el alfabeto de salida
✓ es la función de traducción; : E x ( A {}) x P → S*
a, X / a, t
ej ek
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2021
6
Autómatas de Pila Traductores
Función de traducción para cadenas
Ejemplo
L = { an bn / n > 0 } Traducir las cadenas
an bn como 13n
AA,111
a,A / AA b,A / ,
a,Z0 / AZ0,
0 111 b,A / , , Z0 / Z0 ,
e0 e1 e2
e3
Ejemplos
ab L traduce 111 aabb L traduce 111111
aab L no traduce abbb L no traduce
7
Uso de la pila (caso MENOR n< k)
L = { an bk / n ≥ 0 y n < k}
Ejemplo
5) a a b b b b b
1) a a b b b b b Z0
Z0
6) a a b b b b b
2) a a b b b b b A Z0
Z0
7) a a b b b b b
A
3) a a b b b b b Z0
A
Z0
8) a a b b b b b
4) a a b b b b b Z0
A Si la cantidad de a´s es menor
Z0 a la cantidad de b´s
quedan b´s para leer con Z0 en la pila
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2021
L = { an bk / n ≥ 0 y n < k}
A
APD = <{e0,e1,e2,e3}, {a, b}, {A, Z0}, , e0, Z0, {e3} >
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2021
8
Uso de la pila (caso MENOR IGUAL n ≤ k)
L = { an bk / n ≥ 0 y n ≤ k}
Ejemplo
5) a a b b
1) a a b b Z0
Z0
A
3) a a b b A
Z0
4) a a b b A
Z0
APD = <{e0,e1,e2,e3}, {a, b}, {A, Z0}, , e0, Z0, {e0, e3} >
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA – 2021
9
Uso de la pila (caso MAYOR n > k)
L = { an bk / n ≥ 0 y n > k}
A
Ejemplo A
4) a a a b
1) a a a b A
Z0 Z0
2) a a a b 5) a a a b A
A
Z0 A
Z0
APD = <{e0,e1,e2,e3}, {a, b}, {A, Z0}, , e0, Z0, {e1, e3}>
10
Uso de la pila (caso MAYOR IGUAL n ≥ k)
L = { an bk / n ≥ 0 y n ≥ k}
Ejemplo
4) a a b b
1) a a b b A
Z0 Z0
2) a a b b A 5) a a b b
Z0
Z0
A
3) a a b b A
Z0
• Se puede llegar por igualdad a fin de
cadena con Z0 en la pila (si es igual)
O
• Puede llegar a fin de cadena con A´s en
la pila (si es mayor)
L = { an bk / k ≥ 0 y n ≥ k} Ej. de cadenas
A
n A
k <
A
= aaa
Z0
aab
aabb
: a,A / AA b,A / aaaabb
…
a,Z0 / AZ0 b,A /
e0 e1 e2
APD = <{e0,e1,e2}, {a, b}, {A, Z0}, , e0, Z0, {e0 ,e1 ,e2} >
11