aut^omatos finitos n~ao-determin sticos douglas o. cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3,...

23
Conceitos B´ asicos Equivalˆ encia entre AFDs e AFNs AFNλs Autˆ omatos Finitos N˜ ao-Determin´ ısticos Douglas O. Cardoso [email protected] docardoso.github.io Douglas O. Cardoso CEFET-RJ Petr´ opolis Autˆomatos Finitos N˜ ao-Determin´ ısticos 1/23

Upload: others

Post on 11-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Automatos Finitos Nao-Determinısticos

Douglas O. [email protected]

docardoso.github.io

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 1/23

Page 2: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Roteiro

1 Conceitos Basicos

2 Equivalencia entre AFDs e AFNs

3 AFNλs

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 2/23

Page 3: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Roteiro

1 Conceitos Basicos

2 Equivalencia entre AFDs e AFNs

3 AFNλs

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 3/23

Page 4: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Definicao

Um AFN e definido de forma semelhante a um AFD: uma quıntupla,(E,Σ, δ, I, F ), em que:

E e um conjunto de estados;

Σ e um alfabeto;

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

I, I ⊂ E, I 6= ∅, e o conjunto de estados iniciais;

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

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 4/23

Page 5: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Exemplo

1 20

0,1

E = {1, 2}Σ = {0, 1}I = {1, 2}F = {2}

δ 0 1

1 {1, 2} {1}2 ∅ ∅

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 5/23

Page 6: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

AFDs, AFNs e Nao-Determinismo

E importante notar duas diferencas de AFNs para AFDs, que representamo carater nao-determinıstico dos primeiros:

Um AFN pode ter um ou mais estados iniciais, enquanto um AFDtem apenas 1 estado inicial;

Os elementos do contradomınio da funcao de transicao de um AFNsao conjuntos de estados, enquanto de um AFD sao estados apenas.

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 6/23

Page 7: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

δ(e, a) = ∅?

No contexto de AFNs, δ(e, a) e o conjunto de estados alcancados portransicao de e sob a.

Logo, δ(e, a) = ∅ se e somente se nao ha transicoes sob o sımbolo apartindo de e.

AFNs dispensam o uso de sumidouros, ja que a funcao de transicaopermite indicar a ausencia de transicoes de um estado sob um sımbolo.

Se ∀(e, a) ∈ E × Σ, |δ(e, a)| ≤ 1, o referido AFN poderia serrepresentado como um AFD. (Por que?)

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 7/23

Page 8: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

AFNs e Linguagens

Seja δ : P(E)× Σ∗ → P(E) uma funcao de transicao estendida deum AFN qualquer, tal que:

δ(∅, w) = ∅, para todo w ∈ Σ∗;

δ(A, λ) = A, para todo A ⊆ E;

δ(A, aw) = δ(⋃e∈A δ(e, a), w).

Usando a definicao de δ, a linguagem aceita por um AFNM = (E,Σ, δ, I, F ) e o conjunto

L(M) = {w ∈ Σ∗ : δ(I, w) ∩ F 6= ∅} .

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 8/23

Page 9: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Por que usar AFNs?

AFDs e AFNs sao equivalentes: para todo AFN, ha um AFDcorrespondente; e todo AFD e um “AFN determinıstico”.

Ainda assim, AFNs ainda se mostram uteis ante a AFDs porpermitirem descricoes mais simples e claras de algumas ideias.

Devido a isso, determinar um AFN para chegar ao seu AFDcorrespondente e eventualmente mais interessante que determinar oAFD diretamente.

Por exemplo, como seriam um AFD e um AFN que aceitem alinguagem {0, 1}∗{1010}?

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 9/23

Page 10: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

{0, 1}∗{1010}: AFD e AFN

λ 1 10 101 1010AFD

0

1 0

1

0

1 0

1

0

1

λ 1 10 101 1010AFN

0,1

1 0 1 0

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 10/23

Page 11: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Exercıcio

Considere a linguagem

Li = {w ∈ {0, 1}∗ : |w| ≥ i ∧ w|w|−i+1 = 1}, i > 0 .

Determine um AFD Di e um AFN Ni tal que L(Di) = L(Ni) = Li,para i = 1, 2, 3.

Indique o numero de estados de Di e Ni em funcao de i.

A comparacao desses numeros diz algo sobre a importancia de AFNs,apesar da sua equivalencia com AFDs?

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 11/23

Page 12: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Roteiro

1 Conceitos Basicos

2 Equivalencia entre AFDs e AFNs

3 AFNλs

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 12/23

Page 13: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

AFD → AFN: Intuicao

Um AFN N = (E′,Σ′, δ′, I, F ′) equivalente a um AFDD = (E,Σ, δ, i, F ) qualquer pode ser determinado baseando-se naideia de que um AFD e como um “AFN determinıstico”:

E′ = E,Σ′ = Σ, δ′(e, a) = {δ(e, a)}, I = {i}, F ′ = F .

Isso pode ser provado! :)

Provar a equivalencia de D e N, L(D) = L(N), e provar que∀w,w ∈ L(D)↔ w ∈ L(N).

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 13/23

Page 14: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

AFN → AFD: Intuicao

Um AFD D = (E′,Σ′, δ′, i, F ′) equivalente a um AFNN = (E,Σ, δ, I, F ) qualquer realizaria, determinıstica esincronicamente, computacoes “paralelas” do AFN.

Logo, os estados desse AFD seriam conjuntos de estados do AFN (jaque um AFN permite estar em mais de um estado ao mesmo tempo).

O estado inicial de D seria o proprio conjunto de estados iniciais de N .

Os conjuntos de estados de N com pelo menos 1 estado final seriamos estados finais de D.

Assim sendo: E′ ⊆ P(E),Σ′ = Σ, i = I, F ′ = {X ⊆ E : X ∩F 6= ∅}.

Por fim, δ′(X, a) =⋃

e∈X δ(e, a), para X ⊆ E.

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 14/23

Page 15: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Exercıcio

1 Considere um AFN N = ({1, 2, 3, 4, 5}, {0, 1}, δ, {1, 2}, {5}), cujamatriz de transicoes e mostrada a seguir.

δ 0 1

1 {2} ∅2 {3} ∅3 ∅ {4}4 ∅ {3, 5}5 ∅ ∅

2 Desenhe o diagrama referente a este AFN.

3 Determine o AFD equivalente a este AFN.

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 15/23

Page 16: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Roteiro

1 Conceitos Basicos

2 Equivalencia entre AFDs e AFNs

3 AFNλs

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 16/23

Page 17: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

AFNλs: Definicao

Um automato finito nao determinıstico com transicoes λ (AFNλ) edefinido de forma semelhante a um AFN.

A diferenca entre ambos esta na funcao de transicao, que para AFNλse descrita como: δ : E × (Σ ∪ {λ})→ P(E).

Ou seja, num AFNλ e possıvel a realizacao de transicoes sem quequalquer sımbolo da seja consumido.

Mesmo com essa capacidade extra, AFNλs sao equivalentes a AFNs.

Assim sendo, a utilidade de AFNλs e baseada apenas na possibilidadede obter modelos mais claros e objetivos do que usando AFNs.

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 17/23

Page 18: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Exemplo

0 1 2 3

1 1

0

0

λ1

1

E = {0, 1, 2, 3}Σ = {0, 1}I = {0}F = {2}

δ 0 1 λ

0 {1} {0} ∅1 {0} {1} {2}2 ∅ {3} ∅3 ∅ {2} ∅

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 18/23

Page 19: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Funcao fecho λ, fλ

Antes de falar na linguagem aceita por um AFNλ M = (E,Σ, δ, I, F ),e interessante definir a funcao fecho λ, fλ : P(E)→ P(E).

Essa funcao e definida recursivamente, conforme mostrado a seguir,para um conjunto de estados X qualquer, X ⊆ E:

X ⊆ fλ(X);

Se e ∈ fλ(X), entao δ(e, λ) ∈ fλ(X).

Numa descricao em alto nıvel, fλ(X) e o conjunto de todos osestados alcancaveis a partir dos estados em X usando apenastransicoes sob λ, sem que sımbolos sejam consumidos.

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 19/23

Page 20: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

AFNλs e Linguagens

Seja δ : P(E)× Σ∗ → P(E) uma funcao de transicao estendida deum AFNλ qualquer, tal que:

δ(∅, w) = ∅, para todo w ∈ Σ∗;

δ(A, λ) = fλ(A), para todo A ⊆ E;

δ(A, aw) = δ(⋃e∈fλ(A) δ(e, a), w).

De forma semelhante a AFNs, a linguagem aceita por um AFNλM = (E,Σ, δ, I, F ) e o conjunto

L(M) = {w ∈ Σ∗ : δ(I, w) ∩ F 6= ∅} .

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 20/23

Page 21: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Equivalencia entre AFNλs e AFNs

Assim como AFDs sao como um caso particular de AFNs, e possıvelver os proprios ANFs como um caso particular de AFNλs.

Sendo assim, a equivalencia entre AFNλs e AFNs pode sercomprovada apenas obtendo AFNs correspondentes a todos AFNλs.

Considere entao um AFNλM = (E,Σ, δ, I, F ). Um AFN equivalenteseria N = (E,Σ, δ′, I ′, F ), tal que I ′ = fλ(I) e δ′(e, a) = fλ(δ(e, a)).

Para provar que L(M) = L(N), mostrar-se que δ′(I ′, w) = δ(I, w).

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 21/23

Page 22: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Exercıcio

1 Considere um AFNλ M = ({1, 2, 2′, 3, 3′}, {0, 1}, δ, {1}, {2, 3}), cujamatriz de transicoes e mostrada a seguir.

δ 0 1 λ

1 ∅ {3} {2}2 {2’} ∅ ∅2’ {2} ∅ ∅3 ∅ {3’} ∅3’ ∅ {3} ∅

2 Desenhe o diagrama referente a este AFNλ.

3 Determine o AFN equivalente a este AFNλ.

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 22/23

Page 23: Aut^omatos Finitos N~ao-Determin sticos Douglas O. Cardoso · 0 1 1 f2g ? 2 f3g ? 3 ? f4g 4 ? f3, 5g 5 ? ? 2 Desenhe o diagrama referente a este AFN. 3 Determine o AFD equivalente

Conceitos Basicos Equivalencia entre AFDs e AFNs AFNλs

Mais exercıcios

Livro NJV, versao pre-impressao em PDF

Pagina 101; questoes 1, 2, 4, 5, 6, 7, 13, 14

Douglas O. Cardoso CEFET-RJ Petropolis

Automatos Finitos Nao-Determinısticos 23/23