Άπληστοι Αλγόριθμοι. Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Σχετικά έγγραφα
Άπληστοι Αλγόριθμοι. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Άπληστοι Αλγόριθμοι. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Άπληστοι Αλγόριθµοι. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 1

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

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

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

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

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

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

Διωνυµικοί Συντελεστές. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1

Συντομότερες ιαδρομές

Ελάχιστο Συνδετικό Δέντρο

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Ελάχιστο Συνδετικό Δέντρο

Ελάχιστο Συνδετικό έντρο

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

Συντομότερες ιαδρομές

Συντομότερες Διαδρομές

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

Συντομότερες Διαδρομές

Ελάχιστο Συνδετικό Δέντρο

Ελάχιστο Συνδετικό έντρο

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

Συντομότερες ιαδρομές

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

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Quicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

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

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Υπολογιστικό Πρόβληµα

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

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

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

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι

Επιλογή. Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

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

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

Quicksort. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Επιλογή. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Ουρά Προτεραιότητας: Heap

Μαθηματική Επαγωγή. Τεχνικές Απόδειξης. Αποδείξεις Ύπαρξης. Μαθηματική Επαγωγή

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Αλγόριθμοι και πολυπλοκότητα Η Άπληστη Μέθοδος

Επιλογή. Πρόβλημα Επιλογής. Μέγιστο / Ελάχιστο. Εφαρμογές

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

2η Σειρά Γραπτών Ασκήσεων

Αναζήτηση Κατά Βάθος. Επιμέλεια διαφανειών: Δ. Φωτάκης Συμπληρώσεις: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11

Quicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

(Γραμμικές) Αναδρομικές Σχέσεις

Επιλογή. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

(Γραμμικές) Αναδρομικές Σχέσεις

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

Σχέσεις. ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Μέγιστη Ροή Ελάχιστη Τομή

Μέγιστη Ροή Ελάχιστη Τομή

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

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

ιακριτές Μέθοδοι για την Επιστήμη των Υπολογιστών

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

Πιθανοτικοί Αλγόριθμοι

Outline. 6 Edit Distance

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

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

ιµελής Σχέση ιατεταγµένο ζεύγος (α, β): ύο αντικείµενα (όχι κατ ανάγκη διαφορετικά) σε καθορισµένη σειρά. Γενίκευση: διατεταγµένη τριάδα (α, β, γ), δι

(Γραμμικές) Αναδρομικές Σχέσεις

Συνδυαστική Απαρίθμηση

Τεχνικές Σχεδιασμού Αλγορίθμων

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1

Αλγόριθμοι Αναζήτησης

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Μη-Αριθμήσιμα Σύνολα, ιαγωνιοποίηση

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

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

Εφαρμοσμένη Βελτιστοποίηση

Ουρά Προτεραιότητας: Heap

Union Find, Λεξικό. Δημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

Μη γράφετε στο πίσω μέρος της σελίδας

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)

Βασικές Έννοιες Θεωρίας Γραφημάτων

Πεπερασμένα Αυτόματα. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Transcript:

Άπληστοι Αλγόριθμοι Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Άπληστοι Αλγόριθμοι... για προβλήματα βελτιστοποίησης: Λειτουργούν σε βήματα. Σε κάθε βήμα, αμετάκλητη επιλογή για τμήμα της λύσης. Άπληστη επιλογή: αυτό που φαίνεται καλύτερο με βάση τρέχουσα κατάσταση και κάποιο (απλό) κριτήριο. Ίδια στρατηγική στο υποπρόβλημα που προκύπτει. Πλεονεκτήματα: Γρήγοροι, απλοί, και «φυσιολογικοί» αλγόριθμοι. Εφαρμόζεται (επιτυχώς) σε πολλά και σημαντικά προβλήματα. Μειονεκτήματα: Βέλτιστη λύση μόνο υπό προϋποθέσεις! Ορθότητα: εφικτότητα + βελτιστότητα (συνήθ. επαγωγή). Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 2

Άπληστη Στρατηγική Σύγκριση συνιστωσών λύσης με βάση (απλό) κριτήριο. (Αμετάκλητη) επιλογή καθορίζει σε κάθε βήμα ποια συνιστώσα είναι «καλύτερη» για να συμπεριληφθεί στην τελική λύση. Επιλογή με κάποιον (συνήθως) απλό κανόνα. Ίδια στρατηγική σε υποπρόβλημα που προκύπτει. Μη-προσαρμοστική: ίδιο κριτήριο σε όλα τα βήματα. Προσαρμοστική: αλλάζει κριτήριο σε κάθε βήμα. Χρόνος εκτέλεσης συνήθως καθορίζεται από χρόνο επιλογής «καλύτερης» συνιστώσας σε κάθε βήμα. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 3

Επιλογή Δραστηριοτήτων n δραστηριότητες: αρχή και τέλος (π.χ. μαθήματα, υπολογιστικές διεργασίες). Ζητείται: επιλογή δραστηριοτήτων χωρίς χρονικές επικαλύψεις και δρομολόγηση σε κοινό πόρο (π.χ. αίθουσα διδασκαλίας, επεξεργαστής). Στόχος: δρομολόγηση μέγιστου #δραστηριοτήτων. Πρόβλημα συνδυαστικής βελτιστοποίησης: Κάθε δρομολόγηση χωρίς επικαλύψεις: εφικτή λύση. Στόχος: εφικτή δρομολόγηση με μέγιστο #δραστηριοτήτων. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 4

Παράδειγμα 5 9 2 4 7 10 1 3 6 8 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Χρόνος Βέλτιστη λύση: 4 δραστηριότητες. Π.χ. {1, 3, 6, 8}, {2, 4, 7, 10}, {1, 4, 7, 10}, Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 5

Άπληστος Αλγόριθμος Κριτήριο άπληστης επιλογής; Ελάχιστος χρόνος ολοκλήρωσης. Ταξινόμηση σε αύξουσα σειρά χρόνου ολοκλήρωσης. Επόμενη δραστηριότητα: Δρομολογείται αν είναι εφικτό (πόρος είναι ελεύθερος). Αγνοείται αν δρομολόγηση δεν είναι εφικτή. 5 9 2 4 7 10 1 3 6 8 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Χρόνος Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 6

Υλοποίηση Χρόνος Ο(n log n) (ταξινόμηση ως προς χρόνο ολοκλήρωσης) 5 9 2 4 7 10 1 3 6 8 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Χρόνος Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 7

Απόδειξη ορθότητας λύσης Απόδειξη ορθότητας: απόδειξη εφικτότητας (συνήθ. εύκολο) και βελτιστότητας (συνήθ. με επαγωγή). Βελτιστότητα βασίζεται σε δύο ιδιότητες (απαραίτητες!): Αρχή βελτιστότητας υπο-λύσεων (βέλτιστες επιμέρους λύσεις): Κάθε τμήμα βέλτιστης λύσης αποτελεί βέλτιστη λύση για αντίστοιχο υποπρόβλημα. π.χ. κάθε τμήμα μιας συντομότερης διαδρομής είναι συντομότερη διαδρομή μεταξύ των άκρων του. Χαρακτηριστικό και δυναμικού προγραμματισμού. Ιδιότητα άπληστης επιλογής: Υπάρχει βέλτιστη λύση που συμφωνεί με την άπληστη επιλογή που κάνει ο αλγόριθμος.... ισοδ.: άπληστη επιλογή οδηγεί σε κάποια βέλτιστη λύση. Άπληστοι Αλγόριθμοι 8

Απόδειξη βελτιστότητας Επαγωγή στον #δραστηριοτήτων. Υποθέτουμε πάντα ότι Βάση: αν 1 δραστ., αυτή επιλέγεται πάντα. Έστω αλγ. υπολογίζει βέλτιστη λύση για n 1 δραστ. Θδο. υπολογίζει βέλτιστη λύση για σύνολο Α με n δραστ. Άπληστος αλγόριθμος επιλέγει δραστ. 1 ( f 1 ) και βέλτιστη λύση (επαγ.) για υποπρόβλημα Έστω C * (A) βέλτιστη λύση και j η δραστηριότητα του C * (A) που ολοκληρώνεται πρώτη. #δραστηριοτήτων άπληστου αλγ. Άπληστος αλγόριθμος υπολογίζει βέλτιστη λύση για Α. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 9

Ορθότητα Αποδείξαμε ότι Ιδιότητα άπληστης επιλογής: (Άπληστη) επιλογή δραστηριότητας με ελάχιστο χρόνο ολοκλήρωσης οδηγεί σε συνολικά βέλτιστη λύση. Ιδιότητα βέλτιστων επιμέρους λύσεων: Βέλτιστη λύση περιέχει βέλτιστη λύση για υποπρόβλημα Α 1 (δραστ. που δεν επικαλύπτονται με πρώτη). Εναλλακτική απόδειξη με επιχείρημα ανταλλαγής (και επαγωγή): είναι επίσης βέλτιστη λύση. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 10

Χρωματισμός Διαστημάτων n διαστήματα: αρχή και τέλος Ζητείται: χρωματισμός όλων ώστε επικαλυπτόμενα διαστήματα να έχουν διαφορετικό χρώμα. Στόχος: χρωματισμός με ελάχιστο #χρωμάτων. Άπληστος αλγόριθμος: Εξέταση σημείων ευθείας σε αύξουσα σειρά. Κάθε διάστημα που τελειώνει «απελευθερώνει» το χρώμα του. Κάθε διάστημα που αρχίζει παίρνει πρώτο διαθέσιμο χρώμα. Χρήση χρώματος d 2 μόνο αν επικάλυψη d διαστ/των ταυτόχρ. 2 4 3 6 1 5 Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) 0 1 2 3 4 5 6

Δρομολόγηση Εργασιών Ένας εξυπηρετητής (π.χ. επεξεργαστής, εκτυπωτής, ταμίας). Σύνολο Ν με n εργασίες: χρόνο εκτέλεσης (π.χ. υπολογιστικές διεργασίες, εκτυπώσεις, συναλλαγές). Δρομολόγηση για ελαχιστοποίηση συνολικού (ισοδύναμα, μέσου) χρόνου εξυπηρέτησης. t 1 = 8, t 2 = 7, t 3 = 2, t 4 = 5. 1, 2, 3, 4: 8 + 15 + 17 + 22 = 62. 3, 4, 2, 1: 2 + 7 + 14 + 22 = 45. Δρομολόγηση: μετάθεση Χρόνος εξυπηρέτησης i : Συνολικός χρόνος εξυπηρέτησης: Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 12

Άπληστος Αλγόριθμος Δρομολόγηση σε αύξουσα σειρά χρόνου εκτέλεσης: Συνολικός χρόνος εξυπηρέτησης: Διαισθητικά: βέλτιστος γιατί όσο μεγαλύτερος χρόνος εκτέλεσης, τόσο λιγότερες φορές συνεισφέρει στο συνολικό χρόνο εξυπηρέτησης. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 13

Βελτιστότητα: Επιχείρημα Ανταλλαγής Έστω π * βέλτιστη δρομολόγηση, Τ(π * ) συνολικός χρόνος. λ * (j) : σειρά εργασίας j στη βέλτιστη δρομολόγηση. Έστω π * διαφορετική από άπληστη: k πρώτη που δρομολογείται αργότερα στην π * : λ * (k) > k j αυτή που δρομολογείται k-οστή στην π * : λ * (j) = k συμφωνία σε k 1 αρχικές, ισχύει k < j και t k και t j στο T(π * ): Ανταλλαγή k και j: (k πηγαίνει στη θέση που έχει στην άπληστη δρομολόγηση). Διαφορά: Έτσι π * γίνεται ίδια με άπληστη χωρίς αύξηση χρόνου. Άπληστη δρομολόγηση είναι βέλτιστη. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 14

Ιδιότητες Ιδιότητα άπληστης επιλογής: Για κάθε k, υπάρχει βέλτιστη δρομολόγηση π * που συμφωνεί με άπληστη στη σειρά των k πρώτων εργασιών. (Άπληστη) επιλογή συντομότερης διαθέσιμης εργασίας βέλτιστη λύση. Ιδιότητα βελτιστότητας υπο-λύσεων:. Αν αγνοήσουμε t 1, π * παραμένει βέλτιστη για υπόλοιπες. Απόδειξη βελτιστότητας: (επαγωγική) εφαρμογή ιδιότητας άπληστης επιλογής. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 15

Πρόβλημα του Περιπτερά Κέρματα αξίας 1, 5, και 20 λεπτών. Στόχος: ρέστα ποσό x με ελάχιστο #κερμάτων. Αλγόριθμος: Όσο περισσότερα 20λεπτα: Όσο περισσότερα 5λεπτα: Υπόλοιπα 1λεπτα: Βέλτιστη λύση χρησιμοποιεί ίδιο #κερμάτων: 20λεπτα: Δεν μπορεί περισσότερα. Βελτιώνεται αν λιγότερα. Αν ίδιο #20λέπτων, τότε ίδιο #5λέπτων. επαγωγή στα πλήθος διαφορετικών κερμάτων. Δουλεύει αλγόριθμος αν κέρματα 1, 12, και 20 λεπτών; Π.χ. ρέστα 24 λεπτά. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 16

Κλασματικό Πρόβλημα Σακιδίου Δίνονται n είδη και ένα σακίδιο μεγέθους Β. Είδος i διαθέσιμο σε ποσότητα s i με αξία p i : Είδος i μπορεί να συμπεριληφθεί στο σακίδιο σε οποιοδήποτε ποσοστό. Ζητείται συλλογή μέγιστης αξίας που χωράει στο σακίδιο. Είδη: { (3, 5), (2, 7), (4, 4), (6, 8), (5, 4) } Μέγεθος σακιδίου: 10. Βέλτιστη λύση = { 1(3, 5), 1(2, 7), (5/6)(6, 8) } Βέλτιστη αξία = 5 + 7 + (5/6)8 = 18.3333 Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 17

Άπληστος Αλγόριθμος Είδη N = {1,, n}, σακίδιο μεγέθους Β. Βέλτιστη λύση Βέλτιστες Επιμέρους Λύσεις. Αγνοούμε είδος i :. βέλτιστη λύση για Ν \ { i } με σακίδιο Είδος i : (αξία / μονάδα μεγέθους) Είδη σε φθίνουσα σειρά r i : Όσο περισσότερο από i χωράει στο (διαθέσιμο) σακίδιο. Αναπροσαρμογή διαθέσιμου σακιδίου και επόμενο είδος. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 18

Υλοποίηση Χρόνος Ο(n log n) (ταξινόμηση ως προς λόγο αξίας / μέγεθος). Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 19

Άπληστη Επιλογή Έστω βέλτιστη λύση Έστω άπληστη λύση Ιδιότητα άπληστης επιλογής: Θδο υπάρχει βέλτιστη λύση: Απληστία: καμία λύση με περισσότερο από είδος 1. Αν βέλτιστη, αντικαθιστούμε μονάδες άλλου είδους (ή κενού) με είδος 1: Αποδεκτή λύση γιατί Αξία δεν μειώνεται. Απόδειξη βελτιστότητας: με επαγωγική εφαρμογή ιδιότητας άπληστης επιλογής. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 20

Βελτιστότητα Επαγωγή σε #ειδών. Βάση: 1 είδος. Άπληστη επιλογή: Επαγωγική υπόθεση: ειδών n 1, άπληστη = βέλτιστη. Θεωρούμε n είδη. Άπληστη επιλογή: Στιγμιότυπο με n 1 είδη και σακίδιο Επαγωγική υπόθεση: βέλτιστη λύση. Συνολικά για n είδη: Άπληστος αλγόριθμος υπολογίζει βέλτιστη λύση. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 21

Άπληστη Στρατηγική Σύγκριση συνιστωσών λύσης με βάση κάποιο κριτήριο (π.χ. σακίδιο: είδη σε φθίνουσα σειρά αξία / μέγεθος). (Αμετάκλητη) επιλογή καθορίζει ποια είναι «καλύτερη» συνιστώσα για να συμπεριληφθεί στη λύση. Ίδια στρατηγική σε υπο-πρόβλημα που προκύπτει. Μη-προσαρμοστική: ίδιο κριτήριο σε όλα τα βήματα. Προσαρμοστική: αλλάζει κριτήριο σε κάθε βήμα. Χρόνος εκτέλεσης καθορίζεται από χρόνο επιλογής καλύτερης επόμενης συνιστώσας. Απόδειξη ορθότητας (βελτιστότητας): συνήθ. επαγωγή. Ιδιότητα άπληστης επιλογής. Ιδιότητα βελτιστότητας υπο-λύσεων. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2017) Άπληστοι Αλγόριθμοι 22