Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
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
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
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
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 )
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 )
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 )
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 )
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 )
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 )
Definição – AFD
Autômatos Finitos Determinísticos
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
Definição – AFD
Autômatos Finitos Determinísticos
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
Definição – AFD
Autômatos Finitos Determinísticos
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
Definição – AFD
Autômatos Finitos Determinísticos
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
Definição – AFD
Autômatos Finitos Determinísticos
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
Definição – AFD
Autômatos Finitos Determinísticos
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
Definição – AFD
Autômatos Finitos Determinísticos
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
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
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
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
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
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
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.
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.
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.
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
Comportamento de AFD
Autômatos Finitos Determinísticos
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.
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.
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.
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.
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.
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
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
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
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
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
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
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
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
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
Linguagens Finitas
Linguagens Finitas
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
Linguagens Finitas
Autômatos Finitos Determinísticos
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 )
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 )
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 )
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 )
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 )
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 )
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 )
Definição
Autômatos Finitos Não Determinísticos
Exemplo de AFN
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 }.
Definição
Autômatos Finitos Não Determinísticos
Exemplo de AFN
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 }.
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Comportamento de AFN
Autômatos Finitos Não Determinísticos
Comportamento de AFN
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) !
Transição Vazia
Autômatos Finitos Não Determinísticos
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
Transição Vazia
Autômatos Finitos Não Determinísticos
Comportamento de AFN-λ
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 )
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 )
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 )
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 )
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 )
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 )
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 )
Transição Vazia
Autômatos Finitos Não Determinísticos
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
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
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
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
δ 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
δ 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
[
δ 0 (A, 0) = f λ(δ(r , 0)) =
r ∈f λ(A)
[
δ 0 (A, 0) = f λ(δ(r , 0)) =
r ∈f λ(A)
[
δ 0 (A, 1) = f λ(δ(r , 1)) =
r ∈f λ(A)
[
δ 0 (A, 1) = f λ(δ(r , 1)) =
r ∈f λ(A)
[
δ 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)
[
δ 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)
[
δ 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 )
[
δ 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 )
[
δ 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)
[
δ 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)
[
δ 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 )
[
δ 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 )
f λ(i) ∩ F = f λ(A) ∩ F =
= {A, B, D} ∩ {B, E } =
= {B}
f λ(i) ∩ F 6= ∅
f λ(i) ∩ F = f λ(A) ∩ F =
= {A, B, D} ∩ {B, E } =
= {B}
f λ(i) ∩ F 6= ∅
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)
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)