ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Σχετικά έγγραφα
ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

Partition of weighted sets (problems with numbers)

Υπολογιστική Πολυπλοκότητα

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

Αλγόριθμοι και πολυπλοκότητα NP-Completeness

Υπολογιστική Πολυπλοκότητα

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π

Μη Ντετερμινισμός και NP-Πληρότητα

Αλγόριθµοι και Πολυπλοκότητα

conp and Function Problems

Μη Ντετερμινισμός και NP-Πληρότητα

Chapter 9: NP-Complete Problems

Κλάση NP, NP-Complete Προβλήματα

Κλάσεις Πολυπλοκότητας

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Fractional Colorings and Zykov Products of graphs

Αλγόριθμοι και Πολυπλοκότητα

EE512: Error Control Coding

Abstract Storage Devices

Μη Ντετερμινισμός και NP-Πληρότητα

C.S. 430 Assignment 6, Sample Solutions

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

ΔΥΣΚΟΛΙΑ ΣΤΗΝ ΠΡΟΣΕΓΓΙΣΙΜΟΤΗΤΑ

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος

Lecture 2. Soundness and completeness of propositional logic

2 Composition. Invertible Mappings

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ST5224: Advanced Statistical Theory II

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Multicut and Integer Multicomodity Flow in Trees (chap. 18) Αγγελής Γιώργος

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Approximation of distance between locations on earth given by latitude and longitude

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Other Test Constructions: Likelihood Ratio & Bayes Tests

Προσεγγιστικοί Αλγόριθμοι

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Distances in Sierpiński Triangle Graphs

Προηγμένα Θέματα Αλγορίθμων (ΣΗΜΜΥ ΕΜΠ) Αλγόριθμοι Δικτύων και Πολυπλοκότητα (ΕΜΠ - ΑΛΜΑ) Προσεγγιστικοί Αλγόριθμοι.

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική

( y) Partial Differential Equations

The challenges of non-stable predicates

Sequent Calculi for the Modal µ-calculus over S5. Luca Alberucci, University of Berne. Logic Colloquium Berne, July 4th 2008

Numerical Analysis FMN011

Finite Field Problems: Solutions

Matrices and Determinants

Εισαγωγή στην Επιστήμη των Υπολογιστών

NP-complete problems. IS, 4-Degree IS,CLIQUE, NODE COVER, MAX CUT, MAX BISECTION, BISECTION WIDTH. NP-complete problems 1 / 30

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

k A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +

Fourier Series. MATH 211, Calculus II. J. Robert Buchanan. Spring Department of Mathematics

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

The Simply Typed Lambda Calculus

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

The Probabilistic Method - Probabilistic Techniques. Lecture 7: The Janson Inequality

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Statistical Inference I Locally most powerful tests

Inverse trigonometric functions & General Solution of Trigonometric Equations

Γράφοι: κατευθυνόμενοι και μη

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ

A Hierarchy of Theta Bodies for Polynomial Systems

Example Sheet 3 Solutions

Uniform Convergence of Fourier Series Michael Taylor

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

2. THEORY OF EQUATIONS. PREVIOUS EAMCET Bits.

Υπολογιστική Πολυπλοκότητα

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ342: Βάσεις Δεδομένων. Χειμερινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ. Επερωτήσεις SQL

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

ORDINAL ARITHMETIC JULIAN J. SCHLÖDER

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Homework 3 Solutions

Lecture 15 - Root System Axiomatics

Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνο ΣHMΜY

ECE 308 SIGNALS AND SYSTEMS FALL 2017 Answers to selected problems on prior years examinations

Models for Probabilistic Programs with an Adversary

Every set of first-order formulas is equivalent to an independent set

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

The ε-pseudospectrum of a Matrix

Εισαγωγή στην Επιστήμη των Υπολογιστών

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

Homework 8 Model Solution Section

SOLUTIONS TO MATH38181 EXTREME VALUES AND FINANCIAL RISK EXAM

Transcript:

ΑΛΓΟΡΙΘΜΟΙ http://eclass.aueb.gr/courses/inf6/ Άνοιξη 06 - I. ΜΗΛΗΣ P NP και NP-complete προβλήματα (Κλάσεις Πολυπλοκότητας) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I

Γιατί για πολλά προβλήματα δεν έχουμε πολυωνυμικούς αλγορίθμους? ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I

Γιατί για πολλά προβλήματα δεν έχουμε πολυωνυμικούς αλγορίθμους? ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 3

Γιατί για πολλά προβλήματα δεν έχουμε πολυωνυμικούς αλγορίθμους? ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 4

Κλάση πολυπλοκότητας P Όλα τα προβλήματα για τα οποία υπάρχει αλγόριθμος με O(poly Ι ) πολυπλοκότητα χειρότερης περίπτωσης όπου Ι το μέγεθος της κωδικοποιημένης εισόδου του προβλήματος Προβλήματα P: EXP GCD FIBONACCI SORTING SHORTEST PATHS MST PRIMES: O (log n) [00] και πάρα πολλά άλλα Προβλήματα χωρίς O(poly Ι ) αλγόριθμο 0- KNAPSACK SUBSET SUM: O(nW) SAT: O( n ) CLIQUE LONGEST PATH TSP και πάρα πολλά άλλα επίσης ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 5

Decision s. Optimiation problems Προβλήματα ΑΠΟΦΑΣΗΣ (decision) : Προβλήματα με απάντηση ΝΑΙ/ΟΧΙ Π.χ. PRIMES SUBSET SUM SAT SEARCH Προβλήματα βελτιστοποίησης (optimiation) : Μεγιστοποίηση/Ελαχιστοποίηση μιας συνάρτησης κόστους Π.χ. TSP (Traeling Salesman Problem) I: Complete weighted digraph G = (V E) Q: Find a minimum length tour of G CLIQUE (tour: a cycle isiting each node once) I: A graph G=(VE) Q: Find the maximum subset C V s. t. u C: (u) E (the maximum complete subgraph of G) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 6

Optimiation problems Έχουμε δει ότι υπάρχουν δύο ερωτήσεις /εκδοχές για ένα πρόβλημα βελτιστοποίησης: Ερώτηση κόστους: Να βρεθεί το κόστος μιας βέλτιστης λύσης Ερώτηση λύσης: Να βρεθεί μια βέλτιστη λύση (η ίδια η λύση) Μια τρίτη ερώτηση εκδοχή για ένα πρόβλημα βελτιστοποίησης: Ερώτηση/εκδοχή απόφασης (decision ersion) : Δεδομένου ενός φράγματος B υπάρχει λύση με - κόστος B (για προβλήματα ελαχιστοποίησης) ή - κόστος B (για προβλήματα μεγιστοποίησης)? TSP CLIQUE Q: Find the cost of a minimum tour Q: Find the sie of max C Q: Find a tour of minimum cost Q: Find the ertices of max C Q3: Is there a tour of cost B? Q3: Is there C V s.t. C B? Για κάθε πρόβλημα βελτιστοποίησης μπορούμε τελείως εύκολα να ορίσουμε το αντίστοιχο πρόβλημα απόφασης (χρήση φράγματος Β) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 7

Why decision problems? Για κάθε πρόβλημα βελτιστοποίησης μπορούμε τελείως εύκολα να ορίσουμε το αντίστοιχο πρόβλημα απόφασης ΓΙΑΤΙ προβλήματα απόφασης? ) Μπορούν να κωδικοποιηθούν ως γλώσσες (ιστορικοί λόγοι) ) Χρησιμοποιούνται για τον ορισμό των κλάσεων πολυπλοκότητας 3) Είναι ισοδύναμα με τα αντίστοιχα προβλήματα βελτιστοποίησης Έστω ότι υπάρχει Ο(poly) αλγόριθμος για την ερώτηση απόφασης: τότε υπάρχουν Ο(poly) αλγόριθμοι και για τις ερωτήσεις κόστους και λύσης! Για τον ορισμό των κλάσεων πολυπλοκότητας μελετάμε ΜΟΝΟ προβλήματα απόφασης!!! ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 8

Decision s. Optimiation problems () Ο(poly) αλγόριθμος για την ερώτηση απόφασης Ο(poly) αλγόριθμος για την ερώτησης κόστους! Example: TSP Έστω OPT το κόστος ενός βέλτιστου tour w min = min {w(e) e E} w max = max {w(e) e E} Ισχύει ότι nw min OPT nw max Χρήση της ερώτησης «υπάρχει tour κόστους B" για κατάλληλες τιμές του B Για ποιες τιμές του B? Για όλες: O(n max ) τιμές NOT O(poly( I ) Βinary search: O(logn+log max ) τιμές O(poly( I )!! ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 9

Decision s. Optimiation problems () O(poly) αλγόριθμος για την ερώτηση απόφασης Ο(poly) αλγόριθμος για την ερώτηση λύσης! Example: TSP (cont.) Find OPT as in () T= { } // an optimal tour for each edge e E: x =w(e) w(e) = w(e) + M // increase the weight of e "is there a tour of cost OPT? " if NO: T=T U {e} // e is in an optimal tour w(e)=x // restore the weight of e // if YES then e is not in any optimal tour // keep its weight to w(e) + M O( E ) iterations - O(poly I ) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 0

Complexity Class NP Όλα τα προβλήματα για τα οποία υπάρχει ένας Non-deterministic Polynomial (NP) αλγόριθμος Ένα πρόβλημα Π NP iff για κάθε στιγμιότυπο του Π με απάντηση ΝΑΙ υπάρχει ένας Ο(poly) αλγόριθμος επαλήθευσης (πιστοποιητικό - certificate) δηλ. μπορείτε να πείσετε κάποιον για ένα ΝΑΙ στιγμιότυπο σε Ο(poly) χρόνο. Example: TSP ΝΑΙ στιγμιότυπο: δείξτε (μαντέψτε) μία λύση! έλεγχος ότι είναι διαδρομή; υπολογισμός κόστους ; είναι το κόστος B ; O(n) time in total OXI στιγμιότυπο : έλεγχος όλων των διαδρομών! ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I

P and NP Π NP: Για κάθε στιγμιότυπο Ι του Π υπάρχει ένας O(poly) αλγόριθμος Ο αλγόριθμος αυτός: - Αν το Ι έχει λύση βρίσκει (και επαληθεύει ) μία τέτοια λύση - Αν το Ι δεν έχει λύση το αναφέρει Άρα P NP P NP ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I

Polynomial Reductions A B: προβλήματα απόφασης Το A ανάγεται πολυωνυμικά στο B (A p B) εάν υπάρχει ένας πολυωνυμικός μετασχηματισμός R ο οποίος για κάθε είσοδο x για το A παράγει μια είσοδο R(x) για το Β τέτοια ώστε: το Β με είσοδο R(x) έχει απάντηση ΝΑΙ εάν και μόνο εάν το Α με είσοδο x έχει απάντηση ΝΑΙ ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 3

Polynomial Reductions Για να λύσουμε το Α με είσοδο x αρκεί να : μετασχηματίσουμε την x στην R(x) λύσουμε το Β με είσοδο R(x) O(poly) for R(x) + O(poly) algorithm for B O(poly) algorithm for A το Α δεν είναι πιο δύσκολο από το Β. ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 4

Complexity Class NP-complete Ένα πρόβλημα Π NP-complete iff ) Π NP ) Για κάθε άλλο Π' NP : Π' p Π (Όλα τα άλλα προβλήματα στο ΝΡ ανάγονται στο Π) ΝP-complete problems: capture the essence and the difficulty of NP the most difficult problems in NP Αποδείξτε ότι το Π είναι NP-complete:. Αποδείξτε ότι Π NP. Αποδείξτε ότι Π' NP : Π' p Π???!!! ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 5

Complexity Class NP-complete Ευτυχώς: ) έχουμε το Cook's Theorem [Cook 97 Lein 97]: SAT is NP complete ( Π' NP : Π' p SAT) ) η σύνθεση πολυωνυμικών αναγωγών είναι πολυωνυμική Αποδείξτε ότι το Π είναι NP -complete:. Αποδείξτε ότι Π NP. Αποδείξτε ότι Π'NP-complete: Π' p Π (Διαλέξτε ένα πρόβλημα Π'NP-complete: και αποδείξτε ότι Π' p Π) S. Cook R. Karp τα πρώτα NP-complete προβλήματα (97) ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 6

Complexity Class NP-complete Θυμηθείτε ότι P NP Ποιος είναι ο χάρτης της NP? Kurt Gödel Αυτό πιστεύουμε Αδύνατο Απίθανο Ladner s theorem H ΕΡΩΤΗΣΗ στη Θεωρητική Πληροφορική Για κανένα NP-complete πρόβλημα δεν είναι γνωστός O(poly) αλγόριθμος Εάν υπάρχει για ένα υπάρχει για όλα! Τότε P=NP! ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 7

Tree of reductions (partial) Cook s Th. Π in NP SAT 3-SAT MAX -SAT CLIQUE / IS / VC 3-DM 3- GC ZOE SUBSET SUM HP / HC 0- KNAPSACK TSP / Δ -TSP Polynomial Γενίκευση του Π Πρόβλημα Π Ειδική περίπτωση του Π NP -complete ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 8

3-SAT (CNF) 3-SAT Instance: a 3-CNF boolean formula (all φ s clauses hae 3 literals) Question: Is satisfiable? e.g. ( x y ) ( x y ) ( y x) ( y x) n = # ariables of m = # clauses of ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 9

3-SAT is NP-complete. 3-SAT is in NP Gien an assignment we just check that each clause is TRUE Complexity: # ORs =m that is O(m). 3-SAT is NP-complete By a reduction from SAT to 3-SAT We will transform each clause to a set of 3-literals clauses Independently for each clause based on its length k k = k= k=3 k >3 ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 0

3-SAT is NP-complete k= that is C = { } We use new ariables We replace C with new clauses C ' C' C' { } { } If C is TRUE then C is TRUE If C is TRUE => =T or =T => C =T since both clauses of C include both and If C is TRUE then C is TRUE If C is TRUE => C i is TRUE i= Consider both assignments for =F: C = T => =T or =T =T: C = T => =T or =T that is C = T in both cases ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I

3-SAT is NP-complete k= that is C = {} We use new ariables and We replace C with 4 new clauses C ' C' C' C' 3C' 4 { } { } { } { } If C is TRUE then C is TRUE C = T => =T => C = T since is in all four clauses of C If C is TRUE then C is TRUE C = T => C i = T i=34 Consider all possible assignments for and =F =F: C = T => = T =F =T: C = T => = T =T =F: C 3 = T => = T =T =T: C 4 = T => = T that is C = T in each case ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I

k > 3 that is C = { 3 k } We use k-3 new ariables 3 k-3 We replace C with k- new clauses 3-SAT is NP-complete } { } { '... ' ' ' k C C C C } {... } {... } { 3 3 k k k p p p ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 3

k > 3 that is C = { 3 k } If C is TRUE then C is TRUE C=T => there is at least one i =T i k Let p=min index such that p =T Then there is a truth assignment for C : 3-SAT is NP-complete if p i T } { '... ' ' ' k C C C C C i =T i k- otherwise if F p i T i ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 4 } {... } {... } { } { 3 3 k k k p p p

3-SAT is NP-complete k > 3 that is C = { 3 k } If C is TRUE then C is TRUE C =T => C i =T i k- Assume that C=F => i = F i k C = T => =T C = T => =T C 3 = T => 3 =T. C k-3 = T => k-3 =T C k- = F C' C' C'... C' k { } { {... contradiction since C = T! k- { } ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 5 k 3 3 4 3 } k } k

3-SAT is NP-complete Complexity of the reduction SAT: n ariables m clauses In the worst case all the clauses contain n literals 3-SAT: there will be m(n-) clauses (why?) That is O(nm) clauses ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 6

(CNF) SAT ariants POLYNOMIAL -SAT: Each clause has at most literals Horn SAT: Each clause has at most one positie literal NP-COMPLETE 3-SAT: Each clause has at most 3 literals k-sat: Each clause has at most k literals - generaliation of 3-SAT MAX -SAT: I: A -CNF formula of m clauses and integer B m Q: is there an assignment satisfying Β clauses MAX k-sat: I: A k-cnf formula of m clauses and integer B m Q: is there an assignment satisfying Β clauses? - generaliation of 3-SAT; set B=m - generaliation of MAX -SAT ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 06 - Ι. ΜΗΛΗΣ 5 NP-COMPLETENESS I 7