logo

Példák az NFA-ra

1. példa:

Tervezze meg az NFA-t az átmeneti táblázathoz az alábbiak szerint:

Jelen állapot 0 1
→q0 q0, q1 q0, q2
q1 q3 e
q2 q2, q3 q3
→q3 q3 q3

Megoldás:

Az átmenet diagram a táblázatban megadott leképezési függvény segítségével rajzolható meg.

Példák az NFA-ra

Itt,

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

2. példa:

A ∑ = {0, 1} NFA tervezése minden 01-re végződő karakterláncot elfogad.

0,0625 törtként

Megoldás:

Példák az NFA-ra

Tehát az NFA a következő lenne:

Példák az NFA-ra

3. példa:

Tervezz meg egy NFA-t ∑ = {0, 1} értékkel, amelyben a dupla '1'-t dupla '0' követi.

Megoldás:

Az FA dupla 1-gyel a következő:

Példák az NFA-ra

Közvetlenül utána dupla 0 kell.

Akkor,

Példák az NFA-ra

Most a double 1 előtt tetszőleges 0 és 1 karakterlánc lehet. Hasonlóképpen a dupla 0 után bármilyen 0 és 1 karakterlánc lehet.

Így az NFA:

Példák az NFA-ra

Most figyelembe véve a 01100011 karakterláncot

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

4. példa:

Tervezzen meg egy NFA-t, amelyben az összes karakterlánc tartalmaz egy 1110-es karakterláncot.

Megoldás:

Linux futtatni cmd

A nyelv az 1010-es részstringet tartalmazó összes karakterláncból áll. A részleges átmenet diagram lehet:

Példák az NFA-ra

Most 1010 lehet az alkarakterlánc. Ezért hozzáadjuk a 0 és 1 bemeneteket, hogy a nyelv 1010-es részkarakterlánca megmaradjon. Így az NFA:

Példák az NFA-ra

A fenti átmeneti diagram átmeneti táblázata az alábbiakban adható meg:

Jelen állapot 0 1
→q1 q1 q1, q2
q2 q3
q3 q4
q4 q5
*q5 q5 q5

Vegyünk egy 111010 karakterláncot,

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

Megrekedt! Mivel a q2-ből nincs elérési út a 0 bemeneti szimbólumhoz. Az 111010 karakterláncot más módon is feldolgozhatjuk.

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

Mivel a q5 állapot az elfogadási állapot. Megkapjuk a teljes szkennelést, és elértük a végső állapotot.

5. példa:

Tervezze meg az NFA-t ∑ = {0, 1} értékkel, amely minden olyan karakterláncot elfogad, amelyben a harmadik szimbólum a jobb végétől mindig 0.

középső kép css-ben

Megoldás:

Példák az NFA-ra

Így a harmadik szimbólumot mindig '0'-ként kapjuk a jobb oldalról. Az NFA lehet:

Példák az NFA-ra

A fenti kép egy NFA, mert q0 állapotban 0 bemenettel q0 vagy q1 állapotba léphetünk.