Κλάση NP, NP-Complete Προβλήματα Βαγγέλης ούρος douros@aueb.gr 1 11/6/2012 Αλγόριθμοι, Εαρινό Εξάμηνο 2012, Φροντιστήριο #14
Προβλήματα Απόφασης & Βελτιστοποίησης 2 Πρόβλημα Απόφασης: Κάθε πρόβλημα που μπορεί να απαντηθεί με ένα ΝΑΙ ή ένα ΟΧΙ Προβλήματα Βελτιστοποίησης: Π.χ. Ποιο είναι το MST σε ένα μη-κατευθυνόμενο γράφημα; εν είναι πρόβλημα απόφασης Μπορούμε όμως να διατυπώσουμε ένα ισοδύναμο πρόβλημα απόφασης ως εξής: Υπάρχει MST με κόστος Χ για το μηκατευθυνόμενο γράφημα;
Κλάσεις Πολυπλοκότητας Προβλημάτων Απόφασης (1) Η Κλάση Ρ(olynomial): Περιλαμβάνει τα προβλήματα που επιλύονται (αποφασίζονται) από κάποιο αλγόριθμο εντός πολυωνυμικού χρόνου Περιλαμβάνει όλα* τα (ισοδύναμα) προβλήματα απόφασης που έχουμε δει στο φροντιστήριο μέχρι στιγμής *πλην του προβλήματος της πεθεράς ;-) Η Κλάση ΝΡ: Περιλαμβάνει τα προβλήματα που μπορούν να επαληθευτούν εντός πολυωνυμικού χρόνου ώσε μου μια πιθανή λύση και θα σου απαντήσω εντός πολυωνυμικού χρόνου αν είναι σωστή NP: Non Deterministic Polynomial 3
Κλάσεις Πολυπλοκότητας Προβλημάτων Απόφασης (2) Ερώτηση: Αν ένα πρόβλημα ανήκει στην κλάση P, μπορούμε να βγάλουμε συμπέρασμα για το αν ανήκει στην κλάση NP; Βεβαίως. Κάθε πρόβλημα που ανήκει στην κλάση P, ανήκει σίγουρα και στην κλάση NP Άρα, P NP 4
Κλάσεις Πολυπλοκότητας Προβλημάτων Απόφασης (3) Ερώτηση: Κάθε πρόβλημα που ανήκει στην κλάση ΝP, ανήκει σίγουρα και στην κλάση P; Με άλλα λόγια, ισχύει ότι NP P; Αν ισχύει, αφού P NP και NP P, αυτό δηλαδή σημαίνει ότι P=NP Αν δεν ισχύει, τότε P NP και μάλιστα P NP Ωραία ερώτηση για το τελικό διαγώνισμα ;-) Ή μήπως όχι; είτε τις επόμενες διαφάνειες 5
Κλάσεις Πολυπλοκότητας Προβλημάτων Απόφασης (4) Όποιος απαντήσει σωστά στην προηγούμενη ερώτηση, κερδίζει: Την αγάπη μου---αξία ανεκτίμητη ;-) 1.000.000$ --- The millenium prize problems http://www.claymath.org/millennium/ ε θα σας συμβούλευα να προσπαθήσετε πάντως ;-) Υπάρχουν και άλλοι τρόποι για να σας αγαπάω είτε το http://www.win.tue.nl/~gwoegi/p-versus- NP.htm για προηγούμενες απόπειρες επίλυσης 6
P vs. NP (1) Το πρόβλημα P vs. NP είναι ΤΟ ανοιχτό πρόβλημα στο χώρο της θεωρητικής πληροφορικής 99,99999 9% η σωστή απάντηση είναι ότι P NP Κανένας όμως μέχρι σήμερα δεν έχει καταφέρει να το αποδείξει και να πείσει την επιστημονική κοινότητα ότι το απέδειξε σωστά 7
P vs. NP (2) 0,000 0001% είναι η πιθανότητα η σωστή απάντηση να είναι P=NP Αν ποτέ αποδεικνύονταν (ή αποδειχθεί) κάτι τέτοιο, θα υπάρξει απότομη μείωση του πληθυσμού της γης! Τουλάχιστον όσων ασχολούνται με τη θεωρητική πληροφορική Π.χ. η έννοια της κρυπτογραφίας καταρρέει 8
1ο Σενάριο: P NP (1) 9 NP-Complete (ΝP-Πλήρες) Πρόβλημα: Ανήκει στην κλάση NP Όλαταυπόλοιπαπροβλήματα της κλάσης NP ανάγονται (πολυωνυμικά) σε αυτό «ΈναπρόβλημαΑανάγεται σε ένα πρόβλημα Β» Το Α ανήκει στην κλάση NP To Β ανήκει στην κλάση NP- Complete To A δεν είναι πιο δύσκολο από το Β P Problems NP Problems NP-Complete Problems
1ο Σενάριο: P NP (2) Ερώτηση: Και πώς θα βρω το 1ο πρόβλημα που είναι NP-Complete για να ξεκινήσω τις αναγωγές; ΤΟ θεώρημα του Cook (1971): Ένα πρόβλημα ανήκει στην κλάση NP αν και μόνο αν είναι δυνατό να αναχθεί στο κύκλωμα SAT Ερώτηση: Και γιατί μας ενδιαφέρουν τα NP- Complete προβλήματα; 10
1ο Σενάριο: P NP (3) 11 Επειδή αν καταφέρουμε να λύσουμε έστω ένα από αυτά εντός πολυωνυμικού χρόνου, τότε όλαταπροβλήματαστηνκλάσηnp θα λύνονται εντός πολυωνυμικού χρόνου ηλ. τότε P=NP(=NP-Complete) Ερώτηση: Και ποια προβλήματα είναι NP- Complete; http://en.wikipedia.org/wiki/list_of_npcomplete_problems
Π.χ. NP-Complete Προβλημάτων (1) Κύκλωμα SAT (Circuit Sat): ίνεται κύκλωμα Βoole και οι τιμές μερικών εισόδων. Υπάρχουν τιμές και για τις υπόλοιπες εισόδους τέτοιες που η έξοδος να γίνει True; 3-SAT: ίνεται πρόταση Boole σε κανονική συζευκτική μορφή που περιλαμβάνει το πολύ 3 στοιχεία ανά συνθήκη. Είναι ικανοποιήσιμη; To γενικό SAT είναι επίσης NP-Complete ΑΛΛΑ: Horn-SAT και 2-SAT ανήκουν στην κλάση P 12
Π.χ. NP-Complete Προβλημάτων (2) 3- ιάστατο ταίριασμα: ίδεται γράφημα συμβατότητας αγοριών-κοριτσιώνκατοικιδίων. Υπάρχει πλήρες ταίριασμα (δηλ. κάθε τριάδα να εμφανιστεί ακριβώς μια φορά); Πρόβλημα Περιοδεύοντος Πωλητή (TSP): ίδεται γράφημα με βάρη και ένας ακέραιος Κ. Υπάρχει κύκλος που περνά από όλους τους κόμβους και έχει συνολικό βάρος <=Κ; 13
Π.χ. NP-Complete Προβλημάτων (3) Κύκλος/μονοπάτι Hamilton (Rubrata): ίδεται γράφημα. Υπάρχει (κλειστό) μονοπάτι που να περνά από κάθε κορυφή ακριβώς μια φορά (εκτός από την 1η και τελευταία κορυφή); ΑΛΛΑ: Κύκλος/μονοπάτι Euler: ίδεται γράφημα. Υπάρχει (κλειστό) μονοπάτι που να περνά από κάθε ακμή ακριβώς μια φορά; Το πρόβλημα αυτό ανήκει στην κλάση P Ωραίες σημειώσεις για Hamilton+Euler paths/cycles στο www.cs.cmu.edu/~adamchik/21-127/lectures/graphs_3_print.pdf (κάντε το copy-paste αν δε δουλεύει απ ευθείας) 14
Π.χ. NP-Complete Προβλημάτων (4) Ανεξάρτητο Σύνολο (IS): ίδεται γράφημα και ένας αριθμός g. Υπάρχει ένα σετ από τουλάχιστον g κόμβους που δε συνδέονται με ακμές; Κλίκα: ίδεται γράφημα και ένας αριθμός g. Υπάρχουν τουλάχιστον g ζεύγη κορυφών που συνδέονται μεταξύ τους με ακμή; 15
Π.χ. NP-Complete Προβλημάτων (5) Κάλυμμα Κορυφής (Vertex Cover): ίδεται ένα γράφημα και ένας αριθμός g. Υπάρχει ένα σετ από κορυφές που να καλύπτει όλες τις ακμές και να έχει μέγεθος το πολύ g; To πρόβλημα του knapsack δηλ. το πρόβλημα της πεθεράς που είδαμε στο φροντιστήριο #12 16
2ο Σενάριο: P=NP Τότε όλα τα προβλήματα στην κλάση NP λύνονται εντός πολυωνυμικού χρόνου P=NP(=NP-Complete) Τα NP-Complete προβλήματα είναι πλέον αντίστοιχης δυσκολίας με όλα τα υπόλοιπα P=NP=NP-Complete 17
ιάφορα Σχόλια Υπάρχουν και άλλες κλάσεις πολυπλοκότητας πέρα από τις P, NP, NP- Complete http://en.wikipedia.org/wiki/complexity_class Ερώτηση: Πώς γίνονται οι αναγωγές από ένα πρόβλημα που ανήκει στην κλάση NP σε ένα πρόβλημα που είναι NP-Complete; Μεγάλη Ιστορία 18
Ερώτηση #1 Το πρόβλημα 2-SAT ανήκει στην κλάση NP α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP α. Σωστό. Αφού ανήκει στο P 19
Ερώτηση #2 Υπάρχει πολυωνυμικός αλγόριθμος για το πρόβλημα του μονοπατιού του Hamilton α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP δ. Σωστό αν P=NP. Το πρόβλημα είναι NP- Complete 20
Ερώτηση #3 εν υπάρχει πολυωνυμικός αλγόριθμος για το πρόβλημα του Ανεξάρτητου Συνόλου α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP γ. Σωστό αν P NP. Το πρόβλημα είναι NP- Complete 21
Ερώτηση #4 Το πρόβλημα του τετραγωνισμού του κύκλου ανήκει στην κλάση NP α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP β. Λάθος. Είναι άλυτο πρόβλημα 22
Ερώτηση #5 Το πρόβλημα 2-SAT ανάγεται πολυωνυμικά στο πρόβλημα SAT α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP α. Σωστό. Το SAT είναι NP-Complete 23
Ερώτηση #6 Αν αποδείξουμε ότι ένα πρόβλημα της κλάσης NP απαιτεί εκθετικό χρόνο, το ίδιο ισχύει για κάθε πρόβλημα της κλάσης αυτής α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP β. Λάθος. Υπάρχουν και τα προβλήματα που ανήκουν στο P 24
Ερώτηση #7 Το πρόβλημα της εύρεσης ενός κύκλου Euler ανήκει στην κλάση NP α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP α. Σωστό. Αφού ανήκει στο P 25
Ερώτηση #8 Το πρόβλημα του Horn-SAT ανάγεται πολυωνυμικά στο πρόβλημα του Περιοδεύοντος Πωλητή α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP α. Σωστό. Το πρόβλημα του Περιοδεύοντος Πωλητή είναι NP-Complete 26
Ερώτηση #9 εν υπάρχει πολυωνυμικός αλγόριθμος που να λύνει το πρόβλημα 3-SAT α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP γ. Σωστό αν P NP. Το 3-SAT είναι NP- Complete 27
Ερώτηση #10 Το πρόβλημα του κύκλου του Hamilton ανάγεται πολυωνυμικά στο πρόβλημα της κλίκας α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP α. Σωστό. Η κλίκα είναι NP-Complete 28
Ερώτηση #11 Υπάρχει τουλάχιστον ένα πρόβλημα στην κλάση NP για το οποίο απαιτείται εκθετικός χρόνος α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP γ. Σωστό αν P NP. Π.χ. το πρόβλημα του SAT. 29
Ερώτηση #12 Το πρόβλημα του 3-διαστατου ταιριάσματος ανάγεται πολυωνυμικά στο πρόβλημα 2- SAT α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP δ. Σωστό αν P=NP. Τότε P=NP=NP- Complete 30
Ερώτηση #13 Το πρόβλημα της κλίκας ανήκει στην κλάση P α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP δ. Σωστό αν P=NP. Τότε P=NP=NP- Complete 31
Ερώτηση #14 Το πρόβλημα της εύρεσης ενός μονοπατιού Euler ανήκει στην κλάση P α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP α. Σωστό. Γνωστό από θεωρία 32
Ερώτηση #15 Το πρόβλημα του Περιοδεύοντος Πωλητή είναι NP-Complete α. Σωστό β. Λάθος γ. Σωστό αν P NP δ. Σωστό αν P=NP α. Σωστό. Γνωστό από θεωρία 33
34 Σχόλια;
Ευχαριστώ! Vaggelis G. Douros Mobile Multimedia Laboratory Department of Informatics Athens University of Economics and Business douros@aueb.gr http://mm.aueb.gr/~douros 35