Avgjørelsesproblemer Flashcards

1
Q

Når er et problem i P?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Når er et problem i NP?

A

Når problemet kan verifiseres i polynomisk tid.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hvordan kan vi verifisere at et problem er i NP?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Er P i NP?

A

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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hva er et NP-komplett problem?

A

NP-komplette problemer er de vanskligste problemene i NP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hva er polynomtidsreduksjon?

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hva vet vi om alle polynomtidsløsbare problemer?

A

At de kan alle reduseres til hverandre.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Når er et problem NP-hardt?

A

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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Når er et problem NP-komplett?

A

Et avgjørelsesproblem L er NP-komplett hvis

  1. L er i NP, og
  2. 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvordan kan vi vise NP-kompletthet?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hva er et avgjørelsesproblem?

A

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?”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly