Teoría de la
Computación
Pila
◦ Último en entrar primero en salir
1
06/05/2013
q0 q1
ω/α/β
q1
2
06/05/2013
a//a
b/a/
q
3
06/05/2013
Problema!!!
◦ El AP también acepta palabras como abab
(corroborar con la traza de ejecución).
◦ El AP no tiene la forma deseada: anbn
◦ No se ha recordado cuando se terminan las a’s e
inician las b’s.
Solución
◦ Utilizar los estados para memorizar las situaciones
de estar consumiendo a’s o estar consumiendo b’s.
4
06/05/2013
a
a a a
a a a a a
q0 q0 q0 q1 q1 q1
10
5
06/05/2013
Estrategia:
◦ Almacenar en la pila la primera mitad de la
palabra y luego ir comparándola letra por
letra contra la segunda mitad.
b/b/ a/a/
a/ /a b/ /b
//
s f
11
Consideraciones:
◦ La presencia de una transición de s a f, en que ni se
consumen caracteres de la entrada, ni se manipula
la pila.
◦ ¿Se puede llegar a un estado final sin recorrer la
mitad de la palabra?
◦ ¿Cómo saber que ya llegamos exactamente a la
mitad de la palabra?
12
6
06/05/2013
13
b/b/ a/a/
a/ /a b/ /b
//
s f
7
06/05/2013
15
Un AP es un séxtuplo (K, Σ, Γ, Δ, s,
F) donde:
◦ K es un conjunto de estados
◦ Σ es el alfabeto de entrada
◦ Γ es el alfabeto de la pila
◦ . ( K x* x * ) x( K x * )
◦ s Є K es el estado inicial
◦ . F K
16
8
06/05/2013
17
18
9
06/05/2013
19
b/b/ a/a/
a/ /a b/ /b
//
s f
(s, a, ) (s, a)
(s, b, ) (s, b)
(s, , ) (f, )
(f, a, a) (f, )
(f, b, b) (f, )
20
10
06/05/2013
a a//
b//
b
r1 r0 r1
r0 b
a a//
b//
a//
a,b
aaa aaa / /
q0 q1 q0 q1
b//
11
06/05/2013
12
06/05/2013
p q p q
Ejemplo
Obtener un AP que acepte el LLC generado
por la gramática siguiente:
1. S → aSa
2. S → bSb
3. S→ c / S / aSa
/S/c / S / bSb
//S q
p
a/a/ c/c/
b/b/
13
06/05/2013
a/a/ c/c/
b/b/
Dada aca veamos como funciona el AP
aca aca aca ca ca a
a
pila vacía
pila vacía
S S c
S a a a a
p q q q q q q
//S / S / aSa a/a/ /S/c c/ c/ a/a/
a/a/ c/c/
b/b/
Dada abcba veamos como funciona el AP
abcba abcba abcba bcba bcba cba cba ba a
b
a S S c
pila vacía
pila vacía
S S b b b b
S a a a a a a a
p q q q q q q q q q
/ / S / S / aSa a/a/ / S / bSb b/b/ /S/c c/ c/ b/b/ a/a/
14
06/05/2013
5. a / a / 7. c / c /
6. b / b /
Pila
Estado Falta Leer Transición
p abcba vacía
q abcba S 1
q abcba aSa 2
q bcba Sa 5
q bcba bSba 3
q cba Sba 6
q cba cba 4
q ba ba 6
q a a 5
q vacía
15
06/05/2013
16
06/05/2013
17