2. Třídy výpočtové složitosti a vztahy mezi nimi
T: N→N
NTS M má časovou složitost T(n) výpočet pro každý vstup x se zastaví pro nanejvýš max T(|x|) výpočetních kroků (nerozlišujeme akceptující a zamítající stavy).
S: N→N
NTS M má prostorovou složitost S(n) v každém výpočtu v každém vstupu x je stroj operací max S(|x|) políček (zajímají nás políčka na pracovní pásce, ne samotný vstupní řetězec).
S(n) je prostorově konstruovatelná TS se vstupní a 1 pracovní páskou takový, že pro vstup délky n, označí na pracovní pásce přesně S(n) políček.
Mějme jazyk L nad abecedou .
Mějme složitostní třídu C (množina jazyků).
co-DTIME(T(n))=DTIME(T(n)) *
co-DSPACE(S(n))=DSPACE(S(n)) *
* změníme akceptující a zamítající stavy
co-NTIME(T(n)) = ? … jestli není uzavřeno na komplement P NP
co-NSPACE(S(n)) = NSPACE(S(n))
Deterministické složitostní třídy jsou uzavřené na U nedeterministických je otevřenost na komplement otevřeným problémem.
= množiny jazyků, které jsou rozhodované se složitostí ohraničenou danou funkcí
Lineární urychlení
důsledek:
- prostor je vždy omezen potřebným časem
- nechť S(n) >= log(n)
Idea důkazu pro 3. a 4.1):
DTS pracující v prostoru S(n) může být upraven tak, aby skončil po krocích a přitom akceptoval stejný jazyk.
- nechť
Idea důkazu:
Je hirearchie nekonečná? Existuje dolní mez složitosti?
Problém hodnoty logického obvodu
{<x,y> | x a y jsou relativní prvočísla} (2 čísla jsou relativní prvočísla – také nesoudělná čísla – když jejich NSD je roven 1), v P vypočítáme například pomocí Euklidova algoritmu
Jazyk A se polynomicky redukuje na jazyk B, existuje zobrazení takové, že pro každý řetězec a R je polynomiálně vyčíslitelná.
Jazyk L nazveme C-těžký vzhledem k polynomiální redukci pr složitostní třídu C jazyky platí: (každý jazyk A z L se dá redukovat na C). Jestli navíc , tak L nazýváme C-úplný(C těžký jazyk nemusí patřit do třídy C).
VSTUP: výroková formule F v CNF.
Formule F je splnitelná, jestliže existuje přiřazení hodnot 0,1 proměnným ve výrokové formuli tak, že je formule pravdivá (1).
OTÁZKA: Je F splnitelná?
VSTUP: neorientovaný graf
OTÁZKA: obsahuje G kliku o k vrcholech?
Klika v neorientovaném grafu je podgraf takový, že existuje hrana mezi každými dvěma uzly. k-klika je klika, která má k vrcholů
VSTUP: neorientovaný graf
OTÁZKA: najít Hemiltovskou cestu
Problém obchodního cestujícího.
- pro - k=2 - zabarvitelný 2 barvami ⇒ je bipartitní (nemá cyklus liché délky) – v čase polynomiálním prohledáváním do hloubky (šířky)
Jazyk A se logaritmicky redukuje na jazyk B, existuje zobrazení takové, že pro každý řetězec a R je konstruovatelná v logaritmickém prostoru.
- problém cesty (existuje cesta mezi dvěma vrcholy v neorientovaném grafu?)
Quantified Boolean Formula - formule predikátové logiky
Jeden hráč se snaží zvítězit tak, že vybírá univerzálně kvantifikované proměnné tak, aby druhý hráč nemohl zvolit žádný existenčně kvantifikovaný prvek.
Diskuze
Pekný základný prehľad. Osobne mi tam ešte chýba (v prípade potreby si asi každý doplňte sám):
- Oráklové TS a polynomiálna hierarchia
- Alternujúce TS a ich zložitostné triedy
- Pravdepodobnostné TS a triedy RP, BPP (ktoré mne osobne prídu hodne zaujímavé, dôležité a ľahko predstaviteľné)
- (?)Kvantové zložitostné triedy(?)