Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Κεφάλαιο 1. Εισαγωγή: Κάποια Αντιπροσωπευτικά Προβλήµατα. Έκδοση 1.3, 29/02/2012. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

1.1 Ένα πρώτο πρόβληµα: Ευσταθές Ταίριασµα

Κεφάλαιο 4. Άπληστοι Αλγόριθµοι (Greedy Algorithms) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 4. Δυναµικός Προγραµµατισµός (Dynamic Programming) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

για NP-Δύσκολα Προβλήματα

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

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

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

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

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

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

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Προσεγγιστικοί Αλγόριθμοι

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

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

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

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

Κεφάλαιο 1. Εισαγωγή: Ευσταθές Ταίριασμα και άλλα Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.5, 30/10/2014

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

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

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

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

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

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

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

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

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

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

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

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

Προσεγγιστικοί Αλγόριθμοι

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών &

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,

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

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

Ορισμένες Κατηγορίες Αλγορίθμων

Κεφάλαιο 3. Γραφήματα. v1.3 ( ) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Προσεγγιστικοί Αλγόριθμοι

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

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

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

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι

Κεφάλαιο 3. Γραφήµατα v1.1 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Το πρόβλημα του σταθερού γάμου

Κατανεμημένα Συστήματα Ι

Κεφάλαιο 2. Βασικά στοιχεία ανάλυσης αλγορίθμων. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

Γράφοι: κατευθυνόμενοι και μη

Εισαγωγή στην Επιστήμη των Υπολογιστών

Βασικές Έννοιες Δοµών Δεδοµένων

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι έχουμε δει μέχρι τώρα. Υπογράφημα. 24 -Γράφοι

Εισαγωγή στην Επιστήμη των Υπολογιστών

Chapter 9: NP-Complete Problems

Δυναμικός Προγραμματισμός

περιεχόμενα υπολογιστικό πρόβλημα αλγόριθμοι παράδειγμα ταξινόμησης ταξινόμηση αλγόριθμοι τεχνολογία αλγορίθμων Παύλος Εφραιμίδης

HY118-Διακριτά Μαθηματικά

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

υναμικός Προγραμματισμός

υναμικός Προγραμματισμός

Αξιολόγηση Ευριστικών Αλγορίθµων

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

Δυναμικός Προγραμματισμός

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

Κεφάλαιο 2. Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014

Κεφάλαιο 3. Γραφήματα. ver. 21/12/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Ακέραιος Γραµµικός Προγραµµατισµός

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

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

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

Ακέραιος Γραµµικός Προγραµµατισµός

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

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

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

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

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

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

Κεφάλαιο 2. Βασικά στοιχεία ανάλυσης αλγορίθµων. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Σειρά Προβλημάτων 5 Λύσεις

Φροντιστήριο 11 Λύσεις

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

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

Transcript:

Κεφάλαιο 1 Πέντε Αντιπροσωπευτικά Προβλήματα Έκδοση 1.4, 30/10/2014 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1

1.2 Πέντε Αντιπροσωπευτικά Προβλήματα

1. Χρονοπρογραμματισμός Διαστημάτων (Interval Scheduling) Είσοδος. Ένα σύνολο εργασιών (jobs) μα χρόνους εκκίνησης και χρόνους τερματισμού. Σκοπός. Να βρεθεί μέγιστο υποσύνολο εργασιών που είναι συμβατές μεταξύ τους. συμβατές εργασίες: εργασίες που δεν επικαλύπτονται a b c d e f g 0 1 2 3 4 5 6 7 8 9 10 11 h Χρόνος 3

Χρονοπρογραμματισμός Διαστημάτων (Interval Scheduling) Πολυπλοκότητα: Το πρόβλημα ανήκει στην κλάση P των προβλημάτων που επιτρέπουν λύση σε πολυωνυμικό χρόνο (polynomial time). Μία λύση: Όπως θα δούμε σε παρακάτω μάθημα μπορεί να επιλυθεί με έναν «άπληστο» (greedy) αλγόριθμο. Η χρήση απληστίας είναι μια αλγοριθμική τεχνική. 4

2. Σταθμισμένος χρονοπρογραμματισμός διαστημάτων (weighted interval scheduling) Είσοδος. Ένα σύνολο εργασιών με χρόνους εκκίνησης, χρόνους τερματισμού και βάρη. Σκοπός. Να βρεθεί υποσύνολο μεγίστου βάρους με εργασίες που είναι συμβατές μεταξύ τους. 23 12 20 26 13 20 11 0 1 2 3 4 5 6 7 8 9 10 11 16 Χρόνος 5

Σταθμισμένος χρονοπρογραμματισμός διαστημάτων (weighted interval scheduling) Πολυπλοκότητα: Είναι πιο απαιτητικό πρόβλημα από τον απλό χρονοπρογραμματισμό διαστημάτων, όμως ανήκει και αυτό στην κλάση P (επιλύεται σε πολυωνυμικό χρόνο). Μία λύση: Με χρήση της αλγοριθμικής τεχνικής του δυναμικού προγραμματισμού (dynamic programming) 6

3. Διμερές ταίριασμα (bipartite matching) Είσοδος. Διμερές γράφημα. Σκοπός. Να βρεθεί ταίριασμα με μέγιστο πλήθος ακμών. A 1 B 2 C 3 D 4 E 5 7

Διμερές ταίριασμα (bipartite matching) Πολυπλοκότητα: Ανήκει στην κλάση P (επιλύεται σε πολυωνυμικό χρόνο). Μια λύση: Με χρήση της αλγοριθμικής τεχνικής της επαύξησης (augmentation). Σταδιακά υπολογίζεται ένα όλο και μεγαλύτερο ταίριασμα οπισθοδρομώντας (backtracking) επιλεκτικά. 8

4. Ανεξάρτητο σύνολο (independent set) Είσοδος. Γράφημα. Σκοπός. Να βρεθεί ανεξάρτητο σύνολο με το μέγιστο πλήθος κορυφών. ανεξάρτητο σύνολο: υποσύνολο κορυφών τέτοιο ώστε δεν υπάρχει ακμή μεταξύ των κορυφών αυτών 1 2 3 4 5 6 7 9

Ανεξάρτητο σύνολο (independent set) Το πρόβλημα του ανεξάρτητου συνόλου: Ίσως δεν του φαίνεται με την πρώτη ματιά, είναι όμως ένα πολύ γενικό πρόβλημα. Ο χρονοπρογραμματισμός διαστημάτων και το διμερές ταίριασμα μπορούν να κωδικοποιηθούν ως ειδικές περιπτώσεις του προβλήματος του ανεξαρτήτου συνόλου. Αυτό σημαίνει ότι ένας αλγόριθμος για το ανεξάρτητο σύνολο θα μπορούσε να επιλύσει τον χρονοπρογραμματισμό διαστημάτων, και το διμερές ταίριασμα. Αναγωγές: Ένας αλγόριθμος για το ανεξάρτητο σύνολο μπορεί να λύσει και το πρόβλημα του χρονοπρογραμματισμού διαστημάτων. Επίσης, ο ίδιος αλγόριθμος μπορεί να λύσει το πρόβλημα του διμερούς ταιριάσματος. 10

Ανεξάρτητο σύνολο (independent set) Πολυπλοκότητα. Το πρόβλημα του ανεξαρτήτου συνόλου θεωρείται ότι δεν ανήκει στην κλάση P. Είναι γνωστό ότι είναι πλήρες για την κλάση NP (non-deterministic polynomial). Λύση. Δεν είναι γνωστός κάποιος πολυωνυμικός αλγόριθμος για την επίλυση του προβλήματος. Εάν όμως μας δοθεί μια έτοιμη λύση, μπορούμε σε πολυωνυμικό χρόνο να επιβεβαιώσουμε την ορθότητα της λύσης. Παράδειγμα: Για ένα γράφημα με 1000 κόμβους θέλουμε να βρούμε εάν υπάρχει ανεξάρτητο σύνολο μεγέθους 100. Εύρεση ανεξάρτητου συνόλου: Δεν γνωρίζουμε αλγόριθμο πολυωνυμικού χρόνου που μπορεί να το κάνει αυτό. Επιβεβαίωση: Εάν όμως μας δοθεί ένα τέτοιο ανεξάρτητο σύνολο τότε μπορούμε σε πολυωνυμικό χρόνο να επιβεβαιώσουμε ότι πράγματι είναι ένα τέτοιο ανεξάρτητο σύνολο. Παρατήρηση: Ίσως το θέμα της αποδοτικής επιβεβαίωσης να μοιάζει μικρής σημασίας. Θα δούμε όμως (ξεκινώντας από το επόμενο πρόβλημα) ότι είναι ένα πολύ σημαντικό κριτήριο. 11

5. Ανταγωνιστική χωροθέτηση υπηρεσιών (competitive facility location) Είσοδος. Γράφημα με βάρος σε κάθε κόμβο. Παίγνιο. Δύο παίκτες επιλέγουν κόμβους εναλλάξ. Δεν επιτρέπεται η επιλογή ενός κόμβου εάν έχει ήδη επιλεγεί κάποιος από τους γείτονές του. Σκοπός. Να επιλεγεί ένα υποσύνολο κόμβων μεγίστου βάρους. 10 1 5 15 5 1 5 1 15 10 Ο δεύτερος παίκτης μπορεί να εγγυηθεί συνολικό βάρος 20, όχι όμως 25. 12

Ανταγωνιστική χωροθέτηση υπηρεσιών (competitive facility location) Πολυπλοκότητα. Φαίνεται να είναι μην ανήκει στην κλάση P αλλά ούτε και στην κλάση NP. Είναι πλήρες για την κλάση PSPACE. Επιβεβαίωση. Για συγκεκριμένο στιγμιότυπο του προβλήματος μπορούμε να δείξουμε ότι ο παίκτης μπορεί πάντοτε να πετύχει πχ. σκορ τουλάχιστον 25; Εάν θεωρήσουμε ότι κάποιος γνωρίζει την απάντηση, μπορεί να μας πείσει και εμάς; Αρκετά επιτραπέζια παιχνίδια στρατηγικής είναι πλήρη για την κλάση PSPACE και επομένως δεν γνωρίζουμε κάποιον αποδοτικό αλγόριθμο για την βέλτιστη επίλυσή τους. 13

Πέντε Αντιπροσωπευτικά Προβλήματα 1. Χρονοπρογραμματισμός διαστημάτων: n log n άπληστος (greedy) αλγόριθμος. 2. Σταθμισμένος χρονοπρογραμματισμός διαστημάτων: n log n αλγόριθμος με δυναμικό προγραμματισμό. 23 12 20 26 13 20 11 16 A 1 3. Διμερές ταίριασμα: n k αλγόριθμος βασισμένος αλγόριθμο μέγιστης ροής. B 2 C 3 D 4 E 5 4. Ανεξάρτητο σύνολο: NP-πλήρης (NP-complete). 3 1 4 2 5 6 7 5. Ανταγωνιστική χωροθέτηση εργασιών: PSPACE-πλήρης (PSPACEcomplete). 10 1 5 15 5 1 5 1 15 10 14

πηγές/αναφορές Κεφάλαιο 1, Σχεδίαση Αλγορίθμων, J. Kleinberg and E. Tardos, Ελληνική έκδοση από τις Εκδ. Κλειδάριθμος Αγγλικές διαφάνειες για το πρώτο κεφάλαιο από τον Kevin Wayne. 15