NP-optimalizačné problémy Flashcards
Definuj NP-optimalizačný problém
str 51 (cieľ, pol. ohraničená relácia, hodnotová funkcia)
Podľa cieľa aké problémy poznáme?
minimalizačný a maximalizačný
Definuj konštrukčný problém
Pre dané x nájdi ak existuje y také, že (x,y) v R a hodnota m(x,y) je minimálna/maximálna
Definuj hodnotový problém
Pre dané x urči ak existuje minimálnu/maximálnu hodnotu m(x,y) (teda pre všetky y to prejsť)
Definuj rozhodovací problém
Pre dané x a pr. číslo k zisti, či existuje také y, že (x,y) v R a m(x,y)≤k pre cieľ min, podobne m(x,y)≥k pre cieľ max
Ako vieme formulovať rozhodovací problém ako jazyk?
str. 52
Dokáž, že rozhodovací problém každého NPO patrí do NP
str 52
nedeterministicky uhádneme y a dopočítame (idea)
Dokáž vetu 6.2 na str. 52 o konštrukcii rozhodovacieho problému na konštrukčný
str. 52
Ak P=NP, potom konštrukčný problém každého NPO možno …
riešiť deterministicky v polynomiálnom čase
Dokáž dôsledok 6.3
str. 53
Formalizuj problém konštrukcie hamiltonovskej kružnice grafu x
str. 54
Definuj čo je m*(x)
optimálna hodnota min/max pre dané x
Definuj alfa-aproximovateľný NPO
str. 54
Definuj dobre aproximovateľný problém
ak je alfa-aproximovateľný pre každé alfa > 1 (limitne sa blíži 1)
Definuj neaproximovateľný problém
Ak nie je alfa-aproximovateľný pre žiadne alfa > 1
Dokáž a vyslov vetu 6.5 o P!=NP a existencii NPO problémov A,B,C
str. 54
Dokáž: Ak P!=NP, potom NPO problém obch. cestujúceho je neaproximovateľný
str. 56
Za predpokladu P!=NP, aké ďalšie problémy sú neaproximovateľné/aproximovateľné?
str. 57
Definuj NPO 0/1 batoh
str. 57
Definuj konštrukčný 0/1 batoh
str. 57
Definuj rozhodovací 0/1 batoh
str. 58
Opíš riešenie konštrukčného 0/1 batoha, aj s algoritmom. Aká je jeho časová zložitosť?
str. 58
Opíš aproximačný algoritmus pre konštrukčný 0/1 problém batoha
str. 59
Doplň: NPO 0/1 problém batoha je …
dobre aproximovateľný
Čo sú pseudopolynomiálne algoritmy? (neformálne)
str. 61
Definuj Num, Int, MaxInt
str. 61
Definuj pseudopolynomiálny algoritmus
str. 61
Ak pre jeho zložitosť T() platí
T(x)=O(p(|x|,MaxInt(x)))
Teda je polynomiálny pre celočíselné vstupy, ktoré sú zadávané unárne
Kedy je pseudopolynomiálny algoritmus efektívny?
Keď maximálna hodnota na vstupe je rozumná a ohraničená rozumnou funkciou
Definuj h-zúženie
str. 61
Dokáž a vyslov vetu 6.10 o h-zúžení
str. 62
Definuj silno NP-hard problém
Problém U je silno NP-hard ak existuje polynóm p taký, že p-zúženie U je NP-ťažký problém
Dokáž vetu: Nech P!=NP, U je silno NP-hard s celočíselnými vstupmi. Potom neexistuje alg. pseudopolynomiálnej zložitosti riešiaci U
str. 62
Čo nám teda stačí ukázať, ak chceme vyargumentovať, že nejaký celočíselný problém je veľmi ťažký?
Že pre neho neexistuje pseudopolynomiálny algoritmus.
Ako konkrétne vieme ukázať, že neexistuje pseudopolynomiálny algoritmus?
Pre nejaký polynóm h je h-zúženie U NP-hard. Dôkaz robíme tak, že naň zredukujeme nejaký NPÚ alebo NP-hard problém.
Definuj TSP (travelling salesman) ako vstup/výstup a dokáž, že je NP-hard
Dôkaz: pomocou redukcie HAM na TSP