1 pavyzdys:
Sukurkite NFA pereinamojo laikotarpio lentelei, kaip parodyta toliau:
Dabartinė valstybė | 0 | 1 |
---|---|---|
→q0 | q0, q1 | q0, q2 |
q1 | 3 k | e |
2 k | q2, q3 | 3 k |
→ Q3 | 3 k | 3 k |
Sprendimas:
Perėjimo diagramą galima nubraižyti naudojant atvaizdavimo funkciją, kaip nurodyta lentelėje.
Čia
registro perdavimo logika
δ(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 pavyzdys:
Sukurkite NFA, kai ∑ = {0, 1}, priima visas eilutes, kurios baigiasi 01.
Sprendimas:
Taigi NFA būtų:
lygiagretus apdorojimas
3 pavyzdys:
Sukurkite NFA su ∑ = {0, 1}, kuriame dvigubas „1“ seka dvigubas „0“.
Sprendimas:
FA su dvigubu 1 yra toks:
Iš karto po jo turėtų būti įrašytas dvigubas 0.
Tada
Dabar prieš dvigubą 1 gali būti bet kokia eilutė iš 0 ir 1. Panašiai po dvigubo 0 gali būti bet kokia eilutė iš 0 ir 1.
Taigi NFA tampa:
Dabar atsižvelgiant į eilutę 01100011
q0 → q1 → q2 → q3 → q4 → q4 → q4 → q4
4 pavyzdys:
Sukurkite NFA, kurioje visoje eilutėje yra poeilutė 1110.
dvejetainis medis java
Sprendimas:
Kalbą sudaro visa eilutė, kurioje yra poeilutė 1010. Dalinio perėjimo diagrama gali būti:
Dabar 1010 galėtų būti poeilutė. Taigi pridėsime įvestis 0 ir 1, kad būtų galima išlaikyti kalbos poeilelę 1010. Taigi NFA tampa:
tinklo architektūra
Aukščiau pateiktos perėjimo diagramos perėjimo lentelę galima pateikti žemiau:
Dabartinė valstybė | 0 | 1 |
---|---|---|
→ Q1 | q1 | q1, q2 |
2 k | 3 k | |
3 k | 4 k | |
4 k | 5 k | *Q5 | 5 k | 5 k |
Apsvarstykite eilutę 111010,
δ(q1, 111010) = δ(q1, 1100) = δ(q1, 100) = δ(q2, 00)
Įstrigo! Kadangi įvesties simboliui 0 nėra kelio iš q2. Eilutę 111010 galime apdoroti kitu būdu.
δ(q1, 111010) = δ(q2, 1100) = δ(q3, 100) = δ(q4, 00) = δ(q5, 0) = δ(q5, ε)
Kadangi būsena q5 yra priėmimo būsena. Gauname visą nuskaitymą ir pasiekėme galutinę būseną.
5 pavyzdys:
Sukurkite NFA su ∑ = {0, 1} priima visas eilutes, kuriose trečiasis simbolis nuo dešiniojo galo visada yra 0.
Sprendimas:
Taigi trečiąjį simbolį iš dešinės pusės visada gauname kaip „0“. NFA gali būti:
Aukščiau pateiktas vaizdas yra NFA, nes būsenoje q0 su įvestimi 0 galime pereiti į būseną q0 arba q1.