• Nenhum resultado encontrado

Resolvendo um Quebra-Cabeças — (I)

N/A
N/A
Protected

Academic year: 2019

Share "Resolvendo um Quebra-Cabeças — (I)"

Copied!
22
0
0

Texto

(1)

Autômatos Finitos Determinísticos

Aspectos Formais de Computação

Rodrigo Ribeiro

Departamento de Ciências Exatas e Aplicadas Universidade de Federal de Ouro Preto

(2)

Resolvendo um Quebra-Cabeças — (I)

Descrição do Problema

Em uma margem de um rio...

Um homem desejava atravessar o rio usando uma canoa.

A canoa só pode levar o homem e mais um objeto. E levar para o outro lado um repolho, um coelho e um leão.

Mas...

O leão não pode ficar sozinho com o coelho em uma margem.

(3)

Resolvendo um Quebra-Cabeças — (II)

Modelagem...

Possíveis movimentos:

O homem leva na canoa o coelho. O homem leva na canoa o leão. O homem leva na canoa o repolho. O homem vai sozinho na canoa.

Mais sobre movimentos:

Cada movimento, altera o que está em cada margem.

Sabemos que se o coelho está sozinho na margem direita.

(4)

Resolvendo um Quebra-Cabeças — (III)

Simplificando a Modelagem

Podemos simplificar a modelagem assim:

Cada movimento pode ser representado por um símbolo.

O símboloc pode representar o fato do homem levar na canoa o coelho.

O símbolol pode representar o fato do homem levar na canoa o leão.

O símbolor pode representar o fato do homem levar na canoa o repolho.

(5)

Resolvendo um Quebra-Cabeças — (IV)

Observe que...

Veja que a codificação de movimentos por meio de símbolos...

Forma um alfabeto Σ ={c,l,r,s}.

Portanto possíveis soluções podem ser codificadas como palavras desta linguagem.

Portanto podemos definir uma linguagemL ∈Σ∗

tal que para toda palavraw ∈L,w seja uma solução para o quebra-cabeças.

Então para resolver este quebra-cabeças...

(6)

Resolvendo um Quebra-Cabeças — (V)

Representação de Linguagens

Até agora vimos como representar linguagens usando operações sobre conjuntos.

Porém a linguagem que representa as soluções deste quebra-cabeças:

É um pouco complicada para representar usando operações como união, interseção, concatenação e fecho de Kleene.

(7)

Resolvendo um Quebra-Cabeças — (VI)

Veja que precisamos...

De um algoritmo que receba uma palavra como entrada e retorne verdadeiro se a palavra

constitui uma solução para o problema e falso, caso contrário.

Observe que...

O número de possibilidades de objetos em cada lado da margem é finito.

E que se um conjunto X de objetos está na

margem esquerda, então {h,c,l,r} −X estão

(8)

Resolvendo um Quebra-Cabeças — (VII)

Portanto...

Como o número de estados deste quebra-cabeça é finito, então podemos representar este

problema como um diagrama de estados.

Onde cada estado representa apenas os objetos na margem esquerda.

Cada movimento é representado como uma seta ligando dois estados.

(9)

Resolvendo um Quebra-Cabeças — (VIII)

Mas Este Diagrama Poderia Resolver Este Problema?

Basta seguir a transição de estados.

Começando no estado {h,c,l,r} que representa

que homem, o coelho, o leão e o repolho estão na margem esquerda.

Terminando no estado em que a margem esquerda está vazia.

Solução: Sequência de movimentos que se inicia

(10)

Resolvendo um Quebra-Cabeças — (IX)

(11)

Resolvendo um Quebra-Cabeças — (X)

Verificando uma Solução

Em cada transição de estado, um símbolo da palavra é eliminado, e considera-se como novo estado atual o estado que está na ponta da aresta que representa a transição entre os estados.

Uma transição só pode ser realizada se o

(12)

Autômatos Finitos Determiníticos — (I)

Sobre o Diagrama Anterior...

Um diagrama de estados como o anterior...

Na verdade é um tipo de máquina abstrata.

Entenda-se por máquina abstrata:

Uma máquina que realize algum tipo de trabalho computacional.

Sem especificar em qual tecnologia esta será implementada.

Somente o algoritmo (computação) é especificado pela máquina

Mais especificamente...

(13)

Autômatos Finitos Determinísticos — (II)

Formalmente...

Um AFD M é uma quíntupla:

M = (E,Σ, δ,i,F), onde:

E : Conjunto finito de estados

Σ: Alfabeto

δ:E ×Σ→E : função de transição

i ∈E: Estado inicial.

(14)

Autômatos Finitos Determinísticos — (III)

(15)

Autômatos Finitos Determinísticos — (IV)

O Exemplo Anterior Formalmente...

E = {a,b} e Σ ={0,1}.

i = a e F = {b}.

Definição da função de transição

δ 0 1

a b a

b a b

Mas Qual a Linguagem Reconhecida pelo AFD?

Linguagem sobre {0,1} tal que toda palavra possui

(16)

Autômatos Finitos Determinísticos — (V)

Configuração Instântanea

Formaliza em que ponto o processamento de um AFD está em um determinado momento.

O ponto de processamento de um AFD pode ser definido por:

Um estado atual e.

O restante da palavra a ser processadaw.

Então a configuração do processamento de um AFD pode ser definida pelo par [e,w], com e ∈E

(17)

Autômatos Finitos Determinísticos — (VI)

Transição entre Configurações Instântaneas

A função de transição δ : E ×Σ E induz a

uma relação sobre configurações instântaneas

⊢⊆ (E ×Σ)×(E ×Σ).

A relação ⊢ mostra como o processamento de

(18)

Autômatos Finitos Determinísticos — (VII)

Formalizando o Reconhecimento de Palavras

Seja M = (E,Σ, δ,i,F) um AFD e...

Seja ⊢⊆ (E ×Σ)×(E ×Σ) a relação de

transição entre configurações instântaneas deM.

Dizemos que um AFD M reconhece uma palavra

w Σse e somente se:

[i,w]⊢∗ [e, λ]e F.

Onde ⊢∗ é definido pela repetição de :

(19)

Autômatos Finitos Deter. — (VIII)

Formalizando a Linguagem Reconhecida por um AFD

Função de Transição Extendida.

Retorna o estado onde a computação em um AFD para após processar toda uma palavra.

Definindo:

b

δ(e, λ) = e b

δ(e,ay) =bδ(δ(e,a),y)

Com isso podemos definir L(M), a linguagem

aceita por um AFD M = (E,Σ, δ,i,F):

(20)

Autômatos Finitos Deter. — (IX)

(21)

Autômatos Finitos Determinísticos — (X)

(22)

Autômatos Finitos Deter. — (XI)

Equivalência entre AFD’s

Dois AFDs M1 e M2 são equivalentes se e

somente se: L(M1) = L(M2).

Logo faz sentido perguntar:

Existe um AFD mais eficiente para reconhecer uma linguagem?

Referências

Documentos relacionados

Inseridos na área de LA, também encontramos vertentes teóricas como a Pragmática (LEVINSON, 2007; MEY, 2001; TAVARES, 2006) e a Sociolinguística Interacional que, apesar de

Apresentamos estudo sobre o comportamento acústico das Igrejas do século XIX de Porto Alegre, RS, Brasil: Igreja Nossa Senhora das Dores (1832); Igreja Nossa Senhora da Conceição

Os resultados após um follow up de 5,5 anos foram de melhora na sobrevida global de 78% no grupo tratado imediatamente versus 62% no tratado tardiamente; e de 74% de melhora

Conclusão: A emissão sonora presente no ambiente de trabalho destes profissionais é alta e muitas das academias de ginástica analisadas estão em desconformidade com

Portanto, conclui-se que o princípio do centro da gravidade deve ser interpretado com cautela nas relações de trabalho marítimo, considerando a regra basilar de

Essa revista é organizada pela Sociedade Brasileira de Planejamento Energético (SBPE) e por isso foram selecionados trabalhos que tinham como objetivo tratar a

introduzido por seus orifícios e daí se descarrega no difusor secundário e depois no difusor principal, e a seguir para o coletor de admissão e cilindros... 8-C

DEMONSTRAÇÃO: Como as órbitas principais de G são variedades homogêneas e têm dimensão 2, segue-se que elas devem ter curvatura seccional constante. Por- tanto, a