Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdMerel Janssen Laatst gewijzigd meer dan 10 jaar geleden
1
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 3 Cees Witteveen witt@ewi.tudelft.nl
2
T U Delft Parallel and Distributed Systems group PGS Test We noemen een probleem B een NP-hard probleem (onder ) als A B voor een 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.
3
T U Delft Parallel and Distributed Systems group PGS Overzicht NP-Complete problemen en reducties - Satisfiability NPC - Hoe NPC-eigenschap te bewijzen? Voorbeelden van lastige reducties - 3-SAT ≤ Vertex Cover, 3-SAT ≤ SubSetSum - SubSetSum ≤ PARTITION Bewijzen met restrictie - Partition ≤ MultiProcessorScheduling - Vertex Cover ≤ Hitting Set Een nieuwe klasse: co-NP - definitie - relatie met P en NP
4
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 A polynomiaal verifieerbaar is.
5
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 ? clause: een disjunctie van literals literal: prop. atoom A of negatie ¬A
6
T U Delft Parallel and Distributed Systems group PGS SAT NPC Bewijsschets [ voor volledig bewijs zie Sipser pp. 254-259 ] SAT NP: gok waarheidstoekenning : U {0,1} voor instantie (U,C) en verifieer correctheid in O(|U| x |C|)-tijd. SAT is NP-hard: codeer willekeurige NTM M + input x als SAT-instantie die vervulbaar is desda M accepteert x in polynomiale tijd. SATISFIABILITY is NP-compleet Stephen A. Cook (1971) www.cs.toronto.edu/~sacook / Leonid Levin (1973) http://www.cs.bu.edu/fac/lnd/
7
T U Delft Parallel and Distributed Systems group PGS Een Speciaal SAT-problemen 3-SAT: als SAT, alle clauses C j C hebben exact 3 literals. Stelling: 3-SAT NPC (zie Sipser pag 254-259) Voorbeeld instantie 3-SAT U = { u, x, y, z } C = { { u, x, ¬z }, {¬u, ¬y, z}, {¬x, y, ¬z}, {¬u, ¬y. ¬ z } } : u 1, x 0, y 0, z 1 maakt (U,C) waar
8
T U Delft Parallel and Distributed Systems group PGS Overzicht NP-Complete problemen en reducties - Satisfiability NPC - Hoe NPC-eigenschap te bewijzen? Voorbeelden van lastige reducties - 3-SAT ≤ Vertex Cover, 3-SAT ≤ SubSetSum - SubSetSum ≤ PARTITION Bewijzen met restrictie - Partition ≤ MultiProcessorScheduling - Vertex Cover ≤ Hitting Set Een nieuwe klasse: co-NP - definitie - relatie met P en NP
9
T U Delft Parallel and Distributed Systems group PGS Van logica naar grafen 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’ ] - Nb: het duale Edge Cover probleem: gegeven een graaf G = (V, E) en een integer K, is er een subset E’ E met hoogstens K edges zodanig dat alle knopen in V gecovered zijn, m.a.w. ∪ E’ = V, is een P-probleem.
10
T U Delft Parallel and Distributed Systems group PGS Voorbeeld Vertex Cover
11
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( |input| 2 ) - tijd.
12
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 xx yy zz 1. Maak, voor iedere u U, twee knopen u en u en één kant {u, u}.
13
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 xx yy zz 2. Maak voor iedere clause c j = {x j1, x j2, x j3 } uit C drie knopen en verbind deze knopen onderling. c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2
14
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 xx yy zz 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
15
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 xx yy zz 4.Stel vervolgens K = 2m + n c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7
16
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 xx yy zz OPMERKING: Om de “propositiekanten” {u, ¬u} te coveren zijn minstens n knopen nodig; om de “clausekanten” {v i, w i } te coveren zijn minstens 2m knopen nodig (minstens 2 per clause c i ). Iedere vertex cover moet derhalve minstens K = 2m + n knopen bevatten. c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7
17
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 xx yy zz c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7 x 1 y 0 z 0 Stel (U,C) yes-instantie van 3-SAT. Laat waarheidstoekenning zijn die C waarmaakt. Markeer nu allereerst alle n “waargemaakte” propositieknopen en neem ze op in de verzameling V’.
18
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 xx yy zz Kanten {u, ¬u} zijn nu gecovered en voor iedere c j is minstens één verbindingskant {u ji,u} (of {¬u ji,¬u}) tussen clause en propositie knopen gecovered. Neem per clause c j 2 knopen op in V’ zodat alle overige kanten ook gecovered zijn: V’ is VC met 2m + n knopen c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7 x 1 y 0 z 0
19
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 xx yy zz c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7 x 0 y 1 z 0 Stel f(I) = (G = (V,E), K) is een yes-instantie van VC. Per clause c j moeten dan precies 2 knopen in de vc van G gekozen zijn en voor ieder paar propositieknopen precies 1 knoop uit {u,¬u }. Beschouw een prop. knoop die voorkomt in de vc als een ware literal.
20
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 xx yy zz Vorm uit de propositieknopen die in de cover voorkomen een waar- heidstoekenning . Stel vervult c j niet. Dan wordt geen van de kan- ten {u, u j } of {¬u, ¬u j } gecovered door prop knopen. Maar met 2 kno- pen per clause is dan ≥ 1 kant in c i niet gecovered: contradictie! c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7 x 0 y 1 z 0
21
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 xx yy zz De aanname dat C niet vervult kan dus niet waar zijn. Derhalve moet wel alle clauses c j vervullen. Dus de oorspronkelijke instantie (U,C) is een yes-instantie. Uit en concluderen we nu dat de reductie correct is. c1c1 c2c2 x1x1 y1y1 z1z1 ¬x 2 y2y2 ¬z 2 K = 7 x 0 y 1 z 0
22
T U Delft Parallel and Distributed Systems group PGS VC : Correctheid en polynomialiteit reductie c. Polynomialiteit van reductie: 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 )-tijd I : input
23
T U Delft Parallel and Distributed Systems group PGS CLIQUE is NPC Naam: CLIQUE InstantieGraaf G = (V, E), positieve integer K Vraag:heeft G een clique ter grootte van K, dwz is er een subset V’ van V met |V| = K zodat voor alle u ≠ v in V’ geldt {u,v} V’ CLIQUE in NP: gok subset V’ en verifieer in O(|E|x|V| 2 ) clique eigenschap CLIQUE in NP-hard: VC ≤ CLIQUE : als I = ( G =(V, E), K) vc-instantie is, neem dan f(I) = (G c = (V, E c ), |V|-K) als clique-instantie. Dan geldt: G c heeft clique ter grootte van |V| - K desda G heeft vc ter grootte van K. Heel aardig om zelf te bewijzen
24
T U Delft Parallel and Distributed Systems group PGS Van logica naar pakproblemen Naam:Subset Sum (SubSum) Gegeven: een multi-set S = {s 1,..., s k } van integers en een integer t. Vraag: Is er een subset S’ van S waarvoor geldt s S’ s = t. SubSum NP: Kies een S’ uit S en ga na in O( s S’ log s + log t) O(|input|)-tijd of s S’ s = t.
25
T U Delft Parallel and Distributed Systems group PGS S t 3-SAT Subsum (vb) U = {x, y, z }, C ={ { x, y, z },{ x, y, z } } constructie reductie: 123c1c2 x1 10010= 10010 x2 10001= 10001 y1 01001= 1001 y2 01010= 1010 z100100= 100 z200111= 111 c1100010= 10 c1200010= 10 c2100001= 1 c2200001= 1 1 1133= 11133
26
T U Delft Parallel and Distributed Systems group PGS Van SubSum naar Partition Instantie: verzameling A, functie g: A Z +, Vraag: is er een partitie A 1 A 2 van A zodat a A1 g(a) = a A2 g(a) Partition gok een subset A 1 van A; verifieer dat a A_1 g(a) = a A-A_1 g(a) PARTITION NP
27
T U Delft Parallel and Distributed Systems group PGS SubSum ≤ PARTITION: Neem SubSum I = ( S = {s 1,s 2, …, s n }, t ) instantie met T = s_i S s i. Maak instantie f(I) = (A, g) van PARTITION waarbij A = { a 1, a 2,…,a n, a n+1, a n+2 }, g(a i ) = s i voor i = 1, …, n, g(a n+1 ) = 2T+1, g(a n+2 ) = T+ 2t+1 Van SubSum naar Partition PARTITION NP-hard t T SubSum t a n+1 2T+1 T- t a n+2 T+2t+1 Partition
28
T U Delft Parallel and Distributed Systems group PGS SubSum ≤ PARTITION: Neem SubSum I = ( S = {s 1,s 2, …, s n }, t ) instantie met T = s_i S s i. Maak instantie f(I) = (A, g) van PARTITION waarbij A = { a 1, a 2,…,a n, a n+1, a n+2 }, g(a i ) = s i voor i = 1, …, n, g(a n+1 ) = 2T+1, g(a n+2 ) = T+ 2t+1 Van SubSum naar Partition PARTITION NP-hard t T SubSum t a n+1 2T+1 T- t a n+2 T+2t+1 Partition Correctheidsbewijs reductie ⇒ Stel I = ({s 1, s 2,...s n }, t) is een yes-instantie van SubSum. Dan bestaat er een subset S’ van S zodanig dat s ∈ S’ s = t. Maar dan heeft de instantie f(I) = (A,g) ook een oplossing: Laat A’ = { a i : s i ∈ S’} ∪ {a n+1 }. Dan geldt g(A’) = 2T +t+1. Omdat g(A) = T + 2T+1+T+2t+1= 4T+2t+2, geldt nu g(A-A’) = g(A). Dus f(I) is een yes-instantie. ⇐ Stel f(I) = (A, g) is een yes-instantie van PARTITION. Dan bestaat er een subset A’ van A met g(A’) = 2T+t+1 (omdat g(A) = 4T+2t+2). Dit betekent dat a n+1 en a n+2 niet beide in A’ of A-A’ kunnen voorkomen omdat zij tezamen een gewicht 2T+1+T+2t+1 = 3T+2t+2 > 2T+t+1 hebben. Dan is er een partitie waarin alleen a n+1 voorkomt, stel dit is A’. Maar dan geldt dat de overige items in A’ een gewicht 2T+t+1 - (2T+1) = t vertegenwoordigen, en dit moeten items zijn met gewichten die afkomstig zijn uit S. Dus heeft de instantie I = (S, t) een oplossing S’ = {s i : a i ∈ A’ -{a n+1 }. Derhalve is I een yes-instantie.
29
T U Delft Parallel and Distributed Systems group PGS Van verdeling naar scheduling Instantie : verzameling P processoren, verzameling J van jobs, voor iedere j J een tijdsduur t j Z +, en een deadline d Z +. Vraag: is er een toekenning van jobs aan processoren zodat alle jobs voor de deadline d kunnen worden uitgevoerd? Multiprocessor scheduling (MPS) MPS is een NP-probleem. (Ga na door schedule te verifieren) MPS is een NP-hard probleem: Immers voor |P| = 2 en d = ( j J t i ) / 2 creeren we een deelprobleem van MPS dat identiek is aan PARTITION. Omdat PARTITION in NPC geldt nu ook MPS in NP-hard. (Waarom: zie volgende slide)
30
T U Delft Parallel and Distributed Systems group PGS Algemene techniek: Bewijs met restrictie Stelling als een NP-probleem B een deelprobleem A heeft dat NP-compleet is, dan is B een NP-compleet probleem. ( A wordt een restrictie van B genoemd ) A B A i(x) = x : inbedding; iedere inbedding is een poly-time reductie i
31
T U Delft Parallel and Distributed Systems group PGS Restrictie: nieuw 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 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 ?
32
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
33
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.
34
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 O bevat. A D C Ja, kies S’ = {A, C, D} equivalent: O [ O S’ ≠ ]
35
T U Delft Parallel and Distributed Systems group PGS algemene formulering BTS - Naam: HITTING SET (HS) - 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 ?
36
T U Delft Parallel and Distributed Systems group PGS HS NPC: bewijs met restrictie 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 de verzameling van die HS-instanties waarbij iedere C i S een verzameling C i = {x,y} is die precies 2 elementen uit S bevat. Dit deelprobleem is identiek aan het NP-complete VERTEX COVER probleem. Derhalve is HS (met bewijs via restrictie) een NP-hard probleem.
37
T U Delft Parallel and Distributed Systems group PGS Overzicht NP-Complete problemen en reducties - Satisfiability NPC - Hoe NPC-eigenschap te bewijzen? Voorbeelden van lastige reducties - 3-SAT ≤ Vertex Cover, 3-SAT ≤ SubSetSum - SubSetSum ≤ PARTITION Bewijzen met restrictie - Partition ≤ MultiProcessorScheduling - Vertex Cover ≤ Hitting Set Een nieuwe klasse: co-NP - definitie - relatie met P en NP
38
T U Delft Parallel and Distributed Systems group PGS Nieuwe 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
39
T U Delft Parallel and Distributed Systems group PGS Een nieuwe klasse: 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 NTM M bestaat die alle no- instanties van A in polynomiale tijd oplost. De klasse co-NP bestaat uit alle problemen B die het complement zijn van een probleem A in NP : co-NP = { B : A NP [ B = A c ] } Definitie Gevolg
40
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.
41
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
42
T U Delft Parallel and Distributed Systems group PGS Relatie met boek Sipser SAT in NPC wordt behandeld op blz 254-259; het bewijs kan doorgelezen worden. Bestudeer het bewijs van 3-SAT in NPC (259-260) 7.5 (blz 260 - 271) kan aan de hand van de slides bestudeerd worden. Het NPC bewijs van HAMPAD wordt dringend aangeraden maar is niet verplicht. Opgaven 7.19. 7.21 maar ook 7.23 worden als oefenopgaven aanbevolen
43
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.
44
T U Delft Parallel and Distributed Systems group PGS Toegift: One way functions Het is niet zo gemakkelijk om concrete problemen in de klasse (NP co-NP) - P te vinden. Een wat abstracter voor beeld komt uit de cryptografie. Hier zijn we in het bijzonder geinteresseerd in publiek bekende functies f die gebruikt kunnen worden om bitrijtjes efficient te versleutelen zonder dat het mogelijk is diezelfde functie te gebruiken om het versleutelde bitrijtje eenvoudig te decoderen. We gebruiken hiervoor zgn lengte- bewarende one-way functies: Een lengte bewarende one-way (bit)functie f : {0,1} n {0,1} n is een functie waarvoor geldt: - f(x) is berekenbaar in polynomiale tijd - f -1 (x) is niet berekenbaar in polynomiale tijd We laten nu zien dat L = {(x,y) : f -1 (x) < y } een taal is in (NP co-NP) - P
45
T U Delft Parallel and Distributed Systems group PGS Toegift: One way functions Gegeven is een functie f : {0,1} n {0,1} n zodat - f(x) berekenbaar is in polynomiale tijd - f -1 (x) niet berekenbaar is in polynomiale tijd Laat zien dat L = {(x,y) : f -1 (x) < y } een taal is in (NP co-NP) - P Bewijs: Omdat f polynomiaal berekenbaar is, is er een polynoom p zodat voor input x, het berekenen van f(x) p(x)-tijd kost. L niet in P: stel L in P, dan zouden we een polynomiaal algoritme hebben om (x,y) te beslissen. Neem nu een x en bereken met binair zoeken in O(log |x| x p(|x|) tijd twee waarden z en 2z zodat (x,z) ∉ L en (x,2z) ∈ L. Opnieuw in O(log |x| x p(|x|) ) tijd is dan met binair zoeken de waarde y te bepalen waarvoor f -1 (x) = y. Maar dit betekent dat f -1 in polynomiale tijd berekenbaar is; contradictie. L is een NP- taal: Neem een paar (x, y). Gok een z < y zodanig dat f(z) = x. Dan geldt f -1 (x) < y. L is een co-NP taal: Neem een paar (x,y). Gok een z ≥ y zodanig dat f(z) = x. Dan geldt f -1 (x) ≥ y, dus (x,y) niet in L
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.