ΑΛΓΟΡΙΘΜΟΙ http://eclass.aueb.gr/courses/inf6/ Άνοιξη 26 - I. ΜΗΛΗΣ NP-complete προβλήματα ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II
Tree of reductions (partial) Cook s Th. Π NP SAT 3-SAT MAX 2-SAT CLIQUE / IS / VC 3-DM 3- GC ZOE SUBSET SUM HP / HC - KNAPSACK TSP / Δ -TSP Polynomial Γενίκευση του Π Πρόβλημα Π Ειδική περίπτωση του Π NP-complete ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 2
Some NP-complete graph problems CLIQUE: INSTANCE: Γράφος G = (V,E), ακέραιος B V QUESTION: Υπάρχει C V τ.ω. u,vc: (u, v) E και C B? (Υπάρχει στον G κλίκα με τουλάχιστον Β κόμβους?) VERTEX COVER (VC): INSTANCE: Γράφος G = (V,E), ακέραιος B V QUESTION: Υπάρχει S V τ.ω. (u, v)e είτε us ή vs και S B? (Υπάρχει στον G VC με τo πολύ Β κόμβους?) INDEPENDENT SET (IS): INSTANCE: Γράφος G = (V,E), ακέραιος B V QUESTION: Υπάρχει I V τ.ω. u, v I: (u, v) E και I B? (Υπάρχει στον G IS κλίκα με τουλάχιστον Β κόμβους?) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 3
CLIQUE is NP-complete. CLIQUE NP γιατί? 2. 3-SAT p CLIQUE Έστω ένας 3-CNF λογικός τύπος, m # όρων (clauses) του Κατασκευάζουμε ένα στιγμιότυπο G,m του CLIQUE τ.ω. ο είναι ικανοποιήσιμος εάνν ο G έχει μία m-clique O G έχει 3m κόμβους (m τριάδες) : Κάθε τριάδα αντιστοιχεί σε έναν όρο του Κάθε κόμβος τριάδας αντιστοιχεί σε ένα στοιχείο του αντίστοιχου όρου Ο G έχει όλες τις δυνατές ακμές ΕΚΤΟΣ: κόμβους (στοιχεία) στην ίδια τριάδα (όρο του φ) κόμβους που αντιστοιχούν σε αντίθετα στοιχεία (x and x ) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 4
CLIQUE is NP-complete Example: (x y z) (x y z) (x y z) x y z x x y y z z ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 5
CLIQUE is NP-complete Ο είναι ικανοποιήσιμος Ο G έχει m-clique Ικανοποιήσιμος σε κάθε όρο έχει τουλάχιστον ένα TRUE στοιχείο Παίρνουμε ένα τέτοιο στοιχείο (κόμβο) από κάθε όρο Έστω C το σύνολο αυτών των κόμβων, C =m Tότε u, v C (u, v) E, επειδή οι κόμβοι u και v: Ανήκουν σε διαφορετικές τριάδες (όρους του φ) Δεν αντιστοιχούν σε αντίθετα στοιχεία (και τα δύο είναι TRUE) Άρα το C είναι μία m-clique Ο G έχει m-clique C Ο είναι ικανοποιήσιμος Κάθε κόμβος (στοιχείο) της C ανήκει σε διαφορετική τριάδα (όρο του φ) Κανένα ζευγάρι κόμβων της C δεν αντιστοιχεί σε αντίθετα στοιχεία Θέτουμε όλα τα στοιχεία (κόμβους) της C TRUE Όλοι οι m όροι του φ ικανοποιούνται Άρα ο είναι ικανοποιήσιμος Η αναγωγή είναι πολυωνυμική Για το γράφο G=(V,E): V =3m, E = O( V 2 ) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 6
Complement of a graph Let G (V, E) Complement of G: G c (V, E c ), E c {(u, v): (u, v) E} i.e. (u, v) E c iff (u, v) E G G c The following are equivalent for a graph G=(V,E): C is a vertex cover of G V-C is an independent set of G V-C is a clique in G C ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 7
Vertex Cover is NP-complete. VC NP - why? 2. CLIQUE p VC G c has a vertex cover of size n-k iff G has a clique of size k It suffices to show that: C is a clique in G iff V-C is a vertex cover in G c C is a clique in G V-C is a vertex cover in G c suppose edge e=(u, v) E c not covered by V-C then u,v C (u,v) E (u,v) E C a contradiction u G c V-C is a vertex cover in G c C is a clique in G suppose u, v C and (u, v) E then (u, v) E c a contradiction, since V-C is a vertex cover in G c u e G v v ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 8
IS is NP-complete. IS NP why? 2. VC p IS G has an IS size k iff G has a vertex cover of size n-k It suffices to show that: S is an IS in G iff V-S is a vertex cover in G S is an IS in G V-S is a vertex cover in G suppose edge (u, v) E not covered by V-S then u, v S, contradiction since S is an IS V-S is a vertex cover in G S is an IS in G suppose u, v S such that (u, v) E a contradiction since V-S is a vertex cover u v ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 9
Tree of reductions (partial) Cook s Th. Π NP SAT 3-SAT MAX 2-SAT CLIQUE / IS / VC 3-DM 3- GC ZOE SUBSET SUM HP / HC - KNAPSACK TSP / Δ -TSP Polynomial Γενίκευση του Π Πρόβλημα Π Ειδική περίπτωση του Π NP -complete ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II
Hamilton (Rudrata) Path and Cycle HAMILTONIAN PATH (HP) INSTANCE: A graph G=(V,E) QUESTION: Is there a permutation of V, <v,v 2,,v n > such that (v i, v i+ ) E, i n-? (Is there in G a simple path of V vertices?) HAMILTONIAN CYCLE (HC) INSTANCE: A graph G=(V,E) QUESTION: Is there a permutation of V, <v,v 2,,v n > such that (v i, v (i+)modn ) E, i n? (Is there in G a simple cycle of V vertices?) HP, HC: undirected graphs DHP, DHC: directed graphs We know that all HP, HC, DHP and DHC are NP -complete ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II
HP p HC G=(V,E) G' = (V', E') V' = V {x } E' = E { (x, u) u V } G has a HP say u,,v x, u,,v, x is a HC in G' G' has a HC, say x, u,, v, x u,,v is a HP in G ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 2
HC p HP G=(V,E) G' = (V', E') V' = V {x, y, w} E' = E { (x,y), (w,u) } { (x,v i ) v i Γ(u) } G has a HC say u, v i,, v j, u, v i, v j Γ(u) G' has a HP, that is w, u, v i,, v j, x, y G' has a HP, say p - (y, x) p and (w, u) p - (x, v i ) p, for some v i Γ(u) - the rest of p traverses all vertices V-{u,v i } exactly once and it is of the form v i,, v j for some v j Γ(u), j i - (v j,u) p Thus G has a HC: v i,, v j, u, v i, since (u,v i ) E ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 3
Traveling Salesman Problem (TSP) TSP Instance: A complete directed weighted graph G=(V,E), integer B Question (Decision): Is there a permutation of V, <v,v 2,,v n > such that Σ i= to n w(v i, v (i mod n) + ) B? i.e., is there a Hamiltonian Cycle in G (a tour) of cost B? Brute force approach: O(n!) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 4
HC p TSP G=(V,E) G has a HC All its edges have cost in G' G' has a tour of cost B G' = (V, E') E' = V V, if (u,v) E w(u,v) = w(v,u) = 2, otherwise B= V ---------------------- G' has a tour of cost B It uses only edges of cost (cost =B) G has a HC -TSP: A special case of TSP where the triangle inequality holds, i.e., w(i,j) + w(j,k) w(i,k), i,j,k n QUESTIONS: Is -TSP NP-complete? Is TSP(,2) NP-complete? ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 5
Tree of reductions (partial) Cook s Th. Π NP SAT 3-SAT MAX 2-SAT CLIQUE / IS / VC 3-DM 3- GC ZOE SUBSET SUM HP / HC - KNAPSACK TSP / Δ -TSP Polynomial Γενίκευση του Π Πρόβλημα Π Ειδική περίπτωση του Π NP -complete ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 6
Matching problems Matching in a graph G=(V,E): A subset M E of edges s.t. no two edges in M have a vertex in common. MATCHING INSTANCE: A graph G=(V,E) QUESTION: Find a maximal/maximum/perfect matching in G Maximal: it is not a subset of another matching, i.e. it can not be extended Maximum: a matching of maximum cardinality, M, i.e. a maximum maximal matching Perfect: a matching of cardinality M =n/2 (it is defined only for graphs with even # of vertices) All matching problems are polynomial, even their weighted versions ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 7
Matching problems PERFECT BIPARTITE MATCHING INSTANCE: Bipartite graph B=(B, G, E), with B = G =m, edges E B G QUESTION: Is there a subset of edges M Ε with M = m such that for each pair (b,g), (b',g') M it holds that bb', gg'? All bipartite matching problems are polynomial ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 8
Matching problems A generalization of Bipartite matching: 3-DIMENSIONAL MATCHING (3-DM) INSTANCE: Sets B, G, P, with B = G = P =m, a set of triples T B G P (i.e. a tripartite graph) QUESTION: Is there a subset M T with M = m such that for each pair (b,g,p), (b',g',p') M it holds that bb', gg', pp'? 3-DM is NP-complete ( 3-SAT p 3-DM ) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 9
Zero-One Equations (ZOE) η διατύπωση ΕΙΣΟΔΟΣ: Σύστημα m εξισώσεων 2 2 22 2 2 2 n n n n x a x a x a x a x a x a όπου α ij {,}, i m, j n ΕΡΩΤΗΣΗ: Υπάρχει λύση του συστήματος x,x 2,..., x n τ.ω. x i {,}, j n ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 2 2 2 n mn m m x a x a x a
Zero-One Equations (ZOE) 2 η διατύπωση ΕΙΣΟΔΟΣ: - πίνακας Α διαστάσεων m x n ΕΡΩΤΗΣΗ: Υπάρχει - διάνυσμα x = [x,x 2,..., x n ] τ.ω. Αx= x x ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 2 5 4 3 2 x x x x
Zero-One Equations (ZOE) 3 η διατύπωση ΕΙΣΟΔΟΣ: - πίνακας Α διαστάσεων m x n ΕΡΩΤΗΣΗ: Υπάρχει υποσύνολο στηλών του Α που αν προστεθούν μεταξύ τους δίνουν σε όλες τις γραμμές ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 22
ZOE is NP-complete 3-DM p ZOE 3-DM: m αγόρια, m κορίτσια, m κατοικίδια, και n τριάδες Κατασκευάζουμε πίνακα Α με: 3m γραμμές (μία για κάθε αγόρι, κορίτσι, κατοικίδιο) n στήλες (μία για κάθε τριάδα) Κάθε στήλη/τριάδα έχει : - τρία στοιχεία (στις γραμμές αυτά που αντιστοιχούν στο αγόρι, κορίτσι, κατοικίδιο της τριάδας) - όλα τα άλλα στοιχεία Ένα 3-DM αντιστοιχεί σε m στήλες/τριάδες του πίνακα Α που αν προστεθούν μεταξύ τους δίνουν σε όλες τις γραμμές (οι γραμμές του Α είναι 3m και κάθε στήλη έχει τρία, άρα πρέπει να επιλεγούν m στήλες για να πάρουμε από την πρόσθεσή τους σε όλες τις γραμμές) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 23
ZOE is NP-complete 3-DM p ZOE - παράδειγμα 5 τριάδες Al Bob Chet Alice Beatrice Carol Armadillo Bobcat Canary To 3-DM έχει απάντηση ΝΑΙ εάνν το ΖΟΕ έχει απάντηση ΝΑΙ ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 24
Tree of reductions (partial) Cook s Th. Π NP SAT 3-SAT MAX 2-SAT CLIQUE / IS / VC 3-DM 3- GC ZOE SUBSET SUM HP / HC - KNAPSACK TSP / Δ -TSP Polynomial Γενίκευση του Π Πρόβλημα Π Ειδική περίπτωση του Π NP -complete ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 25
Problems with numbers SUBSET SUM I: items S={,,n}, integer weights w i >, i=,,n, integer W> Q: is there A S s.t. = W? PARTITION I: items S={,,n}, integer weights w i >, i=,,n Q: is there A S s.t? - KNAPSACK I: items S={,,n}, weights w i >, values v i >, i=,,n, W>, all integers Q: find A S s.t. w W and is maximized ia i ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 26
SUBSET-SUM is NP-complete ZOE SUBSET SUM w, w 2,, w n W Υπάρχει υποσύνολο στηλών που αν προστεθούν μεταξύ τους, κάνουν σε όλες τις γραμμές? Υπάρχει υποσύνολο αριθμών που αν προστεθούν μεταξύ τους, κάνουν W? Αναγωγή? ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 27
SUBSET-SUM is NP-complete MSB ZOE 8 5 4 8 3 Θεωρούμε τις στήλες δυαδικούς ακεραίους (MSB πάνω) Υπάρχει υποσύνολο των ακεραίων 8, 5, 4, 8 που κάνει 2 = 3? NAI! Είναι η αναγωγή σωστή? SUBSET SUM w, w 2,, w n W Υπάρχει υποσύνολο αριθμών που αν προστεθούν μεταξύ τους, κάνουν W? ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 28
SUBSET-SUM is NP-complete Είναι η αναγωγή σωστή? Δυστυχώς ΟΧΙ! Το άθροισμα δυαδικών αριθμών n bits μπορεί να ΕΙΝΑΙ 2 n - ΑΛΛΑ το άθροισμα των αντίστοιχων διανυσμάτων να ΜΗΝ ΕΙΝΑΙ. Π.χ.. γιατί Δυαδική πρόσθεση + + 5 6 2 = 3! Το SUBSET SUM έχει απάντηση ΝΑΙ αλλά το ΖΟΕ έχει απάντηση ΟΧΙ ΓΙΑΤΙ? ΚΡΑΤΟΥΜΕΝΟ! ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 29
SUBSET-SUM is NP-complete Μπορούμε να σώσουμε την αναγωγή? ΝΑΙ! Σκεφτείτε κάθε στήλη του Α σαν ακέραιο στο σύστημα με βάση το n+! Τότε δεν θα υπάρχει κρατούμενο και η αναγωγή είναι σωστή: Το SUBSET SUM έχει απάντηση ΝΑΙ εάνν το ΖΟΕ έχει απάντηση ΝΑΙ ΑΛΛΑ ΠΡΟΣΟΧΗ!!! m W = n+ = Ο(n m ) και επίσης w i = Ο(n m ) Έστω Ι ένα στιγμιότυπο του ΖΟΕ και Ι το στιγμιότυπο του SUBSET SUM τότε Ι = Ο(exp( I )!? Γι αυτό το SUBSET SUM έχει αλγόριθμο πολυπλοκότητας Ο(nW) (ψευτο-πολυωνυμικό) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 26 - Ι. ΜΗΛΗΣ 6 NP-COMPLETENESS II 3