• Nenhum resultado encontrado

Teoria da Computação Linguagens Formais e Autômatos

N/A
N/A
Protected

Academic year: 2021

Share "Teoria da Computação Linguagens Formais e Autômatos"

Copied!
7
0
0

Texto

(1)

Prof. Diógenes Furlan

Teoria da

Computação

Linguagens Formais e Autômatos

Módulo 2

2015

(2)

Autômato de Pilha

Modelo reconhecedor de palavras para LLCs.

Modelo da Máquina

fita de entrada

...

cabeça de leitura

função de transição pilha

Funcionamento

Fita Pilha

Início palavra a ser avaliada (cabeça no inicio da fita)

vazia

(cabeça na base da pilha) Meio um símbolo é lido

(cabeça move-se para direita)

um símbolo da pilha é manipulado:

- empilhado (cabeça move-se para cima) - desempilhado (cabeça move-se para baixo) Fim (cabeça da fita após o ultimo

símbolo da palavra) Mudança de estado

Depende do estado atual, do símbolo entrada e do símbolo na pilha (argumento).

Condição de Parada

a) palavra termina e maquina assume um estado final: palavra de entrada é aceita;

b) palavra termina e maquina assume um estado não final: palavra de entrada é rejeitada;

c) função de transição é indefinida para o argumento: máquina pára e palavra de entrada é rejeitada.

Representação da função de transição

λ

símbolo lido da fita

α →

manipulação da pilha (empilha, desempilha, ε, ?) ...

q

i

q

j

λ

/ α

cabeça

(3)

Símbolos Especiais

? : testa se a palavra de entrada foi totalmente lida ou testa se a pilha está vazia

• ε : movimento vazio da fita ou da pilha (não lê, não grava).

emp(A) ou e(A): empilha o símbolo A

des(A) ou d(A): desempilha o símbolo A

Exemplos

Se ler b da fita, e existir um A no topo da pilha, empilha mais um A:

Não ler da fita e empilhar um símbolo X:

Se fita vazia, desempilhar B:

Se ler b da fita, não desempilhar nada:

Se pilha estiver vazia, ler b da fita:

Loop:

Exercícios

1) L = {a

n

b

n

| n>=1}

2)

S → aSa | b

3) Linguagem de parênteses casados 4) L = {a

n

b

m

c

m

d

n

| n,m>=1}

5) L = {a

i

b

j

| i≠j e i,j>=1}

6) L = {a

n

c

m

b

2n

| n,m>=1}

7) L = {w.w

r

| w é palavra sobre {a,b}}

8) L = {palavras com numero de a’s igual ao numero de b’s}

9) L = {a

n+m

b

m

a

n

| n,m>=0}

10) L = {ε}

11) L = {w | w é qq palavra sobre {a,b}, com tamanho par}

12) Linguagem de parênteses e colchetes casados 13) Fazer um AP que fica em loop infinito

14) L = {a

n

b

n

c

n

| n>=1} Impossível. Por quê?

p

ε / emp(X)

q

p

b / ?

q

p

b / ε

q

p

? / des(B)

q

p

ε / emp(A)

q

ε / des(A)

p

b / d(A),e(AA)

q

(4)

Autômato com Duas Pilhas (A2P)

Mesmo poder computacional da MT.

Modelo da Máquina

fita de entrada

...

cabeça de leitura

pilha 1 pilha 2

Representação da função de transição

λ

símbolo lido da fita

α →

manipulação da pilha 1 (empilha, desempilha, ε, ?)

β →

manipulação da pilha 2 (empilha, desempilha, ε, ?)

Exercícios

1) a

n

b

n

c

n

, n ≥ 0 2) a

n

b

m

c

n

d

m

, n,m ≥ 0 3) a

n

b

n

c

n

d

n

, n ≥ 0

4) w.c.w, onde w ∈ {a,b}*

5) a

m

b

n

c

p

, m > n > p ≥ 0 6) a

m

b

n

c

p

, 0 < m < n < p

7) Inverter a entrada (e deixar na pilha) 8) a

1

b

2

a

3

b

4

a

5

b

6

...a

n-1

.b

n

, onde n é par

Desafios:

9) a

m

b

n

c

p

, m ≠ n ≠ p

10) www (palavra com 3 substrings idênticas) 11) (a+b+c)*, onde |a| = |b| = |c|

12) a

n

b

n-1

a

n-2

b

n-3

...a

2

b

1

13) Linguagem com qtdade. par de símbolos a,b,c (para cada um).

... ...

p

λ

/ α / β q

(5)

Máquina de Turing (MT)

1

Modelo da Máquina

fita de entrada

$ a a # # ...

Controle pode:

- ler um valor da fita - escrever um valor na fita - se mover na fita

Símbolos Especiais

$: indica o inicio da fita;

#: branco, preenchendo a fita após o término da palavra.

Representação da função de transição

α →

símbolo lido da fita

β →

símbolo gravado na fita

m

sentido do movimento (dir / esq / ε)

Condições de parada

a) Máquina assume um estado final: máquina pára e a palavra de entrada é aceita.

b) Função de transição é indefinida para o argumento (símbolo lido e estado corrente): máquina pára e a palavra de entrada é rejeitada.

1 Alan Turing, em 1937, percebeu que o cálculo era um processo rígido, do tipo que podia ser seguido por uma máquina. Essa máquina iria operar unicamente segundo regras e seria capaz de calcular tudo para o que houvesse um algoritmo, isto é, uma seqüência precisa de passos conduzindo a uma conclusão. E então criou uma máquina que era um computador teórico, hoje conhecido como Máquina de Turing. Turing havia mapeado a teoria dos computadores antes que um só deles tivesse sequer sido construído. Somente a partir de 1939, quando foi designado para trabalhar em missões de informação secreta contra a Alemanha nazista, ele participou da criação de um dos primeiros precursores do computador digital eletromagnético, o Colossus.

p

α / β / m

q

controle

(6)

c) Argumento corrente define um movimento à esquerda e a cabeça da fita já se encontra na célula mais à esquerda: máquina pára e a palavra de entrada é rejeitada.

Exemplos

Altera símbolo na fita (a por A):

Só movimenta:

Exercícios

1) a* (AF)

2) 0n1n, n ≥ 1 (AP)

3) wwr, onde w ∈ {a,b}*, |w| ≥ 2 e wr é o reverso de w 4) Substituir todo a por 0 e todo b por 1. A={a,b}

5) Palavras com o mesmo número de a’s e b’s, em qualquer ordem.

6) anbncn, n ≥ 0

7) wcw, onde w ∈ {a,b}*

8) Encontre um MT que substitua, em uma fita contendo algarismos iguais a 0 e 1, todos os 0’s por 1’s e todos os 1’s por 0’s.

9) Inverter a entrada. A={a,b}

10) Substituir ab por ba. A={a,b,c}

11) Crie uma MT que faça uma cópia da entrada no final da fita. Pôr um

* entre a parte original e a cópia. A={a,b}

12) Implemente uma MT que entra em loop infinito, ou seja, nunca pára.

Desafios:

13) Colocar símbolos em ordem crescente dentro da palavra (abcabc → aabbcc). A={a,b,c}

14) Identificar uma entrada formada por duas cópias de uma mesma palavra w na fita (ww).

15) Identificar uma entrada contendo 0’s e 1’s intercalados, e em número ascendente de ocorrência (011203140516...

a

n-1

.a

n), onde n é par.

16) Linguagem com quantidade par de símbolos a,b,c separadamente.

p

a / A / dir

q

p

a / a / dir

q

(7)

Gramática Irrestrita

• Tipo 0 - Gramáticas irrestritas: geram linguagens estruturadas em frases

• Tipo 1 - Gramáticas sensíveis ao contexto: geram linguagens sensíveis ao contexto

• Tipo 2 - Gramáticas livres de contexto: geram linguagens livres de contexto

• Tipo 3 - Gramáticas regulares: geram linguagens regulares

Gramática Reconhecedor

Irrestrita

Máquina de Turing

Sensível ao Contexto

Máquina de Turing com Memória Limitada

Livre de Contexto

Autômato de Pilha

Regular

Autômato Finito

Exercícios

1) L = a

n

b

n

c

n

, n>=0 2) L = a

n

b

m

c

n

d

m

3) wcw, onde w ∈ {a,b}*

4) L = a

n

b

n

c

n

d

n

5) L = |a| > |b| > |c|

6) L = |a| < |b| < |c|

7) L = a

n

b

2n

a

n

, n>=1

Referências

Documentos relacionados

Esta  tela  mostra  a  confirmação  do  agendamento  que  inclui  as  datas  de  realização,  os  dias  dimensionados  versus  os  ofertados  e  o  registro 

O Piccolo  AmLyte 13, utilizado com o Analisador Químico Piccolo Xpress  , destina-se a ser utilizado para a determinação quantitativa in vitro de alanina aminotransferase

Com as tecnologias de informação e comunicação (TIC), a gestão da informação então é a estrutura organizativa que, no modelo digital de empresa, governa com

Levar o acadêmico a compreender as características e a importância dos processos de Licitações e contratações públicas, nas três esferas de governo, inclusive entre ambas

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

Quando o preço registrado tornar-se superior ao preço praticado no mercado por motivo superveniente, a Administração convocará o(s) fornecedor(es) para negociar(em) a

Para atender a demanda, o Curso Superior de Tecnologia em Estética e Cosmética – maquiagem profissional contempla as áreas de saúde, beleza, moda, maquiagem

Nota: O aluno deve apresentar-se na escola (na sala de aula) às 6.55 para o turno da manhã e às 12.55 no turno da tarde, para entoar o Hino Nacional. Cada aula presencial tem