Top Banner
Uma Introdu¸ ao Intuitiva AutˆomatosFinitosDetermin´ ısticos (AFDs) Exerc´ ıcios Autˆ omatos Finitos Determin´ ısticos Douglas O. Cardoso [email protected] docardoso.github.io Douglas O. Cardoso CEFET-RJ Petr´ opolis AutˆomatosFinitosDetermin´ ısticos 1/26
26

Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Aug 09, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Automatos Finitos Determinısticos

Douglas O. [email protected]

docardoso.github.io

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 1/26

Page 2: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Roteiro

1 Uma Introducao Intuitiva

2 Automatos Finitos Determinısticos (AFDs)

3 Exercıcios

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 2/26

Page 3: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Roteiro

1 Uma Introducao Intuitiva

2 Automatos Finitos Determinısticos (AFDs)

3 Exercıcios

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 3/26

Page 4: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Um leao, um coelho e um repolho

Numa margem de um rio estao um leao, um coelho e um repolho.Voce deve atravessar de canoa os 3 para a outra margem, um por vez.Porem, nao podem ser deixados sozinhos o leao com o coelho, ou ocoelho com o repolho.

Como voce faria isso?

Ha mais de um jeito de fazer isso?

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 4/26

Page 5: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Modelagem

Sımbolos: humano = h, leao = l, coelho = c, repolho = r

Estado inicial: todos numa mesma margem do rio; {h, l, c, r}

Abstracao 1: Nao preciso representar a posicao da canoa

Afinal, ela esta onde o homem esta

Abstracao 2: cada “passo” e uma travessia

Nao e preciso registrar acoes como “fulano entra na canoa”

Agora, e importante registrar quem atravessou

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 5/26

Page 6: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Solucao

h,l,c,r l,r

c

h,l,r

h

r

l

h,c,r

c

c

r

h,c

h

∅c

A solucao e: chlcrhc

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 6/26

Page 7: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Outra solucao?

h,l,c,r l,r

c

h,l,r

h

r

l

h,c,r

c

c

r

h,c

h

∅c

l

r

h,l,c

cl

Outra solucao e: chrclhc

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 7/26

Page 8: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Outras solucoes?

h,l,c,r l,r

c

c

h,l,r

h

h

r

l

l

h,c,r

c

c

c

r

r

h,c

h

h

∅c

c

l

r

h,l,c

cl

c

r

c

l

Na verdade, infinitas solucoes!

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 8/26

Page 9: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Reconhecimento de solucoes

Um alfabeto e um conjunto finito, nao-vazio de sımbolos

Exemplo: Σ = {h, l, c, r}

Um palavra sobre Σ e uma sequencia finita de elementos desseconjunto

Exemplos: chrclhc e chlcrhc

|w| representa o numero de sımbolos (i.e., tamanho) de uma palavra w

wi representa o i-esimo elemento de uma palavra w

A palavra de tamanho zero e representada por λ

Seja Σ∗ o conjunto de todas as palavras sobre Σ

Como verificar se w ∈ Σ∗ e uma solucao?

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 9/26

Page 10: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Resposta: computacao

Verificar se o caminho correspondente a w leva ao estado final

Em caso positivo, diz-se que w foi aceita (ou reconhecida)

Senao, w foi rejeitada

Denomina-se computacao o processamento de uma palavra

Uma computacao e denotada usando a notacao [e1, ax] ` [e2, x],considerando que exista uma transicao do estado e1 para e2 sob osımbolo a

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 10/26

Page 11: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Exemplo de computacao: chrclhc, desde o estado inicial

h,l,c,r l,r

c

c

h,l,r

h

h

r

l

l

h,c,r

c

c

c

r

r

h,c

h

h

∅c

c

l

r

h,l,c

c l

c

r

c

l

[{h, l, c, r}, chrclhc] ` [{l, r}, hrclhc] ` [{h, l, r}, rclhc] `[{l}, clhc] ` [{h, l, c}, lhc] ` [{c}, hc] ` [{h, c}, c] ` [∅, λ]

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 11/26

Page 12: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Roteiro

1 Uma Introducao Intuitiva

2 Automatos Finitos Determinısticos (AFDs)

3 Exercıcios

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 12/26

Page 13: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Definicao

Um AFD e definido pela quıntupla (E,Σ, δ, i, F ), em que:

E e um conjunto finito, nao-vazio de elementos denominados estados

Σ e um alfabeto

δ : E × Σ→ E e a funcao de transicao (determinismo)

i, i ∈ E, e o estado inicial

F, F ⊂ E, e o conjunto de estados finais

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 13/26

Page 14: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

O estado “sumidouro”

Uma funcao mapeia cada elemento do seu domınio

Todavia, nao ha transicoes sob todos os sımbolos a partir de todos osestados do exemplo

Assume-se entao que ha um estado nao-terminal, denominadosumidouro, que foi omitido do diagrama

Se uma transicao de um estado e sob um sımbolo a nao foiespecificada, assume-se que δ(e, a) = t

Por fim, ∀a∈Σ δ(t, a) = t

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 14/26

Page 15: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

h,l,c,r l,r

c

c

h,l,r

h

h

r

l

l

h,c,r

c

c

c

r

r

h,c

h

h

∅c

c

l

r

h,l,c

c l

c

r

c

l

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 15/26

Page 16: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

O estado “sumidouro”

Uma funcao mapeia cada elemento do seu domınio

Todavia, nao ha transicoes sob todos os sımbolos a partir de todos osestados do exemplo

Assume-se entao que ha um estado nao-terminal, denominadosumidouro, que foi omitido do diagrama

Se uma transicao de um estado e sob um sımbolo a nao foiespecificada, assume-se que δ(e, a) = t

Por fim, ∀a∈Σ δ(t, a) = t

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 16/26

Page 17: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Exemplo

h,l,c,r l,r

c

c

h,l,r

h

h

r

l

l

h,c,r

c

c

c

r

r

h,c

h

h

∅c

c

l

r

h,l,c

c l

c

r

c

l

E = {{h, l, c, r}, {l, r}, {h, l, r}, {l}, {r}, {h, l, c}, {h, c, r}, {c}, {h, c},∅, t}

Σ = {h, l, c, r}

i = {h, l, c, r}

F = {∅}

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 17/26

Page 18: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Exemplo, funcao de transicao

δ h l c r

{h,l,c,r} t t {l, r} t{l,r} {h,l,r} t {h,l,c,r} t{h,l,r} {l,r} {r} t {l}{l} t t {h,l,c} {h,l,r}{r} t {h,l,r} {h,c,r} t

{h,l,c} t {c} {l} t{h,c,r} t t {r} {c}{c} {h,c} {h,l,c} t {h,c,r}{h,c} {c} t ∅ t

∅ t t {h, c} tt t t t t

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 18/26

Page 19: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Linguagens

Uma linguagem e um conjunto de palavras

A linguagem aceita por um AFD M, L(M), e o conjunto de palavrasque M aceita

Seja δ : E × Σ∗ → E uma funcao de transicao estendida, tal que:

δ(e, λ) = e

δ(e, aw) = δ(δ(e, a), w)

Entao, L(M) = {w ∈ Σ∗ : δ(i, w) ∈ F}

Dado outro AFD M’, se e somente se L(M) = L(M ′), diz-se que M eM’ sao equivalentes

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 19/26

Page 20: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Roteiro

1 Uma Introducao Intuitiva

2 Automatos Finitos Determinısticos (AFDs)

3 Exercıcios

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 20/26

Page 21: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Exercıcio 1: um AFD para uma linguagem

Descreva um AFD M, dado que:

L(M) = {w ∈ {0, 1}∗ : w tem um numero par de sımbolos}

Ideia: qual a menor palavra que M deve aceitar? E que deve rejeitar?

00 1

0

0

0,1

0,1

par ımpar

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 21/26

Page 22: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Caracterizacao formal

Σ = {0, 1}

E = {par, ımpar}

i = par

F = {par}

δ 0 1

par ımpar ımparımpar par par

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 22/26

Page 23: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Exercıcio 2: outro AFD para outra linguagem

Descreva um AFD M’, dado que:

L(M ′) = {w ∈ {0, 1}∗ :w tem um numero par de 0s e um numero par de 1s}

00 1

2

1

3

1

0

0

1 1

0

0

pp ip

pi ii

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 23/26

Page 24: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Exercıcio 3: adaptando M’

Seja M ′′ um AFD tal que:

L(M ′′) = {w ∈ {0, 1}∗ :w tem os numeros de 0s e 1s ambos pares, ou ambos ımpares}Como modificar o diagrama de M ′ para definir M ′′?

pp ip

pi ii

1 1

0

0

1 1

0

0

ii

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 24/26

Page 25: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Exercıcio 4

Qual a relacao entre os AFDs M e M ′′ dos exercıcios anteriores?

00 1

0

0

0,1

0,1

par ımpar

pp ip

pi ii

1 1

0

0

1 1

0

0

ii

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 25/26

Page 26: Aut^omatos Finitos Determin sticos Douglas O. Cardoso · Uma Introdu˘c~ao Intuitiva Aut^omatos Finitos Determin sticos (AFDs) Exerc cios Roteiro 1 Uma Introdu˘c~ao Intuitiva 2 Aut^omatos

Uma Introducao Intuitiva Automatos Finitos Determinısticos (AFDs) Exercıcios

Mais exercıcios

Livro do Newton Jose Vieira (NJV)

Vide PDF (versao pre-impressao disponıvel na Internet)

Pagina 87 (do PDF); questoes 1, 2, 3, 5, 18

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Determinısticos 26/26