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.