Escolar Documentos
Profissional Documentos
Cultura Documentos
Umberto Rivieccio
UFRN
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
1 / 30
Motivacao
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
2 / 30
Motivacao
Como vimos, os automatos finitos nao sabem contar sem
limite, pois possuem uma memoria estritamente finita, nem
armazenar informacao (p.e. uma sequencia de smbolos).
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
2 / 30
Motivacao
Como vimos, os automatos finitos nao sabem contar sem
limite, pois possuem uma memoria estritamente finita, nem
armazenar informacao (p.e. uma sequencia de smbolos).
Ha linguagens livres do contexto que nao sao reconhecidos por
nenhum automato finito, por exemplo L tan b n : n 0u ou
L tw w R : w P u.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
2 / 30
Motivacao
Como vimos, os automatos finitos nao sabem contar sem
limite, pois possuem uma memoria estritamente finita, nem
armazenar informacao (p.e. uma sequencia de smbolos).
Ha linguagens livres do contexto que nao sao reconhecidos por
nenhum automato finito, por exemplo L tan b n : n 0u ou
L tw w R : w P u.
Existe uma classe de automatos que corresponde `as linguagens
livres do contexto?
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
2 / 30
Motivacao
Como vimos, os automatos finitos nao sabem contar sem
limite, pois possuem uma memoria estritamente finita, nem
armazenar informacao (p.e. uma sequencia de smbolos).
Ha linguagens livres do contexto que nao sao reconhecidos por
nenhum automato finito, por exemplo L tan b n : n 0u ou
L tw w R : w P u.
Existe uma classe de automatos que corresponde `as linguagens
livres do contexto?
Esta pergunta nos leva a tentar uma pilha como mecanismo di
armazenamento ilimitado.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
2 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
3 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
3 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
3 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
3 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
3 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
3 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
3 / 30
Aut
omatos com pilha
TdC 2015
3 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
4 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
4 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
4 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
4 / 30
Aut
omatos com pilha
TdC 2015
4 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
5 / 30
Aut
omatos com pilha
TdC 2015
5 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
6 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
6 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
6 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
6 / 30
Aut
omatos com pilha
TdC 2015
6 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
7 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
7 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
7 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
8 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
9 / 30
Aut
omatos com pilha
TdC 2015
9 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
10 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
10 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
10 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
11 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
11 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
11 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
11 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
11 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
12 / 30
Aut
omatos com pilha
TdC 2015
12 / 30
ou
pq, w , uq $` pq 1 , w 1 , u 1 q
quando
pq, w , uq $ . . . $ pq 1 , w 1 , u 1 q
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
13 / 30
ou
pq, w , uq $` pq 1 , w 1 , u 1 q
quando
pq, w , uq $ . . . $ pq 1 , w 1 , u 1 q
$ e o fecho reflexivo e transitivo de $
$` indica que, no mnimo, um movimento e feito.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
13 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
14 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
14 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
14 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
14 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
14 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
14 / 30
Aut
omatos com pilha
TdC 2015
14 / 30
Aut
omatos com pilha
TdC 2015
14 / 30
Aut
omatos com pilha
TdC 2015
14 / 30
Aut
omatos com pilha
TdC 2015
14 / 30
Aut
omatos com pilha
TdC 2015
14 / 30
Aut
omatos com pilha
TdC 2015
14 / 30
Aut
omatos com pilha
TdC 2015
14 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
15 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
15 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
15 / 30
Exemplos
Aut
omatos com pilha
TdC 2015
16 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
pq0 , abba, zq
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
pq0 , aba, zq
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
APN que aceita L tw w R : w P ta, bu u.
Verifiquemos:
1
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
17 / 30
Exemplos
Exemplo (6.2.8): APN que aceita L tan b m : 1 n m 3nu.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
18 / 30
Exemplos
O reconhecimento da cadeia aaabbbbb pode ser feito de varias
formas, p.e., pq0 , aaabbbbb, zq $
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
19 / 30
Exemplos
O reconhecimento da cadeia aaabbbbb pode ser feito de varias
formas, p.e., pq0 , aaabbbbb, zq $
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
19 / 30
Exemplos
O reconhecimento da cadeia aaabbbbb pode ser feito de varias
formas, p.e., pq0 , aaabbbbb, zq $
ou
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
19 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
20 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
20 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
20 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
20 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
20 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
21 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
21 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
21 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
21 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
21 / 30
Aut
omatos com pilha
TdC 2015
21 / 30
Aut
omatos com pilha
TdC 2015
21 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
22 / 30
U. Rivieccio (UFRN)
A aAa|a,
B bbB|bb,
Aut
omatos com pilha
C abC |
TdC 2015
22 / 30
A aAa|a,
B bbB|bb,
C abC |
U. Rivieccio (UFRN)
B bXb B|bXb ,
Aut
omatos com pilha
C aXb C |,
TdC 2015
22 / 30
A aAa|a,
B bbB|bb,
C abC |
B bXb B|bXb ,
C aXb C |,
Aut
omatos com pilha
TdC 2015
22 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
23 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
23 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
23 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
23 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
23 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
23 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
23 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
23 / 30
Aut
omatos com pilha
TdC 2015
23 / 30
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
24 / 30
Teorema (6.3.2)
Para qualquer linguagem livre do contexto LpG q gerada por uma
gramatica livre do contexto G , existe um APN M tal que
LpG q LpMq.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
25 / 30
LpG q LpMq
Demonstracao.
Seja G xV , T , S, Py uma gramatica na forma de pseudoGreibach.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
26 / 30
LpG q LpMq
Demonstracao.
Seja G xV , T , S, Py uma gramatica na forma de pseudoGreibach.
Definimos um APN M como mostrado anteriormente:
xQ tq0 , q1 , q2 u, T , V Ytzu pz R V q, , q0 , z, F tq2 uy
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
26 / 30
LpG q LpMq
Demonstracao.
Seja G xV , T , S, Py uma gramatica na forma de pseudoGreibach.
Definimos um APN M como mostrado anteriormente:
xQ tq0 , q1 , q2 u, T , V Ytzu pz R V q, , q0 , z, F tq2 uy
Provemos que, se w P LpG q, entao w P LpMq: por inducao sobre o
numero de etapas na derivacao de w em G .
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
26 / 30
LpG q LpMq
Demonstracao.
Seja G xV , T , S, Py uma gramatica na forma de pseudoGreibach.
Definimos um APN M como mostrado anteriormente:
xQ tq0 , q1 , q2 u, T , V Ytzu pz R V q, , q0 , z, F tq2 uy
Provemos que, se w P LpG q, entao w P LpMq: por inducao sobre o
numero de etapas na derivacao de w em G .
Base. Se S w P P, entao w P T e conclumos w P LpMq usando
pq0 , , zq pq1 , Szq e pq1 , , Sq pq1 , w q.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
26 / 30
LpG q LpMq
Passo indutivo.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
27 / 30
LpG q LpMq
Passo indutivo.
Consideremos a derivacao:
S a1 . . . an A1 A2 . . . Am a1 . . . an bB1 . . . Bk A2 . . . Am
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
27 / 30
LpG q LpMq
Passo indutivo.
Consideremos a derivacao:
S a1 . . . an A1 A2 . . . Am a1 . . . an bB1 . . . Bk A2 . . . Am
Se M simula S a1 . . . an A1 A2 . . . Am , entao, apos ler a1 . . . an ,
a pilha deve conter A1 A2 . . . Am .
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
27 / 30
LpG q LpMq
Passo indutivo.
Consideremos a derivacao:
S a1 . . . an A1 A2 . . . Am a1 . . . an bB1 . . . Bk A2 . . . Am
Se M simula S a1 . . . an A1 A2 . . . Am , entao, apos ler a1 . . . an ,
a pilha deve conter A1 A2 . . . Am .
Para o proximo passo, G deve ter a producao A1 bB1 . . . Bk .
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
27 / 30
LpG q LpMq
Passo indutivo.
Consideremos a derivacao:
S a1 . . . an A1 A2 . . . Am a1 . . . an bB1 . . . Bk A2 . . . Am
Se M simula S a1 . . . an A1 A2 . . . Am , entao, apos ler a1 . . . an ,
a pilha deve conter A1 A2 . . . Am .
Para o proximo passo, G deve ter a producao A1 bB1 . . . Bk .
Por construcao de M, temos que pq1 , B1 . . . Bk q P pq1 , b, A1 q.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
27 / 30
LpG q LpMq
Passo indutivo.
Consideremos a derivacao:
S a1 . . . an A1 A2 . . . Am a1 . . . an bB1 . . . Bk A2 . . . Am
Se M simula S a1 . . . an A1 A2 . . . Am , entao, apos ler a1 . . . an ,
a pilha deve conter A1 A2 . . . Am .
Para o proximo passo, G deve ter a producao A1 bB1 . . . Bk .
Por construcao de M, temos que pq1 , B1 . . . Bk q P pq1 , b, A1 q.
A pilha agora contem B1 . . . Bk , A2 . . . Am apos ter lido a1 . . . an , b.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
27 / 30
LpG q LpMq
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
28 / 30
LpG q LpMq
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
28 / 30
LpG q LpMq
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
28 / 30
LpMq LpG q
Seja agora w a1 . . . an P LpMq.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
29 / 30
LpMq LpG q
Seja agora w a1 . . . an P LpMq.
Por definicao, pq0 , w , zq $ pq2 , , uq.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
29 / 30
LpMq LpG q
Seja agora w a1 . . . an P LpMq.
Por definicao, pq0 , w , zq $ pq2 , , uq.
Mas, por construcao de M, temos pq1 , w , Szq $ pq1 , , zq.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
29 / 30
LpMq LpG q
Seja agora w a1 . . . an P LpMq.
Por definicao, pq0 , w , zq $ pq2 , , uq.
Mas, por construcao de M, temos pq1 , w , Szq $ pq1 , , zq.
A primeira etapa em
pq1 , a1 . . . an , Szq $ pq1 , a2 . . . an , u1 zq $ pq1 , , zq
e dada por uma transicao da forma pq1 , u1 q P pq1 , a1 , Sq.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
29 / 30
LpMq LpG q
Seja agora w a1 . . . an P LpMq.
Por definicao, pq0 , w , zq $ pq2 , , uq.
Mas, por construcao de M, temos pq1 , w , Szq $ pq1 , , zq.
A primeira etapa em
pq1 , a1 . . . an , Szq $ pq1 , a2 . . . an , u1 zq $ pq1 , , zq
e dada por uma transicao da forma pq1 , u1 q P pq1 , a1 , Sq.
Entao G tem uma regra S a1 u1 e portanto S a1 u1 .
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
29 / 30
LpMq LpG q
Escrevendo u1 Au2 , consideramos a proxima etapa
pq1 , a2 a3 . . . an , Au2 zq $ pq1 , a3 . . . an , u3 u2 zq.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
30 / 30
LpMq LpG q
Escrevendo u1 Au2 , consideramos a proxima etapa
pq1 , a2 a3 . . . an , Au2 zq $ pq1 , a3 . . . an , u3 u2 zq.
Entao G tem uma regra A a2 u3 e portanto S a1 a2 u3 u2 .
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
30 / 30
LpMq LpG q
Escrevendo u1 Au2 , consideramos a proxima etapa
pq1 , a2 a3 . . . an , Au2 zq $ pq1 , a3 . . . an , u3 u2 zq.
Entao G tem uma regra A a2 u3 e portanto S a1 a2 u3 u2 .
Em qualquer momento, o conteudo da pilha e igual `a parte nao
casada da forma sentencial.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
30 / 30
LpMq LpG q
Escrevendo u1 Au2 , consideramos a proxima etapa
pq1 , a2 a3 . . . an , Au2 zq $ pq1 , a3 . . . an , u3 u2 zq.
Entao G tem uma regra A a2 u3 e portanto S a1 a2 u3 u2 .
Em qualquer momento, o conteudo da pilha e igual `a parte nao
casada da forma sentencial.
Portanto, S a1 a2 . . . an , i.e. LpMq LpG q.
U. Rivieccio (UFRN)
Aut
omatos com pilha
TdC 2015
30 / 30