Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdNele Peters Laatst gewijzigd meer dan 10 jaar geleden
1
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, zeg A , met inputs I P 1 en outputs (I) P 2 dan P 1 is 'polynomial ‑ reducable' tot P 2, notatie: P 1 P 2 Theorem Cook (1971): SAT is -compleet, i.e.: each problem P of is polynomial reducable to SAT Corollary If SAT can be solved by some polynomial algorithm A, then all problems P are polynomial solvable ( = ) Proof: IPIP P (I) SAT A P O(| | r ) alg. A O(| | q ) yes/no algoritme in O(|I| qr ) time voor I in P: doe eerst A P /* geeft I' in SAT van size O(| | r ) doe dan A
2
CLIQUE Instance: graph G=(V, E) ; number k; Question:Is there a ‘clique’ subgraph H G with |V(H)|>=k YES for k=3 YES for k=4 NO for k=5
3
Is there a clique of size >= 4 ?
5
Satisfiability (formeel) Instance:2n booleans in sets B={b 1, b 2,..., b n } en B ={b 1, b 2,..., b n }, [n-tal B={b 1,..., b n } is vrij, n-tal B={b 1, b 2,..., b n } is negatie dwz: vrij te kiezen: b 1,..., b n {true,false} en b t = NOT b t voor t=1,2..n] m ‘or-expressies’ C 1, C 2,..., C m met 1 of meer elementen in B B Question: Kan men b 1 t/m b n zo kiezen ( truth-assignment) dat elke 'clause' C 1, C 2,..., C m true wordt. (satisfying all the clauses) bv n=3, m=4 met C 1 =b 1 or b 3 or b 2 ; C 2 =b 2 or b 1 ; C 3 =b 3 or b 1 ; C 4 =b 2 assignment b 1 =b 2 =b 3 =true mislukt; assignment b 1 =true; b 2 =b 3 =false mislukt; assignment b 2 =true, b 1 =b 3 =false satisfies all clauses
6
Een probleem P zal NP-compleet zijn als: 1) P is in NP 2) voor een bekend NP-compleet P 2 geldt: P 2 P voorbeeld: we bewijzen Clique is NP-compleet 1) yes-certificaat is subset K met k knopen; O(n 2 ) algoritme checkt kantexistentie 2) we tonen aan SAT CLIQUE : Zij B={b 1,…,b n }; C 1, C 2, …,C m, een SAT-instantie. bv: B={b1,b2,b3} en m=4 met C 1 =b 1 or b 3 or b 2 ; C 2 =b 2 or b 1 ; C 3 =b 3 or b 1 ; C 4 =b 2 elke clause correspondeert met knopenregel, 1 knoop voor elke boolean alle kanten bestaan behalve: tussen knopen (booleans) van dezelfde clause tusen booleans die elkaars negatie zijn
7
YES: V’ for k=5 NODE-COVER Instance: graph G=(V, E) ; number k ; Question:can one cover E with a subset V’ of k or less nodes YES: V’ for k=3
8
Theorem: V’ is a node-cover of E(G) if and only if V\V’ forms a clique in G DEFINITION: The co-graph G=(V, co-E) of G=(V, E) has the same node set, but the complement set co-E as edge set: co-E ={(i,j): (i,j) E} G’s edges on upper-left node COROLLARY: CLIQUE NODE-COVER map I= of CLIQUE to (I)= of NODE-COVER, given as (V)=V, (E)=co-E and (k)=|V|-k
9
CLIQUE NODE-COVER map I= of CLIQUE to (I) of NODECOVER, where (V,E)=(V,co-E) and (k)=|V|-k to proof: is yes instantie clique (V,co-E),|V|-k> yes instantie node-cover proof: node set H forms a clique in (V,E) with |H|>=k /* dwz H is yes-certificate for I iff ( i, j H: (i,j) E ) and ( |H|>=k ) iff ( i, j H: (i,j) co-E) and ( |H|>=k ) iff for each edge (i, j) of (V,co-E) node i is in V\H or node j is in V\H and |V\H|<=|V|-k iff V\H is a node cover of (V, co-E)= (V,E) with |V\H|<=|V|-k /* V\H is yes-certificate for (I), (k)
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.