Você está na página 1de 8

AUTÔMATOS de PILHA ( AP )

Os autômatos de pilha formalizam as linguagens livres de contexto (tipo2).


Suas principais características são:

• têm memória auxiliar


• possibilita reconhecer liguagens com "aninhamento"

A memória de AP é estruturada como uma pilha de capacidade ilimitada,


na qual a máquina de estados é capaz de armazenar, consultar e remover
símbolos de um alfabeto próprio, denominado alfabeto de pilha, segundo a
convenção de pilhas LIFO (" last in first out ").

Formalmente um autômato de pilha é definido pela sétupla


AP = ( Q, Σ, Γ, δ, q0, Z0, F ) . O conjunto Q é dos estados da máquina de
estados, Σ é o alfabeto da fita de entrada, Γ é o alfabeto de pilha, δ são as
funções de transições que contém a topologia (grafo) do diagrama de
estado e as condições de evolução, q0 é o estado inicial, Z0 é o símbolo
inicial da pilha, F é o conjunto dos estados finais. As transições δ são
denotas por expressões do tipo ( p, σ, γ ) → ( q, λ ) sendo que p,q∈ ∈ Q,
σ∈Σ, γ∈Γ, λ∈Γ . As movimentações são do tipo: ( qm , ay, ϕγ ) |--- ( qn, y, ηγ )
*

com qm ,qn ∈Q, a∈ ∈Σ, y∈ ∈Σ*, ϕ∈Γ, γ,ηη∈Γ*.

A linguagem L(AP) defina pelas seguintes condições de aceitação:

L(AP) = { w ∈ Σ* | ( q0, w, Z0 ) |---* ( q, ε, ε ) , q ∈Q }


ou

L(AP) = { w ∈ Σ* | ( q0, w, Z0 ) |---* ( q, ε, λ ) , q ∈F , λ ∈ Γ* }

aula 05 – página 1 de 8
Convenções:

i) Se Γ = ( γ1, γ2, γ3, γ4 ) , a cadeia γ2 γ1 γ3 da pilha equivale a:

γ2
γ1
γ3

∈ Q, σ∈Σ, γ∈Γ
ii) Uma configuração é denotada por: ( q, σ, γ ), q∈

iii) A configuração inicial é denotada por: ( q0, σ, Z0 )

iv) Pode-se Ter transições em vazio e transições não-determinísticas;

v) O termo determinístico para denotar o tipo de AP decorre do fato de


que, se todas as transições são determinísticas, isto é, se com ( p, σ, γ ), δ
determinar uma única possibilidade de movimentação, então o AP é
determinístico (APD). Caso contrário o AP é não-determinístico (APN).

Vale dizer que APD e APN não são equivalentes (AF's são). Os APD
reconhecem um subconjunto das linguagens livres de contexto.

linguagens
Livres de
APD Contexto

APN

aula 05 – página 2 de 8
EXERCÍCIOS

1) Dado o seguinte Autômato de Pilha: AP = Q, {x , y}, {U , V , W }, δ , q a , U , { } e sabendo-se


que o critério de aceitação é (q a , ω , A)  (q, ε , ε ) com q ∈Q , responda os itens abaixo:
*

δ= { (q1, 0, A) → (q1, CA)


(q1, 1, A) → (q1, BA) a) Desenhar o diagrama de transições de estados do
(q1, 0, C) → (q1, CC), (q2, ε) autômato acima.
(q1, 0, B) → (q1, CB)
(q1, 1, C) → (q1, BC) b) Este autômato é determinístico ou não-
(q1, 1, B) → (q1, BB), (q2, ε) determinístico? Justifique.
(q2, 0, C) → (q2, ε)
(q2, 1, B) → (q2, ε) c) A cadeia 001100 é uma sentença válida da
(q1, ε, A) → (q2, ε) linguagem definida por este autômato.
(q2, ε, A) → (q2, ε) }

2) Dado um Autômato de Pilha AP = Q, Σ, Γ, δ , qi , Z i , F , e sabendo-se que qA é estado inicial,


qE é estado final e que Z0 é o símbolo inicial da pilha, determine:

δ ={
(q A , a, Z 0 ) → (q B , CCZ 0 )
(q A , a, Z 0 ) → (qC , CZ 0 )
(q B , a , C ) → (q B , CCC )
(q B , b, C ) → (q D , ε )
(qC , a, C ) → (qC , CC )
(qC , b, C ) → (q D , ε )
(q D , b, C ) → (q D , ε )
(q D , ε , Z 0 ) → (q E , Z 0 ) }

a) O diagrama de estados e transições do AP e os demais conjuntos desse AP.

b) Esse AP é determinístico? Justifique.

c) A sentença aabb é aceita? Demonstre pelas configurações atingidas pelo AP.

d) A sentença aabbb é aceita? Demonstre pelas configurações atingidas pelo AP.

aula 05 – página 3 de 8
3) Dado o seguinte Autômato de Pilha: AP = Q, {x , y}, {U , V , W }, δ , q a , U , { } e sabendo-se
que o critério de aceitação é (q a , ω , A)  *
(q, ε , ε ) com q ∈Q , responda os itens abaixo:

δ= { (qa, x, U) → (qa, WU) a) Desenhar o diagrama de estados do autômato acima.


(qa, y, U) → (qa, VU)
(qa, x, W) → (qa, WW)
b) Este autômato é determinístico ou não-
(qa, x, V) → (qa, WV) determinístico? Justifique.
(qa, y, W) → (qa, VW)
(qa, y, V) → (qa, VV) c) A cadeia xxyyxx é uma sentença válida da linguagem
definida por este autômato. Justifique mostrando as
(qa, x, W) → (qb, ε)
configurações alcançadas pelo AP.
(qa, y, V) → (qb, ε)
(qa, ε, U) → (qb, ε)
(qb, x, W) → (qb, ε)
(qb, y, V) → (qb, ε)
(qb, ε, U) → (qb, ε) }

4) Considere um Autômato de Pilha com Q = {q0 , q1 }, Σ = {a, b, c}, Γ = {Z 0 , C} e δ dado abaixo.


Sabendo-se que o critério de aceitação é (q0 ,ω ,Z 0 )  * (q ,ε ,ε ) com q ∈ Q , responda os itens
abaixo:

δ= { ( q0, a, Z0 ) → ( q0, CCZ0 ) a) Desenhar o diagrama de transições de


estados do autômato.
( q0, a, C ) → ( q0, CCC )
( q0, b, Z0 ) → ( q1, Z0 ) b) Este autômato de pilha é determinístico ou
não-determinístico? Justifique.
( q0, b, C ) → ( q1, C )
c) A cadeia aabccc é uma sentença válida da
( q1, c, C ) → ( q1, ε )
linguagem definida por este autômato?
( q1, ε, Z0 ) → ( q1, ε ) } Demonstre.

aula 05 – página 4 de 8
MÁQUINA de TURING ( MT )

célula de
M.T. memória

A máquina possui uma cabeça de leitura/gravação e pode se deslocar para


a esquerda e para a direita e sempre ocupa uma única célula de memória.

{qp} conjunto de estados


{sm} conjunto de entradas
{rn} conjunto de saídas

D(t) função que determina próximo movimento


G(t) função que determina próximo estado G: q x s → q
R(t) função que determina a próxima saída R: q x s → r (Mealy)
R: q → r (Moore)

 q( t + 1) = G ( q (t ) , s(t ) ) = 0 esquerda
 
M .T .  r (t + 1) = R ( q( t ) , s(t ) ) d = 1 direita
d (t + 1) = D ( q( t ) , s( t ) ) = − parada
 

aula 05 – página 5 de 8
Operação da M.T.

Estando num estado qi e posicionada numa célula de fita que contém sj, a
MT realiza:

i) lê sj
ii) calcula a saída r(t+1) = rj
iii) escreve rj sobre sj podendo, por isso, destruir a entrada se rj ≠ sj
iv) calcula d(t+1) = D( qi(t) , sj(t) )
v) efetua a movimentação dada por d
vi) atualiza a máquina de estados q(t+1) = G( qi(t) , sj(t) )

estado inicial processamento novo estado

s j s j+1 rj s j+1 rj s j+1

qi qi qi+1

Supões-se que, ao atingir a nova célula, a máquina já se encontra no estado


futuro. Neste exemplo d resultou d = 1.

sj / rj , d
qi qi+1

aula 05 – página 6 de 8
Exemplo: gerador de paridade
Projetar uma MT que forneça saída "1" quando o número de "uns" lidos
numa cadeia de caracteres for ímpar e, saída "0" quando for par. Os
caracteres lidos são apenas "0" e "1". O fim da cadeia de caracteres é
marcado por um "B".

estado inicial

x x x x 0 1 1 0 1 ...... B x x x

q0
estado final

x x x x 0 1 1 0 1 ...... R x x x

R = 0 ⇒ par
R = 1 ⇒ ímpar
P
q 0 par
MT: 2 estados q ímpar
 1

1/1,1

0/0,1 q0 q1 0/0,1
1/1,1

B/0,- B/1,-

aula 05 – página 7 de 8
Palavras finais

• M.T. são os modelos mais potentes de máquinas computacionais,


formando uma classe máxima de dispositivos desta categoria.

• Podem descrever linguagens bastante complexas.

Tese de Church:

"As máquinas de Turing são versões formais de algorítmos e

nenhum precedimento computacional é considerado um algorítmo

a não ser que possa ser apresentado na forma de uma máquina de

Turing"

aula 05 – página 8 de 8

Você também pode gostar