Avgjørelsesproblemer Flashcards
Når er et problem i P?
Når problemet kan løses i polynomisk tid.
Altså problemer der vi vet det finnes en algoritme som er i O(n^k) for et tall k > 0.
Når er et problem i NP?
Når problemet kan verifiseres i polynomisk tid.
Hvordan kan vi verifisere at et problem er i NP?
Hvis vi har et problem L, og hvis det finnes en algoritme V som tar en instans av L og et sertifikat som input, og outputter JA for JA-instanser innen polynomisk tid.
Altså vi tar inn en f.eks. en graf og en liste med noder som beskriver en sykel, så verifiserer vi at denne syklen av noder faktisk finnes i grafen.
Er P i NP?
Ja, om vi kan løse et problem i polynomisk tid, så kan vi også verifisere det i polynomisk tid.
- Verifiserings algoritmen kan da faktisk bare løse problemet, og trenger ingen sertifikat.
Hva er et NP-komplett problem?
NP-komplette problemer er de vanskligste problemene i NP.
Hva er polynomtidsreduksjon?
Intuitivt: en måte å si at et avgjørelsesproblem B er minst like vanskelig som et problem A. Vi skriver A ≤p B for dette.
En polynomtidsreduksjon fra A til B er en algoritme som oversetter fra instanser i A til instanser i B slik at
- Alle JA-instanser i A blir oversatt til JA-instanser i B (tilsvarende for NEI-instanser)
- Oversettelsen gjøres i polynomtid
Hva vet vi om alle polynomtidsløsbare problemer?
At de kan alle reduseres til hverandre.
Når er et problem NP-hardt?
Et problem L er NP hardt hvis
- for alle problemer A i NP, så er A ≤p L
Intuitivt tilsvarer dette at problemet er minst like vanskelig å løse som alle andre problemer i NP.
L er NP-hardt = hvert problem A i NP kan reduseres i polynomtid til L.
- Intuisjonen er at du kan oversette problemer som er lettere eller like vanskelige som et annet problem, til det andre problemet, men ikke motsatt.
Når er et problem NP-komplett?
Et avgjørelsesproblem L er NP-komplett hvis
- L er i NP, og
- L er NP-hardt
NP-hardt = hvert problem A i NP kan reduseres i polynomtid til L.
Alle andre problemer som er i NP kan oversettes til NP-komplette problemer.
- Intuisjonen er at du kan oversette problemer som er lettere eller like vanskelige som et annet problem, til det andre problemet, men ikke motsatt.
Hvordan kan vi vise NP-kompletthet?
Vis medlemskap i NP: vis for eksempel at problemet L kan verifiseres i polynomisk tid.
Vis NP-hardt: velg et “egnet” kjent NP-komplett problem L’ og vis at L’ ≤p L
Hva er et avgjørelsesproblem?
Et avgjørelsesproblem er et problem hvor svaret er JA eller NEI.
- “Sorted: Er en liste sortert?”
- “Reachability: Finnes det en sti mellom to par av noder i en graf?”