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



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

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

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

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

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

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

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

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

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

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

βασικές έννοιες (τόμος Β)

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

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

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

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

Chapter 7, 8 : Completeness

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

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

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

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

Ορισμένες Κατηγορίες Αλγορίθμων

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

conp and Function Problems

Chapter 9: NP-Complete Problems

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

(elementary graph algorithms)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

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

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

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

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

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

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι είδαμε την προηγούμενη φορά. Συνεκτικότητα. 25 -Γράφοι

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

ILP-Feasibility conp

Κουτσιούμπας Αχιλλέας U. Adamy, C. Ambuehl, R. Anand, T. Erlebach

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

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

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

Ασκήσεις από παλιές εξετάσεις

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

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

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

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

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

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

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

HY118-Διακριτά Μαθηματικά. Τι είδαμε την προηγούμενη φορά. Θεωρία γράφων / γραφήματα. 25 -Γράφοι. ΗΥ118, Διακριτά Μαθηματικά Άνοιξη 2017

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

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

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

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

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

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

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

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

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

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είδαµε την προηγούµενη φορά. Συνεκτικότητα Γράφοι

Συνδυαστική Βελτιστοποίηση

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

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

Transcript:

Κλάσεις Πολυπλοκότητας Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr Κλάσεις Πολυπλοκότητας 1

Οι κλάσεις πολυπλοκότητας P και NP P: Polynomial ΗκλάσηP περιλαμβάνει όλα τα υπολογιστικά προβλήματα που μπορούν να λυθούν σε πολυωνυμικό χρόνο. NP: Non-deterministic polynomial ΗκλάσηNP περιλαμβάνει όλα τα προβλήματα τα οποία είναι verifiable (θα συζητηθεί αμέσως παρακάτω) σε πολυωνυμικό χρόνο Κλάσεις Πολυπλοκότητας 2

ΗκλάσηNP Κλάση NP: Όλα τα προβλήματα για οποία η λύση μπορεί να επαληθευτεί σε πολυωνυμικό χρόνο Διαφορετική περιγραφή: Όλα τα προβλήματα τα οποία μπορούν να λυθούν σε πολυωνυμικό χρόνο από μια μη-ντετερμινιστική μηχανή Turing Μη-ντετερμινιστική μηχανή Turing: Μια μηχανή Turing που σε κάθε βήμα μπορεί και μαντεύει σωστά όταν πρέπει να επιλέξει μεταξύ περισσότερων της μιας επιλογών. Κλάσεις Πολυπλοκότητας 3

Πέρα από την κλάση NP Μια μη-ντετερμινιστική μηχανή Turing είναι ένα (μηρεαλιστικό) πολύ ισχυρό υπολογιστικό μοντέλο...... που δίνει την εντύπωση ότι μπορεί να λύσει αποδοτικά οποιοδήποτε υπολογιστικό πρόβλημα. Είναι όμως έτσι; ΟΧΙ. Υπάρχουν υπολογιστικά προβλήματα που (μέχρι στιγμής) ούτε μια μη-ντετερμινιστική μηχανή Turing δεν μπορεί να τα λύσει σε πολυωνυμικό χρόνο και επομένως δεν (φαίνεται να) ανήκουνστηνκλάσηnp. Παραδείγματα προβλημάτων που (πιθανότατα) δεν ανήκοουν στην κλάση NP: Σύνθετα προβλήματα planning ανθρώπινων και υλικών πόρων ΟκύβοςτουRubik ήταπαιχνίδιαfifteen-puzzle Εκφράσεις κατηγορηματικής λογικής: x x x x... xn 1 xnφ( x1, x2, x3, x4,..., xn 1, x 1 2 3 4 n ) Κλάσεις Πολυπλοκότητας 4

Κλάσεις Πολυπλοκότητας PSPACE NP P co-np Κλάσεις Πολυπλοκότητας 5

Έναπαράδειγμαπροβλήματοςστην κλάση NP Έστω η ακόλουθη εκδοχή του προβλήματος του περιοδεύοντος πωλητή: Δίνεται ένα πλήρες γράφημα G με βάρη στις ακμές, και ένας αριθμός B και ζητείται να βρεθεί εάν υπάρχει περιοδεία μήκους B Είναι NP-hard πρόβλημα Εάν δοθεί μια λύση, μπορούμε σε πολυωνυμικό χρόνο να επαληθεύσουμε εάν είναι έγκυρη ή όχι Κλάσεις Πολυπλοκότητας 6

Προβλήματα Απόφασης - Βελτιστοποίησης Απόφαση (Decision): Υπάρχει διαδρομή για τον πλανόδιο πωλητή με το πολύ Β χιλιόμετρα; Βελτιστοποίηση (Optimization): Ποιο είναι μήκος της ελάχιστης διαδρομής για τον πλανόδιο πωλητή; Κλάσεις Πολυπλοκότητας 7

Προβλήματα πλήρη για την κλάση NP NP-πλήρη (NP-Complete) προβλήματα Εάν βρεθεί πολυωνυμικός αλγόριθμος για ένα πολυωνυμικό πρόβλημα τότε αυτό συνεπάγεται πολυωνυμικούς αλγόριθμους για όλα τα προβλήματα της κλάσης NP Κλάσεις Πολυπλοκότητας 8

Ορολογία P: Προβλήματα Πολυωνυμικής Πολυπλοκότητας Χρόνου NP: Πολυωνυμική επιβεβαίωση λύσης ή Μηντετερμινιστική πολυωνυμική πολυπλοκότητα χρόνου NP-hard: Προβλήματα τουλάχιστον τόσο «δύσκολα» όσο οποιοδήποτε πρόβλημα της κλάσης NP NP-Complete: NP-hard πρόβλημα που ανήκει στην κλάση NP Κλάσεις Πολυπλοκότητας 9

SAT (Satisfiability) Το πρώτο NP-Complete πρόβλημα: Satisfiability Δίνονται: N λογικές μεταβλητές και μια λογική έκφραση με τις μεταβλητές αυτές. Ζητούμενο: Υπάρχει ανάθεση τιμών στις μεταβλητές ώστε να είναι αληθής η τιμή όλης της έκφρασης; Κλάσεις Πολυπλοκότητας 10

NP-Complete προβλήματα Clique: Σε γράφημα G = (V,E) υπάρχει κλίκα μεγέθους τουλάχιστον Κ; (Κλίκα: σύνολο κόμβων τέτοιο για κάθε ζεύγος υπάρχει ακμή μεταξύ τους) Hamiltonian Hamiltonian Cycle: Σε γράφημα G = (V,E) να βρεθεί κλειστό μονοπάτι που περνάει από κάθε κορυφή ακριβώς μία φορά Κλάσεις Πολυπλοκότητας 11

Αναγωγές Ο πιο συνηθισμένος τρόπος για να δείξουμε ότι ένα πρόβλημα P είναι NP- Complete είναι να ακολουθήσουμε τα παρακάτω βήματα: 1. Αποδεικνύουμε ότι το P ανήκει στην κλάση NP 2. Ένα πρόβλημα Q που είναι NP-Complete ανάγεται στο πρόβλημα P (Η αναγωγή πρέπει να μπορεί να γίνει σε πολυωνυμικό χρόνο). Κλάσεις Πολυπλοκότητας 12

Παράδειγμα Εάν είναι γνωστό ότι το πρόβλημα του Hamiltonian Circuit είναι NP-Complete να δείξετε ότι το πρόβλημα του πλανόδιου πωλητή TSP είναι επίσης NP-Complete. Κλάσεις Πολυπλοκότητας 13

Δεύτερο Παράδειγμα Subgraph Isomorphism Εάν είναι γνωστό ότι το πρόβλημα της μέγιστης Clique είναι NP-Complete να δειχθεί ότι είναι επίσης NP-Complete τα προβλήματα Independent Set Subgraph Isomorphism Κλάσεις Πολυπλοκότητας 14

Αναφορές-Πηγές Βιβλίο του μαθήματος: Κεφάλαιο 11 Introduction to Algorithms, Κεφάλαιο 34 Algorithm Design, Κεφάλαια 8, 9 Κλάσεις Πολυπλοκότητας 15