Você está na página 1de 2

LINGUAGENS FORMAIS E AUTÔMATOS (2021/2)

EXERCÍCIO SOBRE AUTÔMATOS FINITOS NÃO-DETERMINÍSTICOS

1) (5.0). Considere o Autômato Finito Não-determinístico (AFN) definido por: 𝑁" =


({𝑞' , 𝑞" , 𝑞) , 𝑞* }, {𝑎, 𝑏, 𝑐 }, 𝛿, 𝑞', {𝑞* }), em que 𝛿 é dada por

𝜹 a b c
𝑞' {𝑞' } {𝑞' } {𝑞' , 𝑞" }
𝑞" {𝑞) } ∅ ∅
𝑞) ∅ {𝑞* } ∅
𝑞* ∅ ∅ ∅

Gere um PDF contendo os seguintes documentos:


a) (0.5). Desenhe um diagrama de estados desse AFN (𝑁" );
b) (1.0). Através de uma tabela, mostre o passo a passo da computação da cadeia
“acacab”, com comentários para cada passo, parecido com o que foi
apresentado nos slides introdutórios de AFN (parte 1), e indicando no final se a
cadeia “acacab” foi aceita ou rejeitada pelo AFN (𝑁" ). Adicionalmente, inclua
uma árvore que mostre os diferentes caminhos (ou ramificações) que o autômato
teve que seguir;
c) (1.0). Transforme o AFN (𝑁" ) para um AFD (𝑀" ) utilizando qualquer um dos
dois métodos ensinados em sala de aula;
d) (0.5). Compute sobre 𝑀" a mesma cadeia “acacab” deixando claro quais os
estados que foram seguidos até o ultimo símbolo lido da cadeia, e indicando se a
cadeia foi aceita ou rejeitada pelo AFD (𝑀" );
e) (1.0). Repita os passos (b) e (d) para a cadeia “abbc”;
f) (1.0). Repita os passos (b) e (d) para a cadeia “abb”.

2) (5.0). Considere o Autômato Finito Não-determinístico (AFN) definido por: 𝑁) =


({𝑞' , 𝑞" , 𝑞) , 𝑞* , 𝑞5 }, {𝑎, 𝑏, 𝑐 }, 𝛿, 𝑞', {𝑞* , 𝑞5 }), em que 𝛿 é dada por

𝜹 a b c 𝜺
𝑞' ∅ ∅ ∅ {𝑞" , 𝑞) }
𝑞" {𝑞" , 𝑞* } {𝑞" } {𝑞" } ∅
𝑞) {𝑞) } {𝑞) } {𝑞) , 𝑞5 } ∅
𝑞* ∅ ∅ ∅ ∅
𝑞5 ∅ ∅ ∅ ∅

Gere um PDF contendo os seguintes documentos:


a) (0.5). Desenhe um diagrama de estados desse AFN (𝑁) );
b) (0.5). Gere o 𝜀-fechamento (𝐸(𝑞)), isto é, o conjunto de estados alcançáveis
a partir de 𝑞 seguindo zero ou mais transições 𝜀 (não esqueça que 𝐸(𝑞) é o
conjunto de estados que ficam ativos no mesmo instante em que 𝑞 fica
ativo);
c) (1.0). Através de uma tabela, mostre o passo a passo da computação da
cadeia “abca”, com comentários para cada passo, parecido com o que foi
apresentado nos slides introdutórios de AFN (parte 1), e indicando no final
se a cadeia “abca” foi aceita ou rejeitada pelo AFN (𝑁) ). Adicionalmente,
inclua uma árvore que mostre os diferentes caminhos (ou ramificações) que
o autômato teve que seguir;
d) (1.0). Transforme o AFN (𝑁) ) para um AFD (𝑀) ) utilizando qualquer um
dos dois métodos ensinados em sala de aula;
e) (1.0). Compute sobre 𝑀) a mesma cadeia “abca” deixando claro quais os
estados que foram seguidos até o ultimo símbolo lido da cadeia, e indicando
se a cadeia foi aceita ou rejeitada pelo AFD (𝑀) );
f) (0.5). Repita os passos (c) e (e) para a cadeia “abbc”;
g) (0.5). Repita os passos (c) e (e) para a cadeia “abb”.

OBSERVAÇÕES:

• Para o desenho dos diagramas de estados você pode utilizar qualquer


ferramenta, inclusive desenhar à mão. Pode também usar o JFLAP. O desenho
tem que estar claro e com boa visibilidade, isto é, preste atenção com relação a
qualidade do desenho;
• Só envie um arquivo PDF tendo o seu nome como nome do arquivo.

Você também pode gostar