From 1348f9bad744e860ee7717e5c8b55891ac085453 Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Tue, 30 Jan 2024 16:54:00 +0100 Subject: [PATCH] =?UTF-8?q?N=C3=A1vrh=20na=20reformu=20AG=20odsunut=20do?= =?UTF-8?q?=20postrann=C3=AD=20v=C4=9Btve?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AG.md | 78 ----------------------------------------------------------- 1 file changed, 78 deletions(-) delete mode 100644 AG.md diff --git a/AG.md b/AG.md deleted file mode 100644 index f4df1fa..0000000 --- a/AG.md +++ /dev/null @@ -1,78 +0,0 @@ -# Automaty a složitost (návrh) - -## Sylabus - -1. Konečné automaty (2 přednášky) - * základní pojmy: abeceda, slovo, jazyk (rozhodovací problém) - * definice konečného automatu (DFA), syntaxe a sémantika, regulární jazyk - * příklad: 0^n1^n není regulární, důkaz principem holubníku - * příklad: v KMP uvážíme uzávěr zpětných hran a máme DFA - * regulární pumping lemma (zobecnění myšlenky předchozího důkazu) - * příklad: 1^{prvočíslo} není regulární - * součin automatů - * TODO: Možná Myhill-Nerode (ve verzi se syntaktickou kongruencí?) - -2. Regulární výrazy (1 přednáška) - * nedeterministický konečný automat (NFA) - * ekvivalence DFA ↔ NFA - * ε-přechody, ekvivalence ε-NFA ↔ NFA - * uzavřenost na množinové operace - * regulární výrazy popisují právě regulární jazyky - -3. Gramatiky (3 přednášky) - * gramatiky, generované jazyky - * bezkontextové gramatiky, derivační stromy - * pravé a levé lineární gramatiky generují regulární jazyky - * obecné lineární gramatiky generují i neregulární jazyky - * jednoznačnost gramatiky - * Chomského normální forma - * algoritmus testující příslušnost slova do bezkontextového jazyka - pomocí dynamického programování - * iterační lemma pro bezkontextové jazyky - * nedeterministický zásobníkový automat (NPDA) - * NPDA rozhodují bezkontextové jazyky - -4. Turingovy stroje (2 přednášky) - * Turingův stroj (TM) a jeho výpočet - * TM může příjímat zastavením (částečně rozhodnutelné jazyky), přijímat stavem - (rozhodnutelné jazyky) nebo vydávat výstup na pásce (vyčíslitelné funkce) - * varianty TM: - - páska jen pro čtení => obousměrný konečný automat - Důkaz ekvivalence s klasickým DFA. - - více pásek: důkaz ekvivalence s jednopáskovým TM - - nedeterministický TM - * vztah mezi TM a RAMem - * vztah mezi TM a gramatikami - -5. Základy vyčíslitelnosti (2 přednášky) - * univerzální Turingův stroj, kódování strojů (bez detailů konstrukce) - * univerzální jazyk a diagonální jazyk - * halting problem je částečně rozhodnutelný, ale není rozhodnutelný - * Postova věta => doplněk halting problemu není částečně rozhodnutelný - * jazyk je částečně rozhodnutelný <=> jeho slova lze vyjmenovat - * převoditelnost jazyků - * nerozhodnutelné problémy ohledně bezkontextových gramatik - * Riceova věta - -6. Polynomiálni složitost a P vs. NP (2 přednášky) - * třídy DTIME(f) - * redukce počtu pásek a univerzální TM zpomalují jen polynomiálně, - stejně tak převody TM <-> RAM => třída P je nezávislá na modelu - * třída NP definovaná pomocí certifikátů - * převoditelnost v polynomiálním čase - * příklady převodů mezi problémy - * NP-úplnost - * Cookova-Levinova věta - * třída co-NP, tautologičnost - -# Možné rozšíření - -7. Další složitostní třídy - * třídy DSPACE(f), PSPACE - * nedeterministické třídy NTIME(f), NSPACE(f), NP, NPSPACE - * DTIME(f) ⊆ NTIME(f) ⊆ DSPACE(f) ⊆ NSPACE(f) ⊆ DTIME(2^O(f)) - * důsledek: P ⊆ NP ⊆ PSPACE ⊆ NPSPACE ⊆ DTIME(2^poly(n)) - * důsledek: DSPACE(log n) ⊆ NSPACE(log n) ⊆ P - * základný myšlenky fine-grained složitosti - -*(celkem 12 přednášek)* -- GitLab