Η λίστα των προβλημάτων μας
DESCRIPTION
Η λίστα των προβλημάτων μας. Ταξινόμηση Αναζήτηση Συντομότερα μονοπάτια σε γράφο Ελάχιστα ζευγνύοντα δένδρα Έλεγχος πρώτων αριθμών Πρόβλημα περιοδεύοντας πωλητή Πρόβλημα σάκου Σκάκι Πύργοι του Hanoi Τερματισμός προγράμματος. Κατηγοριοποίηση πολυπλοκότητας προβλήματος. - PowerPoint PPT PresentationTRANSCRIPT
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο 1
Η λίστα των προβλημάτων μαςΗ λίστα των προβλημάτων μας
ΤαξινόμησηΤαξινόμηση ΑναζήτησηΑναζήτηση Συντομότερα μονοπάτια σε γράφοΣυντομότερα μονοπάτια σε γράφο Ελάχιστα ζευγνύοντα δένδραΕλάχιστα ζευγνύοντα δένδρα Έλεγχος πρώτων αριθμών Έλεγχος πρώτων αριθμών Πρόβλημα περιοδεύοντας πωλητήΠρόβλημα περιοδεύοντας πωλητή Πρόβλημα σάκουΠρόβλημα σάκου ΣκάκιΣκάκι Πύργοι τουΠύργοι του Hanoi Hanoi Τερματισμός προγράμματοςΤερματισμός προγράμματος
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο 2
Κατηγοριοποίηση πολυπλοκότητας Κατηγοριοποίηση πολυπλοκότητας προβλήματοςπροβλήματος
Υπάρχει κάποιος πολυωνυμικός αλγόριθμος επίλυσης του προβλήματος?
Πιθανές απαντήσεις: ΝΑΙ ΟΧΙ
• επειδή μπορεί να αποδειχθεί ότι όλοι οι αλγόριθμοι θέλουν εκθετικό χρόνο
• επειδή μπορεί να αποδειχθεί ότι δεν υπάρχει αλγόριθμος να επιλύσει αυτό το πρόβλημα
ΔΕΝ ΓΝΩΡΙΖΩ ΔΕΝ ΓΝΩΡΙΖΩ, αλλά αν εφευρισκόταν ένας τέτοιος αλγόριθμος, τότε
θα δινόταν λύση και σε πολλά άλλα προβλήματα σε πολυωνυμικό χρόνο
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο 3
Τύποι προβλημάτωνΤύποι προβλημάτων
Προβλήματα βελτιστοποίησηςΠροβλήματα βελτιστοποίησης: κατασκευάζουμε μια λύση που μεγιστοποιεί η ελαχιστοποιεί μια αντικειμενική συνάρτηση
Προβλήματα απόφασηςΠροβλήματα απόφασης: απάντηση με ΝΑΙ/ΌΧΙ σε μια ερώτηση
Πολλά προβλήματα έχουν εκδοχές βελτιστοποίησης η απόφασης. Π.χ. το πρόβλημα του περιοδεύοντας πωλητή
βελτιστοποίησηβελτιστοποίηση: βρες ένα hamiltonian κύκλο ελάχιστου βάρους
απόφασηαπόφαση: βρες ένα hamiltonian κύκλο βάρους < k
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο 4
Άλλα προβλήματαΆλλα προβλήματα
ΔιαμερισμόςΔιαμερισμός: Δεδομένων n θετικών ακεραίων, να βρεθεί αν είναι δυνατό να τους διαμερίσουμε σε δυο ανεξάρτητα υποσύνολα με το ίδιο άθροισμα
Bin packingBin packing: Δεδομένων n αντικειμένων με μέγεθος που είναι θετικός πραγματικός αριθμός όχι μεγαλύτερος του 1, να τοποθετηθούν στο μικρότερο αριθμό bins μεγέθους 1
Χρωματισμός γράφουΧρωματισμός γράφου: Να βρεθεί ο χρωματικός του αριθμός δεδομένου γράφου, δηλαδή ο μικρότερος αριθμός χρωμάτων που πρέπει να αποδοθούν στις κορυφές του γράφου ώστε να μην υπάρχουν δυο γειτονικές κορυφές με το ίδιο χρώμα
ΙκανοποιησιμΙκανοποιησιμότητα τητα CNFCNF: Δεδομένης λογικής πρότασης σε συζευκτική κανονική μορφή (σύζευξη διαζεύξεων εκφράσεων), υπάρχει μια απόδοση τιμών στις μεταβλητές που να καθιστά την έκφραση αληθή?
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο 5
Η κλάσηΗ κλάση PP
PP: η κλάση των προβλημάτων απόφασης, τα οποία επιλύονται σε χρόνο O(p(n)), όπου p(n) είναι ένα πολυώνυμο ως προς n
Γιατί πολυώνυμο ? Αν ΟΧΙ, πολύ αναποτελεσματικό Κομψές ιδιότητες κλεισίματος Ανεξάρτητες από μηχανές
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο 6
Η κλάσηΗ κλάση NPNP
NPNP: η κλάση των προβλημάτων απόφασης, τα οποία επιλύονται σε πολυωνυμικό χρόνο σε μια μη-αιτιοκρα-τική μηχανή
Ένας μη-αιτιοκρατικός υπολογιστής μπορεί να μαντέψειμαντέψει τη σωστή απάντηση ή λύση
Τα ΝΡ είναι μια κλάση προβλημάτων • με λύσεις που είναι επιβεβαιώσιμες σε πολυωνυμικό χρόνο, ή • που είναι επιλύσιμες σε πολυωνυμικό χρόνο σε μια μηχανή
που μπορεί να εκτελέσει παράλληλα άπειρους υπολογισμούς Σημείωση: η έκφραση NP σημαίνει “Nondeterministic
Polynomial-time”
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο 7
ΠαράδειγμαΠαράδειγμα: : ικανοποιησιμότητα ικανοποιησιμότητα CNFCNF
Το πρόβλημα είναι NP. Ο μη-αιτιοκρατικός αλγόριθμος:• μαντεύει τη σωστή απόδοση τιμών• ελέγχει αν οι αποδόσεις ικανοποιούν τον τύπο CNF
Παράδειγμα:(A⋁¬B⋁¬C) (⋀ ¬A⋁B) (⋀ ¬B⋁D⋁F) (⋀ F⋁¬D)
Αληθείς αποδόσεις: A B C D E F 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 0 0 1 ... (πόσες είναι συνολικά ?)
Φάση ελέγχου: Θ(n)
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο 8
Που βρισκόμαστε τώρα Που βρισκόμαστε τώρα ??
Έχει επιδειχθεί μη-αιτιοκρατικός πολυωνυμικός αλγόριθμος για την ικανοποιησιμότητα CNF
Το CNF-sat είναι σε NP Παρόμοιοι αλγόριθμοι μπορούν να βρεθούν για τα
προβλήματα TPS, HC, Partition, κλπ αποδεικνύο-ντας ότι αυτά τα προβλήματα είναι επίσης σε NP
Όλα τα προβλήματα σε P μπορούν επίσης να επιλυ-θούν με αυτόν τον τρόπο (αλλά χωρίς μαντεψιά), και συνεπώς ισχύει:
P ⊆ NP Η μεγάλη ερώτηση: PP = = NP NP ??
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο 9
ΠροβλήματαΠροβλήματα NPNP-complete-complete
Ένα πρόβλημα απόφασης D είναι NP-complete αν και μόνο αν
1. D ∈ NP
2. Κάθε πρόβλημα σε NP είναι μειώσιμομειώσιμο (reducible) σε πολυωνυμικό
χρόνο στο D
Θεώρημα του Θεώρημα του CookCook (1971):(1971): το CNF-sat είναι NP-complete
Άλλα NP-complete προβλήματα που λαμβάνονται μέσω πολύ-
ωνυμικών μειώσεων γνωστών NP-complete προβλημάτων
Η κλάση των NP-complete προβλημάτων δηλώνεται με NPC
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο 10
Μειώσεις (Μειώσεις (reductionsreductions))
Παράδειγμα: Πολυωνυμική μείωση του κατευθυνόμενου HC σε μη κατευθυνόμενο HC
y
vu
x
y3
v3
Το αποδεικνύει αυτό?• Το HC είναι δυσκολότερο ή ευκολότερο για κατευθυνόμενους γράφους?
→
x3x2x1
y1 y2
u1 u2 u3v2v1
• Αν το HC είναι NPC για κατευθυνόμενους γράφους, είναι επίσης NPC για μη κατευθυνόμενους γράφους? ή• Αν το HC είναι NPC για μη κατευθυνόμενους γράφους, είναι επίσης NPC για κατευθυνόμενους γράφους?