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

Σχετικά έγγραφα
Υπολογιστική Πολυπλοκότητα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

Μέγιστη Ροή Ελάχιστη Τομή

Chapter 7, 8 : Completeness

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

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

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

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

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

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

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

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

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

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

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

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

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

Αναζήτηση Κατά Πλάτος

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

Μέγιστη Ροή Ελάχιστη Τομή

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

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

Γραμμικός Προγραμματισμός

Chapter 7, 8 : Time, Space Complexity

Γραμμικός Προγραμματισμός

Chapter 9: NP-Complete Problems

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

Πιθανοτικοί Αλγόριθμοι

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

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

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

Συντομότερες ιαδρομές

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

υναμικός Προγραμματισμός

Γραμμικός Προγραμματισμός

υναμικός Προγραμματισμός

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

Αναζήτηση Κατά Πλάτος

Συντομότερες ιαδρομές

Συντομότερες Διαδρομές

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

Υπολογιστικό Πρόβληµα

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

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

υναμικός Προγραμματισμός

Αναζήτηση Κατά Πλάτος

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων

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

Συντομότερες Διαδρομές

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

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

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

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

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

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

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

Δυναμικός Προγραμματισμός

CSC 314: Switching Theory

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

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

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

Συντομότερες ιαδρομές

ILP-Feasibility conp

Αναζήτηση Κατά Πλάτος

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

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

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

Βασικές Έννοιες Θεωρίας Γραφημάτων

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

Βασικές Έννοιες Θεωρίας Γραφημάτων

Δυναμικός Προγραμματισμός

Μοντελοποίηση προβληµάτων

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

Μετασχηματισμοί, Αναπαράσταση και Ισομορφισμός Γραφημάτων

Τεχνητή Νοημοσύνη. 8η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Transcript:

Υπολογιστική Πολυπλοκότητα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Υπολογιστική Πολυπλοκότητα Γιατί κάποια (επιλύσιμα) προβλήματα είναι δύσκολο να λυθούν από υπολογιστικές μηχανές. Ποια επιλύσιμα προβλήματα είναι εύκολα και ποια δύσκολα; Αντικείμενο: ελάχιστοι υπολογιστικοί πόροι για επιλύσιμα προβλήματα. Εύλογοι υπολογιστικοί πόροι: ευεπίλυτα προβλήματα. Fractional knapsack, minimum spanning tree, shortest paths, max-flow, min-cut, linear programming, ιαφορετικά, δισεπίλυτα προβλήματα. TSP, discrete knapsack, vertex cover, independent set, set cover, scheduling, Επίδραση υπολογιστικού μοντέλου. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Υπολογιστική Πολυπλοκότητα 2

Προσέγγιση Κλάσεις προβλημάτων (complexity classes) με παρόμοια υπολογιστική «δυσκολία» (computational complexity). Με (κατάλληλη) αναγωγή ορίζουμε «διάταξη» προβλημάτων σε κάθε κλάση (με βάση δυσκολία). υσκολότερα προβλήματα: πλήρη για την κλάση, συνοψίζουν δυσκολία κλάσης. Πλήρες πρόβλημα «εύκολο»: όλη η κλάση «εύκολη». Αρνητικό αποτέλεσμα: όλα τα πλήρη προβλήματα «δύσκολα». Έτσι (προσπαθούμε να) καθορίσουμε επαρκείς υπολογιστικούς πόρους για επίλυση δύσκολων προβλημάτων. ιαλεκτική σχέση αλγόριθμων και πολυπλοκότητας. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Υπολογιστική Πολυπλοκότητα 3

Χρονική Πολυπλοκότητα Χρονική πολυπλοκότητα DTM M: Αύξουσα συνάρτηση t : N N ώστε για κάθε x, x = n, M(x) τερματίζει σε t(n) βήματα. Χρονική πολυπλοκότητα προβλήματος Π: Χρονική πολυπλοκότητα «ταχύτερης» DTMπου λύνει Π. Κλάση Ιεραρχία κλάσεων χρονικής πολυπλοκότητας: Πολυωνυμικός χρόνος: Εκθετικός χρόνος: Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Υπολογιστική Πολυπλοκότητα 4

Ευεπίλυτα Προβλήματα Κλάση P : προβλήματα απόφασης που λύνονται σε πολυωνυμικό χρόνο. Θέση Cook Karp : κλάση ευεπίλυτων προβλημάτων ταυτίζεται με κλάση P. Υπέρ θέσης Cook Karp: Συνήθως πολυώνυμα μικρού βαθμού (π.χ. n, n 2, n 3 ). Κλειστότητα κλάσης. ιπλασιασμός υπολογιστικής ισχύος: σημαντική αύξηση στο μέγεθος στιγμιότυπων που λύνουμε. Εναντίον θέσης Cook Karp: Ακραίες περιπτώσεις: πρακτικό το n 100 αλλά όχι το (1.001) n! Γραμμικός Προγραμματισμός: Simplex εκθετικού χρόνου αλλά πολύ γρήγορος στην πράξη. Ελλειψοειδές πολυωνυμικού χρόνου αλλά καθόλου πρακτικός! Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Υπολογιστική Πολυπλοκότητα 5

(Πολυωνυμική) Αναγωγή Π 1 ανάγεται πολυωνυμικά σε Π 2 (Π 1 P Π 2 ): Υπάρχει πολυωνυμικά υπολογίσιμη συνάρτηση R: Σ * Σ * ώστε x Σ *, x Π 1 R(x) Π 2. R καλείται πολυωνυμική αναγωγή. Π 1 P Π 2 : Π 2 είναι τουλ. τόσο δύσκολο όσο το Π 1 (για τον υπολογισμό σε πολυωνυμικό χρόνο). Αν Π 2 P, τότε και Π 1 P. Αν Π 1 P, τότε και Π 2 P. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) 6

Πληρότητα Έστω C μια κλάση προβλημάτων. ΠείναιC-δύσκολο (C-hard) ως προς αναγωγή R αν κάθε πρόβλημα Π στην C ανάγεται κατά R στο Π. Αν Π C και Π είναι C-δύσκολο ως προς αναγωγή R, τότε Π είναι C-πλήρες (C-complete) ως προς R. Πλήρη προβλήματα (ως προς κατάλληλη αναγωγή) συνοψίζουν υπολογιστική δυσκολία κλάσης C. Αναγωγή πρέπει να είναι «λίγο ευκολότερη» από «δυσκολότερα» προβλήματα στην κλάση C. Κλάση C κλειστή ως προς αναγωγή R αν Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Υπολογιστική Πολυπλοκότητα 7

Ιδιότητες Αναγωγής Κλάση P είναι κλειστή ως προς πολυωνυμική αναγωγή. Αν Π 2 P, τότε και Π 1 P. Πολυωνυμική αναγωγή είναι μεταβατική. Σύνθεση πολυωνυμικών αναγωγών αποτελεί πολυωνυμική αναγωγή. Αν Π 1 P Π 2 και Π 2 P Π 1, τότε Π 1 και Π 2 πολυωνυμικά ισοδύναμα, Π 1 P Π 2. Κλάσεις κλειστές ως προς αναγωγή R με κοινό πλήρες πρόβλημα ως προς αναγωγή R ταυτίζονται. Έστω κλάσεις C 1, C 2 κλειστές ως προς αναγωγή R. Αν C 1, C 2 έχουν κοινό πλήρες πρόβλημα Π ως προς αναγωγή R, τότε C 1 = C 2. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Υπολογιστική Πολυπλοκότητα 8

(Απλά) Παραδείγματα Αναγωγών Κύκλος Hamilton P TSP με αποστάσεις 1 και 2 TSP(1, 2). ίνεται γράφημα G(V, E). Έχει G κύκλο Hamilton; Από G, κατασκευάζουμε στιγμιότυπο I G του TSP(1, 2): Μία «πόλη» u για κάθε κορυφή u V. Συμμετρικές αποστάσεις: G έχει κύκλο Hamilton ανν I G έχει περιοδεία μήκους V. TSP(1, 2) P Metric TSP. 1 ο ειδική περίπτωση 2 ου : αποστάσεις 1 και 2 ικανοποιούν τριγωνική ανισότητα. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Υπολογιστική Πολυπλοκότητα 9

(Απλά) Παραδείγματα Αναγωγών Min Vertex Cover P Max Independent Set P Max Clique. Vertex cover C σε γράφημα G(V, E) ανν independent set V \ C σε γράφημα G ανν clique V \ C σε συμπληρωματικό γράφημα. Έστω μη κατευθυνόμενο γράφημα G(V, E), V = n. Τα παρακάτω είναι ισοδύναμα: Το G έχει vertex cover k. Το G έχει independent set n k. To συμπληρωματικό έχει clique n k. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Υπολογιστική Πολυπλοκότητα 10

k-ικανοποιησιμότητα Λογική πρόταση φ σε k-συζευκτική Κανονική Μορφή, k-cnf: k-ικανοποιησιμότητα: ίνεται φ σε k-cnf. Είναι φ ικανοποιήσιμη; Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Υπολογιστική Πολυπλοκότητα 11

2-Ικανοποιησιμότητα 2-Ικανοποιησιμότητα P. Παρατηρούμε ότι Κατασκευάζουμε κατευθυν. γράφημα G φ με «συνεπαγωγές» φ. G φ έχει κορυφές Για κάθε όρο Ακμές και μονοπάτια G φ εμφανίζουν συμμετρία: Όμως φ μη ικανοποιήσιμη ανν υπάρχουν x i x i και x i x i μονοπάτια. Λόγω αυτών, καμία αποτίμηση x i και x i σε συμπληρωματικές τιμές δεν ικανοποιεί φ. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015)

«ύσκολα» Προβλήματα Τι κάνουμε όταν ένα πρόβλημα φαίνεται «δύσκολο»; «ύσκολο»: μετά από μεγάλη προσπάθεια, δεν βρίσκουμε αποδοτικό αλγόριθμο (πολυωνυμικού χρόνου). Πάμεστοαφεντικόκαιλέμε: εν μπορώ να βρω αποδοτικό αλγόριθμο. Απόλυση! εν υπάρχει αποδοτικός αλγόριθμος. Too good to be true! Κανένας δεν μπορεί να βρει αποδοτικό αλγόριθμο: Ανάγουμε πολυωνυμικά κάποιο γνωστό NP-πλήρες πρόβλημα στο «δικό μας». Θεωρία NP-πληρότητας. NP-πλήρη: κλάση εξαιρετικά σημαντικών προβλημάτων που ανάγονται πολυωνυμικά το ένα στο άλλο. Είτε όλα λύνονται σε πολυωνυμικό χρόνο είτε κανένα. Έχουν μελετηθεί τόσο πολύ, ώστε όλοι πιστεύουν ότι κανένα! Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Υπολογιστική Πολυπλοκότητα 13