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

Σχετικά έγγραφα
Εισαγωγή στους Αλγορίθμους Ενότητα 8η

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

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

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

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

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

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

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

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

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

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 6

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Βέλτιστος Έλεγχος Συστημάτων

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

Διοικητική Λογιστική

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

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

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10

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

Ψηφιακή Επεξεργασία Εικόνων

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Μηχανολογικό Σχέδιο Ι

Δομές Δεδομένων Ενότητα 1

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 2

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Κβαντική Επεξεργασία Πληροφορίας

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Ιστορία της μετάφρασης

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διδακτική της Πληροφορικής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Διοικητική Λογιστική

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Διοίκηση Επιχειρήσεων

Βέλτιστος Έλεγχος Συστημάτων

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Κβαντική Επεξεργασία Πληροφορίας

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή στους Υπολογιστές

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 3

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 6

Μάρκετινγκ Αγροτικών Προϊόντων

Ψηφιακή Επεξεργασία Εικόνων

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Βέλτιστος Έλεγχος Συστημάτων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Εφαρμογές πληροφορικής σε θέματα πολιτικού μηχανικού

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

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Κβαντική Επεξεργασία Πληροφορίας

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΤΑΝΑΛΩΤΗ

Τεχνικό Σχέδιο - CAD

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

Εκκλησιαστικό Δίκαιο

Βέλτιστος Έλεγχος Συστημάτων

Εισαγωγή στη Δικτύωση Υπολογιστών

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3

Transcript:

Εισαγωγή στους Αλγορίθμους Ενότητα 8η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Πατρών» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί ενότητας Εισαγωγή στo «άπληστο» μοντέλο επίλυσης Περιγραφή και ανάλυση του αλγορίθμου χρονοπρογραμματισμού εργασιών 4

Περιεχόμενα ενότητας Χρονοπρογραμματισμός Διαστημάτων Χρονοπρογραμματισμός για Ελαχιστοποίηση Καθυστέρησης 5

Άπληστοι Αλγόριθμοι Χρονοπρογραμματισμός Διαστημάτων Χρονοπρογραμματισμός για Ελαχιστοποίηση Καθυστέρησης

Απληστία Greed is good. Greed is right. Greed works. Greed clarifies, cuts through, and captures the essence of the evolutionary spirit. - Gordon Gecko (Michael Douglas) Εικόνα 1 Απληστία. Δόμηση μιας λύσης σταδιακά, βελτιστοποιώντας μυωπικά κάποιο τοπικό κριτήριο σε κάθε βήμα 7

Χρονοπρογραμματισμός Διαστημάτων

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

Χρονοπρογραμματισμός Διαστημάτων Άπληστοι Αλγόριθμοι Άπληστο πρότυπο. Θεωρήστε τις εργασίες σε κάποια σειρά. Επιλέξτε κάθε εργασία εφόσον είναι συμβατή με αυτές που έχουν ήδη επιλεγεί. [Μικρότερος χρόνος έναρξης] Θεωρήστε τις εργασίες σε αύξουσα σειρά ως προς το χρόνο έναρξης s j. [Μικρότερος χρόνος λήξης] Θεωρήστε τις εργασίες σε αύξουσα σειρά ως προς το χρόνο λήξης f j. [Μικρότερο χρονικό διάστημα] Θεωρήστε τις εργασίες σε αύξουσα σειρά ως προς το χρονικό διάστημα f j - s j. [Ελάχιστες διενέξεις] Για κάθε εργασία, μετρήστε τον αριθμό των μη συμβατών εργασιών c j. Χρονοπρογραμματίστε κατά αύξουσα σειρά διενέξεων c j. 10

Χρονοπρογραμματισμός Διαστημάτων Άπληστοι Αλγόριθμοι Άπληστο πρότυπο. Θεωρήστε τις εργασίες σε κάποια σειρά. Επιλέξτε κάθε εργασία εφόσον είναι συμβατή με αυτές που έχουν ήδη επιλεγεί Δεν αποδίδει ο μικρότερος χρόνος έναρξης s j 11

Χρονοπρογραμματισμός Διαστημάτων Άπληστοι Αλγόριθμοι Άπληστο πρότυπο. Θεωρήστε τις εργασίες σε κάποια σειρά. Επιλέξτε κάθε εργασία εφόσον είναι συμβατή με αυτές που έχουν ήδη επιλεγεί Δεν αποδίδει ο μικρότερος χρόνος έναρξης s j Δεν αποδίδει το μικρότερο χρονικό διάστημα f j - s j 12

Χρονοπρογραμματισμός Διαστημάτων Άπληστοι Αλγόριθμοι Άπληστο πρότυπο. Θεωρήστε τις εργασίες σε κάποια σειρά. Επιλέξτε κάθε εργασία εφόσον είναι συμβατή με αυτές που έχουν ήδη επιλεγεί Δεν αποδίδει ο μικρότερος χρόνος έναρξης s j Δεν αποδίδει το μικρότερο χρονικό διάστημα f j - s j Δεν αποδίδουν οι ελάχιστες διενέξεις 13

Χρονοπρογραμματισμός Διαστημάτων Άπληστος Αλγόριθμος Άπληστος αλγόριθμος. Θεωρήστε τις εργασίες σε αύξουσα σειρά χρόνων λήξης. Επιλέξτε κάθε εργασία εφόσον είναι συμβατή με αυτές που έχουν ήδη επιλεγεί. Ταξινόμησε τις εργασίες κατά χρόνο λήξης έτσι ώστε f 1 f 2... f n Επιλεγμένες εργασίες A for j = 1 to n { if (εργασία j συμβατή με το A) A A {j} } return A Υλοποίηση. O(n log n) Θυμηθείτε την εργασία j* που προστέθηκε τελευταία στο A Η εργασία j είναι συμβατή με το A αν s j f j* 14

Χρονοπρογραμματισμός Διαστημάτων Ανάλυση Άπληστου Αλγόριθμου Θεώρημα. Ο άπληστος αλγόριθμος είναι βέλτιστος. Απόδειξη. (εις άτοπον απαγωγή) Έστω ότι ο άπληστος αλγόριθμος δεν είναι βέλτιστος Έστω i 1, i 2,... i k το σύνολο των εργασιών που επιλέγονται από τον άπληστο αλγόριθμο Έστω j 1, j 2,... j m το σύνολο των εργασιών στην βέλτιστη λύση με i 1 = j 1, i 2 = j 2,..., i r = j r για την μέγιστη δυνατή τιμή του r Η εργασία i r+1 τελειώνει πριν την j r+1 Άπληστος: i 1 i 1 i r i r+1 Βέλτιστος: j 1 j 2 j r j r+1... Γιατί να μην αντικαταστήσουμε την εργασία j r+1 με την i r+1? 15

Χρονοπρογραμματισμός Διαστημάτων Ανάλυση Άπληστου Αλγόριθμου Θεώρημα. Ο άπληστος αλγόριθμος είναι βέλτιστος. Απόδειξη. (εις άτοπον απαγωγή) Έστω ότι ο άπληστος αλγόριθμος δεν είναι βέλτιστος Έστω i 1, i 2,... i k το σύνολο των εργασιών που επιλέγονται από τον άπληστο αλγόριθμο Έστω j 1, j 2,... j m το σύνολο των εργασιών στην βέλτιστη λύση με i 1 = j 1, i 2 = j 2,..., i r = j r για την μέγιστη δυνατή τιμή του r Η εργασία i r+1 τελειώνει πριν την j r+1 Άπληστος: i 1 i 1 i r i r+1 Βέλτιστος: j 1 j 2 j r i r+1... Η λύση είναι ακόμα εφικτή και βέλτιστη, αλλά αντικρούει το μέγιστο του r. 16

Χρονοπρογραμματισμός όλων των Διαστημάτων Διαμέριση Χρονικών Διαστημάτων

Διαμέριση Χρονικών Διαστημάτων Διαμέριση Χρονικών Διαστημάτων. Η διάλεξη j ξεκινά τη χρονική στιγμή s j και τελειώνει τη χρονική στιγμή f j Στόχος: εύρεση ελάχιστου αριθμού αιθουσών για χρονοπρογραμματισμό όλων των διαλέξεων έτσι ώστε να μην υπάρχουν δύο διαλέξεις προγραμματισμένες ταυτόχρονα στην ίδια αίθουσα (συμβατές διαλέξεις). Π.χ.: Χρονοδιάγραμμα χρήσης 4 αιθουσών για τον προγραμματισμό 10 διαλέξεων e j c d g b h a f i 9 9:30 10 10:30 11 11:30 12 12:30 1 1:30 2 2:30 3 3:30 4 4:30 Χρόνος 18

Διαμέριση Χρονικών Διαστημάτων Διαμέριση Χρονικών Διαστημάτων. Η διάλεξη j ξεκινά τη χρονική στιγμή s j και τελειώνει τη χρονική στιγμή f j Στόχος: εύρεση ελάχιστου αριθμού αιθουσών για χρονοπρογραμματισμό όλων των διαλέξεων έτσι ώστε να μην υπάρχουν δύο διαλέξεις προγραμματισμένες ταυτόχρονα στην ίδια αίθουσα (συμβατές διαλέξεις). Π.χ.: Αυτό το χρονοδιάγραμμα χρησιμοποιεί μόνο 3 αίθουσες. c d f j b g i a e h 9 9:30 10 10:30 11 11:30 12 12:30 1 1:30 2 2:30 3 3:30 4 4:30 Χρόνος 19

Διαμέριση Χρονικών Διαστημάτων Κάτω όριο στη Βέλτιστη Λύση Ορισμός. Το βάθος ενός συνόλου διαστημάτων είναι ο μέγιστος αριθμός διαστημάτων που περιέχουν ένα οποιοδήποτε (κοινό) χρονικό σημείο. Παρατήρηση. Ο αριθμός των αιθουσών που χρειάζονται βάθος. Π.χ.: Βάθος του παρακάτω χρονοδιαγράμματος = 3 το παρακάτω χρονοδιάγραμμα είναι βέλτιστο. Τα a, b, c περιέχουν όλα το χρονικό σημείο 9:30 Ερώτηση. Υπάρχει πάντα ένα χρονοδιάγραμμα ίσο με το βάθος των διαστημάτων; c d f j b g i a e h 9 9:30 10 10:30 11 11:30 12 12:30 1 1:30 2 2:30 3 3:30 4 4:30 Χρόνος 20

Διαμέριση Χρονικών Διαστημάτων Άπληστος Αλγόριθμος Άπληστος Αλγόριθμος. Θεωρήστε τις διαλέξεις σε αύξουσα σειρά χρόνου έναρξης: αναθέστε κάθε διάλεξη σε οποιαδήποτε συμβατή αίθουσα Ταξινόμησε τα διαστήματα κατά χρόνο έναρξης έτσι ώστε s 1 s 2... s n. d 0 Αριθμός δεσμευμένων αιθουσών for j = 1 to n { if (διάλεξη j είναι συμβατή με μια αίθουσα k) προγραμμάτισε την j στην αίθουσα k else δέσμευσε μια νέα αίθουσα d + 1 προγραμμάτισε την j στην αίθουσα d + 1 d d + 1 } Υλοποίηση. O(n log n) Για κάθε αίθουσα k, διατηρήστε το χρόνο λήξης της τελευταίας διάλεξης Διατηρήστε τις αίθουσες σε μια ουρά προτεραιότητας 21

Διαμέριση Χρονικών Διαστημάτων Ανάλυση Άπληστου Αλγόριθμου Παρατήρηση. Ο άπληστος αλγόριθμος δεν προγραμματίζει ποτέ δύο ασύμβατες διαλέξεις στην ίδια αίθουσα Θεώρημα. Ο άπληστος αλγόριθμος είναι βέλτιστος. Απόδειξη. Έστω d = αριθμός αιθουσών που δεσμεύει ο άπληστος αλγόριθμος. Η αίθουσα d δεσμεύεται γιατί χρειάζεται να προγραμματίσουμε μια διάλεξη, έστω j, που είναι ασύμβατη με όλες τις υπόλοιπες d-1 αίθουσες. Αφού ταξινομήσαμε κατά χρόνο έναρξης, όλες αυτές οι ασυμβατότητες προκαλούνται από διαλέξεις που ξεκινούν όχι αργότερα από τη στιγμή s j. Άρα, υπάρχουν d επικαλυπτόμενες διαλέξεις τη χρονική στιγμή s j + ε. Παρατήρηση όλα τα προγράμματα χρησιμοποιούν d αίθουσες. 22

Χρονοπρογραμματισμός για Ελαχιστοποίηση Καθυστέρησης

Χρονοπρογραμματισμός για Ελαχιστοποίηση Καθυστέρησης Πρόβλημα ελαχιστοποίησης καθυστέρησης. Ένας υπολογιστικός πόρος επεξεργάζεται μια εργασία την φορά Η εργασία j απαιτεί t j μονάδες χρόνου επεξεργασίας και έχει προθεσμία d j Αν η j ξεκινά την στιγμή s j, τελειώνει την στιγμή f j = s j + t j Καθυστέρηση: j = max { 0, f j - d j } Στόχος: χρονοπρογραμματισμός όλων των εργασιών για ελαχιστοποίηση της μέγιστης καθυστέρησης L = max j Π.χ.: 1 t j 3 2 2 3 1 4 4 5 3 6 2 d j 6 8 9 9 14 15 Καθυστέρηση = 2 Καθυστέρηση = 0 Μέγιστη καθυστέρηση = 6 d 3 = 9 d 2 = 8 d 6 = 15 d 1 = 6 d 5 = 14 d 4 = 9 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 24

Ελαχιστοποίηση Καθυστέρησης Άπληστοι Αλγόριθμοι Άπληστο πρότυπο. Θεωρήστε τις εργασίες σε κάποια σειρά. [Πρώτα ο μικρότερος χρόνος επεξεργασίας] Θεωρήστε τις εργασίες σε αύξουσα σειρά χρόνου επεξεργασίας t j [Πρώτα η μικρότερη προθεσμία] Θεωρήστε τις εργασίες σε αύξουσα σειρά προθεσμίας d j [Ελάχιστο χρονικό περιθώριο] Θεωρήστε τις εργασίες σε αύξουσα σειρά χρονικού περιθωρίου d j - t j 25

Ελαχιστοποίηση Καθυστέρησης Άπληστοι Αλγόριθμοι Άπληστο πρότυπο. Θεωρήστε τις εργασίες σε κάποια σειρά. [Πρώτα ο μικρότερος χρόνος επεξεργασίας] Θεωρήστε τις εργασίες σε αύξουσα σειρά χρόνου επεξεργασίας t j d j 1 t j 1 100 2 10 10 Αντιπαράδειγμα, L=1 (Βέλτιστο L = 0) [Ελάχιστο χρονικό περιθώριο] Θεωρήστε τις εργασίες σε αύξουσα σειρά χρονικού περιθωρίου d j - t j 1 t j 1 2 d j 2 10 10 Αντιπαράδειγμα, L = 9 (Βέλτιστο L = 1) 26

Ελαχιστοποίηση Καθυστέρησης Άπληστοι αλγόριθμοι Άπληστος αλγόριθμος. Πρώτα η μικρότερη προθεσμία Ταξινόμησε n εργασίες κατά προθεσμία έτσι ώστε d 1 d 2 d n t 0 for j = 1 to n Ανέθεσε την εργασία j στο διάστημα [t, t + t j ] s j t, f j t + t j t t + t j εκτύπωσε διαστήματα[s j, f j ] 1 2 3 4 5 6 t j 3 2 1 4 3 2 d j 6 8 9 9 14 15 Μέγιστη καθυστέρηση = 1 d 1 = 6 d 2 = 8 d 3 = 9 d 4 = 9 d 5 = 14 d 6 = 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 27

Ελαχιστοποίηση Καθυστέρησης - Χωρίς χρόνο αδράνειας Παρατήρηση. Υπάρχει μια βέλτιστη λύση χωρίς χρόνο αδράνειας d = 4 d = 6 0 1 2 3 4 5 6 d = 12 7 8 9 10 11 d = 4 d = 6 d = 12 0 1 2 3 4 5 6 7 8 9 10 11 Παρατήρηση. Ο άπληστος αλγόριθμος δεν έχει χρόνο αδράνειας 28

Ελαχιστοποίηση Καθυστέρησης Αντιστροφές Ορισμός. Μια αντιστροφή σε ένα χρονοδιάγραμμα S είναι ένα ζευγάρι εργασιών i και j τέτοιο ώστε d i < d j αλλά η j χρονοπρογραμματίζεται πριν την i αντιστροφή f i Πριν την αντιμετάθεση j i Παρατήρηση. Ο άπληστος αλγόριθμος δεν έχει αντιστροφές Παρατήρηση. Αν ένα χρονοδιάγραμμα (χωρίς χρόνο αδράνειας) έχει μια αντιστροφή, τότε έχει μια αντιστροφή με ένα ζευγάρι αντεστραμμένων εργασιών διαδοχικά χρονοπρογραμματισμένων 29

Ελαχιστοποίηση Καθυστέρησης Αντιστροφές Ορισμός. Μια αντιστροφή σε ένα χρονοδιάγραμμα S είναι ένα ζευγάρι εργασιών i και j τέτοιο ώστε d i < d j αλλά η j χρονοπρογραμματίζεται πριν την i αντιστροφή f i Πριν την αντιμετάθεση j i Μετά την αντιμετάθεση i j Ισχυρισμός. Η αντιμετάθεση δύο γειτονικών, αντεστραμμένων εργασιών μειώνει τον αριθμό των αντιστροφών κατά 1 και δεν αυξάνει την μέγιστη καθυστέρηση f' j Αποδ. Έστω η καθυστέρηση πριν την αντιμετάθεση, και έστω ' μετά. ' k = k για κάθε k i, j ' i i Πόσο καθυστερεί η εργασία j: f d j j j f i j (ορισμός) f d ( i j) i i d i (η j τελειώνει τη στιγμή f ) (ορισμός) i 30

Ελαχιστοποίηση Καθυστέρησης Ανάλυση Άπληστου Αλγόριθμου Θεώρημα. Το χρονοδιάγραμμα S του άπληστου αλγόριθμου είναι βέλτιστο Απόδειξη. Ορίζουμε το S* να είναι ένα βέλτιστο χρονοδιάγραμμα που έχει τον ελάχιστο αριθμό αντιστροφών. Υποθέτουμε ότι το S* δεν έχει χρόνο αδράνειας. Αν το S* δεν έχει αντιστροφές, τότε S = S*. Αν το S* έχει μια αντιστροφή, τότε έστω i-j μια γειτονική αντιστροφή. Αντιμεταθέτοντας την i και j δεν αυξάνει την μέγιστη καθυστέρηση και μειώνει αυστηρά τον αριθμό των αντιστροφών Αυτό έρχεται σε αντίφαση με τον ορισμό του S* 31

Στρατηγικές Ανάλυσης Άπληστων Αλγορίθμων Ο άπληστος αλγόριθμος υπερτερεί. Δείξτε ότι μετά από κάθε βήμα του άπληστου αλγόριθμου, η λύση του είναι τουλάχιστον τόσο καλή όσο οποιουδήποτε άλλου αλγόριθμου. Επιχείρημα ανταλλαγής. Μετατρέψτε σταδιακά οποιαδήποτε λύση σε αυτή που ανακαλύπτεται από τον άπληστο αλγόριθμο χωρίς να επηρεάζεται η ποιότητά της. Δομική. Ανακαλύψτε ένα απλό "δομικό" όριο που να επιβεβαιώνει ότι κάθε πιθανή λύση πρέπει να έχει μια συγκεκριμένη τιμή. Στη συνέχεια, δείξτε ότι ο αλγόριθμος σας επιτυγχάνει πάντα αυτό το όριο. 32

Βιβλιογραφία 1. J. Kleinberg and E. Tardos, Σχεδιασμός Αλγορίθμων, ελληνική έκδοση, Εκδόσεις Κλειδάριθμος, 2008 2. T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Εισαγωγή στους Αλγορίθμους, ελληνική έκδοση, Πανεπιστημιακές Εκδόσεις Κρήτης, 2012 3. K. Mehlhorn and P. Sanders, Αλγόριθμοι και Δομές Δεδομένων Τα βασικά εργαλεία, ελληνική έκδοση, Εκδόσεις Κλειδάριθμος, 2014 4. S. Dasgupta, C. Papadimitriou, and U. Vazirani, Αλγόριθμοι, ελληνική έκδοση, Εκδόσεις Κλειδάριθμος, 2008 5. Θ. Παπαθεοδώρου, Αλγόριθμοι: Εισαγωγικά Θέματα και Παραδείγματα, Εκδόσεις Πανεπιστημίου Πατρών, 1999 33

Τέλος Ενότητας 34

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. 35

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Χρήστος Ζαρολιάγκης, 2014. «Εισαγωγή στους Αλγορίθμους». Έκδοση: 1.0. Πάτρα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ceid1083 36

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση, Όχι Παράγωγα Έργα 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. [1] http://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 37

Πηγές εικόνων - Χρήση Έργων Τρίτων Εικόνα 1: σελ. 6, http://en.wikipedia.org/wiki/file:wall_street_film.jpg 38

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 39