De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 3 Cees Witteveen

Verwante presentaties


Presentatie over: "T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 3 Cees Witteveen"— Transcript van de presentatie:

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 xx yy zz 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 xx yy zz 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 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

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 xx yy zz 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 xx yy zz 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 xx yy zz 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 xx yy zz 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 xx yy zz 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 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 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 xx yy zz 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


Download ppt "T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica In3120 College 3 Cees Witteveen"

Verwante presentaties


Ads door Google