logo

Exemples de NFA

Exemple 1:

Dissenyeu un NFA per a la taula de transició tal com es mostra a continuació:

Estat actual 0 1
→q0 q0, q1 q0, q2
q1 q3 e
q2 q2, q3 q3
→q3 q3 q3

Solució:

El diagrama de transició es pot dibuixar utilitzant la funció de mapeig tal com es mostra a la taula.

Exemples de NFA

Aquí,

 δ(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} 

Exemple 2:

Dissenyar un NFA amb ∑ = {0, 1} accepta totes les cadenes que acaben amb 01.

mysql no és igual

Solució:

Exemples de NFA

Per tant, NFA seria:

Exemples de NFA

Exemple 3:

Dissenyeu un NFA amb ∑ = {0, 1} en què el doble '1' sigui seguit del doble '0'.

Solució:

piles de java

El FA amb doble 1 és el següent:

Exemples de NFA

Hauria d'anar seguit immediatament d'un doble 0.

Llavors,

Exemples de NFA

Ara, abans del doble 1, pot haver-hi qualsevol cadena de 0 i 1. De la mateixa manera, després del doble 0, pot haver-hi qualsevol cadena de 0 i 1.

Per tant, la NFA es converteix en:

: en java
Exemples de NFA

Ara tenint en compte la cadena 01100011

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

Exemple 4:

Dissenyeu una NFA en què tota la cadena contingui una subcadena 1110.

Solució:

El llenguatge consta de tota la cadena que conté la subcadena 1010. El diagrama de transició parcial pot ser:

Exemples de NFA

Ara com 1010 podria ser la subcadena. Per tant, afegirem les entrades 0 i 1 perquè es pugui mantenir la subcadena 1010 del llenguatge. Per tant, la NFA es converteix en:

interfície en java
Exemples de NFA

La taula de transicions del diagrama de transició anterior es pot donar a continuació:

Estat actual 0 1
→q1 q1 q1, q2
q2 q3
q3 q4
q4 q5
*q5 q5 q5

Considereu una cadena 111010,

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

Va quedar encallat! Com que no hi ha cap camí des de q2 per al símbol d'entrada 0. Podem processar la cadena 111010 d'una altra manera.

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

Com que l'estat q5 és l'estat d'acceptació. Aconseguim l'escaneig complet i arribem a l'estat final.

Exemple 5:

Dissenyar un NFA amb ∑ = {0, 1} accepta totes les cadenes en què el tercer símbol de l'extrem dret és sempre 0.

multiplexor

Solució:

Exemples de NFA

Així obtenim el tercer símbol de l'extrem dret com a '0' sempre. La NFA pot ser:

Exemples de NFA

La imatge de dalt és una NFA perquè a l'estat q0 amb entrada 0, podem anar a l'estat q0 o q1.