Tabela prehodov je v bistvu tabelarični prikaz funkcije prehoda. Vzame dva argumenta (stanje in simbol) in vrne stanje ('naslednje stanje').
Prehodno tabelo predstavljajo naslednje stvari:
fmovies
- Stolpci ustrezajo vnosnim simbolom.
- Vrstice ustrezajo stanjem.
- Vnosi ustrezajo naslednjemu stanju.
- Začetno stanje je označeno s puščico brez vira.
- Sprejemljivo stanje je označeno z zvezdico.
Primer 1:
rešitev:
Prehodna tabela danega DFA je naslednja:
Sedanje stanje | Naslednje stanje za vnos 0 | Naslednje stanje vnosa 1 |
---|---|---|
→q0 | q1 | q2 |
q1 | q0 | q2 |
*q2 | q2 | q2 |
Pojasnilo:
javascript operaterji
- V zgornji tabeli prvi stolpec označuje vsa trenutna stanja. Pod stolpcem 0 in 1 so prikazana naslednja stanja.
- Prvo vrstico prehodne tabele lahko beremo kot, ko je trenutno stanje q0, bo na vhodu 0 naslednje stanje q1 in na vhodu 1 bo naslednje stanje q2.
- V drugi vrstici, ko je trenutno stanje q1, bo na vhodu 0 naslednje stanje q0, na vhodu 1 pa bo naslednje stanje q2.
- V tretji vrstici, ko je trenutno stanje q2 na vhodu 0, bo naslednje stanje q2, na vhodu 1 pa bo naslednje stanje q2.
- Puščica, označena z q0, označuje, da je to začetno stanje, krog, označen z q2, pa, da je to končno stanje.
Primer 2:
rešitev:
Prehodna tabela danih NFA je naslednja:
Sedanje stanje | Naslednje stanje za vnos 0 | Naslednje stanje vnosa 1 |
---|---|---|
→q0 | q0 | q1 |
q1 | q1, q2 | q2 |
q2 | q1 | q3 |
*q3 | q2 | q2 |
Pojasnilo:
- Prvo vrstico prehodne tabele lahko beremo kot, ko je trenutno stanje q0, bo na vhodu 0 naslednje stanje q0 in na vhodu 1 bo naslednje stanje q1.
- V drugi vrstici, ko je trenutno stanje q1, bo na vhodu 0 naslednje stanje q1 ali q2, na vhodu 1 pa bo naslednje stanje q2.
- V tretji vrstici, ko je trenutno stanje q2 na vhodu 0, bo naslednje stanje q1, na vhodu 1 pa bo naslednje stanje q3.
- V četrti vrstici, ko je trenutno stanje q3 na vhodu 0, bo naslednje stanje q2, na vhodu 1 pa bo naslednje stanje q2.