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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

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

Outline. 6 Edit Distance

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 12 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Εξαντλητική Απαρίθµηση

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

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

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

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

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1

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

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

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

Η Μέθοδος Αναθεωρηµένης Εκχώρησης (MODI)

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Φυλλαδιο 4. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

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

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων

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

Επαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα

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

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

Γενικευµένη Simplex Γενικευµένη Simplex

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

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

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

Ε ανάληψη. Α ληροφόρητη αναζήτηση

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

6 η ΕΝΟΤΗΤΑ ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

Δυναµικός Προγραµµατισµός (ΔΠ)

Branch and Bound. Branch and Bound

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

Κεφάλαιο 5. Ανάλυση αλγορίθμων

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 4

Transcript:

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

Άπληστοι Αλγόριθµοι... για προβλήµατα βελτιστοποίησης: Λειτουργούν σε βήµατα. Κάθε βήµα κάνει µια αµετάκλητη επιλογή για λύση. Άπληστη επιλογή: αυτό που φαίνεται καλύτερο µε βάση τρέχουσα κατάσταση και κάποιο (απλό) κριτήριο. Ίδια στρατηγική στο υποπρόβληµα που προκύπτει. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 1

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

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

Άπληστη Στρατηγική Ταξινόµηση συνιστωσών µε βάση κάποιο απλό κριτήριο. (Αµετάκλητη) επιλογή καθορίζει αν «καλύτερη» συνιστώσα θα συµπεριληφθεί στη λύση. Επιλογή µε κάποιον απλό κανόνα. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 2

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

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

Επιλογή Δραστηριοτήτων Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 3

Επιλογή Δραστηριοτήτων n δραστηριότητες: αρχή και τέλος (π.χ. µαθήµατα, υπολογιστικές διεργασίες). Επιλογή δραστηριοτήτων χωρίς χρονικές επικαλύψεις και δροµολόγηση σε κοινό πόρο (π.χ. αίθουσα διδασκαλίας, επεξεργαστής). Ζητούµενο: δροµολόγηση µέγιστου #δραστηριοτήτων. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 3

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

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

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

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

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

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

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

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

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

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

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

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

Παράδειγµα Βέλτιστη λύση: 4 δραστηριότητες. Π.χ. {1, 3, 6, 8}, {2, 4, 7, 10}, {1, 4, 7, 10}, Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 4

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

Άπληστος Αλγόριθµος Κριτήριο άπληστης επιλογής; Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 5

Άπληστος Αλγόριθµος Κριτήριο άπληστης επιλογής; Ελάχιστος χρόνος ολοκλήρωσης. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 5

Άπληστος Αλγόριθµος Κριτήριο άπληστης επιλογής; Ελάχιστος χρόνος ολοκλήρωσης. Ταξινόµηση σε αύξουσα σειρά χρόνου ολοκλήρωσης. Επόµενη δραστηριότητα: Δροµολογείται αν είναι εφικτό (πόρος είναι ελεύθερος). Αγνοείται αν δροµολόγηση δεν είναι εφικτή. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 5

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

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

Υλοποίηση Χρόνος Ο(n log n) (ταξινόµηση ως προς χρόνο ολοκλήρωσης). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 6

Υπολογισµός Βέλτιστης Λύσης Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 7

Υπολογισµός Βέλτιστης Λύσης Βέλτιστη λύση: απόδειξη ορθότητας (επαγωγή). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 7

Υπολογισµός Βέλτιστης Λύσης Βέλτιστη λύση: απόδειξη ορθότητας (επαγωγή). Βασίζεται σε δύο ιδιότητες (απαραίτητες!): Αρχή βελτιστότητας (βέλτιστες επιµέρους λύσεις): Κάθε τµήµα βέλτιστης λύσης αποτελεί βέλτιστη λύση για αντίστοιχο υποπρόβληµα. π.χ. κάθε τµήµα µιας συντοµότερης διαδροµής είναι συντοµότερη διαδροµή µεταξύ των άκρων του. Χαρακτηριστικό και δυναµικού προγραµµατισµού. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 7

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

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

Ορθότητα Επαγωγή στον #δραστηριοτήτων. Υποθέτουµε πάντα ότι Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 8

Ορθότητα Επαγωγή στον #δραστηριοτήτων. Υποθέτουµε πάντα ότι Βάση: αν 1 δραστ., αυτή επιλέγεται πάντα. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 8

Ορθότητα Επαγωγή στον #δραστηριοτήτων. Υποθέτουµε πάντα ότι Βάση: αν 1 δραστ., αυτή επιλέγεται πάντα. Έστω αλγ. υπολογίζει βέλτιστη λύση για n 1 δραστ. Θδο. υπολογίζει βέλτιστη λύση για σύνολο Α µε n δραστ. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 8

Ορθότητα Επαγωγή στον #δραστηριοτήτων. Υποθέτουµε πάντα ότι Βάση: αν 1 δραστ., αυτή επιλέγεται πάντα. Έστω αλγ. υπολογίζει βέλτιστη λύση για n 1 δραστ. Θδο. υπολογίζει βέλτιστη λύση για σύνολο Α µε n δραστ. Αλγ. επιλέγει 1 ( f 1 ) και βέλτιστη λύση Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 8

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

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

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

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

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

Ορθότητα Αποδείξαµε ότι Ιδιότητα άπληστης επιλογής: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 9

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

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

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

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

Χρωµατισµός Διαστηµάτων n διαστήµατα: αρχή και τέλος Χρωµατισµός όλων ώστε επικαλυπτόµενα διαστήµατα να έχουν διαφορετικό χρώµα. Ζητούµενο: χρωµατισµός µε ελάχιστο #χρωµάτων. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι

Χρωµατισµός Διαστηµάτων n διαστήµατα: αρχή και τέλος Χρωµατισµός όλων ώστε επικαλυπτόµενα διαστήµατα να έχουν διαφορετικό χρώµα. Ζητούµενο: χρωµατισµός µε ελάχιστο #χρωµάτων. Άπληστος αλγόριθµος: Ταξινόµηση µε χρόνο έναρξης. Κάθε διάστηµα που αρχίζει παίρνει πρώτο διαθέσιµο χρώµα. Κάθε διάστηµα που τελειώνει «απελευθερώνει» το χρώµα του. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι

Χρωµατισµός Διαστηµάτων n διαστήµατα: αρχή και τέλος Χρωµατισµός όλων ώστε επικαλυπτόµενα διαστήµατα να έχουν διαφορετικό χρώµα. Ζητούµενο: χρωµατισµός µε ελάχιστο #χρωµάτων. Άπληστος αλγόριθµος: Ταξινόµηση µε χρόνο έναρξης. Κάθε διάστηµα που αρχίζει παίρνει πρώτο διαθέσιµο χρώµα. Κάθε διάστηµα που τελειώνει «απελευθερώνει» το χρώµα του. Χρήση χρώµατος d 2 µόνο αν επικάλυψη d διαστηµάτων. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι

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

Δροµολόγηση Εργασιών Ένας εξυπηρετητής (π.χ. επεξεργαστής, εκτυπωτής, ταµίας). Σύνολο Ν µε 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. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 11

Δροµολόγηση Εργασιών Ένας εξυπηρετητής (π.χ. επεξεργαστής, εκτυπωτής, ταµίας). Σύνολο Ν µε 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 : Συνολικός χρόνος εξυπηρέτησης: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 11

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

Άπληστος Αλγόριθµος Δροµολόγηση σε αύξουσα σειρά χρόνου εκτέλεσης: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 12

Άπληστος Αλγόριθµος Δροµολόγηση σε αύξουσα σειρά χρόνου εκτέλεσης: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 12

Άπληστος Αλγόριθµος Δροµολόγηση σε αύξουσα σειρά χρόνου εκτέλεσης: Συνολικός χρόνος εξυπηρέτησης: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 12

Άπληστος Αλγόριθµος Δροµολόγηση σε αύξουσα σειρά χρόνου εκτέλεσης: Συνολικός χρόνος εξυπηρέτησης: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 12

Άπληστος Αλγόριθµος Δροµολόγηση σε αύξουσα σειρά χρόνου εκτέλεσης: Συνολικός χρόνος εξυπηρέτησης: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 12

Άπληστος Αλγόριθµος Δροµολόγηση σε αύξουσα σειρά χρόνου εκτέλεσης: Συνολικός χρόνος εξυπηρέτησης: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 12

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

Ορθότητα: Επιχείρηµα Ανταλλαγής Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 13

Ορθότητα: Επιχείρηµα Ανταλλαγής Έστω π * βέλτιστη δροµολόγηση, Τ(π * ) συνολικός χρόνος. λ * (j) : σειρά εργασίας j στη βέλτιστη δροµολόγηση. Έστω π * διαφορετική από άπληστη: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 13

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

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

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

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

Ιδιότητες Ιδιότητα άπληστης επιλογής: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 14

Ιδιότητες Ιδιότητα άπληστης επιλογής: Για κάθε k, βέλτιστη δροµολόγηση π * συµφωνεί µε άπληστη στη σειρά των k πρώτων εργασιών. (Άπληστη) επιλογή συντοµότερης διαθέσιµης βέλτιστη. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 14

Ιδιότητες Ιδιότητα άπληστης επιλογής: Για κάθε k, βέλτιστη δροµολόγηση π * συµφωνεί µε άπληστη στη σειρά των k πρώτων εργασιών. (Άπληστη) επιλογή συντοµότερης διαθέσιµης βέλτιστη. Ιδιότητα βέλτιστων επιµέρους λύσεων: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 14

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

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

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

Πρόβληµα του Περιπτερά Κέρµατα αξίας 1, 5, και 20 λεπτών. Ρέστα ποσό x µε ελάχιστο #κερµάτων. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 15

Πρόβληµα του Περιπτερά Κέρµατα αξίας 1, 5, και 20 λεπτών. Ρέστα ποσό x µε ελάχιστο #κερµάτων. Αλγόριθµος: Όσο περισσότερα 20λεπτα: Όσο περισσότερα 5λεπτα: Υπόλοιπα 1λεπτα: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 15

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

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

Κλασµατικό Πρόβληµα Σακιδίου Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 16

Κλασµατικό Πρόβληµα Σακιδίου Δίνονται n είδη και ένα σακίδιο µεγέθους Β. Είδος i διαθέσιµο σε ποσότητα s i µε αξία p i : Είδος i µπορεί να συµπεριληφθεί στο σακίδιο σε οποιοδήποτε ποσοστό. Ζητείται συλλογή µέγιστης αξίας που χωράει στο σακίδιο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 16

Κλασµατικό Πρόβληµα Σακιδίου Δίνονται n είδη και ένα σακίδιο µεγέθους Β. Είδος i διαθέσιµο σε ποσότητα s i µε αξία p i : Είδος i µπορεί να συµπεριληφθεί στο σακίδιο σε οποιοδήποτε ποσοστό. Ζητείται συλλογή µέγιστης αξίας που χωράει στο σακίδιο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 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 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 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 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 16

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

Άπληστος Αλγόριθµος Είδη N = {1,, n}, σακίδιο µεγέθους Β. Βέλτιστη λύση Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 17

Άπληστος Αλγόριθµος Είδη N = {1,, n}, σακίδιο µεγέθους Β. Βέλτιστη λύση Βέλτιστες Επιµέρους Λύσεις. Αγνοούµε είδος i :. βέλτιστη λύση για Ν \ { i } µε σακίδιο Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 17

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

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

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

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

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

Άπληστη Επιλογή Έστω βέλτιστη λύση Έστω άπληστη λύση Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 19

Άπληστη Επιλογή Έστω βέλτιστη λύση Έστω άπληστη λύση Ιδιότητα άπληστης επιλογής: Υπάρχει βέλτιστη λύση: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 19

Άπληστη Επιλογή Έστω βέλτιστη λύση Έστω άπληστη λύση Ιδιότητα άπληστης επιλογής: Υπάρχει βέλτιστη λύση: Απληστία: καµία λύση µε περισσότερο από είδος 1. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 19

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

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

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

Ορθότητα Επαγωγή στον #ειδών. Βάση: 1 είδος. Άπληστη επιλογή: Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Άπληστοι Αλγόριθµοι 20

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

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

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

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

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

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

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

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