logo

Exemplos de NFA

Exemplo 1:

Projete um NFA para a tabela de transição conforme mostrado abaixo:

Estado atual 0 1
→q0 q0, q1 q0, q2
q1 terceiro trimestre e
q2 q2, q3 terceiro trimestre
→q3 terceiro trimestre terceiro trimestre

Solução:

O diagrama de transição pode ser desenhado usando a função de mapeamento fornecida na tabela.

Exemplos de NFA

Aqui,

 δ(q0, 0) = {q0, q1} δ(q0, 1) = {q0, q2} Then, δ(q1, 0) = {q3} Then, δ(q2, 0) = {q2, q3} δ(q2, 1) = {q3} Then, δ(q3, 0) = {q3} δ(q3, 1) = {q3} 

Exemplo 2:

Projetar um NFA com ∑ = {0, 1} aceita todas as strings que terminam em 01.

powershell versus bash

Solução:

Exemplos de NFA

Portanto, o NFA seria:

Exemplos de NFA

Exemplo 3:

Projete um NFA com ∑ = {0, 1} em que o duplo '1' é seguido pelo duplo '0'.

Solução:

conectividade java

O FA com duplo 1 é o seguinte:

Exemplos de NFA

Deve ser imediatamente seguido por duplo 0.

Então,

Exemplos de NFA

Agora, antes do duplo 1, pode haver qualquer sequência de 0 e 1. Da mesma forma, depois do duplo 0, pode haver qualquer sequência de 0 e 1.

Portanto, o NFA se torna:

convenção de nomenclatura para java
Exemplos de NFA

Agora considerando a string 01100011

 q0 → q1 → q2 → q3 → q4 → q4 → q4 → q4 

Exemplo 4:

Projete um NFA em que toda a string contenha uma substring 1110.

Solução:

A linguagem consiste em toda a string contendo a substring 1010. O diagrama de transição parcial pode ser:

Exemplos de NFA

Agora, como 1010 poderia ser a substring. Portanto, adicionaremos as entradas 0 e 1 para que a substring 1010 da linguagem possa ser mantida. Portanto, o NFA se torna:

java contém substring
Exemplos de NFA

A tabela de transição para o diagrama de transição acima pode ser fornecida abaixo:

Estado atual 0 1
→q1 q1 q1, q2
q2 terceiro trimestre
terceiro trimestre quarto trimestre
quarto trimestre q5
*q5 q5 q5

Considere uma string 111010,

 δ(q1, 111010) = δ(q1, 1100) = δ(q1, 100) = δ(q2, 00) 

Fiquei preso! Como não há caminho de q2 para o símbolo de entrada 0. Podemos processar a string 111010 de outra maneira.

 δ(q1, 111010) = δ(q2, 1100) = δ(q3, 100) = δ(q4, 00) = δ(q5, 0) = δ(q5, ε) 

Como o estado q5 é o estado de aceitação. Obtemos a digitalização completa e chegamos ao estado final.

Exemplo 5:

Projetar um NFA com ∑ = {0, 1} aceita todas as strings nas quais o terceiro símbolo da extremidade direita é sempre 0.

aplicativos de computação em nuvem

Solução:

Exemplos de NFA

Assim, obtemos o terceiro símbolo da extremidade direita como '0' sempre. O NFA pode ser:

Exemplos de NFA

A imagem acima é um NFA porque no estado q0 com entrada 0, podemos ir para o estado q0 ou q1.