T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3005 Deel 2 College 3 Cees Witteveen

Slides:



Advertisements
Verwante presentaties
Informatieanalyse klassediagram I.
Advertisements

Les 2 klassediagrammen II
Minimum Spanning Tree. Wat is MST? • Minimum spanning tree • De meest efficiënte manier vinden om een verbonden netwerk op te bouwen.
AR voor Horn clause logica Introductie van: Unificatie.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3 005 Deel 2 College 5 Cees Witteveen
PM zijn de Principia Mathematica. Deze vormen een formeel systeem voor de wiskunde. Ze zijn beschreven door A.N. Whitehead and B. Russell. Gödel bepaalt.
Datastructuren Analyse van Algoritmen en O
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN3005 deel 2 College 2 Cees Witteveen
Graph Begrippen: knoop, vertices kant, zijde, edge
Computationele complexiteit: NP-volledigheid
Automatisch Redeneren in de praktijk
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
Fibonacci & Friends Met dank aan Gerard Tel.
NP-volledigheid Algoritmiek © Hans Bodlaender, Oktober 2002.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Wat verandert in perspectief ? Wat verandert NIET ?
Coordinated path planning for Multiple Robots Siu-Siu Ha.
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
Een workshop over katten, muizen en nadenken in de Informatica
vwo C Samenvatting Hoofdstuk 12
Omtrekshoeken Stelling van de constante hoek:
Gebruiken.
Probleem P 1 is reduceerbaar tot P 2 als  afbeelding  :P 1  P 2 zo dat: I yes-instantie van P 1   (I) yes-instantie van P 2 als ook:  polytime-algoritme,
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen.
TU Delft Groep Parallelle en Gedistribueerde Systemen Voorbeeld uitwerking reductie bewijs in3120 Cees Witteveen.
Fundamentele Informatica IN3120
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in3005 Deel 2 College 6 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 Oplossing Langste Pad Probleem Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN 3005 Deel 2 Laatste College ! Cees Witteveen
TU Delft Groep Parallelle en Gedistribueerde Systemen Fundamentele Informatica In3 005 Deel 2 College 1 Cees Witteveen Parallelle en Gedistribueerde Systemen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 5 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica IN 3120 College 7 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3 005 Deel 2 College 4 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in3005 Deel 2 College 6 Cees Witteveen
Relativiteitstheorie (4)
OEFENTENTAMENOPGAVES KLASSIEKE NATUURKUNDE 1B ELECTROSTATICA & MAGNETOSTATICA Een verzameling vraagstukken uit oude tentamens. Tijdindicatie: ongeveer.
BEWIJSPATRONEN EN LOGICA
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Lokale zoekmethoden Goed in de praktijk:
Netwerkspel Een workshop over computernetwerken en nadenken in de Informatica Informatica Voorlichtingsdagen Gerard Tel, Marjan van den Akker.
Puzzels, Blokken en Veranderbare Kunst
Datastructuren Sorteren, zoeken en tijdsanalyse
T U Delft Groep Parallelle en Gedistribueerde Systemen PGS College in345 Deel 2 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 Laatste College ! Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 3 Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 2 Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 3 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 4 Cees Witteveen
TU Delft Groep Parallelle en Gedistribueerde Systemen Fundamentele Informatica IN3120 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit EWI,
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 4 Cees Witteveen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
MBR AtT1 College 9 Diagnose met correctmodellen. Verdieping in de formalisatie. In reader: Characterizing diagnoses and Systems J. de Kleer, A.
MBR AtT1 College 7 : covering theorie (Deel 2) model MAB-diagnose: College 6: Covering theorie College 7: Algoritme voor covering theorie werkelijk.
Chemisch rekenen voor oplossingen
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Kortste Paden Algoritmiek. 2 Vandaag Kortste Paden probleem All pairs / Single Source / Single Target versies DP algoritme voor All Pairs probleem (Floyd’s.
Netwerkstroming Algoritmiek. 2 Vandaag Netwerkstroming: definitie en toepassing Het rest-netwerk Verbeterende paden Ford-Fulkerson algoritme Minimum Snede.
Heuristieken en benaderingsalgoritmen Algoritmiek.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Datastructuren voor grafen Algoritmiek. 2 Grafen Model van o.a.: –Wegennetwerk –Elektrische schakeling –Structuur van een programma –Computernetwerk –…
Gerandomiseerde algoritmes
Netwerkstroming Algoritmiek.
NP-volledigheid Algoritmiek.
Minimum Opspannende Bomen
Benaderingsalgoritmen
Modelleren en Programmeren voor KI Practicumopdracht 4: SAT Solver
Minimodules voor de 3e klas
Is testen een project op zich?
Doolhof. doolhof doolhof Maak een routine die de ‘hekken’ tussen de cellen weghaalt Maak een 2-dimensionale array met kolommen en rijen aangeklikt.
Meetkunde Verzamelingen Klas 8.
Transcript van de presentatie:

T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3005 Deel 2 College 3 Cees Witteveen

T U Delft Parallel and Distributed Systems group PGS Overzicht de klasse NPC - Satisfiability  NPC - Hoe NPC-eigenschap te bewijzen? - Vertex Cover  NPC Bewijstechnieken (i) - bewijs met restrictie - voorbeeld: radio netwerk planning Een nieuwe klasse: co-NP - definitie - relatie met P en NP

T U Delft Parallel and Distributed Systems group PGS Een doenlijke vraag We noemen een probleem B een NP-hard probleem (onder  ) als A  B voor een bekend NP-volledig probleem A. Als B een gegeven NP-hard probleem is dan geldt: a.als B  C voor een probleem C, dan is C ook NP-hard. b.als B  C voor een NP-probleem C, dan is C NP-volledig. c.als C  B, dan is C in NP. d.als C  B en het is bekend dat B  P, dan is C in P. a. b. c. d.

T U Delft Parallel and Distributed Systems group PGS Structuur van NP NPC P P         NPC = { A  NP |  X  NP [ X  A] } moeilijker

T U Delft Parallel and Distributed Systems group PGS Hoe A  NPC te bewijzen? 1. Bewijs A  NP 2. Bewijs A  NP-hard kies een geschikt bekend NPC probleem B; construeer een polynomiale reductie B  A; laat zien dat deze reductie correct is. ( B  A voor een B  NPC ) Toon aan dat voor iedere yes-instantie I A  Y A van A een polynomiale verificatie procedure bestaat.

T U Delft Parallel and Distributed Systems group PGS Een NPC probleem: SAT SATISFIABILITY (SAT) : Instantie: Een eindige verzameling U van propositie atomen en een eindige verzameling C van clauses over U. Vraag: Is C vervulbaar, dwz. bestaat er een waarheidstoekenning  U  {0,1} zodat  iedere clause C j in C waarmaakt ?

T U Delft Parallel and Distributed Systems group PGS SAT  NPC S. A. Cook (1971) : SATISFIABILITY is NP-compleet. Bewijs : SAT  NP: gok waarheidstoekenning  voor instantie (U,C) en verifieer correctheid in O(|U| x |C|). SAT is NP-hard: codeer NDTM M + input x als SAT-instantie die vervulbaar is desda M accepteert x in polynomiale tijd. (zie boek Moret voor bewijs)

T U Delft Parallel and Distributed Systems group PGS Speciale SAT-problemen 3-SAT: alle clauses C j  C hebben exact 3 literals. 3-SAT  NPC (zie boek) NAE-3SAT: als 3-SAT; vraag is of er een waarheidstoekenning bestaat die alle clauses waarmaakt zonder alle literals in elke clause waar te maken. NAE-3SAT  NPC (zie boek)

T U Delft Parallel and Distributed Systems group PGS Van 3-SAT naar VC (1) Vertex Cover (VC) - Instantie: een ongerichte graaf G = (V, E) en een K  Z + - Vraag: is er een subset V’  V met - |V’|  K en -  { v,w }  E [ v  V’  w  V’ ]

T U Delft Parallel and Distributed Systems group PGS Voorbeeld Vertex Cover          

T U Delft Parallel and Distributed Systems group PGS VC in NP: bewijs polynomiale verifieerbaarheid - kies een subset V’  V en verifieer vervolgens (1) |V’ |  K en (2)  { v,w }  E : {v,w }  V’   - verificatie kost in totaal O( |V| + log K + |V| x |E|)  O(|I| 2 )- tijd.

T U Delft Parallel and Distributed Systems group PGS 3-SAT  VC : constructie U = {x,y,z} (|U| = n) C = { { x, y, z }, {  x, y,  z} } (|C| = m) 3-SAT-instantie (U,C) VC - instantie (G = (V,E), K) xy z xx yy zz 1. Maak voor iedere u  U, twee knopen u en  u en een kant {u,  u}

T U Delft Parallel and Distributed Systems group PGS 3-SAT  VC : constructie U = {x,y,z} (|U| = n) C = { { x, y, z }, {  x, y,  z} } (|C| = m) 3-SAT-instantie (U,C) VC - instantie (G = (V,E), K) xy z xx yy zz 2. Maak voor iedere clause c j = {x j1, x j2, x j3 } drie knopen en verbind deze knopen onderling. c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2

T U Delft Parallel and Distributed Systems group PGS 3-SAT  VC : constructie U = {x,y,z} (|U| = n) C = { { x, y, z }, {  x, y,  z} } (|C| = m) 3-SAT-instantie (U,C) VC - instantie (G = (V,E), K) xy z xx yy zz 3. Verbind clause knopen u i (¬u i ) met overeenkomstige propositie knopen u (¬u) door kanten { u i, u } resp. {¬u i, ¬u }toe te voegen. c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2

T U Delft Parallel and Distributed Systems group PGS 3-SAT  VC : constructie U = {x,y,z} (|U| = n) C = { { x, y, z }, {  x, y,  z} } (|C| = m) 3-SAT-instantie (U,C) VC - instantie (G = (V,E), K) xy z xx yy zz 4.Stel vervolgens K = 2m + n c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7

T U Delft Parallel and Distributed Systems group PGS 3-SAT  VC : correctheid (schets) U = {x,y,z} (|U| = n) C = { { x, y, z }, {  x, y,  z} } (|C| = m) 3-SAT-instantie (U,C) VC - instantie (G = (V,E), K) xy z xx yy zz OPMERKING: Om de “propositiekanten” {u, ¬u} te coveren zijn minstens n knopen nodig; om de “clausekanten” {x ji, x ji’ } te coveren zijn minstens 2m knopen nodig (minstens 2 per clause). Iedere vertex cover moet derhalve minstens K = 2m +n knopen bevatten. c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7

T U Delft Parallel and Distributed Systems group PGS 3-SAT  VC : correctheid (schets) U = {x,y,z} (|U| = n) C = { { x, y, z }, {  x, y,  z} } (|C| = m) 3-SAT-instantie (U,C) VC - instantie (G = (V,E), K) xy z xx yy zz Stel (U,C) yes-instantie. Laat  waarheidstoekenning zijn die C waarmaakt. Neem nu allereerst alle n “waargemaakte” propositieknopen op in de vertex cover c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7  x  1 y  0 z  0

T U Delft Parallel and Distributed Systems group PGS 3-SAT  VC : correctheid (schets) U = {x,y,z} (aantal: n) C = { { x, y, z }, {  x, y,  z} } (aantal: m) 3-SAT-instantie (U,C) VC - instantie (G = (V,E), K) xy z xx yy zz Kanten {u, ¬u} zijn nu gecovered en voor iedere c j minstens één verbindingskant {u ji,u} (of {¬u ji,¬u} ) tussen clause en propositie knopen. Neem per clause graaf c j 2 knopen op in de vertex cover zodat overige verbindingskanten ook gecovered zijn: totaal 2m + n c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7  x  1 y  0 z  0

T U Delft Parallel and Distributed Systems group PGS 3-SAT  VC : correctheid (schets) U = {x,y,z} (|U| = n) C = { { x, y, z }, {  x, y,  z} } (|C| = m) 3-SAT-instantie (U,C) VC - instantie (G = (V,E), K) xy z xx yy zz Omgekeerd, stel R(I) = (G = (V,E), K) is een yes-instantie van VC. Per clause c j moeten dan precies twee knopen gekozen zijn en voor ieder paar propositieknopen precies een knoop uit {u,¬u }. Beschouw een knoop die voorkomt in de cover als een ware literal c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7  x  0 y  1 z  0

T U Delft Parallel and Distributed Systems group PGS 3-SAT  VC : correctheid (schets) U = {x,y,z} (|U| = n) C = { { x, y, z }, {  x, y,  z} } (|C| = m) 3-SAT-instantie (U,C) VC - instantie (G = (V,E), K) xy z xx yy zz Vorm uit de propositieknopen die in de cover voorkomen een waar- heidstoekenning . Stel  vervult c j niet. Dan wordt geen van de kanten {u, u j } of {¬u, ¬u j } gecovered. Maar met 2 knopen per clause is er dan minstens een kant niet gecovered. Contradictie! c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7  x  0 y  1 z  0

T U Delft Parallel and Distributed Systems group PGS VC : Correctheid en polynomialiteit reductie c. Polynomialiteit van reductie: constructie V : kost O(|U|) + O(|C|) = O(|I|)-tijd; E : kost O(|U|) + O(|C|) + O(|U|x|C|)  O((|U| + |C|) 2 ) = O( |I| 2 )-tijd K : kost O(|U| + |C|) = O(|I|)-tijd Totaal : O ( |I| 2 )

T U Delft Parallel and Distributed Systems group PGS Overzicht de klasse NPC - Satisfiability  NPC - Hoe NPC-eigenschap te bewijzen? - Vertex Cover  NPC Bewijstechnieken (i) - bewijs met restrictie - voorbeeld: radio netwerk planning Een nieuwe klasse: co-NP - definitie - relatie met P en NP

T U Delft Parallel and Distributed Systems group PGS Bewijstechnieken voor NPC Idee: als een NP-probleem B een deelprobleem A heeft dat NP-compleet is, dan is B zelf een NP-compleet probleem. Zo’n probleem A wordt een restrictie van B genoemd

T U Delft Parallel and Distributed Systems group PGS Restrictie (1) Observatie: Een NP-probleem dat een NP-volledig deelprobleem heeft is zelf een NP-volledig probleem, m.a.w. als D A  D B, B  NP en A  NPC dan B  NPC. B A i i(x) = x A i(.) is een inbedding van A in B

T U Delft Parallel and Distributed Systems group PGS Restrictie: (2) Als D A  D B, B  NP en er bestaat een reductie f van C  NPC naar A dan B  NPC. B A f C bv. in de vorm van een bijectie

T U Delft Parallel and Distributed Systems group PGS Restrictie: algemene techniek restrictie-bewijs voor B  NPC: - Laat zien dat B  NP; - Kies subprobleem A van B; - Kies bekend NPC probleem C; - Laat zien dat er een 1-1 overeenkomst bestaat tussen A en C. dan geldt: - A  NPC en derhalve B  NPC

T U Delft Parallel and Distributed Systems group PGS Voorbeeld restrictie HITTING SET (HS): (beslissingsvariant) - Gegeven: verzameling S; verzameling C van deelverzamelingen C i  S van S, positieve integer K. - Vraag: Heeft S een hitting set ter grootte van K? dwz: is er een S’  S met |S’|  K, zodat voor iedere C i  C geldt: S’  C i   ? voorbeeld S is een verzameling fouten. Iedere C i ={ a, b, c } is een diagnose a v b v c gesteld door specialist i. Men wil nagaan of hoogstens K fouten het gedrag van een systeem kunnen verklaren

T U Delft Parallel and Distributed Systems group PGS Voorbeeld HS instantie S = { a,b,c,d,e,f,g } C = { {a,d,e}, {b,e,f,g}, {a,d,e}, {c,d,f}} K = 2 S’ = { d, e} is een hitting set ter grootte van 2

T U Delft Parallel and Distributed Systems group PGS HS  NPC: bewijs met restrictie (i) HS  NP: Gok een S’  S en verifieer in polynomiale tijd dat S’ voldoet. => O(|S| + log K+ |S| x |C|)  O( |I| 2 ) HS  NP-hard: Neem het deelprobleem HS’ als die HS-instanties waarbij iedere C i  S een verzameling C i = {x,y} is die precies 2 elementen uit S bevat. (HS’ restrictie van HS).

T U Delft Parallel and Distributed Systems group PGS HS en restrictie (2) Nu geldt: S’  S is een hitting set ter grootte van K voor een HS’ instantie (S,C, K)   C i = {x,y} geldt: x  S’  y  S’  S’ is een vertex cover van G = ( S, C ), K) beschouw nu f: D HS’ naar D VC f : (S, C, K)  ( G = ( S, C ), K)

T U Delft Parallel and Distributed Systems group PGS Restrictie: toegepast op HS restrictie-bewijs voor B  NPC: - Laat zien dat B  NP - Kies subprobleem A van B; - Kies bekend NPC probleem C; - Laat zien dat er een 1-1 overeenkomst bestaat tussen A en C. dan geldt: - A  NPC en derhalve B  NPC HS heeft polynomiale verificatie HS’ ( kies |C i | = 2) f : (S, C, K)  ( G = ( S, C ), K) kies Vertex Cover

T U Delft Parallel and Distributed Systems group PGS Restrictie: ander voorbeeld Radio Netwerk Planning Gegeven: - een geografisch gebied G; - een aantal potentiële locaties S van Base Tranceiver Stations (BTS) in G en per locatie s in S het dekkingsgebied D s van s; - een positieve integer K. Vraag: Is het mogelijk met hoogstens K BTS locaties uit S het gehele gebied G te overdekken ?

T U Delft Parallel and Distributed Systems group PGS BTS plaatsing: voorbeeld A C D Locaties S = { A,B,C,D} met bijbehorende dekkingsgebieden D s. G is de vereniging van alle dekkingsgebieden Stel K = 3 Nb: een punt x is overdekt als het deel uitmaakt van A, B, C of D B

T U Delft Parallel and Distributed Systems group PGS BTS plaatsing: modellering A B C D A A,D A,B A,B,C A,B,C,D A,C D C B,C B,D B,C,D Plaatsen S = { A,B,C,D} Deelgebieden met overdekking: {A}, {C}, {D}, {A,B}, {A,C}, {A,D}, {B,C}, {B,D}, {A,B,C}, {B,C,D}, {A,B,C,D}, S is er een deelverzameling van S ter grootte van 3 die een element van iedere overdekking bevat.

T U Delft Parallel and Distributed Systems group PGS BTS plaatsing: modellering A D D A C Plaatsen S = { A,B,C,D} Deelgebieden met overdekking: {A}, {C}, {D}, {A,B}, {A,C}, {A,D}, {B,C}, {B,D}, {A,B,C}, {B,C,D}, {A,B,C,D}, S is er een deelverzameling van S ter grootte van 3 die een element van iedere overdekking bevat. A D C Nb: beschouw dit als speciaal voorbeeld van “restrictie”: BTS blijkt na precisering identiek te zijn aan HS Ja, kies S’ = {A, C, D}

T U Delft Parallel and Distributed Systems group PGS Overzicht de klasse NPC - Satisfiability  NPC - Hoe NPC-eigenschap te bewijzen? - Vertex Cover  NPC Bewijstechnieken (i) - bewijs met restrictie - voorbeeld: radio netwerk planning Een nieuwe klasse: co-NP - definitie - relatie met P en NP

T U Delft Parallel and Distributed Systems group PGS Voorbeelden nwe problemen UNSAT: gegeven een SAT-instantie (U,C), is C onvervulbaar? LOGICAL CONSEQUENCE: gegeven een SAT-instantie (U,C) en een clause c, is c een logisch gevolg van C ? Nb Voor deze problemen geldt: no-instanties zijn efficient verifieerbaar

T U Delft Parallel and Distributed Systems group PGS een nieuwe klasse: Co-NP Laat A  NP; laat B het probleem zijn met D B = D A, Y B = N A en N B = Y A. Dan geldt B = A c en B = A c  co-NP. Een probleem A is in co-NP als no-instanties in polynomiale tijd verifieerbaar zijn, i.e. A  co-NP als er een NDTM M bestaat die alle no-instanties van A in polynomiale tijd oplost.

T U Delft Parallel and Distributed Systems group PGS Co-NP : eigenschappen 1. als A  B, dan A c  B c A B YY N N NN Y Y c 2. als A  NPC dan A c  co-NPC 3. als NPC  co-NP   dan NP = co-NP Stel A  NPC. Dan A c  co-NP. Laat X (willekeurig)  co-NP. Dan X c  NP. Dus X c  A en derhalve (X c ) c = X  A c dus A c  co-NPC Stel A  NPC. Dan A c  co-NP. Laat X (willekeurig)  co-NP. Dan X c  NP. Dus X c  A en derhalve (X c ) c = X  A c dus A c  co-NPC Stel A  NPC  co-NP. a. NP  co-NP: Neem X  NP. Dan X  A derhalve X  co-NP. b. co-NP  NP: Neem X  co-NP. Dan X c  NP. Dus X c  A en X  A c, A c  NP. Dan X  NP.

T U Delft Parallel and Distributed Systems group PGS Relatie P, NP en Co-NP Co-NPC NPC NPCo-NP P (co-NP  NP)  P

T U Delft Parallel and Distributed Systems group PGS oefen opgaven Het DUBBELSAT probleem is het probleem gegeven een SAT-instantie (U,C) te bepalen of er tenminste twee waarheidstoekenningen zijn die C waarmaken. HALVE-CLIQUE is het probleem om na te gaan of een gegeven graaf G = (V, E) een clique heeft met minstens 1/2 x |V| knopen. Laat zien dat DUBBELSAT en HALVE-CLIQUE NP-complete problemen zijn.

T U Delft Parallel and Distributed Systems group PGS Opgave Toon aan, dat k-TSP  NPC als HAMC  NPC k-TSP: instantie: integer k>1; integer B  Z +, verzameling S van n steden, verzameling D = [d ij ] nxn van kosten met d ij  Z + ; vraag : bestaan er k rondreizen langs de steden in S die ieder niet meer kosten dan B en waarbij iedere stad niet meer dan een keer aangedaan wordt?