this dir | view | cards | source | edit | dark
top
Zápočtový test
Studijní materiály
Praktické otázky
Konečný automat
- základní KMP automat
- průnik a rozdíl automatů
- determinizace a redukce automatu
Regulární výraz
- konstrukce automatu podle regulárního výrazu
- konstrukce regulárního výrazu podle popisu přijímaných slov
- konstrukce regulárního výrazu na základě konečného automatu
Další praktické otázky
- zařazení jazyka slov tvaru b∣kT, kde b je binární zápis čísla a k je zápis téhož čísla v konkrétní číselné soustavě, do Chomského hierarchie
- někdy je jazyk kontextový (monotónní), jindy i bezkontextový (v závislosti na vztahu číselných soustav)
- čtyřková jde bezkontextově, jedničková a trojková jdou kontextově (monotónně)
- převod bezkontextové gramatiky do Chomského normální formy
- Chomského normální forma – povolená jsou pouze pravidla ve tvaru X→YZ nebo X→a, přičemž lze deklarovat λ∈L
- kde λ označuje prázdné slovo
- moc dlouhá pravidla řešíme nadtrháváním
- dlouhá pravidla s terminály řešíme přidáním odpovídajících neterminálů
- pravidlo typu T→U musíme převést náhradou U pravými stranami pravidel s U na levé straně
- pro pravidlo tvaru U→λ musíme pravidlo T→UV upravit na T→UV∣V
- tady vzniklo problematické pravidlo T→V, ale to řešíme způsobem uvedeným výše
- převod monotónní gramatiky do kontextového tvaru
- např. AB→CD převedeme na AB→AˉB→AˉBˉ→CBˉ→CD
- pokud by se mezi jednotlivé kroky přepisování vloudila nějaká pravidla operující se znaky z této dvojice, mohli bychom je přesunout před první krok nebo za poslední krok
- jazyk slov s mocninným počtem písmen
- nejde bezkontextově, existuje monotónní gramatika
Teoretické otázky
Důkaz neregularity
- pumping lemma
- nechť L je regulární jazyk
- (∃n∈N)(∀w∈L):∣w∣≥n⟹w=αβγ
- ∣β∣>0
- ∣αβ∣≤n
- ∀t≥0:αβtγ∈L
- jelikož je L regulární, existuje automat A rozpoznávající L
- za n zvolíme počet stavů tohoto automatu
- k důkazu neregularity L01={0k1k∣k∈N} použijeme slovo w=0n1n, kde n je konstanta z lemmatu
- ∣αβ∣≤n⟹1∈/αβ
- slovo αβtγ pro t=1 má jiný počet nul než jedniček, tedy nepatří do jazyka, což je spor
- uzávěrové vlastnosti
- mějme regulární jazyky L,M, pak L∪M, L∩M, L−M a L jsou také regulární
- kde L=Σ∗−L (doplněk)
- důkaz neregularity jazyku slov se stejným počtem nul a jedniček
- jazyk slov 0∗1∗ je zjevně regulární
- průnik těchto dvou jazyků je neregulární jazyk L01
- podobně umíme odvodit, že jazyk slov s různým počtem nul a jedniček není regulární a že jazyk slov tvaru 0i1j, kde i=j není regulární
Důkaz nebezkontextovosti
- pumping lemma pro bezkontextové jazyky
- nechť L je bezkontextový jazyk
- (∃n)(∀w∈L):∣w∣≥n⟹w=u1u2u3u4u5
- ∀k≥0:u1u2ku3u4ku5∈L
- ∣u2u3u4∣≤n
- ∣u2u4∣>0
- uzávěrové vlastnosti
- bezkontextové jazyky jsou uzavřené na sjednocení, konkatenaci, iterace, pozitivní iterace, zrcadlový obraz
Další teoretické otázky
- podtrhávací pumping lemma
- dvě varianty – pro regulární i bezkontextové jazyky
- obecně místo délek slov počítáme počty podtržených písmen (všechny „absolutní hodnoty“ ve lemmatech takto nahradíme)
- pro CFL asi Ogdenovo lemma?
- normální formy gramatik
- L0 … αχβ→αγβ
- α,β∈(VN∪VT)∗
- χ∈VN
- γ∈(VN∪VT)∗
- L1 … αχβ→αγβ
- α,β∈(VN∪VT)∗
- χ∈VN
- γ∈(VN∪VT)+
- L2 … X→YZ∣a
- X,Y,Z∈VN
- a∈VT
- L3 … X→aY∣λ
- X,Y∈VN
- a∈VT
- dvoucestný konečný automat vs. jednocestný konečný automat
- dvoucestný zásobníkový automat vs. jednocestný zásobníkový automat
- existuje dvoucestný přijímající 0n1n2n, jednocestný nikoliv
- vztah mezi bezkontextovými gramatikami a jazyky přijímanými nedeterministickými zásobníkovými automaty prázdným zásobníkem