Konečné automaty Definice. Deterministický konečný automat (Deterministic Finite Automaton, D FA) M je pětice (Q, Z, 5, q0l F), kde ■ Q je neprázdná konečná množina stavů, ■ Z je konečná vstupní abeceda, ■ á:Oxľ^Qje parciální přechodová funkce, ■ Qo e Q je počáteční (iniciální) stav, ■ F c Q je množina koncových (akceptujících) stavů. IB102 Automaty a gramatiky, 24.9.2018 1/14 Příklad a zápis tabulkou IB102 Automaty a gramatiky, 24.9.2018 2/14 Zápis grafem IB102 Automaty a gramatiky, 24.9.2018 3/14 Výpočet konečného automatu Rozšířená přechodová funkce S : Q x Z* Q je parciální funkce definovaná induktivně vzhledem k délce slova ze Z*: ■ 5(q, s) = q pro každý stav q e Q 5{q, wa) = w), á) je-li w) i 5(5(q, w), á) definováno _L jinak Slovo w\e akceptováno automatem M právě když S(q0, w) e F. Slovo w\e zamítáno automatem M právě když S(q0, w) ^ F. IB102 Automaty a gramatiky, 24.9.2018 4/14 Jazyk přijímaný (akceptovaný, rozpoznávaný) automatem M je L(M) = {w g 51* | ô(q0,w) g F}. Jazyk, který je rozpoznatelný (nějakým) deterministickým konečným automatem, nazveme regulárni. Automaty M a M' nazveme ekvivalentní, právě když L(M) = L(M'). IB102 Automaty a gramatiky, 24.9.2018 5/14 Parcialita přechodové funkce Přechodová funkce S byla zavedena jako parciální. Parcialita přechodové funkce nemá podstatný vliv na výpočetní sílu konečných automatů. Lemma. Ke každému DFA M existuje ekvivalentní DFA M' s totální přechodovou funkcí. Idea důkazu: IB102 Automaty a gramatiky, 24.9.2018 6/14 Důkaz. Nechť M = (Q, 51, S, qb, F). Pak Ať definujeme předpisem M; = (Ou {p},Z,5', cfo, F), kde p 0 Q a í'(g, a) = a) je-li 5(qr, a) definováno, p jinak. Zejména }* | w obsahuje podslovo abaa a (w = b v w začíná i končí na a a mezi dvěma výskyty b je vždy alespoň jedno a)} © © © © © © © © ® © © 0 © © © © © © © © © © © © © © © © © IB102 Automaty a gramatiky, 24.9.2018 10/14 Synchronní paralelní kompozice automatů Pro dané automaty M\ a M2 umožňuje sestrojit automat rozpoznávající průnik (sjednocení, rozdíl) jazyků L{M\) a L(M2)- Nechť M-\ = {Q-\,Y.,S-\,q-\, F,), M2 = (Q2,S2,q2, F2) a přechodové funkce <5i, S2 jsou totální. Definujeme D FA M3 = (03,51, <53, q3, F3), kde ■ Q3 = d x Q2 = {(p, q) | p g Qi, g e Q2} ■ F3 = F| x F2 = {(p, g) | p e F, g e F2} ■ q3 = (<7l,