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
Deterministický konečný automat (DFA) A = (Q, Σ, δ, q 0, F)
DFA – motivace
DFA – příklady Zkonstruujte DFA nad abecedou {a, b}, který 1.akceptuje slova se stejným počtem a a b. 2.akceptuje slova, jež neobsahují babb. 3.akceptuje slova, jejichž délka je dělitelná třemi a zároveň obsahuje sudý počet a. 4.akceptuje slova, která obsahují aa nebo bab.
Nedeterministický konečný automat (NFA) Pokud existuje (nějaká) správná cesta, automat akceptuje.
NFA – motivace
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ý 1.Akceptuje slova končící brkos. 2.Akceptuje slova, jež mají na čtvrté pozici od konce symbol b. 3.Akceptuje slova, jež začínají a končí stejným symbolem.
Chomského hierarchie Regulární jazykyKonečné automaty (FA) Bezkontextové jazykyZásobníkové automaty (PDA) Kontextové jazykyLineárně ohraničené automaty (LBA) Jazyky třídy 0Turingovy stroje (TM)
Zásobníkový automat (PDA) A = (Q, Σ, Γ, δ, q 0, Z 0, F)
PDA – motivace
PDA – příklady Sestrojte PDA nad abecedou {a, b}, který 1.Akceptuje slova se stejným počtem a a b. 2.Akceptuje slova s poměrem a : b = 3 : 2. 3.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, Σ, Γ, , , δ, q 0, q accept, q reject )
Formalismy Automaty Gramatiky Regulární výrazy Množinový (intenzionální) zápis Algoritmy
Domácí motivace
Jdem na oběd.