- Konačni automati koriste se za prepoznavanje uzoraka.
- Uzima niz simbola kao ulaz i mijenja svoje stanje u skladu s tim. Kada se pronađe željeni simbol, dolazi do prijelaza.
- U trenutku prijelaza, automati mogu prijeći u sljedeće stanje ili ostati u istom stanju.
- Konačni automati imaju dva stanja, Prihvati stanje ili Stanje odbijanja . Kada se ulazni niz uspješno obradi i automat dostigne svoje konačno stanje, tada će prihvatiti.
Formalna definicija FA
Konačni automat je kolekcija 5-torki (Q, ∑, δ, q0, F), gdje je:
Q: finite set of states ∑: finite set of the input symbol q0: initial state F: final state δ: Transition function
Model konačnog automata:
Konačni automati mogu se prikazati ulaznom trakom i konačnom kontrolom.
Ulazna traka: To je linearna traka koja ima određeni broj ćelija. Svaki ulazni simbol nalazi se u svakoj ćeliji.
Konačna kontrola: Konačna kontrola odlučuje o sljedećem stanju nakon primanja određenog ulaza s ulazne trake. Čitač vrpce čita jednu po jednu ćeliju slijeva na desno, a istovremeno se čita samo jedan ulazni simbol.
Vrste automata:
Postoje dvije vrste konačnih automata:
- DFA (deterministički konačni automati)
- NFA (nedeterministički konačni automati)
1. DFA
DFA se odnosi na determinističke konačne automate. Deterministički se odnosi na jedinstvenost izračuna. U DFA, stroj prelazi u jedno stanje samo za određeni ulazni znak. DFA ne prihvaća nulti potez.
2. NFA
NFA je kratica za nedeterminističke konačne automate. Koristi se za prijenos bilo kojeg broja stanja za određeni ulaz. Može prihvatiti nulti potez.
Neke važne točke o DFA i NFA:
- Svaki DFA je NFA, ali NFA nije DFA.
- Može postojati više konačnih stanja u NFA i DFA.
- DFA se koristi u leksičkoj analizi u prevoditelju.
- NFA je više teoretski koncept.