Vyčíslitelnost a složitost
Aktuální informace k předmětu, zápočtům, výukové materiály atd. najdete zde.
Seznam cvičení
-
Turingův stroj (TS) a příklady TS
- Navrhněte TS, který ze zadaného slova nad abecedou {a,b} umaže od začátku i od konce nejdelší možné stejně dlouhé úseky znaků a(kde umazání samozřejmě znamená přepsání znaky 2). Tedy např. k vstupnímu slovu aaababaastroj nechá jako výstup slovo abab, kdežto vstupní slovo aaabab nezmění; ze slova aaa zbude ε. Řešení na str. 194 v [JAN-TI].
- Domácí úkol: Navrhněte TS, který přijímá jazyk {w#w | w∈{a,b}*}.
-
Simulace variant TS
- Dokažte, že k-páskový TS jde simulovat pomocí (standardního) jednopáskového TS. Idea řešení na str. 177 v Introduction to the Theory of Computation od M. Sipsera (3. edice).
- Domácí úkol: dokažte, že TS s dvoudimenzionální páskou lze simulovat pomocí (standardního) jednopáskového TS.
-
Nerozhodnutelnost problému zastavení
Problém DHP je varianta problému zastavení, kde vstup je kód TS M, tedy <M> a otázkou je, zda se M zastaví pro vstup <M> svého vlastního kódu.
Dokažte, že problém DHP je nerozhodnutelný. Pomocí něj pak dokažte, že je nerozhodnutelný i HP (klasický problém zastavení). Řešení na str. 211 v [JAN-TI].
Domácí úkol: nechť k-PDA je zásobníkový automat s k zásobníky, kde k-PDA definujeme jako P=(Q,Σ,Γ,δ,q0,Z0,F), s přechodovou funkcí δ: Q × (Σ ∪ {ε}) × Γk → 2Q × (Γ*)k. Takže 0-PDA je vlastně NFA, 1-PDA je klasický PDA jak jej známe.
Dokažte, že 2-PDA dovede simulovat TS, a tedy je silnější model, než 1-PDA (není třeba psát celou konstrukci, jde hlavně o ideu). Má smysl uvažovat 3-PDA?
-
Částečně rozhodnutelné jazyky a převoditelnost
- Dokažte, že {<A> | A je takový DFA, že L(A)=∅} je rozhodnutelný. Řešení najdete na str. 196 v Introduction to the Theory of Computation od M. Sipsera (3. edice).
- Dokažte, že jazyk {<M> | M je takový TS, že ε∈L(M)} je rekurzivně spočetný a zároveň není rozhodnutelný. Nerozhodnutelnost je popsána v teorému 5.8.2 zde.
Domácí úkol: dokažte, že jazyk {<M> | M je takový TS, že L(M) je regulární} není rozhodnutelný.
- Riceova věta (měl profesor Jančar)
- Státní svátek
- První zápočtový test
-
Časová složitost algoritmu
- Porovnání průběhu funkcí (první úkol z 2. ukázkového testu zde).
Domácí úkol: dokažte, že rozhodání každého bezkontextového jazyka (reprezentovaného pomocí CFG), patří do PTIME.
-
Polynomiální redukce
- Popište polynomiální redukci problému IS ≤p SAT, tj. IS (independent set problem) na SAT. Řešení zde.
- Popište obě polynomiální redukce mezi problémy HC (Hamiltonovský cyklus) a HK (Hamiltonovská kružnice). Řešení redukce HC ≤p HK zde.
Domácí úkol: navrhněte rekudci SAT ≤p DOUBLE-SAT, kde DOUBLE-SAT = {φ | φ má nejméně dvě splnitelné ohodnocení}.
-
Problém obchodního cestujícího
- Navrhněte nedeterministický polynomiální algoritmus pro rozhodovací problém obchodního cestujícího TSPdec.
- Předpokládejme, že máme k dispozici polynomiální algoritmus pro TSPdec a ukažte, že pomocí něj lze v polynomiálním čase vyřešit i optimalizační verzi problému TSP.
Domácí úkol: ukažte, například návrhem algoritmu, že třída NP je uzavřená na Kleeneho uzávěr.
- TBA
- Druhý zápočtový tes (9.12.)
-
Opravné zápočtové testy (16.12.)
- 15:00-15:10 Nahlédnutí do 2. testů
- 15:10-16:10 Oprava 1. testu
- 16:10-16:20 Přestávka
- 16:20-17:20 Oprava 2. testu