logo

Prehodna tabela

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:

Prehodna tabela

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:

Prehodna tabela

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.