opora
Kapitola 1 Úvod Teorie formálních jazyků a vyčíslitelnost představují klasické a velmi důležité oblasti teoretické informatiky. Základy novodobé historie těchto disciplín položil v roce 1956 americký matematik Noam Chomsky, který v souvislosti se studiem přirozených jazyků vytvořil matematický model gramatiky jazyka. Realizace původních představ, formalizovat popis přirozeného jazyka takovým způsobem, aby mohl být automatizován překlad z jednoho přirozeného jazyka do druhého nebo aby přirozený jazyk sloužil jako prostředek komunikace člověka s počítačem, se ukázala velmi obtížnou a teprve současné výsledky můžeme považovat alespoň za slibné. Začala se však vyvíjet vlastní teorie jazyků, která nyní obsahuje bohaté výsledky v podobě matematicky dokázaných tvrzení – teorémů. Tato teorie pracuje se dvěma duálními matematickými entitami, s gramatikou a s automatem, představující abstraktní matematický stroj. Zatímco gramatika umožňuje vetšinou snáze popsat strukturu vět formálního jazyka, automat dovede tuto strukturu snaze identifikovat a zpracovávat. Poznatky teorie formálních jazyků mají význam nejen ve všech oblastech informatiky a informačních technologií, ale jejich aplikace zasahují do téměř nespočetné řady technických i netechnických oborů. Dodávají algoritmy, jež jsou podkladem pro konstrukci reálných programů či zařízení zpracovávajících informaci ve tvaru vět formálního jazyka. Stanovují však také možnosti a omezení algoritmických postupů řešení problémů; odhalují problémy, které jsou algoritmicky nerozhodnutelné, tj. problémy, jejichž řešení nelze dosáhnout v konečném čase. Teorie formálních jazyků našla doposud největší uplatnění v oblasti programovacích jazyků. Krátce po Chomského definici gramatiky formálního jazyka a klasifikaci formálních jazyků (Chomského hierarchii formálních jazyků), Backus a Nauer použili základních objektů gramatiky pro definici syntaxe programovacího jazyka Algol 60 (ve tvaru formalismu, jež se nazývá Backus-Nauerova forma). Další vývoj pak přímočaře vedl k aplikacím teorie jazyků v oblasti překladačů programovacích jazyků. Stanovení principů syntaxí řízeného překladu a generátorů překladačů (programovacích systémů, které na základě formálního popisu syntaxe a sémantiky programovacího jazyka vytvoří jeho překladač) představuje kvalitativní skok při konstrukci překladačů umožňující automatizovat náročnou programátorskou práci spojenou s implementací programovacích jazyků. V současné době je teorie formálních jazyků spolu s matematickou logikou základem ambiciozních výzkumných programů zaměřených na formální verifikace technických i programových prostředků, vedoucí k větší spolehlivosti a bezpečnosti počítačových aplikací. 5
KAPITOLA 1. ÚVOD 6 1.1 Obsahové a metodické informace o předmětu Teoretická informatika 1.1.1 Cíle předmětu Rozšíření znalostí teorie formálních jazyků a osvojení základů teorie vyčíslitelnosti a základních pojmů výpočetní složitosti. 1.1.2 Anotace předmětu Aplikace teorie formálních jazyků v informatice a informačních technologiích (překladače, modelování a analýza systémů, lingvistika, biologie atd.), modelovací a rozhodovací síla formálního modelu, regulární jazyky a jejich vlastnosti, minimalizace konečného automatu, bezkontextové jazyky a jejich vlastnosti, Turingovy stroje, vlastnosti rekurzivních a rekurzivně vyčíslitelných jazyků, vyčíslitelné funkce, nerozhodnutelnost, nerozhodnutelné problémy teorie formálních jazyků, úvod do výpočetní složitosti. 1.1.3 Požadované prerekvizitní znalosti a dovednosti Základní znalosti z binárních relací, teorie grafů a formálních jazyků včetně konečných a zásobníkových automatů a pojmů algoritmické složitosti. 1.1.4 Osnova přednášek a přiřazení ke kapitolám opory Kapitola 2 Úvod, aplikace teorie formálních jazyků, modelovací a rozhodovací síla formálního modelu, operace nad jazyky. Kapitola 3 Regulární jazyky a jejich vlastnosti, Kleenova věta, Nerodova věta, věta o vkládání (Pumping theorem). Minimalizace konečného automatu, relace nerozlišitelnosti stavů, konstrukce redukovaného konečného automatu. Uzávěrové vlastnosti regulárních jazyků, regulární jazyky jako množinová Booleova algebra, rozhodnutelné problémy regulárních jazyků. Kapitola 4 Bezkontextové jazyky a jejich vlastnosti. Normální tvary bezkontextových gramatik, jednoznačné a deterministické bezkontextové jazyky, věta o vkládání pro bezkontextové jazyky. Zásobníkové automaty, varianty zásobníkových automatů, ekvivalence bezkontextových jazyků a jazyků přijímaných zásobníkovými automaty, deterministický zásobníkový automat. Uzávěrové vlastnosti bezkontextových jazyků, uzavřenost vzhledem k substituci, důsledky, rozhodnutelné problémy bezkontextových jazyků. Kapitola 5 Turingovy stroje (TS), definice TS a jazyka přijímaného TS, rekurzivně vyčíslitelné a rekurzivní jazyky a problémy, TS a funkce, metody konstrukce TS. Modifikace TS, TS s obousměrně nekonečnou páskou, s více páskami, nedeterministický TS, stroj se dvěma zásobníky, stroje s čitači. TS a jazyky typu 0, diagonalizace, vlastnosti rekurzivních a rekurzivně vyčíslitelných jazyků, lineárně ohraničené automaty a jazyky typu 1. Vyčíslitelné funkce, počáteční funkce, primitivně rekurzivní funkce, mí-rekurzivní funkce, vztah vyčíslitelných funkcí a Turingových strojů. Church-Turingova téze, univerzální TS, nerozhodnutelnost, problém zastavení TS, redukce, Postův korespondenční problém.
- Page 1 and 2: Teoretická informatika TIN Studijn
- Page 3 and 4: OBSAH 2 4 Bezkontextové jazyky a z
- Page 5: OBSAH 4 7.2 Třídy složitosti . .
- Page 9 and 10: Kapitola 2 Jazyky, gramatiky a jeji
- Page 11 and 12: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 13 and 14: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 15 and 16: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 17 and 18: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 19 and 20: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 21 and 22: KAPITOLA 2. JAZYKY, GRAMATIKY A JEJ
- Page 23 and 24: KAPITOLA 3. REGULÁRNÍ JAZYKY 22
- Page 25 and 26: KAPITOLA 3. REGULÁRNÍ JAZYKY 24 3
- Page 27 and 28: KAPITOLA 3. REGULÁRNÍ JAZYKY 26 D
- Page 29 and 30: KAPITOLA 3. REGULÁRNÍ JAZYKY 28 2
- Page 31 and 32: KAPITOLA 3. REGULÁRNÍ JAZYKY 30 D
- Page 33 and 34: KAPITOLA 3. REGULÁRNÍ JAZYKY 32 V
- Page 35 and 36: KAPITOLA 3. REGULÁRNÍ JAZYKY 34 D
- Page 37 and 38: KAPITOLA 3. REGULÁRNÍ JAZYKY 36 V
- Page 39 and 40: KAPITOLA 3. REGULÁRNÍ JAZYKY 38 D
- Page 41 and 42: KAPITOLA 3. REGULÁRNÍ JAZYKY 40 3
- Page 43 and 44: KAPITOLA 3. REGULÁRNÍ JAZYKY 42 3
- Page 45 and 46: KAPITOLA 3. REGULÁRNÍ JAZYKY 44 V
- Page 47 and 48: KAPITOLA 3. REGULÁRNÍ JAZYKY 46 3
- Page 49 and 50: KAPITOLA 3. REGULÁRNÍ JAZYKY 48 P
- Page 51 and 52: KAPITOLA 3. REGULÁRNÍ JAZYKY 50 3
- Page 53 and 54: KAPITOLA 3. REGULÁRNÍ JAZYKY 52 C
- Page 55 and 56: KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A
KAPITOLA 1. ÚVOD 6<br />
1.1 Obsahové a metodické informace o předmětu<br />
Teoretická informatika<br />
1.1.1 Cíle předmětu<br />
Rozšíření znalostí teorie formálních jazyků a osvojení základů teorie vyčíslitelnosti<br />
a základních pojmů výpočetní složitosti.<br />
1.1.2 Anotace předmětu<br />
Aplikace teorie formálních jazyků v informatice a informačních technologiích (překladače,<br />
modelování a analýza systémů, lingvistika, biologie atd.), modelovací a rozhodovací<br />
síla formálního modelu, regulární jazyky a jejich vlastnosti, minimalizace konečného<br />
automatu, bezkontextové jazyky a jejich vlastnosti, Turingovy stroje, vlastnosti<br />
rekurzivních a rekurzivně vyčíslitelných jazyků, vyčíslitelné funkce, nerozhodnutelnost,<br />
nerozhodnutelné problémy teorie formálních jazyků, úvod do výpočetní<br />
složitosti.<br />
1.1.3 Požadované prerekvizitní znalosti a dovednosti<br />
Základní znalosti z binárních relací, teorie grafů a formálních jazyků včetně<br />
konečných a zásobníkových automatů a pojmů algoritmické složitosti.<br />
1.1.4 Osnova přednášek a přiřazení ke kapitolám opory<br />
Kapitola 2 Úvod, aplikace teorie formálních jazyků, modelovací a rozhodovací<br />
síla formálního modelu, operace nad jazyky.<br />
Kapitola 3 Regulární jazyky a jejich vlastnosti, Kleenova věta, Nerodova věta,<br />
věta o vkládání (Pumping theorem). Minimalizace konečného automatu,<br />
relace nerozlišitelnosti stavů, konstrukce redukovaného konečného automatu.<br />
Uzávěrové vlastnosti regulárních jazyků, regulární jazyky jako množinová<br />
Booleova algebra, rozhodnutelné problémy regulárních jazyků.<br />
Kapitola 4 Bezkontextové jazyky a jejich vlastnosti. Normální tvary bezkontextových<br />
gramatik, jednoznačné a deterministické bezkontextové jazyky, věta<br />
o vkládání pro bezkontextové jazyky. Zásobníkové automaty, varianty zásobníkových<br />
automatů, ekvivalence bezkontextových jazyků a jazyků přijímaných<br />
zásobníkovými automaty, deterministický zásobníkový automat.<br />
Uzávěrové vlastnosti bezkontextových jazyků, uzavřenost vzhledem k substituci,<br />
důsledky, rozhodnutelné problémy bezkontextových jazyků.<br />
Kapitola 5 Turingovy stroje (TS), definice TS a jazyka přijímaného TS, rekurzivně<br />
vyčíslitelné a rekurzivní jazyky a problémy, TS a funkce, metody konstrukce<br />
TS. Modifikace TS, TS s obousměrně nekonečnou páskou, s více páskami,<br />
nedeterministický TS, stroj se dvěma zásobníky, stroje s čitači. TS a jazyky<br />
typu 0, diagonalizace, vlastnosti rekurzivních a rekurzivně vyčíslitelných<br />
jazyků, lineárně ohraničené automaty a jazyky typu 1. Vyčíslitelné funkce,<br />
počáteční funkce, primitivně rekurzivní funkce, mí-rekurzivní funkce, vztah<br />
vyčíslitelných funkcí a Turingových strojů. Church-Turingova téze, univerzální<br />
TS, nerozhodnutelnost, problém zastavení TS, redukce, Postův korespondenční<br />
problém.