Teljes automata
A véges automata alapdefiníciójában nem szükséges, hogy minden állapotból minden szimbólumra legyen átmenet. A teljes automata olyan automata, amelynek minden állapotból definiált az átmenete a bemeneti ábécé minden szimbólumára.
Hogyan építsünk teljes automatát
Legyen adott ez az A = ⟨Q, Σ, δ, q0, F⟩ automata:
Itt nincs berajzolva átmenet a q0 állapotból a „b” betűre. Ha ilyen helyzet áll elő, azt mondjuk, hogy az automata nem fogadja el az adott bemeneti szót. Formalizálás szempontjából azonban nem biztos, hogy szerencsés, ha a δ átmeneti függvény bizonyos értékekre nincs definiálva; itt például δ(q0, b) nincs definiálva.
Ezt könnyen megoldhatjuk úgy, hogy megszerkesztünk egy ekvivalens automatát, amelynek eggyel több állapota van – ebbe az állapotba mutatnak a „hiányzó” átmenetek, ez az állapot nem végállapot, és minden további bemenetre már ebben az állapotban marad. Ezt az automatát nevezzük teljes automatának. A módosított ekvivalens automata így nézhet ki:
Hozzáadtuk a qfail állapotot. A többi állapotból akkor vezettünk bele átmenetet, ha előtte nem létezett ott átmenet. Ez az állapot nem végállapot, és minden további bemenetre önmagába fordul vissza. Ha tehát az előző automatában hiányzó átmenetbe ütköztünk, itt már nincs hiányzó átmenet, és az automata a qfail állapotba kerülne.
Az általánosság megszorítása nélkül tehát mindig feltételezhetjük, hogy az automatának az állapotok és az ábécé karaktereinek minden kombinációjára definiáltak az átmenetei.
Definíció
A teljes A = ⟨Q, Σ, δ, q0, F⟩ automatára tehát igaz, hogy
Források
Fejezetek: Véges automata, Teljes automata, Nemdeterminisztikus véges automata, Nemdeterminisztikus automata szimulációja, NVA átalakítása DVA-vá