logo

Primjeri NFA

Primjer 1:

Dizajnirajte NFA za prijelaznu tablicu kako je navedeno u nastavku:

Sadašnje stanje 0 1
→q0 q0, q1 q0, q2
q1 q3 e
q2 q2, q3 q3
→q3 q3 q3

Riješenje:

Dijagram prijelaza može se nacrtati pomoću funkcije mapiranja kako je navedeno u tablici.

Primjeri NFA

Ovdje,

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

Primjer 2:

Dizajnirajte NFA s ∑ = {0, 1} prihvaća sve nizove koji završavaju s 01.

java else if

Riješenje:

Primjeri NFA

Prema tome, NFA bi bio:

Primjeri NFA

Primjer 3:

Dizajnirajte NFA s ∑ = {0, 1} u kojem dvostruko '1' slijedi dvostruko '0'.

Riješenje:

odaberite sql iz više tablica

FA s duplim 1 je sljedeći:

Primjeri NFA

Odmah nakon njega treba slijediti dvostruka 0.

Zatim,

Primjeri NFA

Prije duple 1, može postojati bilo koji niz od 0 i 1. Slično, nakon duple 0, može postojati bilo koji niz od 0 i 1.

Stoga NFA postaje:

tat puni oblik
Primjeri NFA

Sada razmatramo niz 01100011

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

Primjer 4:

Dizajnirajte NFA u kojem svi nizovi sadrže podniz 1110.

Riješenje:

Jezik se sastoji od cijelog niza koji sadrži podniz 1010. Dijagram djelomičnog prijelaza može biti:

Primjeri NFA

Sada bi 1010 mogao biti podniz. Stoga ćemo dodati ulaze 0 i 1 tako da se podniz 1010 jezika može održati. Stoga NFA postaje:

ups pojmovi
Primjeri NFA

Tablica prijelaza za gornji dijagram prijelaza može se dati u nastavku:

Sadašnje stanje 0 1
→q1 q1 q1, q2
q2 q3
q3 q4
q4 q5
*q5 q5 q5

Razmotrimo niz 111010,

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

Zapeli! Kako ne postoji put od q2 za ulazni simbol 0. String 111010 možemo obraditi na drugi način.

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

Kao stanje q5 je prihvatljivo stanje. Dobivamo kompletno skeniranje i dolazimo do konačnog stanja.

Primjer 5:

Dizajnirajte NFA s ∑ = {0, 1} prihvaća sve nizove u kojima je treći simbol s desnog kraja uvijek 0.

pretvori str u int

Riješenje:

Primjeri NFA

Tako dobivamo treći simbol s desnog kraja kao '0' uvijek. NFA može biti:

Primjeri NFA

Gornja slika je NFA jer u stanju q0 s unosom 0, možemo ići u stanje q0 ili q1.