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 in345 Deel 2 College 4 Cees Witteveen

Verwante presentaties


Presentatie over: "T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 4 Cees Witteveen"— Transcript van de presentatie:

1 T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 4 Cees Witteveen

2 T U Delft Parallel and Distributed Systems group PGS Overzicht Reductiemethoden met voorbeelden - restrictie - local replacement - component design Een nieuwe klasse: co-NP - definitie - relatie met P, NP Optimaliseringsproblemen en de polynomiale hierachie - turingreducties, zoekproblemen

3 T U Delft Parallel and Distributed Systems group PGS Restrictie Observatie: Als D A  D B, B  NP en A  NPC dan B  NPC. B A A i i(x) = x

4 T U Delft Parallel and Distributed Systems group PGS Restrictie: techniek restrictie bewijs 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

5 T U Delft Parallel and Distributed Systems group PGS Restrictie: voorbeeld HITTING SET (HS): - Gegeven: Verzameling S en verzameling C van verzamelingen C i  S, positieve integer K. Vraag: Is er een hitting set S’  S met |S’|  K, dwz. geldt voor iedere C i  C dat S’  C i   ? HS  NP: Gok een S’  S en verifieer in polynomiale tijd dat S’ voldoet. HS  NP-hard: Neem HS’ als die HS-instanties waarbij iedere C i  S precies twee elementen bevat (HS’ restrictie van HS). Nu geldt: HS’ en Vertex Cover (VC) zijn identiek.

6 T U Delft Parallel and Distributed Systems group PGS IAIA Local replacement soms is het mogelijk de reductie samen te stellen uit afzonderlijke reducties; componenten van instanties van A worden hierbij op onafhankelijke wijze afgebeeld op componenten van B. IBIB R1 R2 R3

7 T U Delft Parallel and Distributed Systems group PGS Local Replacement: vb SAT  3-SAT: Laat (U,C) een SAT-instantie zijn en C = C 1  C 2  C 3  C >3 ( C i : aantal literals per clause is i ) de reductie R levert een instantie R(U,C) = (U’, C’)  3-SAT op met local replacement: R(U,C) = (R 0 (U), R 1 (C 1 )  R 2 (C 2 )  R 3 (C 3 )  R 4 (C >3 ) ) afzonderlijke reducties

8 T U Delft Parallel and Distributed Systems group PGS Van SAT naar 3-SAT waarbij voor iedere c = {x}  C 1 bevat R 1 (C 1 ) de clauses {x,z c1,z c2 }, {x,  z c1,z c2 }, {x, z c1,  z c2 }, {x,  z c1,  z c2 } voor iedere c = {u,v }  C 2 bevat R 2 (C 2 ) de clauses {u,v, z c1 }, {u, v,  z c1 } R 3 (C 3 ) = C 3 voor iedere c = {x 1, x 2, x 3,..., x k }  C >3 bevat R 4 (C >3 ) {x 1, x 2, z c1 }, {  z c1, x 3, z c2 }, {  z c2, x 4, z c3 },..., {  z c(k-4), x k-2, z c(k-3) }, {  z c(k-3), x k-1, x k }

9 T U Delft Parallel and Distributed Systems group PGS Van SAT naar 3-SAT R 0 (U) = U’ = U  {z c1,z c2 | c  C 1 }  { z c1 | c  C 2 }  { z c1,z c2,..., z c(k-3) | c  C >3,|c| = k } Merk op: |U’| = |U| + 2. |C 1 | + |C 2 | +  c  C>3 (|c| - 3) |C’| = 4 |C 1 | + 2 |C 2 | + |C 3 | +  c  C>3 (|c| - 2) de transformatie is derhalve polynomiaal Voor correctheid: zie college

10 T U Delft Parallel and Distributed Systems group PGS Component design voor constructie R van A naar B: ontleedt A-instanties in componenten die kunnen worden samengesteld om B-instanties te verkrijgen. component design = local replacement + interactie component reducties

11 T U Delft Parallel and Distributed Systems group PGS Component design vb Subset Sum: (SubSum) Gegeven: een multi-set S = {s 1,..., s k } van objecten 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(|I|)-tijd of  s  S’ s = t.

12 T U Delft Parallel and Distributed Systems group PGS 3-SAT  Subsum U = {x, y, z }, C = { {x,  y,  z}, {  x, y,  z} } elementen van S: 123c1c2 x = x = y = 1001 y = 1010 z100100= 100 z200111= 111 selecteer tenminste 1 ware literal per clause c = 10 c = 10 c = 1 c = 1 t1 1133= selecteer uit ieder paar u1,u2-rijen precies een rij

13 T U Delft Parallel and Distributed Systems group PGS Een klasse verwant aan NP Neem het volgende probleem: Gegeven een verzameling U van propositiesymbolen en een verzameling C van clauses over U Vraag: Is C onvervulbaar? Niet duidelijk hoe yes-instanties efficient te verifieren, wel hoe no-instanties worden geverifieerd.

14 T U Delft Parallel and Distributed Systems group PGS Co-NP Laat A  NP; laat B het probleem zijn met D B = D A, Y B = N A en N B = Y A. B heet het complement van A: B = A c De klasse van complementen van NP-problemen: co-NP; Een probleem A is in co-NP als no-instanties in polynomiale tijd verifieerbaar zijn,

15 T U Delft Parallel and Distributed Systems group PGS Co-NP : voorbeelden 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 ? (dwz: geldt voor iedere t: U -> {0,1} die C waarmaakt, dat t ook c waarmaakt?)

16 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.

17 T U Delft Parallel and Distributed Systems group PGS Relatie P, NP en Co-NP Co-NPC NPC NPCo-NP P

18 T U Delft Parallel and Distributed Systems group PGS 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 NPC problemen zijn.


Download ppt "T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 4 Cees Witteveen"

Verwante presentaties


Ads door Google