Está en la página 1de 16

1

Autmatas de pila
(Pushdown automata)

2
Autmata de conteo

Autmata finito determinista con un contador de


enteros o bolsa en la que se colocan o extraen
cuentas o piedras en respuesta a un smbolo de
entrada. En otras palabras, en cada transicin el
autmata no slo selecciona un nuevo estado sino que
tambin decide, independientemente del estado de la
bolsa, si a!ade otra cuenta a la bolsa o saca una cuenta
de la bolsa o la de"a i#ual. $a bolsa inicia con una
cuenta % el autmata contin&a operando mientras 'a%a
smbolos de entrada % la bolsa no est vaca. (i se
consumen todos los smbolos de la palabra de entrada
al mismo tiempo que se vaca la bolsa, entonces se
acepta la palabra.

)
Ejemplo: {a
n
b
n
| n 1}
a
a
b
b
q
0
q
1
q
2

*
Autmatas de pila

+esafortunadamente los autmatas de conteo no son


suficientemente poderosos para reconocer todos los $$,.
En ocasiones se requiere m-s de un tipo de cuenta o roca o en
lu#ar de una bolsa.
(e utili.a un stac/ o pila $012 3Last In First Out4 en el cual el
orden es importante. $a accin que lleva a cabo el autmata slo
es influenciada no slo por el estado en que se encuentra % por el
smbolo que lee, sino tambin por el tipo de piedra u ob"eto que
se encuentra arriba en la pila.
a b a b b a
q
0
q
1
q
2
q
4
q
3
q
i
q
n
inta de
ent!ada
abe"a
lecto!a
ont!ol

#ila

5
$e%inicin %o!mal

6n autmata de pila 3pushdown automata4 es una sexteta


(K& & & & s
0
& F) donde:
7 K es un con"unto no vaco de estados.
j es el alfabeto de entrada, no vaco.
\ es el alfabeto de la pila, no vaco.
7 s
8
- K es el estado inicial.
7 F K es el con"unto de estados finales.
: (K _ 3j - 9^:4 _ 3\ - 9^:4) _ (K _ \
;
) es la relacin de transicin.
3p, u, 4 _ 3q, =4 - :si#nifica que el autmata est- en el estado p, lee el smbolo
u, saca de la pila, pasa al estado q e introduce =a la pila.
$a operacin push 3slo meter a la pila4 se lo#ra tomando como la palabra
vaca. $a operacin pop 3slo sacar de la pila4 se lo#ra tomando =como la
palabra vaca.
<a que :es una relacin % no necesariamente una funcin, un autmata de pila
es no determinista.
6na palabra es aceptada por un A= si al procesarla completamente, se lle#a a un
estado final % la pila queda vaca. +ebido al no>determinismo del autmata es
posible que al terminar de procesar la palabra, varios estados estn activos. Es
suficiente que uno de estos estados sea final para que la palabra se acepte. $3?4
denota al len#ua"e formado por las palabras aceptadas por ?.

@
'ep!esentacin (!)%ica de un A#

$a transicin 33p, u, 4, 3q, =44, :3p, u, 4 A 3q, =4,


se representa #r-ficamente por
% si#nifica que cuando estamos en el estado p,
leemos de la palabra de entrada el smbolo u %
sacamos del stac/ el smbolo , entonces pasamos
al estado q % ponemos en la pila la cadena =.
p
q
u, B =

C
Ejemplo

Autmata de pila que acepte 9a


i
b
i
D i i 8:
7 K A 9q
8
, q
1
:
j A 9a, b:
\ A 9A:
7 s
8
A q
8
7 F A 9q
8
, q
1
:

:3q
8
, a, ^4 A 3q
8
, A4

:3q
8
, b, A4 A 3q
1
, 4

:3q
1
, b, A4 A 3q
1
, 4
a, / A
b, A /
b, A /
q
0
q
1

E
Ejemplo: pal*nd!omos de lon(itud impa!

Autmata de pila que acepte 9wcw


F
D w - 9a, b:
;
:. w
F
es la
palabra w al revs, por e"emplo, anita
F
A atina.
7 K A 9q
8
, q
1
:
j A 9a, b, c:
\ A 9A, B:
7 s
8
A q
8
7 F A 9q
1
:

:3q
8
, a, ^4 A 3q
8
, A4 :3q
1
, a, A4 A 3q
1
, 4

:3q
8
, b, ^4 A 3q
8
, B4 :3q
1
, b, G4 A 3q
1
, 4

:3q
8
, c, ^4 A 3q
1
, ^4
a, / A
b, / B
b, B /
a, A /
c, /
q
0
q
1

H
Ejemplo: pal*nd!omos de lon(itud pa!

Autmata de pila que acepte 9ww


F
D w - 9a, b:
;
:. w
F
es la
palabra w al revs, por e"emplo, anita
F
A atina.
7 K A 9q
8
, q
1
:
j A 9a, b:
\ A 9A, B:
7 s
8
A q
8
7 F A 9q
1
:

:3q
8
, a, ^4 A 3q
8
, A4 :3q
1
, a, A4 A 3q
1
, 4

:3q
8
, b, ^4 A 3q
8
, B4 :3q
1
, b, G4 A 3q
1
, 4

:3q
8
, ^, ^4 A 3q
1
, ^4
a, / A
b, / B
b, B /
a, A /
, /
q
0
q
1

18
A+ A#

Iodo len#ua"e aceptado por un autmata finito es


tambin aceptado por un autmata de pila.
(i ? A 3K, j, :, s
8
, F4 es un autmata finito,
entonces 3K, j, \, :J, s
8
, F4 con
\ A [
:J A 933p, u, ^4, 3q, ^44 D 3p, u, q4 - ::
acepta el mismo len#ua"e que ?.

$os len#ua"es libres de contexto son aceptados por


los autmatas de pila % los len#ua"es #enerados
por los autmatas de pila son los len#ua"es libres
de contexto.

11
,, A#

(ea G A 3V, j, R, S4 una #ram-tica libre de contexto.


Entonces el autmata de pila ? A 39p, q:, j, V, :, p, 9q:4
donde la relacin de transicin se define de la si#uiente
manera acepta exactamente el mismo len#ua"e que G.
7
14 :3p, ^, ^4 A 3q, S4
7
24 :3q, ^, A4 A 3q, x4 para cada re#la A = x - R
7
)4 :3q, e, e4 A 3q, ^4 para cada e - j
El autmata de pila contiene slo dos estados. El primero
se utili.a slo en la primera transicin por lo que los
estados no sirven para recordar las caractersticas de la
palabra de entrada, este recordatorio se 'ace en la pila.
$as transiciones tipo 24 lo que 'acen es derivar en la pila
la palabra de entrada sin consumir nin#&n car-cter de
entrada. $as transiciones tipo )4 comparan la palabra en la
pila con la palabra de entrada.

12
Ejemplo

2btener un A= que acepte el len#ua"e #enerado por la


#ram-tica libre de contexto cu%as re#las sonK
S = aSa S = bSb S = c

Iransiciones del A=
7
-ipo 1): :3p, ^, ^4 A 3q, S4
7
-ipo 2): :3q, ^, S4 A 3q, aSa4 :3q, ^, S4 A 3q, bSb4
:3q, ^, S4 A 3q, c4
7
-ipo 3): :3q, a, a4 A 3q, ^4 :3q, b, b4 A 3q, ^4
:3q, c, c4 A 3q, ^4

1)
...Ejemplo: anali"a! abcba
Estado +alta lee! #ila
p abcba
q abcba S
q abcba aSa
q bcba Sa
q bcba bSba
q cba Sba
q cba cba
q ba ba
q a a
q

1*
e!!adu!a de los ,,
+adas dos #ram-ticas G
1
A 3V
1
, j

, R
1
, S
1
4 % G
1
A 3V
2
, j

, R
2
, S
2
4
entonces 3se asume, sin perder #eneralidad, que los smbolos no
terminales de G
1
% G
2
son dis"untos4K
7 $a #ram-tica libre de contexto que #enera $3G
1
4 - $3G
2
4 es
G A 3V
1
- V
2
- 9S:, j

- j

, R
1
- R
2
- 9S = S
1
, S = S
2
:, S4
7 $a #ram-tica libre de contexto que #enera $3G
1
4 $3G
2
4 es
G A 3V
1
- V
2
- 9S:, j

- j

, R
1
- R
2
- 9S = S
1
S
2
:, S4
7 $a #ram-tica libre de contexto que #enera $3G
1
4;es
G A 3V
1
, j

, R
1
- 9S = , S = S
1
S
1
:, S:
(i M
1
A 3K
1
, j
1
, \
1
, :
1
, s
1
, F
1
4 % M
2
A 3K
2
, j
2
, \
2
, :
2
, s
2
, F
2
4 son dos
autmatas de pila que aceptan los len#ua"es L
1
% L
2
,
respectivamente, entonces un autmata de pila que acepta el
len#ua"e L
1
- L
2
es
M
1 - 2
A 3K
1
- K
2
- 9s:, j
1
- j
2
, \
1
- \
2
,
933s, ^, ^4,3s
1
, ^44, 3s, ^, ^4,3s
2
, ^44: - :
1
- :
2
, s, F
1
- F
2
4

15
Ejemplos

2btener una L$, para el len#ua"e 9a


n
b
m
D n >m:.
7
9a
n
b
m
D n >m: A 9a
n
b
m
D n M m: - 9a
n
b
m
D n N m:
7
9a
n
b
m
D n M m: es #enerado por S = aSb, S = Sb, S =
b.
7
9a
n
b
m
D n N m: es #enerado por ........

1@
-a!ea /. #!ime!a pa!te
+ec0a l*mite de ent!e(a: 0123a4o22004

#!oblema 1.
7
2btener un autmata de pila que acepte el len#ua"e
L A 9a
i
b
"
c
/
D O3i A " A /4:
6tilice el 'ec'o
L A 9a
i
b
"
c
/
D O3i A " A /4: A 9a
i
b
"
c
/
D i >": - 9a
i
b
"
c
/
D " >/:
(u#erenciaK para obtener el A= que acepte el primer len#ua"e,
primero almacenara las aJs en la pila para lue#o ir descontando
una b por cada a en la pilaP las aJs deben acabarse antes de
terminar las bJs o deben sobrar aJs al terminar con las bJsP las
cJs no modifican la pila % simplemente se verifica que no 'a%a a
despus de la primera b ni que 'a%a a o b despus de la primera
c.
,a se(unda pa!te de esta -a!ea / est) en la l)mina 3/ del
-,a!c0i5o06.ppt

También podría gustarte