Upload
dokhuong
View
234
Download
0
Embed Size (px)
Citation preview
11/6/20121
Κλάση NP, NP-CompleteΠροβλήματα
Βαγγέλης ∆ούρος[email protected]
Αλγόριθμοι, ΕαρινόΕξάμηνο 2012,
Φροντιστήριο #14
2
Προβλήματα Απόφασης & Βελτιστοποίησης
Πρόβλημα Απόφασης:– Κάθε πρόβλημα που μπορεί να απαντηθεί με έναΝΑΙ ή ένα ΟΧΙ
Προβλήματα Βελτιστοποίησης:– Π.χ. Ποιο είναι το MST σε ένα μη-κατευθυνόμενογράφημα;
– ∆εν είναι πρόβλημα απόφασης– Μπορούμε όμως να διατυπώσουμε έναισοδύναμο πρόβλημα απόφασης ως εξής:
– Υπάρχει MST με κόστος Χ για το μη-κατευθυνόμενο γράφημα;
3
Κλάσεις ΠολυπλοκότηταςΠροβλημάτων Απόφασης (1)
Η Κλάση Ρ(olynomial): Περιλαμβάνει τα προβλήματαπου επιλύονται (αποφασίζονται) από κάποιοαλγόριθμο εντός πολυωνυμικού χρόνου
– Περιλαμβάνει όλα* τα (ισοδύναμα) προβλήματα απόφασηςπου έχουμε δει στο φροντιστήριο μέχρι στιγμής
– *πλην του προβλήματος ‘της πεθεράς’ ;-)Η Κλάση ΝΡ: Περιλαμβάνει τα προβλήματα πουμπορούν να επαληθευτούν εντός πολυωνυμικούχρόνου
– ∆ώσε μου μια πιθανή λύση και θα σου απαντήσω εντόςπολυωνυμικού χρόνου αν είναι σωστή
– NP: Non Deterministic Polynomial
4
Κλάσεις ΠολυπλοκότηταςΠροβλημάτων Απόφασης (2)
Ερώτηση: Αν ένα πρόβλημα ανήκει στην κλάση P, μπορούμε να βγάλουμε συμπέρασμα για το ανανήκει στην κλάση NP;Βεβαίως. Κάθε πρόβλημα που ανήκει στην κλάσηP, ανήκει σίγουρα και στην κλάση NPΆρα, P NP⊆
5
Κλάσεις ΠολυπλοκότηταςΠροβλημάτων Απόφασης (3)
Ερώτηση: Κάθε πρόβλημα που ανήκει στηνκλάση ΝP, ανήκει σίγουρα και στην κλάση P;
– Με άλλα λόγια, ισχύει ότι NP P;– Αν ισχύει, αφού P NP και NP P, αυτό δηλαδή σημαίνειότι P=NP
– Αν δεν ισχύει, τότε P≠NP και μάλιστα P NP
Ωραία ερώτηση για το τελικό διαγώνισμα… ;-)Ή μήπως όχι; ∆είτε τις επόμενες διαφάνειες…
⊆
⊂
⊆⊆
6
Κλάσεις ΠολυπλοκότηταςΠροβλημάτων Απόφασης (4)
Όποιος απαντήσει σωστά στην προηγούμενηερώτηση, κερδίζει:
– Την αγάπη μου---αξία ανεκτίμητη ;-)– 1.000.000$ ---“The millenium prize problems”
http://www.claymath.org/millennium/∆ε θα σας συμβούλευα να προσπαθήσετε πάντως…;-)
– Υπάρχουν και άλλοι τρόποι για να σας ‘αγαπάω’…∆είτε το http://www.win.tue.nl/~gwoegi/P-versus-NP.htm για προηγούμενες απόπειρες επίλυσης
7
P vs. NP (1)
Το πρόβλημα P vs. NP είναι ΤΟ ανοιχτόπρόβλημα στο χώρο της θεωρητικήςπληροφορικής99,99999…9% η σωστή απάντηση είναι ότιP≠NPΚανένας όμως μέχρι σήμερα δεν έχεικαταφέρει να το αποδείξει– και να πείσει την επιστημονική κοινότητα ότι τοαπέδειξε σωστά
8
P vs. NP (2)
0,000…0001% είναι η πιθανότητα η σωστήαπάντηση να είναι P=NPΑν ποτέ αποδεικνύονταν (ή αποδειχθεί) κάτιτέτοιο, θα υπάρξει απότομη μείωση τουπληθυσμού της γης! …– Τουλάχιστον όσων ασχολούνται με τη θεωρητικήπληροφορική…
– Π.χ. η έννοια της κρυπτογραφίας ‘καταρρέει’
9
1ο Σενάριο: P≠NP (1)
NP-Complete (ΝP-Πλήρες)Πρόβλημα:
– Ανήκει στην κλάση NP– Όλα τα υπόλοιπα προβλήματατης κλάσης NP ανάγονται(πολυωνυμικά) σε αυτό
«Ένα πρόβλημα Α ανάγεταισε ένα πρόβλημα Β»
– Το Α ανήκει στην κλάση NP– To Β ανήκει στην κλάση NP-
Complete– To A δεν είναι πιο δύσκολο απότο Β
NP ProblemsP Problems
NP-Complete Problems
10
1ο Σενάριο: P≠NP (2)
Ερώτηση: Και πώς θα βρω το 1ο πρόβλημαπου είναι NP-Complete για να ξεκινήσω τιςαναγωγές;ΤΟ θεώρημα του Cook (1971): Έναπρόβλημα ανήκει στην κλάση NP αν και μόνοαν είναι δυνατό να αναχθεί στο κύκλωμα SATΕρώτηση: Και γιατί μας ενδιαφέρουν τα NP-Complete προβλήματα;
11
1ο Σενάριο: P≠NP (3)
Επειδή αν καταφέρουμε να λύσουμε έστωένα από αυτά εντός πολυωνυμικού χρόνου, τότε όλα τα προβλήματα στην κλάση NP θαλύνονται εντός πολυωνυμικού χρόνου– ∆ηλ. τότε P=NP(=NP-Complete)Ερώτηση: Και ποια προβλήματα είναι NP-Complete;– http://en.wikipedia.org/wiki/List_of_NP-
complete_problems
12
Π.χ. NP-Complete Προβλημάτων (1)
Κύκλωμα SAT (Circuit Sat): ∆ίνεται κύκλωμα Βooleκαι οι τιμές μερικών εισόδων. Υπάρχουν τιμές και γιατις υπόλοιπες εισόδους τέτοιες που η έξοδος να γίνειTrue;3-SAT: ∆ίνεται πρόταση Boole σε κανονικήσυζευκτική μορφή που περιλαμβάνει το πολύ 3 στοιχεία ανά συνθήκη. Είναι ικανοποιήσιμη;To γενικό SAT είναι επίσης NP-CompleteΑΛΛΑ: Horn-SAT και 2-SAT ανήκουν στην κλάση P
13
Π.χ. NP-Complete Προβλημάτων (2)
3-∆ιάστατο ταίριασμα: ∆ίδεται γράφημασυμβατότητας αγοριών-κοριτσιών-κατοικιδίων. Υπάρχει πλήρες ταίριασμα (δηλ. κάθε τριάδα να εμφανιστεί ακριβώς μιαφορά);Πρόβλημα Περιοδεύοντος Πωλητή (TSP):∆ίδεται γράφημα με βάρη και ένας ακέραιοςΚ. Υπάρχει κύκλος που περνά από όλουςτους κόμβους και έχει συνολικό βάρος <=Κ;
14
Π.χ. 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 αν δεδουλεύει απ΄ευθείας)
15
Π.χ. NP-Complete Προβλημάτων (4)
Ανεξάρτητο Σύνολο (IS): ∆ίδεται γράφημα καιένας αριθμός g. Υπάρχει ένα σετ απότουλάχιστον g κόμβους που δε συνδέονταιμε ακμές;Κλίκα: ∆ίδεται γράφημα και ένας αριθμός g. Υπάρχουν τουλάχιστον g ζεύγη κορυφώνπου συνδέονται μεταξύ τους με ακμή;
16
Π.χ. NP-Complete Προβλημάτων (5)
Κάλυμμα Κορυφής (Vertex Cover): ∆ίδεταιένα γράφημα και ένας αριθμός g. Υπάρχειένα σετ από κορυφές που να καλύπτει όλεςτις ακμές και να έχει μέγεθος το πολύ g;To πρόβλημα του knapsack δηλ. το‘πρόβλημα της πεθεράς’ που είδαμε στοφροντιστήριο #12…
17
2ο Σενάριο: P=NP
Τότε όλα τα προβλήματα στην κλάση NP λύνονται εντός πολυωνυμικού χρόνου…P=NP(=NP-Complete)Τα NP-Complete προβλήματα είναι πλέοναντίστοιχης δυσκολίας με όλα τα υπόλοιπα
P=NP=NP-Complete
18
∆ιάφορα Σχόλια
Υπάρχουν και άλλες κλάσειςπολυπλοκότητας πέρα από τις P, NP, NP-Complete– http://en.wikipedia.org/wiki/Complexity_classΕρώτηση: Πώς γίνονται οι αναγωγές από έναπρόβλημα που ανήκει στην κλάση NP σε έναπρόβλημα που είναι NP-Complete;– Μεγάλη Ιστορία…
19
Ερώτηση #1
Το πρόβλημα 2-SAT ανήκει στην κλάση NP– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Αφού ανήκει στο P…
20
Ερώτηση #2
Υπάρχει πολυωνυμικός αλγόριθμος για τοπρόβλημα του μονοπατιού του Hamilton
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPδ. Σωστό αν P=NP. Το πρόβλημα είναι NP-Complete…
21
Ερώτηση #3
∆εν υπάρχει πολυωνυμικός αλγόριθμος γιατο πρόβλημα του Ανεξάρτητου Συνόλου
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPγ. Σωστό αν P≠NP. Το πρόβλημα είναι NP-Complete…
22
Ερώτηση #4
Το πρόβλημα του τετραγωνισμού τουκύκλου ανήκει στην κλάση NP
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPβ. Λάθος. Είναι άλυτο πρόβλημα
23
Ερώτηση #5
Το πρόβλημα 2-SAT ανάγεται πολυωνυμικάστο πρόβλημα SAT
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Το SAT είναι NP-Complete
24
Ερώτηση #6
Αν αποδείξουμε ότι ένα πρόβλημα τηςκλάσης NP απαιτεί εκθετικό χρόνο, το ίδιοισχύει για κάθε πρόβλημα της κλάσης αυτής
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPβ. Λάθος. Υπάρχουν και τα προβλήματαπου ανήκουν στο P
25
Ερώτηση #7
Το πρόβλημα της εύρεσης ενός κύκλουEuler ανήκει στην κλάση NP
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Αφού ανήκει στο P…
26
Ερώτηση #8
Το πρόβλημα του Horn-SAT ανάγεταιπολυωνυμικά στο πρόβλημα τουΠεριοδεύοντος Πωλητή
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Το πρόβλημα του ΠεριοδεύοντοςΠωλητή είναι NP-Complete
27
Ερώτηση #9
∆εν υπάρχει πολυωνυμικός αλγόριθμοςπου να λύνει το πρόβλημα 3-SAT
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPγ. Σωστό αν P≠NP. Το 3-SAT είναι NP-Complete
28
Ερώτηση #10
Το πρόβλημα του κύκλου του Hamilton ανάγεται πολυωνυμικά στο πρόβλημα τηςκλίκας
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Η κλίκα είναι NP-Complete
29
Ερώτηση #11
Υπάρχει τουλάχιστον ένα πρόβλημα στηνκλάση NP για το οποίο απαιτείται εκθετικόςχρόνος
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPγ. Σωστό αν P≠NP. Π.χ. το πρόβλημα τουSAT.
30
Ερώτηση #12
Το πρόβλημα του 3-διαστατου ταιριάσματοςανάγεται πολυωνυμικά στο πρόβλημα 2-SAT
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPδ. Σωστό αν P=NP. Τότε P=NP=NP-Complete…
31
Ερώτηση #13
Το πρόβλημα της κλίκας ανήκει στην κλάσηP
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPδ. Σωστό αν P=NP. Τότε P=NP=NP-Complete…
32
Ερώτηση #14
Το πρόβλημα της εύρεσης ενός μονοπατιούEuler ανήκει στην κλάση P
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Γνωστό από θεωρία
33
Ερώτηση #15
Το πρόβλημα του Περιοδεύοντος Πωλητήείναι NP-Complete
– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Γνωστό από θεωρία
34
Σχόλια;
35
Ευχαριστώ!
Vaggelis G. DourosMobile Multimedia Laboratory
Department of InformaticsAthens University of Economics and Business
[email protected]://mm.aueb.gr/~douros