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

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

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

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

Φροντιστήριο 11 Λύσεις

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

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

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

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

Δομές Δεδομένων και Αλγόριθμοι

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα

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

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

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

Σειρά Προβλημάτων 5 Λύσεις

για NP-Δύσκολα Προβλήματα

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

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,

Σειρά Προβλημάτων 5 Λύσεις

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Θεωρία Υπολογισμού και Πολυπλοκότητα

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

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

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

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

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

Αλγοριθμικές Τεχνικές

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

Chapter 7, 8 : Time, Space Complexity

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

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

Σειρά Προβλημάτων 5 Λύσεις

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

Chapter 7, 8 : Time, Space Complexity

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

Chapter 7, 8 : Completeness

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

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

Κεφάλαιο 1. Εισαγωγή: Κάποια Αντιπροσωπευτικά Προβλήµατα. Έκδοση 1.3, 29/02/2012. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Δομές Δεδομένων & Αλγόριθμοι

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

Δομές Δεδομένων και Αλγόριθμοι

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Σειρά Προβλημάτων 5 Λύσεις

Κεφάλαιο 4. Άπληστοι Αλγόριθµοι (Greedy Algorithms) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

Σειρά Προβλημάτων 5 Λύσεις

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

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

Λύσεις 4ης Σειράς Ασκήσεων

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

Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη

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

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Βασικά Στοιχεία Πολυπλοκότητας

HY118-Διακριτά Μαθηματικά

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα

CSC 314: Switching Theory

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

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα

Σειρά Προβλημάτων 5 Λύσεις

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

Υποθέσεις - Θεωρήματα. Μαθηματικά Πληροφορικής 1ο Μάθημα. Η χρυσή τομή. Υποθέσεις - Εικασίες

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι έχουμε δει μέχρι τώρα. Υπογράφημα. 24 -Γράφοι

Ασυμπτωτικός Συμβολισμός

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων

Σειρά Προβλημάτων 5 Λύσεις

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

Κατανεμημένα Συστήματα Ι

Ασυμπτωτικός Συμβολισμός

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

Κεφάλαιο 2. Βασικά στοιχεία ανάλυσης αλγορίθμων. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

Διαλογικά Συσ τήματα Αποδείξεων Διαλογικά Συστήματα Αποδείξεων Αντώνης Αντωνόπουλος Κρυπτογραφία & Πολυπλοκότητα 17/2/2012

Ασυμπτωτικός Συμβολισμός

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

περιεχόμενα υπολογιστικό πρόβλημα αλγόριθμοι παράδειγμα ταξινόμησης ταξινόμηση αλγόριθμοι τεχνολογία αλγορίθμων Παύλος Εφραιμίδης

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

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

4.3 Ορθότητα και Πληρότητα

Transcript:

Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Παύλος Εφραιμίδης V1.1, 2015-01-19 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1

πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα αναζήτησης είναι ένα πρόβλημα στο οποίο το ζητούμενο είναι μέσα σε ένα πλήθος πιθανών λύσεων να βρεθεί μια λύση που ικανοποιεί συγκεκριμένες ιδιότητες. Η προτεινόμενη λύση θα πρέπει να μπορεί να ελεγχθεί σε πολυωνυμικό χρόνο για την ορθότητά της. Για παράδειγμα στο πρόβλημα του ανεξάρτητου συνόλου σε γράφημα G το σύνολο των πιθανών υποσυνόλων του συνόλου κορυφών V είναι ο χώρος των πιθανών λύσεων. Το ζητούμενο είναι δεδομένου ενός αριθμού k να βρεθεί ανεξάρτητο σύνολο μεγέθους τουλάχιστον k. 2

πρόβλημα αναζήτησης (search problem) Είναι εύκολο να δούμε ότι εάν μπορούμε να λύσουμε το ένα πρόβλημα (πχ. εύρεση μεγίστου ανεξαρτήτου συνόλου) τότε μπορούμε να λύσουμε και το άλλο (πχ. εύρεση ανεξαρτήτου συνόλου μεγέθους τουλάχιστον k). Έστω P το πρόβλημα του μεγίστου ανεξαρτήτου συνόλου και P το πρόβλημα της εύρεση ανεξαρτήτου συνόλου μεγέθους τουλάχιστον k. 1. Μπορούμε να λύσουμε το P λύνοντας ένα αντίστοιχο πρόβλημα P. 2. Μπορούμε να λύσουμε το P λύνοντας O(log 2 n) αντίστοιχα προβλήματα P, όπου n είναι το πλήθος των κόμβων του γραφήματος. 3

Σχεδιασμός Αλγορίθμων Τεχνικές Σχεδιασμού Αλγορίθμων Greedy. Divide and conquer. Dynamic programming. Duality. Reductions. Local search. Randomization. Έννοιες για μη ύπαρξη αποδοτικού αλγορίθμου. NP-completeness: Δεν αναμένεται να υπάρχει O(n k ) αλγόριθμος. PSPACE-completeness: Δεν αναμένεται να υπάρχει O(n k ) αλγόριθμος επιβεβαίωσης μιας λύσης. Undecidability: Δεν μπορεί να υπάρξει αλγόριθμος. 4

Κλάσεις Πολυπλοκότητας P: το σύνολο των προβλημάτων για τα οποία υπάρχει αλγόριθμος με πολυωνυμική πολυπλοκότητα χρόνου Παράδειγμα: Ταξινόμηση n αριθμών NP: το σύνολο των προβλημάτων για τα οποία υπάρχει αλγόριθμος που μπορεί να επαληθεύσει μια έγκυρη λύση σε πολυωνυμικό χρόνο ή διαφορετικά μια μη-ντετερμινιστική μηχανή Turing μπορεί να λύσει το πρόβλημα σε πολυωνυμικό χρόνο. Από την τελευταία περιγραφή πήρε η κλάση το όνομά της: Non-deterministic Polynomial time Παράδειγμα: Εύρεση ανεξάρτητου συνόλου σε γράφημα G Ισχύει ότι P NP και εικάζεται ότι η κλάση NP είναι ευρύτερη της P χωρίς αυτό να έχει αποδειχθεί ακόμα. 5

Άλλες κλάσεις πολυπλοκότητας Οι κλάσεις πολυπλοκότητας δεν εξαντλούνται με τις P και NP. Υπάρχει για παράδειγμα η κλάση PSPACE για την οποία ισχύει NP PSPACE και εικάζεται ότι η PSPACE είναι ευρύτερη της NP χωρίς αυτό να έχει αποδειχθεί ακόμα. Υπάρχουν επίσης ειδικές κλάσεις πολυπλοκότητας που αφορούν τυχαιοκρατικούς υπολογισμούς (BPP, RP, κτλ.), κλάσεις που αφορούν αλγορίθμους προσέγγισης (MAXSNP), κτλ. 6

Αναγωγή Πολυωνυμικού Χρόνου Σκοπός. Ομαδοποίηση προβλημάτων σε κλάσεις με ισοδύναμη πολυπλοκότητα χρόνου. Σχεδιασμός αλγορίθμων. Εάν X P Y και το Y επιλύεται σε πολυωνυμικό χρόνο, τότε και το X μπορεί να επιλυθεί σε πολυωνυμικό χρόνο. Απόδειξη Δυσεπιλυσιμότητας. Εάν X P Y και το X δεν μπορεί να λυθεί σε πολυωνυμικό χρόνο, τότε και το Y δεν μπορεί να λυθεί σε πολυωνυμικό χρόνο. Ισοδυναμία. Εάν X P Y και Y P X, τότε X P Y. 7

Παράδειγμα μιας αναγωγής

ανεξάρτητο σύνολο (independent set) Ανεξάρτητο σύνολο: Για γράφημα G = (V, E) και ακέραιο k, υπάρχει σύνολο κορυφών S V τέτοιο ώστε S k, και για κάθε ακμή το πολύ μία κορυφή της να ανήκει στο S (ουσιαστικά δηλαδή να μην υπάρχουν ακμές μεταξύ των κορυφών του S); Παράδειγμα. Υπάρχει ανεξάρτητο σύνολο με μέγεθος 6; Ναι. Παράδειγμα. Υπάρχει ανεξάρτητο σύνολο με μέγεθος 7; Όχι. ανεξάρτητο σύνολο 9

Κάλυψη Κορυφών (Vertex Cover) Κάλυψη κορυφών: Για γράφημα G = (V, E) και ακέραιο k, υπάρχει σύνολο κορυφών S V τέτοιο ώστε S k, και για κάθε ακμή, τουλάχιστον ένα από τα άκρα της να βρίσκεται στο S; Παράδειγμα. Υπάρχει κάλυψη κορυφών μεγέθους 4; Ναι. Παράδειγμα. Υπάρχει κάλυψη κορυφών μεγέθους 3; Όχι. κάλυψη κορυφών 10

Κάλυψη κορυφών και ανεξάρτητο σύνολο Ισχυρισμός. Κάλυψη-κορυφών P Ανεξάρτητο-σύνολο. Απόδειξη. Θα δείξουμε ότι S είναι ένα ανεξάρτητο σύνολο αν και μόνο αν το V S είναι μια κάλυψη συνόλου. ανεξάρτητο σύνολο κάλυψη κορυφών 11

Κάλυψη κορυφών και ανεξάρτητο σύνολο Ισχυρισμός. Κάλυψη-κορυφών P Ανεξάρτητο-σύνολο. Απόδειξη. Θα δείξουμε ότι S είναι ένα ανεξάρτητο σύνολο αν και μόνο αν το V S είναι μια κάλυψη συνόλου. Έστω S ένα ανεξάρτητο σύνολο. Θεωρούμε μια αυθαίρετη ακμή (u, v). S ανεξάρτητο u S or v S u V S or v V S. Επομένως, το V S καλύπτει την ακμή (u, v). Έστω V S μία οποιαδήποτε κάλυψη κορυφών. Έστω δύο κόμβοι u S και v S. Παρατηρούμε ότι (u, v) E διότι το V S είναι μια κάλυψη κορυφών. Επομένως, κανένα ζεύγος κορυφών στο S δεν συνδέεται με ακμή S ανεξάρτητο σύνολο. 12

NP-πλήρη (NP-Complete) προβλήματα NP-Complete πρόβλημα: Ένα πρόβλημα Y είναι NP-Complete εάν Y NP, δηλαδή ανήκει στην κλάση NP, και για κάθε πρόβλημα X NP ισχύει X p Y, δηλαδή κάθε πρόβλημα Y του NP μπορεί να αναχθεί (με αναγωγή πολυωνυμικού χρόνου) στο X. Τα NP-Complete προβλήματα είναι τα δυσκολότερα προβλήματα της κλάσης NP. Υπάρχουν και άλλα, πολύ πιο δύσκολα προβλήματα, τα οποία όμως δεν ανήκουν στην κλάση NP. 13

Μια ιεραρχία αναγωγών Παρακάτω δίνονται μερικά γνωστά NP-Complete προβλήματα. Η ιεραρχία απεικονίζει με ποια σειρά μπορεί για παράδειγμα να γίνει η αναγωγή του ενός προβλήματος στο άλλο. Το αρχικό πρόβλημα είναι το 3-SAT (για το οποίο δίνεται εξαρχής ότι είναι NP-Complete) 14

πηγές-αναφορές Κεφάλαιο 8, Σχεδίαση Αλγορίθμων, J. Kleinberg and E. Tardos, Ελληνική έκδοση από τις Εκδ. Κλειδάριθμος 15