You are on page 1of 23

Sumario

1 Uma Introducao Informal


Captulo 3: Automatos de Pilha

Newton Jose Vieira

Departamento de Ciencia da Computacao


Universidade Federal de Minas Gerais

16 de setembro de 2010

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Sumario Sumario

1 Uma Introducao Informal 1 Uma Introducao Informal

2 Aut
omatos de Pilha Determinsticos 2 Aut
omatos de Pilha Determinsticos

3 Aut
omatos de Pilha Nao Determinsticos

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal
Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto

Sumario Linguagens nao regulares

1 Uma Introducao Informal Exemplo de linguagem n


ao regular muito comum:

2 Aut
omatos de Pilha Determinsticos Linguagem que contem express
oes aritmeticas, como:

3 Aut
omatos de Pilha Nao Determinsticos (n t1 +t2 )+t3 ) +tn+1 )

em que n 1, cada ti e uma subexpressao, e o n


umero de (s e
4 Gramaticas Livres do Contexto
igual ao de )s.
Definicao e exemplos
Derivacoes e ambiguidade
Manipulacao de gramaticas e formas normais Intuitivamente, um AF nao pode lembrar que leu n ocorrencias
GLCs e aut omatos de pilha de certo smbolo, para n arbitr
ario.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Uma Introducao Informal


Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

Arquitetuta de um automato de pilha Transicao de um AP


Sejam:
a1 a2 ai an fita de leitura apenas, unidirecional E : conjunto de estados;
: alfabeto de entrada;
: alfabeto de pilha;
@
Cada transicao do AP e da forma
controle @ e registrador com estado atual
@
+ (e, a, b) = [e , z]
@ b topo da pilha
1
@ e, e E , a {}, b {} e z .
b2 Essa transicao em um diagrama de estados:
..  a, b/z 
.
e - e
bn  

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Uma Introducao Informal
Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

Um exemplo de AP Computacao de um AP
Conjunto EA das express
oes aritmeticas: Pilha: uma palavra de . Pilha vazia: .
a) t EA; Configuracao instantanea: [e, y , p], sendo p a pilha.
b) se x, y EA, entao (x) EA, x+y EA e xy EA.
Computacao do AP quando a palavra de entrada e (t-(t+t)):

[ap, (t (t + t)), ] [ap, t (t + t)), X ]


(, /X ), X/
  [fp, (t + t)), X ]
?  t, / -
?
  [ap, (t + t)), X ]
- ap fp [ap, t + t)), XX ]
 
 
+, /; , / [fp, +t)), XX ]
[ap, t)), XX ]
Alfabetos: [fp, )), XX ]
= {t, (, ), +, }; [fp, ), X ]
= {X}; [fp, , ].

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Uma Introducao Informal


Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

Outros exemplos/condicoes para reconhecimento Um exemplo estranho

[ap, t), ] [fp, ), ]. Seja o AP com = {1} e com o diagrama de estados:



 

= o AP para sem consumir toda a palavra de entrada. - 0

 , /X
[ap, (t, ] [ap, t, X]
[fp, , X]. Para toda palavra em {1}+ , o AP nao para. Em particular:
= o AP para em estado final com pilha n
ao vazia. [0, 1, ] [0, 1, X ] [0, 1, XX ] . . .
Para uma palavra ser reconhecida: Perguntas:
ela deve ser totalmente consumida; para , o AP para ou nao?
a maquina deve terminar em um estado final; e reconhecida ou nao?
a deve estar pilha vazia.
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Uma Introducao Informal
Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

Transicoes compatveis O que e AP determinstico

Transic
oes compatveis Aut
omato de pilha determinstico
Seja : E ( {}) ( {}) E . Um aut omato de pilha determinstico (APD) e uma sextupla
(E , , , , i, F ), em que
oes (e, a, b) e (e, a , b ) sao compatveis
As transic
E e um conjunto finito de um ou mais estados;
se, e somente se e o alfabeto de entrada;
(a = a ou a = ou a = ) e (b = b ou b = ou b = ). e o alfabeto de pilha;
e uma funcao parcial de E ( {}) ( {}) para
Ou ainda: (e, a, b) e (e, a , b ) sao incompatveis se, e somente E , sem transicoes compatveis;
se:
i E e o estado inicial;

(a 6= a e a 6= e a 6= ) ou (b 6= b e b 6= e b 6= ). F E e o conjunto de estados finais.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Uma Introducao Informal


Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

A linguagem reconhecida por um APD Exemplo

{an bn | n N} e reconhecida por ({a, b}, {a, b}, {X}, , a, {a, b}),
Seja um APD M = (E , , , , i, F ). Entao: em que e dada por:
e, e E , a {}, b {}, x : 1. (a, a, ) = [a, X];
y , z [e, ay , bz] [e , y , xz] (e, a, b) = [e , x]. 2. (a, b, X) = [b, ];
3. (b, b, X) = [b, ].

e o fecho reflexivo e transitivo de . Diagrama de estados:
Linguagem reconhecida por um APD
a, /X b, X/
 
Seja M = (E , , , , i, F ). A linguagem reconhecida por M e:

?  b, X/ 
? 
- a - b
L(M) = {w | [i, w , ] [e, , ] para algum e F }. 
  
 

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Uma Introducao Informal
Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

Outro exemplo Mais um exemplo

APD que reconhece {0m 1n # | m n}:


APD que reconhece
{w {0, 1} | o n
umero de 0s em w e igual ao de 1s}: 0, /X 1, X/
 
?  1, X/ ? 
0, /ZF 0, Z/ZZ - 0s - 1s
   
- 0, U/
 1, /UF @
 
- igual 
 #, /@@
 dif
    1, U/UU #, /
, F/
1, Z/ @R
@  

 f
 
6

= Este APD utiliza uma tecnica para verificar se a pilha , X/
chegou ao fundo.
{0m 1n | m n} nao pode ser reconhecida por APD!

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Uma Introducao Informal


Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

Algoritmo para APD O que e AP nao determinstico

Entrada: (1) o APD, dado por i, F e D, e


(2) a palavra de entrada, dada por prox.
Sada: sim ou n ao. Aut
omato de pilha nao determinstico
e i; empilhe(); ps prox();
enquanto D[e, a, b] e definido p/ a {ps, } e b {topo(), } faca Um aut omato de pilha nao determinstico (APN) e uma sextupla
seja D[e, a, b] = [e , z]; (E , , , , I , F ), em que
se a 6= entao ps prox() fiment ao;
E , , e F sao como em APDs;
se b 6= entao desempilhe() fiment ao;
empilhe(z); e uma funcao parcial de E ( {}) ( {}) para D,
e e sendo D constitudo dos subconjuntos finitos de E ;
fimenquanto;
se ps = fs e topo() = e e F ent ao I E e o conjunto de estados iniciais.
retorne sim
senao
retorne nao
fimse

Esse algoritmo pode entrar


Newton Jos em loop!
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Uma Introducao Informal
Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

A linguagem reconhecida por um APN Exemplo de APN

APD que reconhece


{w {0, 1} | o n
umero de 0s em w e igual ao de 1s}:

Linguagem reconhecida por um APN


Seja um APN M = (E , , , , I , F ). A linguagem reconhecida 0, /Z;
0, U/
por M e: 

? 

-
L(M) = {w | [i, w , ] [e, , ] para algum i I e e F }.  
6

1, /U;
1, Z/

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Uma Introducao Informal


Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

Exemplo nao tratavel por APD Reconhecimento por estado final

APN que reconhece a linguagem {w {0, 1} | w = w R }: Reconhecimento por estado final


Seja um APN M = (E , , , , I , F ). A linguagem reconhecida por
0, /0; 0, 0/; M por estado final e:
1, /1 1, 1/
 

?  
?  LF (M) = {w | [i, w , ] [e, , y ] para i I , e F e y }.
- 1 - 2
 , /; 
 
0, /; Exemplo: APNs para L = {0m 1n | m n}:
1, / , X/
0, /X 1, X/ 0, /X 1, X/
Em uma computacao de sucesso para w :    
, X/
se |w | for par, sera percorrida a transicao de 1 para 2 sob ; 
?  1, X/ 
?  
?  1, X/ 
? 
- a - b - a - b
se |w | for mpar e o smbolo do meio for a, sera percorrida a 
  
  
  
 
transicao de 1 para 2 sob a.
Aceitacao por pilha vazia e estado final. Aceitacao por estado final
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Uma Introducao Informal
Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

Reconhecimento por pilha vazia Equivalencia de metodos de reconhecimento

Reconhecimento por pilha vazia Seja L uma linguagem. As seguinte afirmativas sao equivalentes:
Seja um APN M = (E , , , , I ). A linguagem reconhecida por M a) L pode ser reconhecida por pilha vazia e estado final.
por pilha vazia e: b) L pode ser reconhecida por estado final.
c) L {} pode ser reconhecida por pilha vazia.

LV (M) = {w | [i, w , ] [e, , ] para algum i I e e E }.
(a) (b):
M
Exemplo: APN para {0m 1n | m n}, rec. por pilha vazia:
 
1, / i1 f1
0, /X , /F
* H , F/
H

1, X/
  
 HH 
 
1, / - i .. .. j g
?  1, X/ ?  *
 H . . 
- a - b HH 
, /F H
j   
  , F/
im fn
 
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Uma Introducao Informal


Aut
omatos de Pilha Determinsticos Aut
omatos de Pilha Determinsticos
Aut
omatos de Pilha N
ao Determinsticos Aut
omatos de Pilha N
ao Determinsticos
Gram
aticas Livres do Contexto Gram
aticas Livres do Contexto

Equivalencia de metodos de reconhecimento Equivalencia de metodos de reconhecimento

Seja L uma linguagem. As seguinte afirmativas sao equivalentes:


a) L pode ser reconhecida por pilha vazia e estado final.
b) L pode ser reconhecida por estado final. Seja L uma linguagem. As seguinte afirmativas sao equivalentes:
c) L {} pode ser reconhecida por pilha vazia. a) L pode ser reconhecida por pilha vazia e estado final.
(b) (c) b) L pode ser reconhecida por estado final.
M c) L {} pode ser reconhecida por pilha vazia.
 
i1 f1 , X / X

, /F
* P 
P,
PP
/ (c) (a)
   , F/ 
- i
 .. ..
PPq ?
g - h
Se M = (E , , , , I ), entao M = (E , , , , I , E ).
 H . .
 1 
HH 
j
, /F H  
, /
im fn
 
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Gramatica em notacao BNF Gramatica em notacao BNF (cont.)

hcmd-enquantoi enquanto hexp-l ogicai faca


hprogramai hdeclarac
oesi ; hlista-de-cmdsi . hlista-de-cmdsi fimenquanto
..
. hcmd-sei se hexp-logicai entao
hlista-de-cmdsi hcomandoi ; hlista-de-cmdsi | hlista-de-cmdsi hsenaosesi hsenaoi fimse
hsenaosesi sen aose hexp-logicai entao
hcomandoi hcmd-enquantoi | hlista-de-cmdsi hsenaosesi |
hcmd-sei |
hcmd-atribuicaoi | hsenaoi sen ao hlista-de-cmdsi |

hcmd-atribuicaoi hvariaveli hexpressaoi

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

O que e gramatica livre do contexto Mais exemplos de GLCs

Gramatica livre do contexto


GLC que gera {w {0, 1} | w = w R }:
Uma gramatica livre do contexto (GLC) e uma gramatica
(V , , R, P), em que cada regra tem a forma X w , em que G = ({P}, {0, 1}, R, P), tendo R as 5 regras:
X V e w (V ) . P 0P0 | 1P1 | 0 | 1 |

Exemplo: GLC que gera {w {0, 1} | w tem um n


umero igual de 0s e 1s}:
({P}, {0, 1}, R, P), tendo R as 3 regras:
{0n 1n | n N} e gerada por G = ({P}, {0, 1}, R, P), em que R
P 0P1P | 1P0P |
consta das duas regras:
P 0P1 |

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

GLC para expressoes aritmeticas O que e linguagem livre do contexto

({E , T , F }, {t, +, , (, )}, R, E ), em que R consta de:


Linguagem livre do contexto
E E +T | T
Uma linguagem e dita ser uma linguagem livre do contexto se
T T F | F existe uma gramatica livre do contexto que a gera.
F (E ) | t

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

O conceito de arvore de derivacao Exemplo de construcao de uma AD para t*(t+t)


Arvore de derivacao E E +T | T
Seja G = (V , , R, P). Def. recursiva de arvore de derivacao T T F | F
(AD): F (E ) | t
a) uma arvore com apenas o vertice de r
otulo P e uma AD; A derivacao
b) se X V e r otulo de uma folha f de uma AD, entao:
E T (regra E T )
i. se X R, entao a arvore obtida acrescentando-se
mais um vertice v com r otulo e uma aresta {f , v } e leva `a AD:
uma AD; 
ii. se X x1 x2 . . . xn R, onde x1 , x2 , . . . , xn V , E

entao a arvore obtida acrescentando-se mais n vertices
v1 , v2 , . . . , vn com r
otulos x1 , x2 , . . . , xn , nessa ordem, e 
n arestas {f , v1 }, {f , v2 }, . . . , {f , vn }, e uma AD. T


Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Exemplo de construcao de uma AD (cont.) Exemplo de construcao de uma AD (cont.)


A derivacao evolue para:

E T (regra E T ) Tem-se duas opcoes para continuar a derivacao:


T F (regra T T F )
E T (regra E T )
e a AD correspondente para: T F (regra T T F )
 F F (regra T F )
E
 ou entao:

 E T (regra E T )
T
 T F (regra T T F )
@ T (E ) (regra F (E )).
@
  @
@
T  
 F *

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Exemplo de construcao de uma AD (cont.) Exemplo de construcao de uma AD/conclusao


As duas opc
oes:

  = Ap os uma derivacao de 11 passos tem-se uma AD para


E
 E
 t (t + t).

Observacoes:
 
T
 T

N
umero de passos da derivacao: n
umero de vertices internos
@ @ de X .
@ @
  @ @   @@ A estrutura da AD e normalmente utilizada para associar
T  
 F * T  
 F * significado.
@ Mais de uma AD para w mais de um significado para w .
@
   @ @
F
 ( E
   )

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Ambiguidade Demonstrando ambiguidade


E E + E | E E | (E ) | t

 
Gramatica ambgua Duas ADs para t+t*t
E
 E

Uma GLC e denominada ambgua quando existe mais de uma AD @ @
para alguma sentenca que ela gera. @ @
  @ @   @@
E

+
  E E *
   E
Exemplo: @ @
@ @
GLC ambgua para express
oes aritmeticas:    @ @   @ @ 
t
 E * E
     E + E  t
E E + E | E E | (E ) | t

   
t

t t
 
t


Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Derivacoes mais `a esquerda e mais `a direita Ambiguidade e DME e DMD

Derivacao mais `a esquerda


Uma derivacao e dita mais `a esquerda (DME) se em cada passo e Como existe uma u
nica DME e uma u
nica DMD correspondentes a
expandida a variavel mais `a esquerda. uma AD e vice-versa:
uma GLC e ambgua se, e somente se, existe mais de uma
Derivacao mais `a direita DME para alguma sentenca que ela gere;
Uma derivacao e dita mais `a direita (DMD) se em cada passo e uma GLC e ambgua se, e somente se, existe mais de uma
expandida a variavel mais `a direita. DMD para alguma sentenca que ela gere.

= Existe uma u
nica DME e uma u
nica DMD correspondentes a
uma AD e vice-versa.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Linguagens inerentemente ambguas Variaveis inuteis

Variavel u
til
Linguagem inerentemente ambgua: LLC para a qual existem Seja uma GLC G = (V , , R, P). Uma variavel X V e dita ser
apenas gramaticas ambguas. til se, e somente se, existem u, v (V ) e w tais que:
u

P uXv w .
Exemplo:
{am bn ck | m = n ou n = k}.
Exemplo:

A deteccao e remocao de ambiguidade em GLCs e muito Seja a GLC:


importante. P AB | a
O problema de determinar se uma GLC e ambgua e B b
indecidvel. C c

Que variaveis sao in


uteis?
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Exemplo de variaveis inuteis Eliminacao de variaveis inuteis

P AB | a Seja G = (V , , R, P) tal que L(G ) 6= .


B b Construcao de uma GLC G equivalente a G , sem variaveis in
uteis:
C c a) Obtenha G = (V , , R , P), em que:

V = {X V | X G w para algum w }, e

util: nao existem u e v tais que P uCv ;
C e in R = {r R | r nao contem smbolo de V V }.

util: nao existe w tal que A w ;
A e in b) Obtenha G = (V , , R , P), em que:

util: P uBv apenas para u = A e v = , e
B e in V = {X V | P G uXv para algum u, v

nao existe w tal que AB w . (V ) }, e
GLC equivalente sem smbolos in
uteis: R = {r R | r nao contem smbolo de V V }.
P a.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Determinando variaveis que produzem sentencas Determinando variaveis alcancaveis a partir de P


Algoritmo que determina {X V | X w para algum w }: Algoritmo que determina

{X V | P uXv para algum u, v (V ) }:

Entrada: uma GLC G = (V , , R, P).


Entrada: uma GLC G = (V , , R, P).
Sada: I1 = {X V | X w para algum w }.
I1 ; Sada: I2 = {X V | P uXv para algum u, v (V ) }.
repita I2 ; N {P};
N {X 6 I1 | X z R e z (I1 ) }; repita
I 1 I1 N I 2 I2 N ;
e N = ;
at N {Y 6 I2 | X uYv para algum X N e u, v (V ) }
retorne I1 . e N = ;
at
retorne I2 .

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Exemplo/eliminacao de variaveis inuteis Eliminacao de uma regra

A ABC | AEF | BD
B B0 | 0 Seja uma GLC G = (V , , R, P). Seja X w R, X 6= P.
C 0C | EB Seja a GLC G = (V , , R , P) em que R e obtido assim:
D 1D | 1 1 para cada regra de R em que X nao ocorre do lado direito,
E BE exceto X w , coloque-a em R ;
F 1F 1 | 1 2 para cada regra de R da forma Y x1 Xx2 X . . . Xxn+1 , com
pelo menos uma ocorrencia de X do lado direito, com n 1 e
V = {B, D, F , A} A BD
xi [(V {X }) ] , coloque em R todas as regras da
B B0 | 0
forma Y x1 1 x2 2 . . . n xn+1 , sendo que cada j pode ser
D 1D | 1
X ou w , com excecao da regra X w .
F 1F 1 | 1
V = {A, B, D} A BD G e equivalente a G .
B B0 | 0
D 1D | 1
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Exemplo/eliminacao de uma regra O conceito de variaveis anulaveis


Variavel anulavel
GLC G : Uma variavel X e anulavel em uma GLC G se, e somente se,
P ABA
X G .
A aA | a
B bBc | Algoritmo que determina o conjunto das variaveis anulaveis de
uma GLC:
GLC G obtida eliminando-se a regra A a:
P ABA | ABa | aBA | aBa Entrada: uma GLC G = (V , , R, P);

Sada: {X V | X }.
A aA | aa A ;
B bBc | repita
N {Y 6 A | Y z R e z A };
AAN
oes de aa em G e em G ?
Como sao as derivac e N = ;
at
retorne A.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Eliminacao de regras Exemplo/eliminacao de regras

Seja G = (V , , R, P). Seja G = (V , , R , P) em que R e Seja G :


obtido assim: P APB | C
1 para cada regra de R cujo lado direito nao contem variavel A AaaA |
anulavel, exceto regra , coloque-a em R ; B BBb | C
2 para cada regra de R da forma Y x1 X1 x2 X2 . . . Xn xn+1 , C cC |
sendo cada Xi uma variavel anulavel, com n 1 e cada xi
Variaveis anulaveis de G : {A, C , P, B}. G :
sem variaveis anulaveis, coloque em R todas as regras da
forma Y x1 1 x2 2 . . . n xn+1 , em que cada j pode ser Xj P APB | AP | AB | PB | A | B | C |
ou , com excecao de regra ; A AaaA | aaA | Aaa | aa
3 se P for anulavel, coloque P em R . B BBb | Bb | b | C
L(G ) nica regra , se houver, e P .
= L(G ) e sua u C cC | c

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

O conceito de variaveis encadeadas Algoritmo para determinar variaveis encadeadas

Algoritmo que determina enc(X ):


Variavel encadeada
Seja uma gramatica G = (V , , R, P). Diz-se que uma variavel Entrada: (1) uma GLC G = (V , , R, P), e
avel X V .
(2) uma vari
Z V e encadeada a uma variavel X V se Z = X ou se existe Sada: enc(X ).
uma seq uencia de regras X Y1 , Y1 Y2 , . . . , Yn Z em R, U ; N {X };
n 0; no caso em que n = 0, tem-se apenas a regra X Z . Ao repita
conjunto de todas as variaveis encadeadas a X e dado o nome de U U N;
N {Y 6 U | Z Y R para algum Z N }
enc(X ).
eN =
at
retorne U.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Eliminando regras unitarias Exemplo/eliminacao de regras unitarias


GLC para express
oes aritmeticas:
E E +T | T
T T F | F
Uma GLC equivalente a G = (V , , R, P), sem regras unitarias, e F (E ) | t
G = (V , , R , P), em que Os conjuntos enc(X ) para cada variavel X sao:
enc(E ) = {E , T , F };
R = {X w | existe Y enc(X ) tal que Y w R e w 6 V }.
enc(T ) = {T , F };
enc(F ) = {F }.
GLC equivalente, sem regras unitarias:
E E +T | T F | (E ) | t
T T F | (E ) | t
F (E ) | t
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Interacao entre os metodos de eliminacao Garantido consistencia das eliminacoes

a) Ao se eliminar regras podem aparecer regras unitarias. A seguinte sequencia de eliminacoes para G = (V , , R, P):
Exemplo: GLC com as regras A BC e B . 1 adicionar a regra P P, se P for recursivo;
b) Ao se eliminar regras unitarias podem aparecer regras . 2 eliminar regras ;
Exemplo: GLC com P , sendo P e o smbolo de partida, e
a regra A P.
3 eliminar regras unitarias;

c) Ao se eliminar regras podem aparecer variaveis in


uteis.
4 eliminar smbolos in
uteis.
Exemplo: o do item (a), caso B seja a u nica regra B. produz uma GLC equivalente cujas regras sao das formas:
d) Ao se eliminar regras unitarias podem aparecer variaveis P se L(G );
uteis. Exemplo: GLC que contem A B e B nao aparece
in X a para a ;
do lado direito de nenhuma outra regra (B torna-se in util). X w para |w | 2.
Ao se eliminar variaveis in
uteis, nao podem aparecer novas regras.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Gramatica na forma normal de Chomsky Transformacao para a forma normal de Chomsky

Seja uma GLC G . Obter uma GLC equivalente a G tal que:


P se L(G );
Forma normal de Chomsky X a para a ;
Uma GLC G = (V , , R, P) esta na forma normal de Chomsky X w para |w | 2.
(FNC) se cada uma de suas regras tem uma das formas:
Mais dois passos:
P se L(G ); 1 Modificar cada regra X w , |w | 2, de forma que ela fique
X YZ para Y , Z V; contendo apenas variaveis.
X a para a . 2 Substituir cada regra X Y1 Y2 . . . Yn , n 3, em que cada
Yi e uma variavel, pelo conjunto das regras: X Y1 Z1 ,
Z1 Y2 Z2 , . . . , Zn2 Yn1 Yn , em que Z1 , Z2 , . . . , Zn2
sao variaveis novas.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Exemplo/obtencao de gramatica na FNC Exemplo/obtencao de gramatica na FNC(cont.)


Seja a GLC G :
L (S) L (S) | ()
S SE | S SE | a | (S) | ()
E a|L E a | (S) | ()
Apos a eliminacao de regras : Finalmente:
L (S) | () L AX | AB
S SE | E S SE | a | AX | AB
E a|L E a | AX | AB
Como enc(L) = {L}, enc(S) = {S, E , L} e enc(E ) = {E , L}: X SB
L (S) | () A (
S SE | a | (S) | () B )
E a | (S) | ()
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Eliminacao de regras recursivas `a esquerda Exemplo/eliminacao de regras recursivas `a esquerda

Sejam as regras, a seguir, todas as regras X de uma GLC G :


X Xy1 | Xy2 | . . . | Xyn | w1 | w2 | . . . | wk
em que nenhum wi comeca com X . G:
E E +E | E E | (E ) | t
Utilizando recursao `a direita, em vez de recursao `a esquerda:
X w1 Z | w2 Z | . . . | wk Z Retirando-se recursao `a esquerda:
Z y 1 Z | y2 Z | . . . | yn Z | E (E )Z | tZ
em que Z e uma variavel nova. Eliminado-se a regra : Z +EZ | EZ |

X w 1 Z | w2 Z | . . . | w k Z | w1 | w2 | . . . | wk
Z y1 Z | y 2 Z | . . . | y n Z | y 1 | y2 | . . . | yn

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Exemplo/eliminacao de variavel em regra Gramatica na forma normal de Greibach

Forma normal de Greibach


Seja G = (V , , R, P) tal que X uYv R, Y V e Y 6= X . Uma GLC G = (V , , R, P) esta na forma normal de Greibach
(FNG) se cada uma de suas regras tem uma das formas:
Sejam Y w1 |w2 | . . . |wn todas as regras Y em R. P se L(G );
R pode ser substituda por X ay para a e y V .

(R {X uYv }) {X uw1 v | uw2 v | . . . | uwn v }.


Uma forma sentencial de uma gramatica na FNG, com excecao de
, e da forma xy , em que x + e y V .

Qual o tamanho de uma derivacao de uma palavra?

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Transformacao para a forma normal de Greibach Transformacao para a FNG (cont.)

Numerar sequencialmente as variaveis (#P = 1).


Seja uma GLC G . Obter uma GLC equivalente a G tal que:
Para cada A V , comecando com P, na ordem dada pela
P se L(G ); numeracao, fazer enquanto possvel:
X a para a ; 1 Se existe A By , para |y | 1, tal que #A > #B, substituir
B.
X w para |w | 2. 2 Se existe A Ay , para |y | 1, eliminar a recursao `a
Em seguida: esquerda.
Para cada X w para |w | 2, substituir por variaveis todos Seja B a variavel de maior n
umero em que ha regra da forma
os terminais de w , a partir de seu segundo smbolo. Com isso, B Cy , com C V . Substituir C . Repetir ate ser atingida a
obtem-se regras da forma X Yy , sendo que Y V e variavel P.
y V +. Para regras da forma Z Ay , em que Z e variavel nova
criada eliminando-se recursao `a esquerda, substituir A.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Exemplo/transformacao para a FNG Exemplo/transformacao para a FNG (cont.)


G: Substituindo-se a regra C BBC (#C > #B):
A CB A CB
B BBD | b B b | bZ1
* C bBC | bZ1 BC
C BBC | Dc
C DE
D AD | d D AD | d
Elimina-se C Dc e introduz-se C DE e E c. E c
Z1 BD | BDZ1
Numeracao: #A = 1, #B = 2, #C = 3, #D = 4 e #E = 5.
Substituindo-se a regra D AD (#D > #A):
A CB A CB
B b | bZ1 B b | bZ1
C bBC | bZ1 BC | DE
C BBC | DE
* D CBD
D AD | d D d
E c E c
Z1 BD | BDZ1 Z1 BD | BDZ1
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Exemplo/transformacao para a FNG (cont.) Exemplo/transformacao para a FNG (cont.)


Substituindo-se a regra D CBD (#D > #C ):
A CB
B b | bZ1 Substituindo-se C DE :
C bBC | bZ1 BC | DE A CB
* D bBCBD | bZ1 BCBD | DEBD B b | bZ1
D d C bBC | bZ1 BC
E c
* C bBCBDE | bZ1 BCBDE | dE | bBCBDZ2 E
Z1 BD | BDZ1
| bZ1 BCBDZ2 E | dZ2 E
Eliminando-se a recursao `a esquerda para as regras D:
D bBCBD | bZ1 BCBD | d | bBCBDZ2 | bZ1 BCBDZ2 | dZ2
A CB
B b | bZ1 E c
C bBC | bZ1 BC | DE Z1 BD | BDZ1
* D bBCBD | bZ1 BCBD | d | bBCBDZ2 | bZ1 BCBDZ2 | dZ2 Z2 EBD | EBDZ2
E c
Z1 BD | BDZ1
* Z2 EBD | EBDZ2
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Exemplo/transformacao para a FNG (cont.) Exemplo/transformacao para a FNG (cont.)

Finalmente, substitui-se as regras introduzidas por eliminacao de


Substituindo-se A CB: recursao `a esquerda:
* A bBCB | bZ1 BCB | bBCBDEB | bZ1 BCBDEB | dEB A bBCB | bZ1 BCB | bBCBDEB | bZ1 BCBDEB | dEB
| bBCBDZ2 EB | bZ1 BCBDZ2 EB | dZ2 EB | bBCBDZ2 EB | bZ1 BCBDZ2 EB | dZ2 EB
B b | bZ1
B b | bZ1
C bBC | bZ1 BC | bBCBDE | bZ1 BCBDE
| dE | bBCBDZ2 E | bZ1 BCBDZ2 E | dZ2 E
C bBC | bZ1 BC | bBCBDE | bZ1 BCBDE
D bBCBD | bZ1 BCBD | d | bBCBDZ2 | bZ1 BCBDZ2 | dZ2 | dE | bBCBDZ2 E | bZ1 BCBDZ2 E | dZ2 E
E c D bBCBD | bZ1 BCBD | d | bBCBDZ2 | bZ1 BCBDZ2 | dZ2
Z1 BD | BDZ1 E c
Z2 EBD | EBDZ2
* Z1 bD | bZ1 D | bDZ1 | bZ1 DZ1
* Z2 cBD | cBDZ2

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introducao Informal Definic


ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Obtencao de AP a partir de GLC Obtencao de AP a partir de GLC/Exemplo


Seja G = ({P}, {0, 1}, R, P), em que R consta das regras:
P 0P1P | 1P0P |
Uma GLC equivalente na FNG:
Seja G = (V , , R, P) uma GLC na FNG equivalente a G .
P 0PUP | 1PZP |
APN que aceita L(G ): Z 0
U 1
 , /P 
 
- f  
, P/, se P R Um AP que reconhece L(G ):
- i
 
  a, X /y , se X ay R , P/
 , /P 
 0, P/PUP
- i - f  
 
1, P/PZP
  
0, Z/
1, U/

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introducao Informal Definic
ao e exemplos Uma Introducao Informal Definic
ao e exemplos
Aut
omatos de Pilha Determinsticos Derivac
oes e ambiguidade Aut
omatos de Pilha Determinsticos Derivaco
es e ambiguidade
Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais Aut
omatos de Pilha N
ao Determinsticos Manipulacao de gramaticas e formas normais
Gram
aticas Livres do Contexto GLCs e aut omatos de pilha Gram
aticas Livres do Contexto GLCs e aut omatos de pilha

Obtencao de GLC a partir de AP Obtencao de GLC a partir de AP/Exemplo

A ideia: Seja o APD:


Seja um APN M = (E , , , , I , F ). Dados e, e E e a, /X b, X/
 
X {}: 
?  c, / 
? 
- 0 - 1

  
 
C (e, X , e ) = {w | [e, w , X ] [e , , ]}.
Entao: Primeiras regras:
[
L(M) = C (i, , f ). P [0, , 0] | [0, , 1]
(i,f )I F Regras [0, , 0]:
[0, , 0]
Obtencao da GLC: [0, , 0] a[0, X, 0]
1 Criar regras P [i, , f ], para cada i I e f F . [0, , 0] c[1, , 0]
2 Criar regras para variaveis [e, X , e ], de tal forma que de As variaveis [0, X, 0] e [1, , 0] sao in
uteis!
[e, X , e ] se gere o conjunto C (e, X , e ).
Como sao as outras regras?
Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introduc ao Informal Uma Introduc ao Informal
Automatos de Pilha Determinsticos Automatos de Pilha Determinsticos
Aut
omatos de Pilha N ao Determinsticos Aut
omatos de Pilha N ao Determinsticos
Gramaticas Livres do Contexto Gramaticas Livres do Contexto
Linguagens Livres do Contexto: Propriedades Linguagens Livres do Contexto: Propriedades

O lema do bombeamento para LLCs Exemplo de uso do lema do bombeamento

Seja L = {an bn cn | n N}.


Lema do bombeamento Suponha que L seja uma LLC. Seja k a constante do LB e z = ak bk ck .
Seja L uma LLC. Entao existe k > 0 tal que para qualquer z L Como |z| > k, sejam u, v , w , x e y tais que z = uvwxy , |vwx| k, e
vx 6= . Considera-se dois casos:
com |z| k existem u, v , w , x e y tais que:
z = uvwxy ; vx contem algum a. Como |vwx| k, vx nao contem cs. Portanto,
uv 2 wx 2 y contem mais as que cs. Assim, uv 2 wx 2 y 6 L.
|vwx| k;
vx 6= ; e vx nao contem a. Como vx 6= , uv 2 wx 2 y contem menos as que bs
uv i wx i y L para todo i 0. e/ou cs. Dessa forma, uv 2 wx 2 y 6 L.
Logo, em qualquer caso uv 2 wx 2 y 6 L, contrariando o LB. Portanto, L
nao e LLC.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introduc ao Informal Uma Introduc ao Informal


Automatos de Pilha Determinsticos Automatos de Pilha Determinsticos
Aut
omatos de Pilha N ao Determinsticos Aut
omatos de Pilha N ao Determinsticos
Gramaticas Livres do Contexto Gramaticas Livres do Contexto
Linguagens Livres do Contexto: Propriedades Linguagens Livres do Contexto: Propriedades

Exemplo de uso do lema do bombeamento Algumas propriedades de fechamento

Seja L = {0n | n e primo}.


Suponha que L seja uma LLC. Seja k a constante do LB, e seja z = 0n , A classe das LLCs e fechada sob:
em que n e um n umero primo maior que k. Como |z| > k, para provar uniao,
que L nao e livre do contexto, basta entao supor que z = uvwxy ,
|vwx| k e vx 6= , e encontrar um i tal que uv i wx i y 6 L, contrariando concatenacao,
o LB. Pelas informac oes anteriores, tem-se que uv i wx i y = 0n+(i1)(|vx|) fecho de Kleene.
n
(pois z = 0 ). Assim, i deve ser tal que n + (i 1)|vx| nao seja um
numero primo. Ora, para isso, basta fazer i = n + 1, obtendo-se Demonstracao: trivial, usando GLCs.
n + (i 1)|vx| = n + n|vx| = n(1 + |vx|), que nao e primo (pois |vx| > 0).
Desse modo, uv n+1 wx n+1 y 6 L, contradizendo o LB. Logo, L nao e LLC.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha
Uma Introduc ao Informal Uma Introduc ao Informal
Automatos de Pilha Determinsticos Automatos de Pilha Determinsticos
Aut
omatos de Pilha N ao Determinsticos Aut
omatos de Pilha N ao Determinsticos
Gramaticas Livres do Contexto Gramaticas Livres do Contexto
Linguagens Livres do Contexto: Propriedades Linguagens Livres do Contexto: Propriedades

Nao fechamento Um teorema importante

A classe das LLCs nao e fechada sob: Seja L uma LLC e R uma linguagem regular. Entao L R e uma
Intersecao. LLC.
L1 = {an bn ck | n, k 0} e L2 = {an bk ck | n, k 0} sao LLCs.
L1 L2 = {an bn cn | n 0} nao e LLC. Seja L = {w {a, b, c} | w tem o mesmo n
umero de as, bs e cs}.
Complementacao. Suponha que L seja uma LLC. Entao, como R = L(a b c ) e uma
linguagem regular, L R e LLC. Mas, L R = {an bn cn | n N},
L1 L2 = L1 L2 .
que nao e LLC. Logo, L nao e LLC.

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

Uma Introduc ao Informal


Automatos de Pilha Determinsticos
Aut
omatos de Pilha N ao Determinsticos
Gramaticas Livres do Contexto
Linguagens Livres do Contexto: Propriedades

Problemas decidveis e indecidveis

Problemas decidveis:
Determinar se w L(G ), para qualquer GLC G e palavra w .
Determinar se L(G ) e vazia, para qualquer GLC G .

Problemas indecidveis:
Determinar se G e ambgua, para qualquer GLC G .
Determinar se L(G ) = , para qualquer GLC G .
Verificar se L(G1 ) L(G2 ) = , para quaisquer GLCs G1 e G2 .
Determinar se L(G1 ) L(G2 ), para quaisquer GLCs G1 e G2 .
Determinar se L(G1 ) = L(G2 ), para quaisquer GLCs G1 e G2 .

Newton Jos
e Vieira Captulo 3: Aut
omatos de Pilha

You might also like