Você está na página 1de 201

Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Autômatos Finitos

MAJS Autômatos Finitos 1 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Sumário

1 Introdução
Arquitetura de AFs
Exemplos de AF
2 Autômatos Finitos Determinísticos
Definição – AFD
Comportamento de AFD
Produto de AFDs: Interseção e União
Linguagens Finitas
3 Autômatos Finitos Não Determinísticos
Definição
Comportamento de AFN
Transição Vazia
4 Equivalência entre Autômatos Finitos
Equivalência e Conversões
Remoção de Transições Vazias
Remoção do Não Determinismo

MAJS Autômatos Finitos 2 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Arquitetura de AFs
Introdução à Autômatos Finitos

Arquitetura de AF
Principais componentes da arquitetura de um AF:
Fita de Leitura Unidirecional
Controle + Função de Transição
Registrador de Estado Atual

MAJS Autômatos Finitos 3 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Arquitetura de AFs
Introdução à Autômatos Finitos

Arquitetura de AF
Principais componentes da arquitetura de um AF:
Fita de Leitura Unidirecional
Controle + Função de Transição
Registrador de Estado Atual

MAJS Autômatos Finitos 3 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Exemplos de AF
Introdução à Autômatos Finitos

Exemplo N.01
Circuito de uma lâmpada
Dois estados: acesso e apagado
Duas ações (transições): acender e apagar

Exemplo N.02
Máquina de vender jornal
Custo do jornal: 0,30
Moedas aceitas: 0,05 / 0,10 / 0,25
Não há circuito subtrator, nem memória

MAJS Autômatos Finitos 4 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Exemplos de AF
Introdução à Autômatos Finitos

Exemplo N.01
Circuito de uma lâmpada
Dois estados: acesso e apagado
Duas ações (transições): acender e apagar

Exemplo N.02
Máquina de vender jornal
Custo do jornal: 0,30
Moedas aceitas: 0,05 / 0,10 / 0,25
Não há circuito subtrator, nem memória

MAJS Autômatos Finitos 4 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Definição
Um Autômato Finito Determinístico (AFD) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto finito não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição (função total):
δ : E × Σ 7→ E
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 5 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Definição
Um Autômato Finito Determinístico (AFD) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto finito não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição (função total):
δ : E × Σ 7→ E
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 5 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Definição
Um Autômato Finito Determinístico (AFD) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto finito não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição (função total):
δ : E × Σ 7→ E
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 5 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Definição
Um Autômato Finito Determinístico (AFD) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto finito não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição (função total):
δ : E × Σ 7→ E
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 5 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Definição
Um Autômato Finito Determinístico (AFD) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto finito não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição (função total):
δ : E × Σ 7→ E
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 5 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Definição
Um Autômato Finito Determinístico (AFD) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto finito não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição (função total):
δ : E × Σ 7→ E
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 5 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Representação Gráfica de um AFD

Estados : E = {1, 2, 3, 4}
Alfabeto : Σ = {0, 1}
Estado inicial : i = 1
Estados finais : F = {1}
Função de transição : δ
Símbolo
Estado
0 1
1 3 2
2 4 1
3 1 4
4 2 3

MAJS Autômatos Finitos 6 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Representação Gráfica de um AFD

Estados : E = {1, 2, 3, 4}
Alfabeto : Σ = {0, 1}
Estado inicial : i = 1
Estados finais : F = {1}
Função de transição : δ
Símbolo
Estado
0 1
1 3 2
2 4 1
3 1 4
4 2 3

MAJS Autômatos Finitos 6 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Representação Gráfica de um AFD

Estados : E = {1, 2, 3, 4}
Alfabeto : Σ = {0, 1}
Estado inicial : i = 1
Estados finais : F = {1}
Função de transição : δ
Símbolo
Estado
0 1
1 3 2
2 4 1
3 1 4
4 2 3

MAJS Autômatos Finitos 6 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Representação Gráfica de um AFD

Estados : E = {1, 2, 3, 4}
Alfabeto : Σ = {0, 1}
Estado inicial : i = 1
Estados finais : F = {1}
Função de transição : δ
Símbolo
Estado
0 1
1 3 2
2 4 1
3 1 4
4 2 3

MAJS Autômatos Finitos 6 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Representação Gráfica de um AFD

Estados : E = {1, 2, 3, 4}
Alfabeto : Σ = {0, 1}
Estado inicial : i = 1
Estados finais : F = {1}
Função de transição : δ
Símbolo
Estado
0 1
1 3 2
2 4 1
3 1 4
4 2 3

MAJS Autômatos Finitos 6 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Representação Gráfica de um AFD

Estados : E = {1, 2, 3, 4}
Alfabeto : Σ = {0, 1}
Estado inicial : i = 1
Estados finais : F = {1}
Função de transição : δ
Símbolo
Estado
0 1
1 3 2
2 4 1
3 1 4
4 2 3

MAJS Autômatos Finitos 6 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Representação Gráfica de um AFD

Estados : E = {1, 2, 3, 4}
Alfabeto : Σ = {0, 1}
Estado inicial : i = 1
Estados finais : F = {1}
Função de transição : δ
Símbolo
Estado
0 1
1 3 2
2 4 1
3 1 4
4 2 3

MAJS Autômatos Finitos 6 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Propriedades de AFDs
Determinismo: cada par (estado, símbolo) leva a um único estado,
daí a partir do estado inicial é atingido um único estado, para uma
dada palavra de entrada
Função de transição total: para toda palavra de entrada, só é
possível se atingir um único estado consumindo-se toda a palavra
Um único estado inicial: com vários o poder computacional não é
maior
Vários estados finais: com um só, o poder computacional é menor
Conjunto finito de estados: com conjunto infinito, o poder
computacional é maior

MAJS Autômatos Finitos 7 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Propriedades de AFDs
Determinismo: cada par (estado, símbolo) leva a um único estado,
daí a partir do estado inicial é atingido um único estado, para uma
dada palavra de entrada
Função de transição total: para toda palavra de entrada, só é
possível se atingir um único estado consumindo-se toda a palavra
Um único estado inicial: com vários o poder computacional não é
maior
Vários estados finais: com um só, o poder computacional é menor
Conjunto finito de estados: com conjunto infinito, o poder
computacional é maior

MAJS Autômatos Finitos 7 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Propriedades de AFDs
Determinismo: cada par (estado, símbolo) leva a um único estado,
daí a partir do estado inicial é atingido um único estado, para uma
dada palavra de entrada
Função de transição total: para toda palavra de entrada, só é
possível se atingir um único estado consumindo-se toda a palavra
Um único estado inicial: com vários o poder computacional não é
maior
Vários estados finais: com um só, o poder computacional é menor
Conjunto finito de estados: com conjunto infinito, o poder
computacional é maior

MAJS Autômatos Finitos 7 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Propriedades de AFDs
Determinismo: cada par (estado, símbolo) leva a um único estado,
daí a partir do estado inicial é atingido um único estado, para uma
dada palavra de entrada
Função de transição total: para toda palavra de entrada, só é
possível se atingir um único estado consumindo-se toda a palavra
Um único estado inicial: com vários o poder computacional não é
maior
Vários estados finais: com um só, o poder computacional é menor
Conjunto finito de estados: com conjunto infinito, o poder
computacional é maior

MAJS Autômatos Finitos 7 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição – AFD
Autômatos Finitos Determinísticos

Propriedades de AFDs
Determinismo: cada par (estado, símbolo) leva a um único estado,
daí a partir do estado inicial é atingido um único estado, para uma
dada palavra de entrada
Função de transição total: para toda palavra de entrada, só é
possível se atingir um único estado consumindo-se toda a palavra
Um único estado inicial: com vários o poder computacional não é
maior
Vários estados finais: com um só, o poder computacional é menor
Conjunto finito de estados: com conjunto infinito, o poder
computacional é maior

MAJS Autômatos Finitos 7 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Comportamento de um AFD
Inicialmente o estado atual da máquina é o estado inicial;
A cada transição do autômato, um símbolo da entrada é lido e o estado
atual é atualizado utilizando a função de transição;
O autômato reconhece o string de entrada se a última transição resultar
em um estado final.

Exemplo do comportamento de um AFD


Qual a linguagem aceita pelo seguinte AFD? (a ∪ ba∗ b)∗

MAJS Autômatos Finitos 8 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Comportamento de um AFD
Inicialmente o estado atual da máquina é o estado inicial;
A cada transição do autômato, um símbolo da entrada é lido e o estado
atual é atualizado utilizando a função de transição;
O autômato reconhece o string de entrada se a última transição resultar
em um estado final.

Exemplo do comportamento de um AFD


Qual a linguagem aceita pelo seguinte AFD? (a ∪ ba∗ b)∗

MAJS Autômatos Finitos 8 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Comportamento de um AFD
Inicialmente o estado atual da máquina é o estado inicial;
A cada transição do autômato, um símbolo da entrada é lido e o estado
atual é atualizado utilizando a função de transição;
O autômato reconhece o string de entrada se a última transição resultar
em um estado final.

Exemplo do comportamento de um AFD


Qual a linguagem aceita pelo seguinte AFD? (a ∪ ba∗ b)∗

MAJS Autômatos Finitos 8 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Configuração Instantânea de AFD

A configuração instantânea de um AFD é dada pelo par [e, w ] em que:


e ≡ estado atual;
w ≡ o sufixo ainda não processado da palavra de entrada.

Seja um AFD M = (E , Σ, δ, i, F ). A relação `⊆ (E × Σ∗ )2 , para M, é tal


que todo e, e 0 ∈ E , a ∈ Σ:
[e, ay ] ` [e 0 , y ], ∀y ∈ Σ∗ ⇐⇒ δ(e, a) = e 0 .

OBS.: Usa-se `∗ para representar zero ou mais aplicações da relação `

MAJS Autômatos Finitos 9 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Configuração Instantânea de AFD

A configuração instantânea de um AFD é dada pelo par [e, w ] em que:


e ≡ estado atual;
w ≡ o sufixo ainda não processado da palavra de entrada.

Seja um AFD M = (E , Σ, δ, i, F ). A relação `⊆ (E × Σ∗ )2 , para M, é tal


que todo e, e 0 ∈ E , a ∈ Σ:
[e, ay ] ` [e 0 , y ], ∀y ∈ Σ∗ ⇐⇒ δ(e, a) = e 0 .

OBS.: Usa-se `∗ para representar zero ou mais aplicações da relação `

MAJS Autômatos Finitos 9 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Configuração Instantânea de AFD

A configuração instantânea de um AFD é dada pelo par [e, w ] em que:


e ≡ estado atual;
w ≡ o sufixo ainda não processado da palavra de entrada.

Seja um AFD M = (E , Σ, δ, i, F ). A relação `⊆ (E × Σ∗ )2 , para M, é tal


que todo e, e 0 ∈ E , a ∈ Σ:
[e, ay ] ` [e 0 , y ], ∀y ∈ Σ∗ ⇐⇒ δ(e, a) = e 0 .

OBS.: Usa-se `∗ para representar zero ou mais aplicações da relação `

MAJS Autômatos Finitos 9 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Reconhecimento de uma sentença por AFD


Pode-se representar o processo de reconhecimento da sen-
tença w1 = 0101 da seguinte forma:

[1, 0101] ` [3, 101] ` [4, 01] ` [2, 1] ` [1, λ] (Aceita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado de aceitação com a sen-
tença completamente lida (consumida) !
Por outro lado, o não reconhecimento da sentença w2 =
0010 pode ser visto a seguir:

[1, 0010] ` [3, 010] ` [1, 10] ` [2, 0] ` [4, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado ini-


cial e terminou-se em um estado que não é de aceitação
com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 10 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Linguagem de um AFD
Seja um AFD M = (E , Σ, δ, i, F ). A linguagem reconhecida por M é

L(M) = {w ∈ Σ∗ | [i, w ] `[f , λ] para algum f ∈ F }.

Uma palavra w tal que [i, w ] `∗ [f , λ], em que f ∈ F , é dita ser reconhecida (ou
aceita) por M.

Equivalência de AFDs
Dois AFDs são equivalentes se eles reconhecem a mesma linguagem.

MAJS Autômatos Finitos 11 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Linguagem de um AFD
Seja um AFD M = (E , Σ, δ, i, F ). A linguagem reconhecida por M é

L(M) = {w ∈ Σ∗ | [i, w ] `[f , λ] para algum f ∈ F }.

Uma palavra w tal que [i, w ] `∗ [f , λ], em que f ∈ F , é dita ser reconhecida (ou
aceita) por M.

Equivalência de AFDs
Dois AFDs são equivalentes se eles reconhecem a mesma linguagem.

MAJS Autômatos Finitos 11 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Determinismo Incompleto
Ocorre quando nem todas as transições são especificadas, isto é, a função de
transição δ é uma função parcial.
Quando uma palavra é analisada e não há transição para um próximo estado o
autômato pára (HALT), rejeitando a mesma.

Exemplo de determinismo incompleto


Qual a linguagem aceita pelo seguinte AFD? (ab)∗ c

MAJS Autômatos Finitos 12 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Determinismo Incompleto
Ocorre quando nem todas as transições são especificadas, isto é, a função de
transição δ é uma função parcial.
Quando uma palavra é analisada e não há transição para um próximo estado o
autômato pára (HALT), rejeitando a mesma.

Exemplo de determinismo incompleto


Qual a linguagem aceita pelo seguinte AFD? (ab)∗ c

MAJS Autômatos Finitos 12 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Determinismo Incompleto
Ocorre quando nem todas as transições são especificadas, isto é, a função de
transição δ é uma função parcial.
Quando uma palavra é analisada e não há transição para um próximo estado o
autômato pára (HALT), rejeitando a mesma.

Exemplo de determinismo incompleto


Qual a linguagem aceita pelo seguinte AFD? (ab)∗ c

MAJS Autômatos Finitos 12 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Simulação de AFD
algoritmo
Entrada: AFD M = (E , Σ, δ, i, F ) e palavra w dada por prox () que
termina com EOS(=“End of Sequence”)
Estado ← i;
Simbolo ← prox ();
enquanto Simbolo 6= EOS faça
se δ(Estado, Simbolo) for indefinido então
retorne “Entrada não foi aceita”; (HALT)
fim se;
Estado ← δ(Estado, Simbolo); Simbolo ← prox ();
fim enquanto;
se Estado ∈ F então
retorne “Entrada foi aceita”;
senão
retorne “Entrada não foi aceita”;
fim se;
fim algoritmo

MAJS Autômatos Finitos 13 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Simulação de AFD
algoritmo
Entrada: AFD M = (E , Σ, δ, i, F ) e palavra w dada por prox () que
termina com EOS(=“End of Sequence”)
Estado ← i;
Simbolo ← prox ();
enquanto Simbolo 6= EOS faça
se δ(Estado, Simbolo) for indefinido então
retorne “Entrada não foi aceita”; (HALT)
fim se;
Estado ← δ(Estado, Simbolo); Simbolo ← prox ();
fim enquanto;
se Estado ∈ F então
retorne “Entrada foi aceita”;
senão
retorne “Entrada não foi aceita”;
fim se;
fim algoritmo

MAJS Autômatos Finitos 13 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Simulação de AFD
algoritmo
Entrada: AFD M = (E , Σ, δ, i, F ) e palavra w dada por prox () que
termina com EOS(=“End of Sequence”)
Estado ← i;
Simbolo ← prox ();
enquanto Simbolo 6= EOS faça
se δ(Estado, Simbolo) for indefinido então
retorne “Entrada não foi aceita”; (HALT)
fim se;
Estado ← δ(Estado, Simbolo); Simbolo ← prox ();
fim enquanto;
se Estado ∈ F então
retorne “Entrada foi aceita”;
senão
retorne “Entrada não foi aceita”;
fim se;
fim algoritmo

MAJS Autômatos Finitos 13 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Simulação de AFD
algoritmo
Entrada: AFD M = (E , Σ, δ, i, F ) e palavra w dada por prox () que
termina com EOS(=“End of Sequence”)
Estado ← i;
Simbolo ← prox ();
enquanto Simbolo 6= EOS faça
se δ(Estado, Simbolo) for indefinido então
retorne “Entrada não foi aceita”; (HALT)
fim se;
Estado ← δ(Estado, Simbolo); Simbolo ← prox ();
fim enquanto;
se Estado ∈ F então
retorne “Entrada foi aceita”;
senão
retorne “Entrada não foi aceita”;
fim se;
fim algoritmo

MAJS Autômatos Finitos 13 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Simulação de AFD
algoritmo
Entrada: AFD M = (E , Σ, δ, i, F ) e palavra w dada por prox () que
termina com EOS(=“End of Sequence”)
Estado ← i;
Simbolo ← prox ();
enquanto Simbolo 6= EOS faça
se δ(Estado, Simbolo) for indefinido então
retorne “Entrada não foi aceita”; (HALT)
fim se;
Estado ← δ(Estado, Simbolo); Simbolo ← prox ();
fim enquanto;
se Estado ∈ F então
retorne “Entrada foi aceita”;
senão
retorne “Entrada não foi aceita”;
fim se;
fim algoritmo

MAJS Autômatos Finitos 13 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Simulação de AFD
algoritmo
Entrada: AFD M = (E , Σ, δ, i, F ) e palavra w dada por prox () que
termina com EOS(=“End of Sequence”)
Estado ← i;
Simbolo ← prox ();
enquanto Simbolo 6= EOS faça
se δ(Estado, Simbolo) for indefinido então
retorne “Entrada não foi aceita”; (HALT)
fim se;
Estado ← δ(Estado, Simbolo); Simbolo ← prox ();
fim enquanto;
se Estado ∈ F então
retorne “Entrada foi aceita”;
senão
retorne “Entrada não foi aceita”;
fim se;
fim algoritmo

MAJS Autômatos Finitos 13 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Simulação de AFD
algoritmo
Entrada: AFD M = (E , Σ, δ, i, F ) e palavra w dada por prox () que
termina com EOS(=“End of Sequence”)
Estado ← i;
Simbolo ← prox ();
enquanto Simbolo 6= EOS faça
se δ(Estado, Simbolo) for indefinido então
retorne “Entrada não foi aceita”; (HALT)
fim se;
Estado ← δ(Estado, Simbolo); Simbolo ← prox ();
fim enquanto;
se Estado ∈ F então
retorne “Entrada foi aceita”;
senão
retorne “Entrada não foi aceita”;
fim se;
fim algoritmo

MAJS Autômatos Finitos 13 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Simulação de AFD
algoritmo
Entrada: AFD M = (E , Σ, δ, i, F ) e palavra w dada por prox () que
termina com EOS(=“End of Sequence”)
Estado ← i;
Simbolo ← prox ();
enquanto Simbolo 6= EOS faça
se δ(Estado, Simbolo) for indefinido então
retorne “Entrada não foi aceita”; (HALT)
fim se;
Estado ← δ(Estado, Simbolo); Simbolo ← prox ();
fim enquanto;
se Estado ∈ F então
retorne “Entrada foi aceita”;
senão
retorne “Entrada não foi aceita”;
fim se;
fim algoritmo

MAJS Autômatos Finitos 13 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFD
Autômatos Finitos Determinísticos

Simulação de AFD
algoritmo
Entrada: AFD M = (E , Σ, δ, i, F ) e palavra w dada por prox () que
termina com EOS(=“End of Sequence”)
Estado ← i;
Simbolo ← prox ();
enquanto Simbolo 6= EOS faça
se δ(Estado, Simbolo) for indefinido então
retorne “Entrada não foi aceita”; (HALT)
fim se;
Estado ← δ(Estado, Simbolo); Simbolo ← prox ();
fim enquanto;
se Estado ∈ F então
retorne “Entrada foi aceita”;
senão
retorne “Entrada não foi aceita”;
fim se;
fim algoritmo

MAJS Autômatos Finitos 13 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Produto de AFDs: Interseção e União


Produto de AFDs

Simulação do funcionamento em paralelo de dois AFDs

Sejam dois AFDs M1 = (E1 , Σ, δ1 , i1 , F1 ) e M2 = (E2 , Σ, δ2 , i2 , F2 )


pode-se construir M3 = (E3 , Σ, δ3 , i3 , F3 ) em que:
E3 = E1 × E2
δ3 ([e1 , e2 ], a) = [δ1 (e1 , a), δ2 (e2 , a)], ∀e1 ∈ E1 , e2 ∈ E2 , a ∈ Σ
i3 = [i1 , i2 ]
(
F 1 × F2 para L(M3 ) = L(M1 ) ∩ L(M2 )
F3 =
(F1 × E2 ) ∪ (E1 × F2 ) para L(M3 ) = L(M1 ) ∪ L(M2 )

MAJS Autômatos Finitos 14 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Produto de AFDs: Interseção e União


Produto de AFDs

Simulação do funcionamento em paralelo de dois AFDs

Sejam dois AFDs M1 = (E1 , Σ, δ1 , i1 , F1 ) e M2 = (E2 , Σ, δ2 , i2 , F2 )


pode-se construir M3 = (E3 , Σ, δ3 , i3 , F3 ) em que:
E3 = E1 × E2
δ3 ([e1 , e2 ], a) = [δ1 (e1 , a), δ2 (e2 , a)], ∀e1 ∈ E1 , e2 ∈ E2 , a ∈ Σ
i3 = [i1 , i2 ]
(
F 1 × F2 para L(M3 ) = L(M1 ) ∩ L(M2 )
F3 =
(F1 × E2 ) ∪ (E1 × F2 ) para L(M3 ) = L(M1 ) ∪ L(M2 )

MAJS Autômatos Finitos 14 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Produto de AFDs: Interseção e União


Produto de AFDs

Simulação do funcionamento em paralelo de dois AFDs

Sejam dois AFDs M1 = (E1 , Σ, δ1 , i1 , F1 ) e M2 = (E2 , Σ, δ2 , i2 , F2 )


pode-se construir M3 = (E3 , Σ, δ3 , i3 , F3 ) em que:
E3 = E1 × E2
δ3 ([e1 , e2 ], a) = [δ1 (e1 , a), δ2 (e2 , a)], ∀e1 ∈ E1 , e2 ∈ E2 , a ∈ Σ
i3 = [i1 , i2 ]
(
F 1 × F2 para L(M3 ) = L(M1 ) ∩ L(M2 )
F3 =
(F1 × E2 ) ∪ (E1 × F2 ) para L(M3 ) = L(M1 ) ∪ L(M2 )

MAJS Autômatos Finitos 14 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Produto de AFDs: Interseção e União


Produto de AFDs

Simulação do funcionamento em paralelo de dois AFDs

Sejam dois AFDs M1 = (E1 , Σ, δ1 , i1 , F1 ) e M2 = (E2 , Σ, δ2 , i2 , F2 )


pode-se construir M3 = (E3 , Σ, δ3 , i3 , F3 ) em que:
E3 = E1 × E2
δ3 ([e1 , e2 ], a) = [δ1 (e1 , a), δ2 (e2 , a)], ∀e1 ∈ E1 , e2 ∈ E2 , a ∈ Σ
i3 = [i1 , i2 ]
(
F 1 × F2 para L(M3 ) = L(M1 ) ∩ L(M2 )
F3 =
(F1 × E2 ) ∪ (E1 × F2 ) para L(M3 ) = L(M1 ) ∪ L(M2 )

MAJS Autômatos Finitos 14 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Produto de AFDs: Interseção e União


Produto de AFDs

Simulação do funcionamento em paralelo de dois AFDs

Sejam dois AFDs M1 = (E1 , Σ, δ1 , i1 , F1 ) e M2 = (E2 , Σ, δ2 , i2 , F2 )


pode-se construir M3 = (E3 , Σ, δ3 , i3 , F3 ) em que:
E3 = E1 × E2
δ3 ([e1 , e2 ], a) = [δ1 (e1 , a), δ2 (e2 , a)], ∀e1 ∈ E1 , e2 ∈ E2 , a ∈ Σ
i3 = [i1 , i2 ]
(
F 1 × F2 para L(M3 ) = L(M1 ) ∩ L(M2 )
F3 =
(F1 × E2 ) ∪ (E1 × F2 ) para L(M3 ) = L(M1 ) ∪ L(M2 )

MAJS Autômatos Finitos 14 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Linguagens Finitas

Para toda linguagem finita existe um AFD !

AFD com diagrama de estados simplificado sem ciclos corresponde


a uma árvore em que o estado inicial é a raiz e cada palavra é
corresponde a um caminho da raiz até um de seus descendentes.

Palavras que possuam um prefixo em comum compartilham um


caminho correspondente ao prefixo.

=⇒ Semelhante a uma TRIE !!!

OBS: Esse AFD pode ser não mínimo !

MAJS Autômatos Finitos 15 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Linguagens Finitas
Autômatos Finitos Determinísticos

Autômatos Finitos Determinísticos


Exercício.
Construa AFDs para as seguintes linguagens sobre o alfabeto Σ = {0, 1}
1. Para a linguagem denotadas por:
a. (0 ∪ 1)∗
b. 0(0 ∪ 1)∗ 1
c. (0 ∪ 1)∗ 0(0 ∪ 1)∗
d. (1 ∪ 01 ∪ 001)∗ (λ ∪ 0 ∪ 00)
2. L = {w ∈ Σ∗ | w termina com 00 }
3. L = {w ∈ Σ∗ | w possui 000 como subsentença }
4. L = {w ∈ Σ∗ | o 2o símbolo de w , da esquerda para direita, é 1 }
5. L = {w ∈ Σ∗ | w não contém 101 como subsentença }
6. L = {w ∈ Σ∗ | w representa um número binário múltiplo de 3 }
7. L = {w ∈ Σ∗ | w = 0n 1n , n ≥ 0 }
8. L = {w ∈ Σ∗ | w = 0n 1n , n ≤ k, k ∈ N }

MAJS Autômatos Finitos 16 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição
Autômatos Finitos Não Determinísticos

Não Determinismo
Autômatos que permitem mais de uma transição partindo de um estado
para um mesmo símbolo do alfabeto de entrada.
Ex.: δ(ei , a) = {ej , ek , . . . , em }

Definição – AFN
Um Autômato Finitos Não Determinístico (AFN) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × Σ 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 17 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição
Autômatos Finitos Não Determinísticos

Não Determinismo
Autômatos que permitem mais de uma transição partindo de um estado
para um mesmo símbolo do alfabeto de entrada.
Ex.: δ(ei , a) = {ej , ek , . . . , em }

Definição – AFN
Um Autômato Finitos Não Determinístico (AFN) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × Σ 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 17 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição
Autômatos Finitos Não Determinísticos

Não Determinismo
Autômatos que permitem mais de uma transição partindo de um estado
para um mesmo símbolo do alfabeto de entrada.
Ex.: δ(ei , a) = {ej , ek , . . . , em }

Definição – AFN
Um Autômato Finitos Não Determinístico (AFN) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × Σ 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 17 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição
Autômatos Finitos Não Determinísticos

Não Determinismo
Autômatos que permitem mais de uma transição partindo de um estado
para um mesmo símbolo do alfabeto de entrada.
Ex.: δ(ei , a) = {ej , ek , . . . , em }

Definição – AFN
Um Autômato Finitos Não Determinístico (AFN) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × Σ 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 17 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição
Autômatos Finitos Não Determinísticos

Não Determinismo
Autômatos que permitem mais de uma transição partindo de um estado
para um mesmo símbolo do alfabeto de entrada.
Ex.: δ(ei , a) = {ej , ek , . . . , em }

Definição – AFN
Um Autômato Finitos Não Determinístico (AFN) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × Σ 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 17 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição
Autômatos Finitos Não Determinísticos

Não Determinismo
Autômatos que permitem mais de uma transição partindo de um estado
para um mesmo símbolo do alfabeto de entrada.
Ex.: δ(ei , a) = {ej , ek , . . . , em }

Definição – AFN
Um Autômato Finitos Não Determinístico (AFN) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × Σ 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 17 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição
Autômatos Finitos Não Determinísticos

Não Determinismo
Autômatos que permitem mais de uma transição partindo de um estado
para um mesmo símbolo do alfabeto de entrada.
Ex.: δ(ei , a) = {ej , ek , . . . , em }

Definição – AFN
Um Autômato Finitos Não Determinístico (AFN) é uma quíntupla
M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × Σ 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 17 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição
Autômatos Finitos Não Determinísticos

Exemplo de AFN

Uma palavra pode gerar diferentes computações !!!

Linguagem de um AFN
Seja um AFN M = (E , Σ, δ, i, F ). A linguagem reconhecida por M é

L(M) = {w ∈ Σ∗ | ∃ computação [i, w ] `[f , λ] para algum f ∈ F }.

MAJS Autômatos Finitos 18 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Definição
Autômatos Finitos Não Determinísticos

Exemplo de AFN

Uma palavra pode gerar diferentes computações !!!

Linguagem de um AFN
Seja um AFN M = (E , Σ, δ, i, F ). A linguagem reconhecida por M é

L(M) = {w ∈ Σ∗ | ∃ computação [i, w ] `[f , λ] para algum f ∈ F }.

MAJS Autômatos Finitos 18 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w1 = 0100 da seguinte


forma: 
[1, 00] ` [2, 0] ` [3, λ] (Aceita)
[0, 0100] ` [0, 100] `
[0, 00] ` [0, 0] ` [0, λ] (Rejeita)
OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no
qual se terminou em um estado de aceitação com a sentença completamente lida
(consumida) !

MAJS Autômatos Finitos 19 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Comportamento de AFN
Autômatos Finitos Não Determinísticos

Comportamento de AFN

Pode-se representar o processo de reconhecimento da sentença w2 = 1111 da seguinte


forma:

 [1, 111] ` [2, 11] ` [3, 1] (Rejeita)

  [1, 11] ` [2, 1] ` [3, λ]


 (Aceita)


[0, 1111] `  [1, 1] `  [2, λ]

 (Rejeita)
 [0, 111] `
[0, 11] ` [1, λ] (Rejeita)

 


 
  [0, 1] `
[0, λ] (Rejeita)

OBS: Iniciou-se com a sentença completa no estado inicial e existe um caminho no qual se terminou em um
estado de aceitação com a sentença completamente lida (consumida) !

MAJS Autômatos Finitos 20 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Transição Vazia (ou Transição λ)


Transição λ é aquela realizada sem a necessidade de se utilizar nenhum
símbolo de entrada.

MAJS Autômatos Finitos 21 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Comportamento de AFN-λ

Pode-se representar o processo de reconhecimento da sentença w = abbcc da seguinte


forma:

 [2, bcc]  (Rejeita)
[0, abbcc] ` [0, bbcc] ` [1, cc] (Rejeita)
 [1, bcc] `
[2, cc] ` [2, c] ` [2, λ] (Aceita)

MAJS Autômatos Finitos 22 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Definição – AFN-λ
Um Autômato Finitos Não Determinístico com Transição λ
(AFN-λ) é uma quíntupla M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × (Σ ∪ {λ}) 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 23 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Definição – AFN-λ
Um Autômato Finitos Não Determinístico com Transição λ
(AFN-λ) é uma quíntupla M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × (Σ ∪ {λ}) 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 23 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Definição – AFN-λ
Um Autômato Finitos Não Determinístico com Transição λ
(AFN-λ) é uma quíntupla M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × (Σ ∪ {λ}) 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 23 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Definição – AFN-λ
Um Autômato Finitos Não Determinístico com Transição λ
(AFN-λ) é uma quíntupla M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × (Σ ∪ {λ}) 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 23 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Definição – AFN-λ
Um Autômato Finitos Não Determinístico com Transição λ
(AFN-λ) é uma quíntupla M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × (Σ ∪ {λ}) 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 23 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Definição – AFN-λ
Um Autômato Finitos Não Determinístico com Transição λ
(AFN-λ) é uma quíntupla M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × (Σ ∪ {λ}) 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 23 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Definição – AFN-λ
Um Autômato Finitos Não Determinístico com Transição λ
(AFN-λ) é uma quíntupla M = (E , Σ, δ, i, F ) em que:
E ≡ conjunto não vazio de estados
Σ ≡ alfabeto de entrada
δ ≡ função de transição:
δ : E × (Σ ∪ {λ}) 7→ P(E )
i ≡ estado inicial (i ∈ E )
F ≡ conjunto de estados finais (F ⊆ E )

MAJS Autômatos Finitos 23 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Transição Vazia
Autômatos Finitos Não Determinísticos

Outro Exemplo de AFN-λ

L = {w ∈ {0, 1}∗ | n0 (w ) é par ou n1 (w ) é ímpar},

em que ns (w ) representa o número de símbolos s em w .

MAJS Autômatos Finitos 24 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Equivalência e Conversões
Equivalência entre Autômatos Finitos

Equivalência

Conversão de AFs
Conversão AFN-λ → AFN : Remoção do não-determinismo
Conversão AFN → AFD : Simulação determinística

MAJS Autômatos Finitos 25 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Equivalência e Conversões
Equivalência entre Autômatos Finitos

Equivalência

Conversão de AFs
Conversão AFN-λ → AFN : Remoção do não-determinismo
Conversão AFN → AFD : Simulação determinística

MAJS Autômatos Finitos 25 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Conversão AFN-λ → AFN


Que estados podem ser alcançados a partir do estado 1 quando a é
lido na entrada?

MAJS Autômatos Finitos 26 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Conversão AFN-λ → AFN


Que estados podem ser alcançados a partir do estado 1 quando a é
lido na entrada? RESPOSTA

MAJS Autômatos Finitos 27 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Fecho-λ
A função fecho-λ de um estado (representada por f λ) é o conjunto
de todos os estados que podem ser alcançados a partir do mesmo
sem a leitura de nenhum símbolo da entrada.

Definição recursiva de f λ
Base: ei ∈ f λ(ei ), ∀ei ∈ E
Passo recursivo: Se ej ∈ f λ(ei ) então δ(ej , λ) ⊆ f λ(ei )
Obs.: É comum se estender f λ para conjuntos de estados da
seguinte forma:

f λ(E 0 ) = f λ(e), ∀E 0 ⊆ E
[

e∈E 0

MAJS Autômatos Finitos 28 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Fecho-λ
A função fecho-λ de um estado (representada por f λ) é o conjunto
de todos os estados que podem ser alcançados a partir do mesmo
sem a leitura de nenhum símbolo da entrada.

Definição recursiva de f λ
Base: ei ∈ f λ(ei ), ∀ei ∈ E
Passo recursivo: Se ej ∈ f λ(ei ) então δ(ej , λ) ⊆ f λ(ei )
Obs.: É comum se estender f λ para conjuntos de estados da
seguinte forma:

f λ(E 0 ) = f λ(e), ∀E 0 ⊆ E
[

e∈E 0

MAJS Autômatos Finitos 28 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exemplo de Cálculo de Fecho-λ

f λ(1) = {1, 4, 3, 6} f λ(4) = {4, 3, 6}


f λ(2) = {2, 3, 6} f λ(5) = {5, 6}
f λ(3) = {3, 6} f λ(6) = {6}

MAJS Autômatos Finitos 29 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Conversão AFN-λ → AFN


Dado um AFN-λ M = (E , Σ, δ, i, F ), um AFN equivalente M 0 = (E , Σ, δ 0 , i, F 0 )
pode ser construído da seguinte forma:

δ 0 (ei , a) =
S
r ∈f λ(ei )
f λ(δ(r , a)) , ∀ei ∈ E , ∀a ∈ Σ

F ∪ {i} , se f λ(i) ∩ F 6= ∅
F0 =
F , caso contrário

Exercício de Conversão AFN-λ → AFN

MAJS Autômatos Finitos 30 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Conversão AFN-λ → AFN


Dado um AFN-λ M = (E , Σ, δ, i, F ), um AFN equivalente M 0 = (E , Σ, δ 0 , i, F 0 )
pode ser construído da seguinte forma:

δ 0 (ei , a) =
S
r ∈f λ(ei )
f λ(δ(r , a)) , ∀ei ∈ E , ∀a ∈ Σ

F ∪ {i} , se f λ(i) ∩ F 6= ∅
F0 =
F , caso contrário

Exercício de Conversão AFN-λ → AFN

MAJS Autômatos Finitos 30 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (A, 0) = f λ(δ(r , 0)) =
r ∈f λ(A)

= f λ(δ(A, 0)) ∪ f λ(δ(B, 0)) ∪ f λ(δ(D, 0)) =


= f λ(∅) ∪ f λ({C }) ∪ f λ({D}) = ∅ ∪ {C } ∪ {D} =
= {C , D}

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (A, 0) = f λ(δ(r , 0)) =
r ∈f λ(A)

= f λ(δ(A, 0)) ∪ f λ(δ(B, 0)) ∪ f λ(δ(D, 0)) =


= f λ(∅) ∪ f λ({C }) ∪ f λ({D}) = ∅ ∪ {C } ∪ {D} =
= {C , D}

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (A, 1) = f λ(δ(r , 1)) =
r ∈f λ(A)

= f λ(δ(A, 1)) ∪ f λ(δ(B, 1)) ∪ f λ(δ(D, 1)) =


= f λ(∅) ∪ f λ({B}) ∪ f λ({E }) = ∅ ∪ {B} ∪ {E } =
= {B, E }

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (A, 1) = f λ(δ(r , 1)) =
r ∈f λ(A)

= f λ(δ(A, 1)) ∪ f λ(δ(B, 1)) ∪ f λ(δ(D, 1)) =


= f λ(∅) ∪ f λ({B}) ∪ f λ({E }) = ∅ ∪ {B} ∪ {E } =
= {B, E }

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (B, 0) = f λ(δ(r , 0)) = f λ(δ(B, 0)) = f λ({C }) = {C }
r ∈f λ(B)

[
δ 0 (B, 1) = f λ(δ(r , 1)) = f λ(δ(B, 1)) = f λ({B}) = {B}
r ∈f λ(B)

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (B, 0) = f λ(δ(r , 0)) = f λ(δ(B, 0)) = f λ({C }) = {C }
r ∈f λ(B)

[
δ 0 (B, 1) = f λ(δ(r , 1)) = f λ(δ(B, 1)) = f λ({B}) = {B}
r ∈f λ(B)

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (C , 0) = f λ(δ(r , 0)) = f λ(δ(C , 0)) = f λ({B}) = {B}
r ∈f λ(C )

[
δ 0 (C , 1) = f λ(δ(r , 1)) = f λ(δ(C , 1)) = f λ({B}) = {B}
r ∈f λ(C )

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (C , 0) = f λ(δ(r , 0)) = f λ(δ(C , 0)) = f λ({B}) = {B}
r ∈f λ(C )

[
δ 0 (C , 1) = f λ(δ(r , 1)) = f λ(δ(C , 1)) = f λ({B}) = {B}
r ∈f λ(C )

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (D, 0) = f λ(δ(r , 0)) = f λ(δ(D, 0)) = f λ({D}) = {D}
r ∈f λ(D)

[
δ 0 (D, 1) = f λ(δ(r , 1)) = f λ(δ(D, 1)) = f λ({E }) = {E }
r ∈f λ(D)

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (D, 0) = f λ(δ(r , 0)) = f λ(δ(D, 0)) = f λ({D}) = {D}
r ∈f λ(D)

[
δ 0 (D, 1) = f λ(δ(r , 1)) = f λ(δ(D, 1)) = f λ({E }) = {E }
r ∈f λ(D)

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (E , 0) = f λ(δ(r , 0)) = f λ(δ(E , 0)) = f λ({E }) = {E }
r ∈f λ(E )

[
δ 0 (E , 1) = f λ(δ(r , 1)) = f λ(δ(E , 1)) = f λ({D}) = {D}
r ∈f λ(E )

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

[
δ 0 (E , 0) = f λ(δ(r , 0)) = f λ(δ(E , 0)) = f λ({E }) = {E }
r ∈f λ(E )

[
δ 0 (E , 1) = f λ(δ(r , 1)) = f λ(δ(E , 1)) = f λ({D}) = {D}
r ∈f λ(E )

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

f λ(i) ∩ F = f λ(A) ∩ F =
= {A, B, D} ∩ {B, E } =
= {B}

f λ(i) ∩ F 6= ∅

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção de Transições Vazias


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN-λ → AFN

f λ(A) = {A, B, D}, f λ(B) = {B}, f λ(C ) = {C }, f λ(D) = {D}, f λ(E ) = {E }

f λ(i) ∩ F = f λ(A) ∩ F =
= {A, B, D} ∩ {B, E } =
= {B}

f λ(i) ∩ F 6= ∅

MAJS Autômatos Finitos 31 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Conversão AFN → AFD


Dado um AFN M = (E , Σ, δ, i, F ), um AFD equivalente
M 0 = (E 0 , Σ, δ 0 , i 0 , F 0 ) pode ser construído da seguinte forma:

E0 = P(E )
0
i = {i}
0
F = {R ∈ E 0 | R ∩ F 6= ∅}
δ 0 (R, a) = , ∀R ∈ E 0 , ∀a ∈ Σ
S
r ∈R δ(r , a)

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 32 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Conversão AFN → AFD


Dado um AFN M = (E , Σ, δ, i, F ), um AFD equivalente
M 0 = (E 0 , Σ, δ 0 , i 0 , F 0 ) pode ser construído da seguinte forma:

E0 = P(E )
0
i = {i}
0
F = {R ∈ E 0 | R ∩ F 6= ∅}
δ 0 (R, a) = , ∀R ∈ E 0 , ∀a ∈ Σ
S
r ∈R δ(r , a)

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 32 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Algoritmo Iterativo para Conversão AFN → AFD


algoritmo
Entrada: AFN M = (E , Σ, δ, i, F )
Saída : AFD M 0 = (E 0 ,Σ, δ 0 , i 0 , F 0 ) equivalente a M

i 0 ← {i}; // cria estado inicial


inserir i 0 em E 0 ; // inicia conj estados
para todo X ∈ E 0 faça
para todoSa ∈ Σ faça
Y ← r ∈X δ(r , a)
se Y ∈/ E 0 então
inserir Y em E 0 ;
fim se;
inserir [X , a, Y ] em δ 0 ; //isto é, δ 0 (X , a) = Y
fim para;
fim para;
fim algoritmo
MAJS Autômatos Finitos 33 / 34
Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Algoritmo Iterativo para Conversão AFN → AFD


algoritmo
Entrada: AFN M = (E , Σ, δ, i, F )
Saída : AFD M 0 = (E 0 ,Σ, δ 0 , i 0 , F 0 ) equivalente a M

i 0 ← {i}; // cria estado inicial


inserir i 0 em E 0 ; // inicia conj estados
para todo X ∈ E 0 faça
para todoSa ∈ Σ faça
Y ← r ∈X δ(r , a)
se Y ∈/ E 0 então
inserir Y em E 0 ;
fim se;
inserir [X , a, Y ] em δ 0 ; //isto é, δ 0 (X , a) = Y
fim para;
fim para;
fim algoritmo
MAJS Autômatos Finitos 33 / 34
Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Algoritmo Iterativo para Conversão AFN → AFD


algoritmo
Entrada: AFN M = (E , Σ, δ, i, F )
Saída : AFD M 0 = (E 0 ,Σ, δ 0 , i 0 , F 0 ) equivalente a M

i 0 ← {i}; // cria estado inicial


inserir i 0 em E 0 ; // inicia conj estados
para todo X ∈ E 0 faça
para todoSa ∈ Σ faça
Y ← r ∈X δ(r , a)
se Y ∈/ E 0 então
inserir Y em E 0 ;
fim se;
inserir [X , a, Y ] em δ 0 ; //isto é, δ 0 (X , a) = Y
fim para;
fim para;
fim algoritmo
MAJS Autômatos Finitos 33 / 34
Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Algoritmo Iterativo para Conversão AFN → AFD


algoritmo
Entrada: AFN M = (E , Σ, δ, i, F )
Saída : AFD M 0 = (E 0 ,Σ, δ 0 , i 0 , F 0 ) equivalente a M

i 0 ← {i}; // cria estado inicial


inserir i 0 em E 0 ; // inicia conj estados
para todo X ∈ E 0 faça
para todoSa ∈ Σ faça
Y ← r ∈X δ(r , a)
se Y ∈/ E 0 então
inserir Y em E 0 ;
fim se;
inserir [X , a, Y ] em δ 0 ; //isto é, δ 0 (X , a) = Y
fim para;
fim para;
fim algoritmo
MAJS Autômatos Finitos 33 / 34
Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Algoritmo Iterativo para Conversão AFN → AFD


algoritmo
Entrada: AFN M = (E , Σ, δ, i, F )
Saída : AFD M 0 = (E 0 ,Σ, δ 0 , i 0 , F 0 ) equivalente a M

i 0 ← {i}; // cria estado inicial


inserir i 0 em E 0 ; // inicia conj estados
para todo X ∈ E 0 faça
para todoSa ∈ Σ faça
Y ← r ∈X δ(r , a)
se Y ∈/ E 0 então
inserir Y em E 0 ;
fim se;
inserir [X , a, Y ] em δ 0 ; //isto é, δ 0 (X , a) = Y
fim para;
fim para;
fim algoritmo
MAJS Autômatos Finitos 33 / 34
Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Algoritmo Iterativo para Conversão AFN → AFD


algoritmo
Entrada: AFN M = (E , Σ, δ, i, F )
Saída : AFD M 0 = (E 0 ,Σ, δ 0 , i 0 , F 0 ) equivalente a M

i 0 ← {i}; // cria estado inicial


inserir i 0 em E 0 ; // inicia conj estados
para todo X ∈ E 0 faça
para todoSa ∈ Σ faça
Y ← r ∈X δ(r , a)
se Y ∈/ E 0 então
inserir Y em E 0 ;
fim se;
inserir [X , a, Y ] em δ 0 ; //isto é, δ 0 (X , a) = Y
fim para;
fim para;
fim algoritmo
MAJS Autômatos Finitos 33 / 34
Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Algoritmo Iterativo para Conversão AFN → AFD


algoritmo
Entrada: AFN M = (E , Σ, δ, i, F )
Saída : AFD M 0 = (E 0 ,Σ, δ 0 , i 0 , F 0 ) equivalente a M

i 0 ← {i}; // cria estado inicial


inserir i 0 em E 0 ; // inicia conj estados
para todo X ∈ E 0 faça
para todoSa ∈ Σ faça
Y ← r ∈X δ(r , a)
se Y ∈/ E 0 então
inserir Y em E 0 ;
fim se;
inserir [X , a, Y ] em δ 0 ; //isto é, δ 0 (X , a) = Y
fim para;
fim para;
fim algoritmo
MAJS Autômatos Finitos 33 / 34
Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Algoritmo Iterativo para Conversão AFN → AFD


algoritmo
Entrada: AFN M = (E , Σ, δ, i, F )
Saída : AFD M 0 = (E 0 ,Σ, δ 0 , i 0 , F 0 ) equivalente a M

i 0 ← {i}; // cria estado inicial


inserir i 0 em E 0 ; // inicia conj estados
para todo X ∈ E 0 faça
para todoSa ∈ Σ faça
Y ← r ∈X δ(r , a)
se Y ∈/ E 0 então
inserir Y em E 0 ;
fim se;
inserir [X , a, Y ] em δ 0 ; //isto é, δ 0 (X , a) = Y
fim para;
fim para;
fim algoritmo
MAJS Autômatos Finitos 33 / 34
Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34


Introdução Autômatos Finitos Determinísticos Autômatos Finitos Não Determinísticos Equivalência entre Autômatos Finitos

Remoção do Não Determinismo


Equivalência entre Autômatos Finitos

Exercício de Conversão AFN → AFD

MAJS Autômatos Finitos 34 / 34

Você também pode gostar