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

Σχετικά έγγραφα
Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

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

Εισαγωγή στους Αλγορίθμους

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

Εισαγωγή στους Αλγορίθμους

Διοικητική Λογιστική

Ψηφιακή Οικονομία. Διάλεξη 11η: Markets and Strategic Interaction in Networks Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Μηχανική Μάθηση Hypothesis Testing

Δομές Δεδομένων Ενότητα 1

Εισαγωγή στους Αλγορίθμους

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 10η: Basics of Game Theory part 2 Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 8η: Producer Behavior Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

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

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Ψηφιακή Επεξεργασία Εικόνων

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

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Διοικητική Λογιστική

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 13η: Multi-Object Auctions Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Αλγόριθμοι και πολυπλοκότητα Depth-First Search

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή σε μεθόδους Monte Carlo Ενότητα 2: Ολοκλήρωση Monte Carlo, γεννήτριες τυχαίων αριθμών

Εισαγωγή σε μεθόδους Monte Carlo Ενότητα 3: Δειγματοληπτικές μέθοδοι

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Μηχανολογικό Σχέδιο Ι

Αλγόριθμοι και πολυπλοκότητα Η Άπληστη Μέθοδος

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

ΟΡΟΛΟΓΙΑ -ΞΕΝΗ ΓΛΩΣΣΑ

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Κβαντική Επεξεργασία Πληροφορίας

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

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

Τεχνικό Σχέδιο - CAD

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Αλγόριθμοι και πολυπλοκότητα Bucket-Sort και Radix-Sort

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 7η: Consumer Behavior Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Κοινωνία & Υγεία Υγεία Πρόληψη Προαγωγή υγείας: Βαθμίδες πρόληψης

Τεχνικό Σχέδιο - CAD

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

ΟΡΟΛΟΓΙΑ -ΞΕΝΗ ΓΛΩΣΣΑ

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Διδακτική Πληροφορικής

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

PRESENTATION TITLE PRESENTATION SUBTITLE

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Κβαντική Επεξεργασία Πληροφορίας

Ιστορία της μετάφρασης

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort)

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 9η: Basics of Game Theory Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

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

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Διδακτική των εικαστικών τεχνών Ενότητα 1

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Ιστορία νεότερων Μαθηματικών

Δομές Δεδομένων Ενότητα 6

Ψηφιακή Επεξεργασία Εικόνων

ΟΡΟΛΟΓΙΑ -ΞΕΝΗ ΓΛΩΣΣΑ

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εισαγωγή στην Πληροφορική

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

Διδακτική Πληροφορικής

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Διαχείριση Πολιτισμικών Δεδομένων

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Δομές Δεδομένων Ενότητα 3

Μάρκετινγκ Αγροτικών Προϊόντων

Πληροφορική ΙΙ Θεματική Ενότητα 5

Εφαρμογές πληροφορικής σε θέματα πολιτικού μηχανικού

ΟΡΟΛΟΓΙΑ -ΞΕΝΗ ΓΛΩΣΣΑ

Βάσεις Περιβαλλοντικών Δεδομένων

Βέλτιστος Έλεγχος Συστημάτων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Transcript:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα NP-Completeness Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών

NP-Completeness x x x 2 x 2 x 3 x 3 x 4 x 4 2 22 32 3 2 23 3 33 NP-Completeness

Outline and Reading P and NP ( 3.) Definition of P Definition of NP Alternate definition of NP NP-completeness ( 3.2) Definition of NP-hard and NP-complete The Cook-Levin Theorem NP-Completeness 2

Running Time Revisited Input size, n To be exact, let n denote the number of bits in a nonunary encoding of the input All the polynomial-time algorithms studied so far in this course run in polynomial time using this definition of input size. Exception: any pseudo-polynomial time algorithm SFO 843 ORD 849 42 PVD HNL 2555 337 LAX 743 233 802 DFW 387 20 LGA 099 MIA NP-Completeness 3

Dealing with Hard Problems What to do when we find a problem that looks hard I couldn t find a polynomial-time algorithm; I guess I m too dumb. NP-Completeness (cartoon inspired by [Garey-Johnson, 79]) 4

Dealing with Hard Problems Sometimes we can prove a strong lower bound (but not usually) I couldn t find a polynomial-time algorithm, because no such algorithm exists! NP-Completeness (cartoon inspired by [Garey-Johnson, 79]) 5

Dealing with Hard Problems NP-completeness let s us show collectively that a problem is hard. I couldn t find a polynomial-time algorithm, but neither could all these other smart people. NP-Completeness (cartoon inspired by [Garey-Johnson, 79]) 6

Polynomial-Time Decision Problems To simplify the notion of hardness, we will focus on the following: Polynomial-time as the cut-off for efficiency Decision problems: output is or 0 ( yes or no ) Examples: Does a given graph G have an Euler tour? Does a text T contain a pattern P? Does an instance of 0/ Knapsack have a solution with benefit at least K? Does a graph G have an MST with weight at most K? NP-Completeness 7

Problems and Languages A language L is a set of strings defined over some alphabet Σ Every decision algorithm A defines a language L L is the set consisting of every string x such that A outputs yes on input x. We say A accepts x in this case Example: If A determines whether or not a given graph G has an Euler tour, then the language L for A is all graphs with Euler tours. NP-Completeness 8

The Complexity Class P A complexity class is a collection of languages P is the complexity class consisting of all languages that are accepted by polynomial-time algorithms For each language L in P there is a polynomial-time decision algorithm A for L. If n= x, for x in L, then A runs in p(n) time on input x. The function p(n) is some polynomial NP-Completeness 9

The Complexity Class NP We say that an algorithm is non-deterministic if it uses the following operation: Choose(b): chooses a bit b Can be used to choose an entire string y (with y choices) We say that a non-deterministic algorithm A accepts a string x if there exists some sequence of choose operations that causes A to output yes on input x. NP is the complexity class consisting of all languages accepted by polynomial-time non-deterministic algorithms. NP-Completeness 0

NP example Problem: Decide if a graph has an MST of weight K Algorithm:. Non-deterministically choose a set T of n- edges 2. Test that T forms a spanning tree 3. Test that T has weight at most K Analysis: Testing takes O(n+m) time, so this algorithm runs in polynomial time. NP-Completeness

The Complexity Class NP Alternate Definition We say that an algorithm B verfies the acceptance of a language L if and only if, for any x in L, there exists a certificate y such that B outputs yes on input (x,y). NP is the complexity class consisting of all languages verified by polynomial-time algorithms. We know: P is a subset of NP. Major open question: P=NP? Most researchers believe that P and NP are different. NP-Completeness 2

NP example (2) Problem: Decide if a graph has an MST of weight K Verification Algorithm:. Use as a certificate, y, a set T of n- edges 2. Test that T forms a spanning tree 3. Test that T has weight at most K Analysis: Verification takes O(n+m) time, so this algorithm runs in polynomial time. NP-Completeness 3

Equivalence of the Two Definitions Suppose A is a non-deterministic algorithm Let y be a certificate consisting of all the outcomes of the choose steps that A uses We can create a verification algorithm that uses y instead of A s choose steps If A accepts on x, then there is a certificate y that allows us to verify this (namely, the choose steps A made) If A runs in polynomial-time, so does this verification algorithm Suppose B is a verification algorithm Non-deterministically choose a certificate y Run B on y If B runs in polynomial-time, so does this non-deterministic algorithm NP-Completeness 4

An Interesting Problem A Boolean circuit is a circuit of AND, OR, and NOT gates; the CIRCUIT-SAT problem is to determine if there is an assignment of 0 s and s to a circuit s inputs so that the circuit outputs. Inputs: Logic Gates: NOT 0 0 0 Output: OR 0 0 AND NP-Completeness 5

CIRCUIT-SAT is in NP Non-deterministically choose a set of inputs and the outcome of every gate, then test each gate s I/O. Inputs: Logic Gates: NOT 0 0 0 Output: OR 0 0 AND NP-Completeness 6

NP-Completeness A problem (language) L is NP-hard if every problem in NP can be reduced to L in polynomial time. That is, for each language M in NP, we can take an input x for M, transform it in polynomial time to an input x for L such that x is in M if and only if x is in L. L is NP-complete if it s in NP and is NP-hard. NP poly-time L NP-Completeness 7

Cook-Levin Theorem CIRCUIT-SAT is NP-complete. We already showed it is in NP. To prove it is NP-hard, we have to show that every language in NP can be reduced to it. Let M be in NP, and let x be an input for M. Let y be a certificate that allows us to verify membership in M in polynomial time, p(n), by some algorithm D. Let S be a circuit of size at most O(p(n) 2 ) that simulates a computer (details omitted ) NP M poly-time CIRCUIT-SAT NP-Completeness 8

Cook-Levin Proof We can build a circuit that simulates the verification of x s membership in M using y. Let W be the working storage for D (including registers, such as program counter); let D be given in RAM machine code. Simulate p(n) steps of D by replicating circuit S for each step of D. Only input: y. Circuit is satisfiable if and only if x is accepted by D with some certificate y Total size is still polynomial: O(p(n) 3 ). < p(n) cells ninputs D W y x S D W y x NP-Completeness 9 S p(n) steps S D W y x Output 0/ from D

Some Thoughts about P and NP NP-complete problems live here NP P CIRCUIT-SAT Belief: P is a proper subset of NP. Implication: the NP-complete problems are the hardest in NP. Why: Because if we could solve an NP-complete problem in polynomial time, we could solve every problem in NP in polynomial time. That is, if an NP-complete problem is solvable in polynomial time, then P=NP. Since so many people have attempted without success to find polynomial-time solutions to NP-complete problems, showing your problem is NP-complete is equivalent to showing that a lot of smart people have worked on your problem and found no polynomialtime algorithm. NP-Completeness 20

Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Κρήτης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Σημειώματα

Σημείωμα αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση, Όχι Παράγωγο Έργο 4.0 [] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [] http://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Κρήτης, Ιωάννης Τόλλης 205. «Αλγόριθμοι και πολυπλοκότητα. NP-Completeness». Έκδοση:.0. Ηράκλειο 205. Διαθέσιμο από τη δικτυακή διεύθυνση: https://opencourses.uoc.gr/courses/course/view.php?id=368

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.