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



Σχετικά έγγραφα
Συνδυαστική Βελτιστοποίηση

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

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

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

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

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

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

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

Επιχειρησιακή Έρευνα

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

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

Επιχειρησιακή Έρευνα

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

2 η ΕΝΟΤΗΤΑ ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. ΕΝΟΤΗΤΑ: Γραμμικές Συναρτήσεις Διάκρισης. ΔΙΔΑΣΚΟΝΤΕΣ: Βλάμος Π. Αυλωνίτης Μ. ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

Ευρετικές Μέθοδοι. Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

Chapter 9: NP-Complete Problems

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

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

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

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

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

Εφαρμογή Υπολογιστικών Τεχνικών στην Γεωργία

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

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

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

Διδάσκων: Νίκος Λαγαρός

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

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

Ευρετικές Μέθοδοι. Ενότητα 3: Ευρετικές μέθοδοι αρχικοποίησης και βελτίωσης για το TSP. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής

Μέθοδοι Βελτιστοποίησης

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

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

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

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

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

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

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

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

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

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

Μαθηματικά. Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

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

Υπολογιστικά & Διακριτά Μαθηματικά

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

Μέθοδοι Βελτιστοποίησης

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

Επιχειρησιακή Έρευνα

Μαθηματική Ανάλυση Ι

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

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

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

Αυτοματοποιημένη χαρτογραφία

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

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Ευφυής Προγραμματισμός

Μαθηματική Ανάλυση ΙI

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

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Μοντελοποίηση Λογικών Κυκλωμάτων

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

Επιχειρησιακή Έρευνα

Transcript:

Ενότητα 4 Τμήμα Εφαρμοσμένης Πληροφορικής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

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

Knapsack Problem, με πολλαπλούς περιορισμούς Εάν υπάρχουν περισσότεροι από ένας περιορισμοί (π.χ., ένα όριο στο συνολικό όγκο και ένα όριο στο βάρος των αντικειμένων, όπου όμως ο όγκος και το βάρος ενός αντικειμένου δεν σχετίζονται), προκύπτει το knapsack problem με πολλαπλούς περιορισμούς, multi-dimensional knapsack problem, ή m-dimensional knapsack problem. Σε αυτήν την κατηγορία προβλημάτων δεν αναφερόμαστε στο σχήμα των αντικειμένων. Αυτό το πρόβλημα έχει διάφορες παραλλαγές, όπως π.χ. με μεταβλητές που λαμβάνουν δυαδικές τιμές, ή με μεταβλητές, φραγμένες ή μη, που παίρνουν ακέραιες τιμές, όπως για παράδειγμα: max z n j 1 n s.t. w x W, 1 i m j 1 j j ij j i x, 1 j n j p x 4

Knapsack-like Problems, bin packing problem[1] Εάν έχουμε έναν αριθμό φορτηγών οχημάτων (containers) ιδίου μεγέθους, και επιθυμούμε να στοιβάξουμε όλα τα n αντικείμενα (π.χ., παλέτες προϊόντων) σε όσο το δυνατόν λιγότερα φορτηγά οχήματα, το πρόβλημα που προκύπτει αναφέρεται στη βιβλιογραφία ως bin packing problem. Η μαθηματική του μορφοποίηση περιλαμβάνει δυαδικές μεταβλητές αποφάσεων: yi =1 ή 0, εφόσον το i φορτηγό όχημα χρησιμοποιείται ή όχι αντίστοιχα: min z s.t. n i 1 n j 1 n i 1 x ij y i w x x ij j ij i 1 W yi n n, 0,1 i 1, (containers), j 1, (items) 5

Knapsack-like Problems, bin packing problem[2] Για παράδειγμα, όταν ένα ferry boat φορτώνεται, οι στρατηγικές με τις οποίες χωρούν τα περισσότερα οχήματα σε κάθε ταξίδι μειώνει τους χρόνους αναμονής και κάνουν τη βέλτιστη χρήση των διαθέσιμων πόρων. 6

Προεκτάσεις στο Knapsack Problem Μελέτη ανάλυσης ευαισθησίας σε αλλαγές ενός υποσυνόλου βαρών στα σακίδια (knapsacks). Mhand Hifi, Hedi Mhalla, (2013). Sensitivity analysis to perturbations of the weight of a subset of items: The knapsack case study, Discrete Optimization, 10(4), 320-330. (URL: http://dx.doi.org/10.1016/j.disopt.2013.08.003) 7

Knapsack Problem, βιβλιογραφία Hans Kellerer, Ulrich Pferschy & David Pisinger, Knapsack Problems, Springer, 2010. Silvano Martello & Paolo Toth, Knapsack Problems: Algorithms and Computer Implementations, Wiley- Interscience Series in Discrete Mathematics and Optimization, 1990. Εφαρμογές στην κρυπτογραφία: Merkle, Ralph and Martin Hellman, (1978) Hiding information and signatures in trapdoor knapsacks, IEEE Transactions on Information Theory, 24(5), 525-530. 8

Knapsack Problem, μέθοδοι επίλυσης Πλήρη απαρίθμηση (brute force): Δοκιμάζουμε όλους τους πιθανούς συνδυασμούς αντικειμένων. Πόσοι είναι? Quiz: Έστω ότι, έχουμε στη διάθεση μας έναν σύγχρονο Η/Υ με επεξεργαστή τελευταίας γενιάς ο οποίος διενεργεί τον κάθε έλεγχο σε 10-6 δευτερόλεπτα. Πόσο υπολογιστικό χρόνο εκτιμάτε ότι απαιτείται για την επίλυση ενός στιγμιότυπου προβλήματος με n = 40 μεταβλητές? Υπάρχουν καλύτερες μέθοδοι επίλυσης από τη μέθοδο πλήρη απαρίθμησης? Απάντηση: Δυναμικός προγραμματισμός. 9

Εισαγωγή Προβλήματα Ανάλυση Αλγορίθμων & Υπολογιστική Πολυπλοκότητα Υπολογιστικά προβλήματα Στιγμιότυπα περιπτώσεις Διάσταση προβλήματος: αριθμός που δηλώνει πόσο μεγάλο είναι ένα πρόβλημα. Ασυμπτωτικός ρυθμός αύξησης (Asymptotic growth rate): Ένας τρόπος σύγκρισης συναρτήσεων που αγνοεί σταθερές και δεδομένα εισόδου μικρής διάστασης. Ορισμός: Δοθέντων δυο κατάλληλων συναρτήσεων g(n) και h(n) θα συμβολίζουμε με Θ(h(n), g(n)) το σύνολο των συναρτήσεων t(n) για τις οποίες υπάρχουν σταθερές Α, B > 0 τέτοιες ώστε να ισχύει η σχέση: Βh(n) t(n) Ag(n), για n = 1, 2, 10

Εμπειρική πολυπλοκότητα Στην ανάλυση αυτή κατασκευάζονται με τον ηλεκτρονικό υπολογιστή ομάδες προβλημάτων με ποικίλες (συνήθως αυξανόμενες) διαστάσεις. Τα προβλήματα κάθε ομάδας λύνονται με διαφορετικούς αλγόριθμους και υπολογίζονται οι μέσοι χρόνοι κάθε ομάδας για κάθε αλγόριθμο. Συγκρίνοντας τους μέσους χρόνους καθώς η διάσταση αυξάνει, είναι δυνατόν να εξάγουμε συμπεράσματα για τη σχετική αποτελεσματικότητα των αλγόριθμων. 11

Παράδειγμα υπολογιστικής μελέτης[1] Κατασκευή με Η/Υ ομάδων προβλημάτων με αυξανόμενες διαστάσεις. Τα προβλήματα κάθε ομάδας λύνονται με διαφορετικούς αλγόριθμους και υπολογίζονται οι μέσοι χρόνοι κάθε ομάδας για κάθε αλγόριθμο. Σύγκριση των μέσων χρόνων καθώς η διάσταση αυξάνει. Εξαγωγή συμπερασμάτων για τη σχετική αποτελεσματικότητα των αλγόριθμων. 12

Παράδειγμα υπολογιστικής μελέτης[2] Κατασκευή 10 ομάδων προβλημάτων, με αυξανόμενες διαστάσεις από 1.000 έως 10.000, με βήμα 1.000. Για κάθε ομάδα, δημιουργούμε 5 στιγμιότυπα. Τα 10 * 5 = 50 διαφορετικά προβλήματα θα λυθούν με 3 διαφορετικούς αλγόριθμους ταξινόμησης και θα υπολογιστούν οι μέσοι χρόνοι κάθε ομάδας για κάθε αλγόριθμο. Γράφημα που καταδεικνύει τη σύγκριση των μέσων χρόνων, καθώς η διάσταση αυξάνει. 13

Υπολογιστική πολυπλοκότητα (Computational Complexity) Ένας αλγόριθμος επιλύει ένα πρόβλημα σε πολυωνυμικό χρόνο, εάν η πολυπλοκότητα του της χειρότερης περίπτωσης ανήκει στην κλάση O( p(n) ), όπου p(n) είναι ένα πολυώνυμο του μεγέθους n της εισόδου του προβλήματος. Τα προβλήματα που μπορούν να επιλυθούν σε πολυωνυμικό χρόνο ονομάζονται βατά (tractable problems), ενώ αυτά που δεν μπορούν να επιλυθούν σε πολυωνυμικό χρόνο ονομάζονται μη-βατά (intractable problems). Η θεωρία της NP-πληρότητας εφαρμόζεται (τυπικά) σε προβλήματα αποφάσεων και όχι σε προβλήματα βελτιστοποίησης. Όμως, κάθε πρόβλημα βελτιστοποίησης είναι δυνατόν να το ανάγουμε σε ένα ισοδύναμο πρόβλημα απόφασης. Προβλήματα: Βελτιστοποίησης: λύση με βέλτιστη αντικειμενική τιμή. Απόφασης: απάντηση ΝΑΙ ή ΌΧΙ. Για παράδειγμα, το ισοδύναμο πρόβλημα απόφασης του προβλήματος του περιοδεύοντος πωλητή (TSP) είναι, δεδομένου ενός δικτύου G και ενός μηαρνητικού αριθμού k, εάν υπάρχει διαδρομή με συνολική απόσταση το πολύ k (?) 14

P, NP, και NP-πλήρη προβλήματα[1] Η κλάση Ρ είναι εκείνη η κλάση των προβλημάτων απόφασης, τα οποία μπορούν να επιλυθούν σε πολυωνυμικό χρόνο, με τη χρήση αιτιοκρατικών (deterministic) αλγορίθμων. Η κλάση αυτή των προβλημάτων ονομάζεται πολυωνυμική (polynomial). Ορισμένα προβλήματα απόφασης δεν είναι επιλύσιμα από κανέναν γνωστό αλγόριθμο. Τέτοιου είδους προβλήματα ονομάζονται μηαποφασίσιμα (undecidable problems). Για παράδειγμα το πρόβλημα του τερματισμού (halting problem), από τον A. Turing το 1936. Η κλάση NP είναι εκείνη η κλάση των προβλημάτων απόφασης, τα οποία μπορούν να επιλυθούν από μη-αιτιοκρατικούς πολυωνυμικούς αλγορίθμους. Η κλάση αυτή των προβλημάτων, αποκαλείται πολυωνυμική μη-αιτιοκρατική (nondeterministic polynomial). 15

P, NP, και NP-πλήρη προβλήματα[2] Πιο απλά, ένας πολυωνυμικός μη-αιτιοκρατικός αλγόριθμος θεωρούμε ότι είναι ικανός να «μαντέψει» μια λύση ενός προβλήματος απόφασης, τουλάχιστον μια φορά και να είναι σε θέση να επιβεβαιώσει την εγκυρότητα της σε πολυωνυμικό χρόνο. Τα περισσότερα προβλήματα ανήκουν στην κλάση ΝΡ, η οποία συμπεριλαμβάνει όλα τα προβλήματα της κλάσης Ρ: Ρ ΝΡ Αυτό ισχύει διότι, εάν ένα πρόβλημα ανήκει στην κλάση Ρ τότε μπορεί να επιλυθεί αιτιοκρατικά σε πολυωνυμικό χρόνο. Οπότε, για αυτό το πρόβλημα μπορεί και να επαληθευτεί η (βέλτιστη) λύση (από έναν μη-αιτιοκρατικό αλγόριθμο) σε πολυωνυμικό χρόνο. 16

P, NP, και NP-πλήρη προβλήματα[3] Η κλάση ΝΡ συμπεριλαμβάνει πάρα πολλά προβλήματα συνδυαστικής βελτιστοποίησης, όπως για παράδειγμα τις εκδόσεις των προβλημάτων απόφασης του προβλήματος του περιοδεύοντος πωλητή (TSP), του προβλήματος του σακιδίου (knapsack problem), κ.λ.π. Το πλέον σημαντικό ανοιχτό ερευνητικό πρόβλημα της επιστήμης της θεωρητικής πληροφορικής, είναι εάν η κλάση Ρ είναι γνήσιο υποσύνολο της κλάσης ΝΡ ή αυτές οι δυο κλάσεις ταυτίζονται στην πραγματικότητα? Lance Fortnow, The status of the P versus NP problem, Communications of the ACM, 52(9), 78-86, 2009. (URL: http://doi.acm.org/10.1145/1562164.1562186) http://www.claymath.org/millennium/p_vs_np Βραβείο: 1.000.000$ 17

P, NP, και NP-πλήρη προβλήματα[4] Ένα πρόβλημα απόφασης D καλείται ΝΡπλήρες (NP-complete), εάν: Ανήκει στην κλάση ΝΡ Κάθε άλλο πρόβλημα της κλάσης ΝΡ είναι πολυωνυμικά αναγόμενο στο D. Τα NP-hard προβλήματα αποτελούν μια κλάση προβλημάτων τα οποία είναι «τουλάχιστον τόσο δύσκολα όσο και τα δυσκολότερα προβλήματα της κατηγορίας NP». 18

P, NP, και NP-πλήρη προβλήματα[5] M. Garey, D. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman Publications, (1979). 19

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