/8/ Αλγόριθμοι on line Βιβλιογραφία: Dorit Hochbaum, Deterministic Algorithms for NP-hard problems, PWS Publishing Company, Boston, 997. Η ενοικίαση του εξοπλισμού χιονοδρομίας Υπόθεση: Το κόστος αγοράς είναι, το ημερήσιο κόστος ενοικίασης. Πότε είναι λογικό να αγοράσει ο χιονοδρόμος Χ τον εξοπλισμό; Αν ο εξοπλισμός αγορασθεί μετά από b ακριβώς ημέρες χιονοδρομίας, το κόστος είναι b+ ( ). /
/8/ Σύγκριση με το ελάχιστο κόστος Αν ο χιονοδρόµος γνωρίζει ότι θα σταµατήσει µετά από t ηµέρες, θα πληρώσει το (offline=βέλτιστο)κόστος, δηλαδή Fopt=min{t,} Αν σταµατήσει στις tµέρες και αγοράσει µετά από bµέρες, θα πληρώσει F A =t χ{t b} + (b+) χ{t>b}. F A = r( t) r( t b) + u( t b) 7 F A = r( t) r( t b) + u( t b) 5 F opt = min{ t,} F opt = min{ t,} b= 5 t b=5 5 5 / Λόγος επίδοσης online/offline F A = r( t) r( t b) + u( t b) F opt = min{ t,} b= 5 5 t ρ=f A /F OPT Για b< ρ max =(+b)/b =+/b Για b ρ max =(+b)/ =+b/ 7 F A = r( t) r( t b) + u( t b) 5 F opt = min{ t,} 7.5 5.5 ρ max b=5 7.5 5.5 b / 5 5
/8/ Η μέθοδος του αντίπαλου Η απόδοση ενός αλγορίθμου μπορεί να εξετασθεί με τη μέθοδο του αντιπάλου δαίμονα, ο οποίος κανονίζει πότε θα λήξει η δραστηριότητα του Χ(π.χ. γιατί έσπασε το πόδι του). Η βέλτιστη τακτική του δαίμονα στην περίπτωση του χιονοδρόμου είναι να προκαλέσει τη λήξη της απόσβεσης αμέσως μετά την αγορά. 5/ Ανάλυση της μεθόδου του αντιπάλου Έστω ότι η τακτική του X είναι να αγοράσει μετά από j φορές, άρα πληρώνει j+. Τότε πληρώνει συνολικά το ποσό αυτό λόγω της τακτικής του αντιπάλου δαίμονα. Ωστόσο, αν εγνώριζε την τιμή του j, θα μπορούσε να είχε πληρώσει min(j,). j+ min(j,), δηλ. πληρώνει τουλάχιστον το διπλάσιο του βελτίστου. Άρα ο αλγόριθμος online μπορεί να αποκλίνει τουλάχιστον φορές από το βέλτιστο. /
/8/ Τον μικρότερο λόγο on lineκόστους προς το ελάχιστο (offline) κόστος (j+)/min{j,} παρουσιάζει η επιλογή j=. Τότε ο λόγος αυτός είναι ίσος με. j+ 8 5 7 9 5 7 9 5 7 9 Min{j,} j 7/ Υπάρχει τακτική του Χ, που να μην οδηγεί σε κόστος μεγαλύτερο από το διπλάσιο του βελτίστου; Ναι, αν ο Χαγοράσει ακριβώς μετά τη -η φορά. Τότε, αν ο αντίπαλος θέσει j<, o X πληρώνει j (το βέλτιστο), ενώ αν θέσει j, πληρώνει.(προφανώς ο αντίπαλος θα θέσει j=). 8/
/8/ Συμπέρασμα Η λεγόμενη αρχή της χιονοδρομίας: Είναι καλύτερο σε ορισμένες περιπτώσεις να προτιμήσει κανείς ένα βήμα αυξημένου κόστους αντί βήματος μικρού κόστους και μάλιστα όταν συσσωρεύονται πολλά βήματα μικρού κόστους. 9/ Το πρόβλημα επιλογής των σελίδων της μνήμης υπολογιστή Μια δεδομένη ακολουθία σελίδων αναζητείται από τον επεξεργαστή στη γρήγορη μνήμη. Αν η σελίδα είναι ήδη στη γρήγορη μνήμη, το κόστος ανάγνωσης είναι. Αν είναι στην αργή μνήμη, το κόστος είναι για να «ανέβει» στη γρήγορη μνήμη. Επειδή είναι προφανώς βέλτιστο να κρατάμε το cache γεμάτο, κάποια σελίδα πρέπει να «κατέβει στην αργή». Ζητείται μια τακτική επιλογής της σελίδας που θα μεταφερθεί στην αργή μνήμη. p, p, p, Cache χωρητικότητας k Αργή µνήµη µεγάλης χωρητικότητας / 5
/8/ Ο αλγόριθμος επιλογής σελίδων. Βέλτιστος(offline) είναι αυτός που απομακρύνει από τη γρήγορη μνήμη τη σελίδα, της οποίας η ζήτηση είναι η πιο απομακρυσμένη στο μέλλον. Ένας δημοφιλής αλγόριθμος online είναι αυτός που απομακρύνει τη σελίδα με την πιο παλιά ζήτηση. / Ανάλυση αντιπάλου για τον αλγόριθμο επιλογής σελίδων Όλοι οι αλγόριθμοι επιλογής σελίδων είναι από την άποψη του αντιπάλου το ίδιο κακοί, δεδομένου ότι όποιος κι αν είναι ο αλγόριθμος απομάκρυνσης, ο αντίπαλος μπορεί πάντοτε να ζητάει μια σελίδα που δεν είναι στη γρήγορη μνήμη. Έχουν προταθεί μελέτες του μέσου κόστους, αλλά εξαρτώνται από την επιλογή της κατανομής εισόδου (για την επιλογή των ζητουμένων σελίδων). Οι Sleator και Tarjan πρότειναν την ανταγωνιστική ανάλυση (competitive analysis). /
/8/ Aνταγωνιστική ανάλυση (competitive analysis) Για την είσοδο συπολογίζεται η επίδοση (κόστος cost(σ)) του βέλτιστου (offline) αλγορίθμου (έστω OPT) και του αλγορίθμου online (έστω Α). Λέγεται ο Αανταγωνιστικός κατά παράγοντα c (c competitive), όταν cost A (σ) c cost OPT (σ)+b για κάθε ακολουθία εισόδου σ. Ανταγωνιστικός λόγος(competitive ratio) c A για τον αλγόριθμο Α λέγεται το infimum των c, που είναι τέτοια ώστε ο Ανα είναι ανταγωνιστικός κατά παράγοντα c. Ο αλγόριθμος Αλέγεται ισχυρά ανταγωνιστικόςεφόσον επιτυγχάνει τον καλύτερο δυνατό ανταγωνιστικό λόγο. Τα παραπάνω είναι ανεξάρτητα από την υπολογιστική πολυπλοκότητα του βέλτιστου αλγόριθμου επίλυσης του προβλήματος. Η εξάρτηση του ανταγωνιστικού λόγου από την τάξη πολυπλοκότητας των προβλημάτων είναι ανοιχτή περιοχή έρευνας. / Το πρόβλημα των kυπηρετών (k server problem) / Δίνεται μετρικός χώρος Μκαι k υπηρέτες σε δεδομένα σημεία του Μ. Η ακολουθία εισόδου σαποτελείται από σημεία του Μ, όπου πρέπει να μετακινηθεί κάθε φορά ένας οιοσδήποτε υπηρέτης (πριν την εμφάνιση του επόμενου σημείου εισόδου). Το κόστος μετακίνησης ενός υπηρέτη εξαρτάται από την απόσταση του σημείου από την τρέχουσα θέση του. Στόχος είναι να ελαχιστοποιηθεί το συνολικό κόστος των μετακινήσεων. Το πρόβλημα επιλογής σελίδων είναι ειδική περίπτωση του προβλήματος των k υπηρετών. Ποια είναι η αναγωγή; 7
/8/ Μετρικά συστήματα αποστολών 5/ Είναι μια τριάδα (S, [[d]], T), όπου S είναι πεπερασμένο σύνολο καταστάσεων, [[d]]είναι πίνακας των αποστάσεων ανάμεσα στις καταστάσεις και Tείναι σύνολο αποστολών. Οι αποστάσεις συμμορφώνονται με την τριγωνική ανισότητα και είναι μηδενικές για μετακίνηση από μια κατάσταση στην ίδια κατάσταση. Μια αποστολή T(TϵT) είναι διάνυσμα, με μη αρνητικές συνιστώσες που φανερώνουν το κόστος επεξεργασίας στις καταστάσεις του S. Η συνιστώσα T(i) είναι το κόστος επεξεργασίας όντας στην κατάσταση i. Είσοδος του προβλήματος είναι μια ακολουθία αποστολών από το T: σ= {Τ, Τ,..., Τ Ν }. Το κόστος προκύπτει από τις μετακινήσεις από κατάσταση σε κατάσταση και από την επεξεργασία κάθε αποστολής σε κάποια κατάσταση. Προφανώς, το ελάχιστο κόστος μπορεί να προκύψει με εξαντλητική έρευνα στο χώρο όλων των δυνατών ακολουθιών από Ν μετακινήσεις. Αν οι αποστάσεις είναι συμμετρικές (d ij = d ji ), το σύστημα αποστολών λέγεται μετρικό. Το πρόβλημα των k υπηρετών είναι ειδική περίπτωση μετρικού συστήματος αποστολών. Η τεχνική του σκληρού αντιπάλου Χρησιμοποιείται για την απόδειξη κάτω φραγμάτων του ανταγωνιστικού λόγου. Ο αντίπαλος κάνει αμφότερα τα εξής: Γεννάει την ακολουθία εισόδου και εκτελεί την ακολουθία των δράσεων. Σκοπός του είναι να βρει μια ακολουθία, με την οποία ο αλγόριθμος online επιφέρει υψηλό κόστος, όταν υπάρχει offline χαμηλό. / 8
/8/ Αν Aείναι προκαθορισμένος αλγόριθμος online επιλογής σελίδων, ισχύει c A k. 7/ Ας υποτεθεί ότι οι Ακαι OPT αρχίζουν με τις ίδιες σελίδες στη γρήγορη μνήμη. Ο αντίπαλος χρησιμοποιεί k+σελίδες, όπου kείναι το μέγεθος της γρήγορης μνήμης, και επιλέγει πάντοτε τη σελίδα που είναι εκτός μνήμης, οπότε γίνεται αποτυχία σε κάθε βήμα. Στη χρήση του βέλτιστου αλγόριθμου θα δείξουμε ότι ισχύει cost OPT (σ) σ /k.για να το πετύχει αυτό ο αντίπαλος απομακρύνει τη σελίδα, που η πρώτη της ζήτηση είναι η πιο απομακρυσμένη στο μέλλον, ώστε με τον OPT να γίνεται το πολύ ένα λάθος κάθε k γεγονότα. Μπορείτε τώρα να παρατηρήσετε ότι ο αντίπαλος δουλεύει με k+ μόνο σελίδες για να κάνει ελάχιστο το κόστος του offline αλγορίθμου. Μια παρατήρηση: Σε πολλά προβλήματα η γνώση του βέλτιστου αλγόριθμου δεν είναι διαθέσιμη, π.χ. όταν το πρόβλημα είναι NP-πλήρες. Ωστόσο ένα άνω φράγμα για το κόστος του αντιπάλου δίνει ένα κάτω φράγμα για τον ανταγωνιστικό λόγο. 8/ 9
/8/ 9/ Άνω φράγμα στο βέλτιστο κόστος μέσω συλλογής αλγορίθμων Δυστυχώς το κόστος του βέλτιστου αλγόριθμου είναι συχνά δύσκολο να υπολογισθεί. Η παρακάτω τεχνική βρίσκει ένα κάτω φράγμα για το ανταγωνιστικό κόστος. Επινοείται μια συλλογή από αλγορίθμους A, A,, A m, που είναι τέτοιοι, ώστε όταν ο αντίπαλος κατασκευάσει την ακολουθία εισόδου σ, για το συνολικό κόστος εκτέλεσης όλων μαζί των αλγορίθμων να ισχύει το εξής: i i m A [ σ ] caσ [ ] Υπάρχει στο σύνολο ένας τουλάχιστον αλγόριθμος με κόστος κάτω από το μέσο κόστος, άρα το ανταγωνιστικό κόστος είναι το λιγότερο ίσο με c/m. Ακολουθεί ένα παράδειγμα, που δείχνει τη χρήση αυτής της τεχνικής. Εφαρμογή στη πρόβλημα k υπηρετών Ο αντίπαλος επιλέγει μόνο k+σημεία {p,,p k+ },όπου αρχικά μόνο το τελευταίο είναι κενό. Κάθε φορά επιλέγει να κάνει αίτηση για το σημείο που είναι κενό. Κατασκευάζουμε k αλγόριθμους A,,A k που λειτουργούν ως εξής: Αρχικά έχουν υπηρέτες στα σημεία p,,p k. Στην πρώτη αίτηση, ο A i μετακινεί τον υπηρέτη του σημείου p i στο p k+. Κατόπιν σε κάθε επόμενη αίτηση συνεχίζουν να έχουν ένα υπηρέτη στο σημείο της τελευταίας αίτησης και να μην έχουν κοινό κενό σημείο. /
/8/ A p p p p move to p p p p p p p p Βήµα α. Να µετακινηθεί κάποιος στο σηµείο p. β. Ας µετακινηθεί ο / A p p p p mv p p p p p p p p A p p p p mv p p p p p p p p A p p p p mv p p p p p p p p Συμπέρασμα: Το συνολικό κόστος της ομάδας αλγορίθμων A,,A k περιλαμβάνει κόστος k στο πρώτο βήμα (έναντι του Α) και κόστος ίσο με ν(ίσο με του Α) στα επόμενα νβήματα. cost A,,..., ( σ ) cost ( σ ) A A = k + k A Αλλά για το κόστος του βέλτιστου ισχύει Άρα k cost ( σ ) cost A, A,..., OPT Για πολύ μεγάλο ν ισχύει k cost OPT ( σ ) cost A ( σ Ak k cost OPT ( σ ) k + cost A ( σ ) ) ( σ ) /
/8/ Συμπεριφορά των απλήστων αλγορίθμων Ο τοπικός άπληστος (greedy) αλγόριθμοςεπιλέγει τη δράση που ελαχιστοποιεί το κόστος στο αμέσως επόμενο βήμα. Η επίδοσή του μπορεί να είναι οσοδήποτε κακή. Π.χ. εφαρμοζόμενος στο πρόβλημα των k υπηρετών δεν έχει φραγμένο ανταγωνιστικό λόγο. / Συμπεριφορά των απλήστων αλγορίθμων (ΙΙ) Ο οπισθοδρομικός αλγόριθμοςεξετάζει την παρελθούσα ιστορία και υπολογίζει τις καταστάσεις, στις οποίες θα ήταν ο OPT με βάση αυτή την ιστορία. Κατόπιν κινείται προς την πιο κοντινή απ αυτές. Για το πρόβλημα του σκι, δίνει ανταγωνιστικό λόγο ίσο με. Για το «πρόβλημα των k υπηρετών»δεν έχει φραγμένο ανταγωνιστικό λόγο. /
/8/ Ο αλγόριθμος της συνάρτησης έργου (work function algorithm, WFA). Έστω opt t (s) το βέλτιστο κόστος προκειμένου να εξυπηρετηθούν τα t πρώτα αιτήματα και να καταλήξει το σύστημα στην κατάσταση s. Αν ο αλγόριθμος μετά την ικανοποίηση του t-οστού αιτήματος είναι στην κατάσταση s t, επιλέγει την s t+ ελαχιστοποιώνταςτη συνάρτηση opt t+ (s t+ )+d(s t, s t+ ). O WFA παρουσιάζει βέλτιστη ή σχεδόν βέλτιστη ανταγωνιστικότητα σε πολλά προβλήματα, περιλαμβανομένου και του προβλήματος των k υπηρετών. 5/ Εξισορρόπηση του κόστους Ένας online αλγόριθμος για το πρόβλημα των k υπηρετών, που λειτουργεί με τη λογική της μεταφοράς του κοντινότερου υπηρέτη, μπορεί να καταλήξει σε παλινδρόμηση ανάμεσα σε δυο κοντινές θέσεις. Ένας τρόπος να αποφευχθούν τέτοια συμπτώματα είναι η χρήση εξισορρόπησης του κόστους. Αλγόριθμος BALANCE: Επιλέγεται ο υπηρέτης που ελαχιστοποιεί το D i +d i, όπου D i είναι η συνολική μετακίνηση του υπηρέτη i, ενώ d i είναι η απόσταση μέχρι τη επόμενη ζητούμενη θέση. Ο BALANCEέχει βέλτιστη ανταγωνιστικότητα για μετρικούς χώρους με k+ σημεία. Ωστόσο, για περισσότερα σημεία έχει κακό ανταγωνιστικό λόγο. Η παραλλαγή που ελαχιστοποιεί το D i +d i έχει λόγο για δυο μόνο υπηρέτες[ Irani, Rubinfeld]. Οποιοσδήποτε αλγόριθμος εξισορρόπησης για δυο υπηρέτες και με συνάρτηση ελαχιστοποίησης την D i +f(d i ) δεν μπορεί να έχει καλύτερο λόγο από,8 [Kleinberg]. /
/8/ Αλγόριθμοι σημείωσης 7/ Σκοπός του αλγόριθμου είναι να υποχρεώνει τον αντίπαλο να αυξάνει και το ελάχιστο (offline) κόστος. Δίνεται παράδειγμα για το πρόβλημα επιλογής σελίδων. Εξελίσσεται σε φάσεις. Στην αρχή μιας φάσης όλοι οι κόμβοι είναι ασημείωτοι. Μόλις μια σελίδα ζητείται, σημειώνεται. Στην περίπτωση «σφάλματος» απομακρύνεται ασημείωτη σελίδα. Η φάση τελειώνει όταν δεν υπάρχει ασημείωτη σελίδα προς απομάκρυνση. Ξεκινάει νέα φάση (με όλους τους κόμβους ασημείωτους). Ο αλγόριθμος σημείωσης είναι k-ανταγωνιστικός. (Επειδή αναγκάζει το βέλτιστο αλγόριθμο να κάνει ένα τουλάχιστο σφάλμα σε κάθε φάση, ενώ σε κάθε φάση ζητούνται ακριβώς k σελίδες). Παράδειγμα αλγορίθμου σημείωσης (Οι σηµειωµένες σελίδες είναι µε παχιά γράµµατα. Στο τέλος µιας φάσης, όπου όλες είναι σηµειωµένες, εννοείται ότι παύουν πλέον να είναι σηµειωµένες.) Περιεχόµενα cash αιτούµ. θέση βγάλε ασηµείωτη µε µικρότερο αριθµό Περιεχόµενα cash αιτούµ. θέση φάση Ι φάση ΙΙ 5 5 7 7 φάση ΙΙΙ 8 8 κόστος=8 κόστος= 8/ Αλγόριθµος Α Βέλτιστος αλγόριθµος
/8/ 9/ Συναρτήσεις δυναμικού Η χρήση συναρτήσεων δυναμικού είναι μια τεχνική με την οποία μπορούμε να αποδείξουμε την ύπαρξη άνω φράγματος του ανταγωνιστικού λόγου. Καθορίζουμε μια ακολουθία σμε m βήματα και τρέχουμε συγχρόνως τους Ακαι OPTμε είσοδο τη σ. Η συνάρτηση δυναμικού αποτυπώνει τις καταστάσεις των Ακαι OPTσε ένα πραγματικό αριθμό Φ. Έστω Φ i η τιμή του δυναμικού μετά την εκτέλεση των πρώτων iβημάτων στους Ακαι OPT. Ως απεσβεσμένο κόστοςτου Αγια το i βήμα ορίζεται η ποσότητα α i =t i +Φ i +Φ i-. Αν υπάρχει άνω φράγμα για το α i σε κάθε βήμα, υπάρχει και άνω φράγμα για το κόστος του Αστο σύνολο των βημάτων σ. Πράγματι, έστω ότι α i cο i ( i m). Τότε ισχύουν τα εξής: m m m cost ( σ ) = t Φ Φ + t = ( t Φ Φ ) = = m A i= α c i i i= m i= ο = c cost i m OPT ( σ ) i i= i= i i i Σχόλια στις συναρτήσεις δυναμικού Η επιτυχία της τεχνικής εξαρτάται από την επινόηση κατάλληλης συνάρτησης δυναμικού. Συχνά η συνάρτηση δυναμικού μπορεί να εκληφθεί ως μέτρο της απόστασης ανάμεσα στην κατάσταση του Α και του OPT. / 5
/8/ / Παράδειγμα χρήσης του LRU (Least Recently Used) 5 5 5 α[] α[] α[] α[] περιεχόµενο µνήµης Ζητείται η σελίδα βγαίνει η σελίδα κόστος / Με την ίδια ακολουθία ο OPT βγαίνει η σελίδα ζητείται η σελίδα περιεχόµενα µνήµης
/8/ 7 / - - 5-9 cost[opt] cost[lru] Φ Φ Σα[p], (p in S)