NP-úplnosť Flashcards
(34 cards)
polynomiálny čas je taká vlastnosť problémov, ktorá je …
nezávislá od výberu výpočtového modelu, pokiaľ sa hýbeme v prvej počítačovej triede
Čo je prvá počítačová trieda?
Prvú počítačovú triedu tvoria tie výpočtové modely, ktoré sú polynomiálne ekvivalentné viacpáskovému DTS = RAM, MRAM s logaritmickou cenou, jednopáskový a viacpáskový DTS…
Triedu P rozhodne môžme považovať za triedu …
prakticky riešiteľných úloh
Ako inak vieme opísať triedu NP?
problémy, ktorých riešenie vieme overiť v čase polynomiálnom od veľkosti vstupu
Na čo sú NP-úplné problémy?
pre mnohé problémy pomerne ľahko ukážeme, že sa za predpokladu P != NP v polynomiálnom deterministickom čase riešiť nedajú
Aké sú aproximačné, pravdepodobnostné a heuristické algoritmy?
aproximačné - približne optimálne riešenie, rýchle
pravdepodobnostné - rýchle, pravdepodobnosť korektnej odpovede vysoká
heuristické - stratégia, nemusíme dostať korektné riešenie, dokonca žiadne aj keď existuje
Definuj polynomiálnu redukovateľnosť
str. 26
Definuj NP-úplné problémy
Jazyk L0 sa nazýva NP-ťažký,ak ∀L ∈ N P : L je polynomiálne redukovateľný na L0. Ak navyše L0 ∈ NP tak je jazyk NP-úplný.
Ak prienik NPU a P nie je prázdny, tak
P=NP
Ak P != NP, tak
NPU je podmnožina NP-P
Čo stačí na dôkaz P=NP?
pre jediný NP-úplný problém nájsť deterministický polynomiálny algoritmus.
Aká je alterntívna definícia NPÚ?
Problém L0 z N P je N P -úplný, ak z existencie algoritmu polynomiálnej zložitosti T(n) riešiaceho L0 vyplýva existencia algoritmu zložitosti pL(T(n)) pre každý problém L ∈ NP, pričom pL je polynóm, ktorý závisí od L.
Ako vieme dokázať, že je jazyk NP-úplný?
- Dokážeme, že je v NP
- Dokážeme, že je NP-ťažký, pomocou tranzitivity polynomiálnej redukovateľnosti, teda napr. ukážeme, že vieme na neho zredukovať SAT
Čo je boolovská formula?
x, negácia x, spojenie boolovských formúl logickou spojkou
Ako označujeme boolovskú formulu BF s n premennými x1, x2, …, xn?
BF(x1,…,xn)
Kedy je BF(x1,…,xn) splniteľná?
Ak existuje priradenie pravdivostných hodnôt x1,…,xn tak, že formula je pravdivá
Čo je problém splniteľnosti BF?
Na vstupe dostanem BF a výsledok je 1 ak je splniteľná, 0 inak
Vyslov a dokáž Cook-Levinovu vetu
Problém splniteľnosti BF je NP-úplný
Dôkaz na strane 28, je to celkom hard a dlhé
Akých 7 podmienok musí platiť v dôkaze Cook-Levinovej vety?
- Q0 je počiatočná konfigurácia
- V každom čase je hlava na práve jednom políčku
- V každom čase je stroj práve v jednom stave
- V každom čase je na každom políčku pásky práve jeden symbol
- Mení sa len to políčko, na ktorom je nastavená hlava
- Zmena sa deje podľa prechodovej funkcie
- Posledná konfigurácia je akceptujúca
Načrtni iný dôkaz Cook-Levinovej vety
str 32
Dokáž, že 3-SAT je NPÚ
SAT => KNF => 3SAT, konkrétny princíp str, 34
Dokáž, že problém k-kliky je NPÚ (k-klika = úplný podgraf s k vrcholmi)
str. 35, NP-hard idea: redukcia KNF => k-klika
príslušnosť do NP je easy
Dokáž, že problém k-pokrytia (mn. k vrcholov taká, že pre každú hranu aspoň jeden vrchol v tejto mn.) je NPÚ
https://www.geeksforgeeks.org/proof-that-vertex-cover-is-np-complete/
Dokáž, že problém vrcholovej k-zafarbniteľnosti je NPÚ
str. 36