200 likes | 448 Views
AUTOMATY. Bori · Brkos 2011. Formální jazyk. {a, b, aa , ab, ba, bb , aaa , aab , aba , abb , baa , bab, bba , bbb } nad abecedou {a, b}. Automat jako black box. aababbaabbb. ano. Deterministický konečný automat (DFA). A = (Q, Σ , δ , q 0 , F). DFA – motivace.
E N D
AUTOMATY Bori · Brkos 2011
Formální jazyk {a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb} nad abecedou {a, b}
Automat jako black box aababbaabbb ano
Deterministický konečný automat (DFA) A = (Q, Σ, δ, q0, F)
DFA – příklady Zkonstruujte DFA nad abecedou{a, b}, který • akceptuje slova se stejným počtem aab. • akceptuje slova, jež neobsahují babb. • akceptuje slova, jejichž délka je dělitelná třemi a zároveň obsahuje sudý počet a. • akceptuje slova, která obsahují aa nebo bab.
Nedeterministický konečný automat (NFA) Pokud existuje (nějaká) správná cesta, automat akceptuje.
NFA × DFA NFA je konzervativní rozšíření DFA. Existuje algoritmus převodu NFA ⟶ DFA.
NFA – příklady Sestrojte NFA nad abecedou {b, k, o, r, s}, který • Akceptuje slova končící brkos. • Akceptuje slova, jež mají na čtvrté pozici od konce symbol b. • Akceptuje slova, jež začínají a končí stejným symbolem.
Zásobníkový automat (PDA) A = (Q, Σ, Γ, δ, q0, Z0, F)
PDA – příklady Sestrojte PDA nad abecedou {a, b}, který • Akceptuje slova se stejným počtem aab. • Akceptuje slova s poměrem a : b = 3 : 2. • Akceptuje slova, ve kterých je počet b větší roven počtu a, zároveň je však menší roven dvojnásobku počtu a, a dále jsou všechna a před b
Determinismus u PDA Deterministický PDA není jazykově ekvivalentní nedeterministickému PDA. PDA tedy není konzervativní rozšíření DPDA.
Turingův stroj (TM) M = (Q, Σ, Γ, , , δ, q0, qaccept, qreject)
Formalismy • Automaty • Gramatiky • Regulární výrazy • Množinový (intenzionální) zápis • Algoritmy