• Nenhum resultado encontrado

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA"

Copied!
35
0
0

Texto

(1)

Autômato com Pilha

Prof. Yandre Maldonado e Gomes da Costa

Prof. Yandre Maldonado e Gomes da Costa

P ro f. Y a n d re M a ld o n a d o -1

(2)



Autômato com Pilha - AP

 São formalismos (máquinas) capazes de

reconhecer as Linguagens Livres de Contexto;

 Maior poder que os Autômatos Finitos, pois

possuem um “espaço de armazenamento” extra que é utilizado durante o

processamento de uma cadeia;

 Possui uma pilha que caracteriza uma

memória auxiliar onde pode-se inserir e remover informações;

 Mesmo poder de reconhecimento das

Autômato com Pilha

(3)

-

Exemplo de LLC: {a

n

b

n

| n

0}



Um AF não é capaz de reconhecer

este tipo de linguagem devido à sua

incapacidade de “recordar”

(memorizar) informação sobre a

cadeia analisada;



Autômatos com Pilha (AP) possuem

uma pilha para armazenar

informação, adicionando poder aos

AF’s.

Autômato com Pilha

(4)



Definição:



AP é uma sextupla <

Σ

,

Γ

,S,S

0

,

δ

,B>, onde:

• Σ é o alfabeto de entrada do AP;

• Γ é o alfabeto da pilha;

• S é o conjunto finito não vazio de estados do AP;

• S0 é o estado inicial, S0 ∈ S;

• δ é a função de transição de estados,

δ: S × (Σ∪{λ}) × Γ → conjunto de subconjuntos finitos de S × Γ*

∈ Γ

Autômato com Pilha

(5)

-Autômato com Pilha

Abstração de um AP como reconhecedor de cadeias (DELAMARO, 1998).

(6)

 Ao contrário da fita de entrada, a pilha pode ser lida e

alterada durante um processamento;

 O autômato verifica o conteúdo do topo da pilha, retira-o e

substitui por uma cadeia α ∈ Γ*.

 Se α = A, e A ∈ Γ, então o símbolo do topo é substituído por

A e a cabeça de leitura escrita continua posicionada no mesmo lugar;

 Se α = A1A2...An, n>1 então o símbolo do topo da pilha é

retirado, sendo An colocado em seu lugar, An-1 na posição seguinte, e assim por diante. A cabeça é deslocada para a posição ocupada por A1 que é então o novo topo da pilha;

 Se α = λ então o símbolo do topo da pilha é retirado,

fazendo a pilha decrescer.

Autômato com Pilha

(7)



A função de transição

δ

, é função do estado

corrente, da letra corrente na fita de entrada

e do símbolo no topo da pilha;



Além disso, esta função determina não só o

próximo estado que o AP assume, mas

também como o topo da pilha deve ser

substituído;



O AP inicia sua operação num estado inicial

especial denotado por S

0

e com um único

símbolo na pilha, denotado por B.

Autômato com Pilha

(8)



A configuração de um AP é dada por uma

tripla <s, x,

α

> onde s é o estado corrente, x

é a cadeia da fita que falta ser processada

e

α

é o conteúdo da pilha, com o topo no

início de

α

;



O AP anda ou move-se de uma

configuração para outra através da

aplicação de uma função de transição.

Autômato com Pilha

(9)



Se o AP está na configuração <s,ay,A

β

> e

temos que

δ

(s,a,A)=<t,

γ

>, então o AP

move-se para a configuração <t,y,

γβ

> e

denota-se <s,ay,A

β

> |— <t,y,

γβ

>.



Se o AP move-se de uma configuração

<s

1

,x

1

,

α

1

> para uma configuração

<s

2

,x

2

,

α

2

> por meio de um número finito de

movimentos, denotamos

<s

1

,x

1

,

α

1

>|—

*

<s

2

,x

2

,

α

2

>



Se o valor de

δ

para uma determinada

configuração for

o AP pára.

Autômato com Pilha

(10)



Note que, segundo esta definição, AP’s não

possuem estados finais como os AF’s;



Assim, uma cadeia x é aceita se, ao chegar

ao final do processamento da mesma, a

pilha estiver vazia, independentemente do

estado em que o AP se encontra;

Autômato com Pilha

(11)

-

Formalmente temos:



Dado o AP P = <

Σ

,

Γ

,S,S

0

,

δ

,B> e a

cadeia x sobre

Σ

, diz-se que x é

aceita por P sse existe s

S tal que

<S

0

,x,B>|—

*

<s,

λ

,

λ

>. Caso contrário,

x é rejeitada.



Dado o AP P = <

Σ

,

Γ

,S,S

0

,

δ

,B>, a

linguagem L(P) definida por P é

{x

∈ Σ

*

|

s

S

<S

0

,x,B> |—

*

<s,

λ

,

λ

>}

Autômato com Pilha

(12)



Exemplo de AP para a LLC {a

n

b

n

|

n

0}:

δ

(S,a,B) = {<S,A>}

δ

(S,a,A) = {<S,AA>}

δ

(S,b,A) = {<R,

λ

>}

δ

(R,b,A) = {<R,

λ

>}

δ

(S,

λ

,B) = {<S,

λ

>}

S R <a,B>/A <a,A>/AA <λ,B>/ λ <b,A>/ λ <b,A>/ λ

Autômato com Pilha

(13)

-S R <a,B>/A <a,A>/AA <λ,B>/ λ <b,A>/ λ <b,A>/ λ PILHA PILHA B

Autômato com Pilha

P ro f. Y a n d re M a ld o n a d o -1 3

(14)



Exemplo: processamento da cadeia aaabbb

S R <a,B>/A <a,A>/AA <λ,B>/ λ <b,A>/ λ <b,A>/ λ A

Autômato com Pilha

(15)



Exemplo: processamento da cadeia aaabbb

S R <a,B>/A <a,A>/AA <λ,B>/ λ <b,A>/ λ <b,A>/ λ PILHA PILHA A A

Autômato com Pilha

(16)



Exemplo: processamento da cadeia aaabbb

S R <a,B>/A <a,A>/AA <λ,B>/ λ <b,A>/ λ <b,A>/ λ A A A

Autômato com Pilha

(17)



Exemplo: processamento da cadeia aaabbb

S R <a,B>/A <a,A>/AA <λ,B>/ λ <b,A>/ λ <b,A>/ λ PILHA PILHA A A

Autômato com Pilha

(18)



Exemplo: processamento da cadeia aaabbb

S R <a,B>/A <a,A>/AA <λ,B>/ λ <b,A>/ λ <b,A>/ λ A

Autômato com Pilha

(19)



Exemplo: processamento da cadeia aaabbb

S R <a,B>/A <a,A>/AA <λ,B>/ λ <b,A>/ λ <b,A>/ λ PILHA PILHA CADEIA ACEITA

Autômato com Pilha

(20)
(21)



Um AP definitivo para {x

{a,b}

*

| |x|

a

=|x|

b

}:

δ

(S,a,C) = {<S,AC>}

δ

(S,b,C) = {<S,BC>}

δ

(S,

λ

,C) = {<S,

λ

>}

δ

(S,a,A) = {<S,AA>}

δ

(S,b,A) = {<S,

λ

>}

δ

(S,a,B) = {<S,

λ

>}

δ

(S,b,B) = {<S,BB>}

S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB

Autômato com Pilha

(22)

 Exemplo: processamento da cadeia aaaabbabbb C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB BASE DA PILHA: C

Autômato com Pilha

(23)

 Exemplo: processamento da cadeia aaaabbabbb PILHA PILHA C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB A

Autômato com Pilha

(24)

 Exemplo: processamento da cadeia aaaabbabbb C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB A A

Autômato com Pilha

(25)

 Exemplo: processamento da cadeia aaaabbabbb PILHA PILHA C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB A A A

Autômato com Pilha

(26)

 Exemplo: processamento da cadeia aaaabbabbb C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB A A A A

Autômato com Pilha

(27)

 Exemplo: processamento da cadeia aaaabbabbb PILHA PILHA C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB A A A

Autômato com Pilha

(28)

 Exemplo: processamento da cadeia aaaabbabbb C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB A A

Autômato com Pilha

(29)

 Exemplo: processamento da cadeia aaaabbabbb PILHA PILHA C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB A A A

Autômato com Pilha

(30)

 Exemplo: processamento da cadeia aaaabbabbb C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB A A

Autômato com Pilha

(31)

 Exemplo: processamento da cadeia aaaabbabbb PILHA PILHA C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB A

Autômato com Pilha

(32)

 Exemplo: processamento da cadeia aaaabbabbb C S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB

Autômato com Pilha

(33)

 Exemplo: processamento da cadeia aaaabbabbb PILHA PILHA S <a,C>/AC <b,C>/BC <λ,C>/λ <a,A>/AA <b,A>/λ <a,B>/λ <b,B>/BB CADEIA ACEITA

Autômato com Pilha

(34)

Autômato com Pilha

(35)

Bibliografia



DELAMARO, Márcio Eduardo. Linguagens

Formais e Autômatos. UEM, 1998.

Referências

Documentos relacionados

O programa é executado por meio de programas de trabalho, nos termos do [artigo 110.º] do Regulamento Financeiro. Além disso, os programas de trabalho devem indicar os montantes

da equipe gestora com os PDT e os professores dos cursos técnicos. Planejamento da área Linguagens e Códigos. Planejamento da área Ciências Humanas. Planejamento da área

Vale ressaltar que, para direcionar os trabalhos da Coordenação Estadual do Projeto, é imprescindível que a mesma elabore seu Planejamento Estratégico, pois para Mintzberg (2006,

O fortalecimento da escola pública requer a criação de uma cultura de participação para todos os seus segmentos, e a melhoria das condições efetivas para

O Plano de Metas Compromisso Todos pela Educação, de 2007, e a Política Nacional de Formação de Profissionais do Magistério da Educação Básica, instituída em 2009 foram a base

Preenchimento, por parte dos professores, do quadro com os índices de aproveitamento (conforme disponibilizado a seguir). Tabulação dos dados obtidos a partir do

Realizar esse trabalho possibilita desencadear um processo de reflexão na ação (formação continuada), durante a qual o professor vivencia um novo jeito de

de um determinado ponto, algo que é um poder, me parece baseada em uma análise enganosa e que, em todo caso, não dá conta de um número considerável de fenômenos[...]