35
11/6/2012 1 Κλάση NP, NP-Complete Προβλήματα Βαγγέλης ∆ούρος [email protected] Αλγόριθμοι, Εαρινό Εξάμηνο 2012, Φροντιστήριο #14

Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος [email protected] Αλγόριθμοι, Εαρινό

Embed Size (px)

Citation preview

Page 1: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

11/6/20121

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

Βαγγέλης ∆ούρος[email protected]

Αλγόριθμοι, ΕαρινόΕξάμηνο 2012,

Φροντιστήριο #14

Page 2: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

2

Προβλήματα Απόφασης & Βελτιστοποίησης

Πρόβλημα Απόφασης:– Κάθε πρόβλημα που μπορεί να απαντηθεί με έναΝΑΙ ή ένα ΟΧΙ

Προβλήματα Βελτιστοποίησης:– Π.χ. Ποιο είναι το MST σε ένα μη-κατευθυνόμενογράφημα;

– ∆εν είναι πρόβλημα απόφασης– Μπορούμε όμως να διατυπώσουμε έναισοδύναμο πρόβλημα απόφασης ως εξής:

– Υπάρχει MST με κόστος Χ για το μη-κατευθυνόμενο γράφημα;

Page 3: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

3

Κλάσεις ΠολυπλοκότηταςΠροβλημάτων Απόφασης (1)

Η Κλάση Ρ(olynomial): Περιλαμβάνει τα προβλήματαπου επιλύονται (αποφασίζονται) από κάποιοαλγόριθμο εντός πολυωνυμικού χρόνου

– Περιλαμβάνει όλα* τα (ισοδύναμα) προβλήματα απόφασηςπου έχουμε δει στο φροντιστήριο μέχρι στιγμής

– *πλην του προβλήματος ‘της πεθεράς’ ;-)Η Κλάση ΝΡ: Περιλαμβάνει τα προβλήματα πουμπορούν να επαληθευτούν εντός πολυωνυμικούχρόνου

– ∆ώσε μου μια πιθανή λύση και θα σου απαντήσω εντόςπολυωνυμικού χρόνου αν είναι σωστή

– NP: Non Deterministic Polynomial

Page 4: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

4

Κλάσεις ΠολυπλοκότηταςΠροβλημάτων Απόφασης (2)

Ερώτηση: Αν ένα πρόβλημα ανήκει στην κλάση P, μπορούμε να βγάλουμε συμπέρασμα για το ανανήκει στην κλάση NP;Βεβαίως. Κάθε πρόβλημα που ανήκει στην κλάσηP, ανήκει σίγουρα και στην κλάση NPΆρα, P NP⊆

Page 5: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

5

Κλάσεις ΠολυπλοκότηταςΠροβλημάτων Απόφασης (3)

Ερώτηση: Κάθε πρόβλημα που ανήκει στηνκλάση ΝP, ανήκει σίγουρα και στην κλάση P;

– Με άλλα λόγια, ισχύει ότι NP P;– Αν ισχύει, αφού P NP και NP P, αυτό δηλαδή σημαίνειότι P=NP

– Αν δεν ισχύει, τότε P≠NP και μάλιστα P NP

Ωραία ερώτηση για το τελικό διαγώνισμα… ;-)Ή μήπως όχι; ∆είτε τις επόμενες διαφάνειες…

⊆⊆

Page 6: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

6

Κλάσεις ΠολυπλοκότηταςΠροβλημάτων Απόφασης (4)

Όποιος απαντήσει σωστά στην προηγούμενηερώτηση, κερδίζει:

– Την αγάπη μου---αξία ανεκτίμητη ;-)– 1.000.000$ ---“The millenium prize problems”

http://www.claymath.org/millennium/∆ε θα σας συμβούλευα να προσπαθήσετε πάντως…;-)

– Υπάρχουν και άλλοι τρόποι για να σας ‘αγαπάω’…∆είτε το http://www.win.tue.nl/~gwoegi/P-versus-NP.htm για προηγούμενες απόπειρες επίλυσης

Page 7: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

7

P vs. NP (1)

Το πρόβλημα P vs. NP είναι ΤΟ ανοιχτόπρόβλημα στο χώρο της θεωρητικήςπληροφορικής99,99999…9% η σωστή απάντηση είναι ότιP≠NPΚανένας όμως μέχρι σήμερα δεν έχεικαταφέρει να το αποδείξει– και να πείσει την επιστημονική κοινότητα ότι τοαπέδειξε σωστά

Page 8: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

8

P vs. NP (2)

0,000…0001% είναι η πιθανότητα η σωστήαπάντηση να είναι P=NPΑν ποτέ αποδεικνύονταν (ή αποδειχθεί) κάτιτέτοιο, θα υπάρξει απότομη μείωση τουπληθυσμού της γης! …– Τουλάχιστον όσων ασχολούνται με τη θεωρητικήπληροφορική…

– Π.χ. η έννοια της κρυπτογραφίας ‘καταρρέει’

Page 9: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

9

1ο Σενάριο: P≠NP (1)

NP-Complete (ΝP-Πλήρες)Πρόβλημα:

– Ανήκει στην κλάση NP– Όλα τα υπόλοιπα προβλήματατης κλάσης NP ανάγονται(πολυωνυμικά) σε αυτό

«Ένα πρόβλημα Α ανάγεταισε ένα πρόβλημα Β»

– Το Α ανήκει στην κλάση NP– To Β ανήκει στην κλάση NP-

Complete– To A δεν είναι πιο δύσκολο απότο Β

NP ProblemsP Problems

NP-Complete Problems

Page 10: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

10

1ο Σενάριο: P≠NP (2)

Ερώτηση: Και πώς θα βρω το 1ο πρόβλημαπου είναι NP-Complete για να ξεκινήσω τιςαναγωγές;ΤΟ θεώρημα του Cook (1971): Έναπρόβλημα ανήκει στην κλάση NP αν και μόνοαν είναι δυνατό να αναχθεί στο κύκλωμα SATΕρώτηση: Και γιατί μας ενδιαφέρουν τα NP-Complete προβλήματα;

Page 11: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

11

1ο Σενάριο: P≠NP (3)

Επειδή αν καταφέρουμε να λύσουμε έστωένα από αυτά εντός πολυωνυμικού χρόνου, τότε όλα τα προβλήματα στην κλάση NP θαλύνονται εντός πολυωνυμικού χρόνου– ∆ηλ. τότε P=NP(=NP-Complete)Ερώτηση: Και ποια προβλήματα είναι NP-Complete;– http://en.wikipedia.org/wiki/List_of_NP-

complete_problems

Page 12: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

12

Π.χ. NP-Complete Προβλημάτων (1)

Κύκλωμα SAT (Circuit Sat): ∆ίνεται κύκλωμα Βooleκαι οι τιμές μερικών εισόδων. Υπάρχουν τιμές και γιατις υπόλοιπες εισόδους τέτοιες που η έξοδος να γίνειTrue;3-SAT: ∆ίνεται πρόταση Boole σε κανονικήσυζευκτική μορφή που περιλαμβάνει το πολύ 3 στοιχεία ανά συνθήκη. Είναι ικανοποιήσιμη;To γενικό SAT είναι επίσης NP-CompleteΑΛΛΑ: Horn-SAT και 2-SAT ανήκουν στην κλάση P

Page 13: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

13

Π.χ. NP-Complete Προβλημάτων (2)

3-∆ιάστατο ταίριασμα: ∆ίδεται γράφημασυμβατότητας αγοριών-κοριτσιών-κατοικιδίων. Υπάρχει πλήρες ταίριασμα (δηλ. κάθε τριάδα να εμφανιστεί ακριβώς μιαφορά);Πρόβλημα Περιοδεύοντος Πωλητή (TSP):∆ίδεται γράφημα με βάρη και ένας ακέραιοςΚ. Υπάρχει κύκλος που περνά από όλουςτους κόμβους και έχει συνολικό βάρος <=Κ;

Page 14: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

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 αν δεδουλεύει απ΄ευθείας)

Page 15: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

15

Π.χ. NP-Complete Προβλημάτων (4)

Ανεξάρτητο Σύνολο (IS): ∆ίδεται γράφημα καιένας αριθμός g. Υπάρχει ένα σετ απότουλάχιστον g κόμβους που δε συνδέονταιμε ακμές;Κλίκα: ∆ίδεται γράφημα και ένας αριθμός g. Υπάρχουν τουλάχιστον g ζεύγη κορυφώνπου συνδέονται μεταξύ τους με ακμή;

Page 16: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

16

Π.χ. NP-Complete Προβλημάτων (5)

Κάλυμμα Κορυφής (Vertex Cover): ∆ίδεταιένα γράφημα και ένας αριθμός g. Υπάρχειένα σετ από κορυφές που να καλύπτει όλεςτις ακμές και να έχει μέγεθος το πολύ g;To πρόβλημα του knapsack δηλ. το‘πρόβλημα της πεθεράς’ που είδαμε στοφροντιστήριο #12…

Page 17: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

17

2ο Σενάριο: P=NP

Τότε όλα τα προβλήματα στην κλάση NP λύνονται εντός πολυωνυμικού χρόνου…P=NP(=NP-Complete)Τα NP-Complete προβλήματα είναι πλέοναντίστοιχης δυσκολίας με όλα τα υπόλοιπα

P=NP=NP-Complete

Page 18: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

18

∆ιάφορα Σχόλια

Υπάρχουν και άλλες κλάσειςπολυπλοκότητας πέρα από τις P, NP, NP-Complete– http://en.wikipedia.org/wiki/Complexity_classΕρώτηση: Πώς γίνονται οι αναγωγές από έναπρόβλημα που ανήκει στην κλάση NP σε έναπρόβλημα που είναι NP-Complete;– Μεγάλη Ιστορία…

Page 19: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

19

Ερώτηση #1

Το πρόβλημα 2-SAT ανήκει στην κλάση NP– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Αφού ανήκει στο P…

Page 20: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

20

Ερώτηση #2

Υπάρχει πολυωνυμικός αλγόριθμος για τοπρόβλημα του μονοπατιού του Hamilton

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPδ. Σωστό αν P=NP. Το πρόβλημα είναι NP-Complete…

Page 21: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

21

Ερώτηση #3

∆εν υπάρχει πολυωνυμικός αλγόριθμος γιατο πρόβλημα του Ανεξάρτητου Συνόλου

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPγ. Σωστό αν P≠NP. Το πρόβλημα είναι NP-Complete…

Page 22: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

22

Ερώτηση #4

Το πρόβλημα του τετραγωνισμού τουκύκλου ανήκει στην κλάση NP

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPβ. Λάθος. Είναι άλυτο πρόβλημα

Page 23: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

23

Ερώτηση #5

Το πρόβλημα 2-SAT ανάγεται πολυωνυμικάστο πρόβλημα SAT

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Το SAT είναι NP-Complete

Page 24: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

24

Ερώτηση #6

Αν αποδείξουμε ότι ένα πρόβλημα τηςκλάσης NP απαιτεί εκθετικό χρόνο, το ίδιοισχύει για κάθε πρόβλημα της κλάσης αυτής

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPβ. Λάθος. Υπάρχουν και τα προβλήματαπου ανήκουν στο P

Page 25: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

25

Ερώτηση #7

Το πρόβλημα της εύρεσης ενός κύκλουEuler ανήκει στην κλάση NP

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Αφού ανήκει στο P…

Page 26: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

26

Ερώτηση #8

Το πρόβλημα του Horn-SAT ανάγεταιπολυωνυμικά στο πρόβλημα τουΠεριοδεύοντος Πωλητή

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Το πρόβλημα του ΠεριοδεύοντοςΠωλητή είναι NP-Complete

Page 27: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

27

Ερώτηση #9

∆εν υπάρχει πολυωνυμικός αλγόριθμοςπου να λύνει το πρόβλημα 3-SAT

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPγ. Σωστό αν P≠NP. Το 3-SAT είναι NP-Complete

Page 28: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

28

Ερώτηση #10

Το πρόβλημα του κύκλου του Hamilton ανάγεται πολυωνυμικά στο πρόβλημα τηςκλίκας

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Η κλίκα είναι NP-Complete

Page 29: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

29

Ερώτηση #11

Υπάρχει τουλάχιστον ένα πρόβλημα στηνκλάση NP για το οποίο απαιτείται εκθετικόςχρόνος

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPγ. Σωστό αν P≠NP. Π.χ. το πρόβλημα τουSAT.

Page 30: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

30

Ερώτηση #12

Το πρόβλημα του 3-διαστατου ταιριάσματοςανάγεται πολυωνυμικά στο πρόβλημα 2-SAT

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPδ. Σωστό αν P=NP. Τότε P=NP=NP-Complete…

Page 31: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

31

Ερώτηση #13

Το πρόβλημα της κλίκας ανήκει στην κλάσηP

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPδ. Σωστό αν P=NP. Τότε P=NP=NP-Complete…

Page 32: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

32

Ερώτηση #14

Το πρόβλημα της εύρεσης ενός μονοπατιούEuler ανήκει στην κλάση P

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Γνωστό από θεωρία

Page 33: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

33

Ερώτηση #15

Το πρόβλημα του Περιοδεύοντος Πωλητήείναι NP-Complete

– α. Σωστό– β. Λάθος– γ. Σωστό αν P≠NP– δ. Σωστό αν P=NPα. Σωστό. Γνωστό από θεωρία

Page 34: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

34

Σχόλια;

Page 35: Κλάση NP, NP-Complete Προβλήματα · 1 11/6/2012 ΚλάσηNP, NP-Complete Προβλήματα Βαγγέλης∆ούρος douros@aueb.gr Αλγόριθμοι, Εαρινό

35

Ευχαριστώ!

Vaggelis G. DourosMobile Multimedia Laboratory

Department of InformaticsAthens University of Economics and Business

[email protected]://mm.aueb.gr/~douros