230 likes | 444 Views
PAGING :ΕΙΣΑΓΩΓΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΚΑΙ ΜΕΛΕΤΗ ΣΧΕΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ. Η έννοια των online αλγορίθμων και της ανταγωνιστικής ανάλυσης αυτών. Εισαγωγή και ορισμός του προβλήματος του paging. Είδη ανάλυσης και βασικοί ορισμοί.
E N D
PAGING:ΕΙΣΑΓΩΓΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΚΑΙ ΜΕΛΕΤΗ ΣΧΕΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ • Η έννοια των online αλγορίθμων και της ανταγωνιστικής ανάλυσης αυτών • Εισαγωγή και ορισμός του προβλήματος του paging • Είδη ανάλυσης και βασικοί ορισμοί • Παρουσίαση αλγορίθμων επίλυσης του paging και ανάλυση της αποδοτικότητας τους. Α)Ντετερμινιστικοί Αλγόριθμοι Β) Randomized αλγόριθμοι
Η έννοια των online αλγορίθμων και της ανταγωνιστικής ανάλυσης αυτών • Αντιπαραβολή online- offline προβλημάτων Στην περίπτωση των online προβλημάτων τα δεδομένα του προβλήματος παρέχονται στον αλγόριθμο σταδιακά, ένα- ένα σε κάθε στιγμιότυπο εκτέλεσης του αλγορίθμου. Ορισμός 1 Online αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο του προβλήματος, αφού δεχθεί ένα δεδομένο dι ως είσοδο, παράγει ένα αποτέλεσμα rι (έξοδος) με βάση τόσο το δεδομένο dι του στιγμιότυπου ι όσο και τα δεδομένα dι-κ , κ=1,… των στιγμιότυπων που έχουν προηγηθεί. • Παράδειγμα Κολυμβητηρίου • Λόγω της φύσης των online προβλημάτων χρησιμοποιούμαι • διαφορετική προσέγγιση. Εισαγωγή στην ανταγωνιστική • ανάλυση
Εισαγωγή και ορισμός του προβλήματος του paging • Έχουμε μια αργή μνήμηn σελίδων και μια γρήγορη μνήμη (cache memory) k σελίδων (n>k). • Επιτυχής προσπέλαση: κόστος 0 • Αποτυχημένη προσπέλαση:κόστος 1 • Στόχος:ελαχιστοποίηση συνολικού κόστους, δηλαδή • ελαχιστοποίηση του αριθμού των αποτυχιών. • Η επίλυση λοιπόν του προβλήματος του paging έγκειται στην • εύρεση ενός αλγορίθμου βάση του οποίου θα διώχνουμε τις • σελίδες από τη γρήγορη μνήμη προκειμένου να φέρουμε μια • σελίδα από την αργή μνήμη όταν έχουμε αποτυχή προσπέλαση. • Ο αλγόριθμος αυτός θα αποσκοπεί στο να διώχνει τη σελίδα • εκείνη που ενδέχεται να οδηγήσει σε λιγότερες αποτυχίες • προσπέλασης
Η αποτίμηση ενός online αλγορίθμου γίνεται σε σύγκριση με τον • αντίστοιχο offline. • Είναι διαισθητικά προφανές ότι ο βέλτιστος offline αλγόριθμος είναι ο Longest- Forward- Distance (LFD) ‘διώξε τη σελίδα εκείνη η ζήτηση της οποίας είναι αργότερα στην ακολουθία αιτήσεων’ • Στο online πρόβλημα η έλλειψη γνώσης για τις μελλοντικές • αιτήσεις στη μνήμη μας οδηγούν στην ανάγκη εύρεσης • αλγορίθμου που θα έχει όσο το δυνατόν “καλύτερη” • συμπεριφορά ανεξαρτήτως ποια θα είναι η μελλοντική • ακολουθία αιτήσεων. ΘΕΩΡΗΜΑ 1 Ο αλγόριθμος LFD (Longest- Forward- Distance) είναι ο βέλτιστος offline αλγόριθμος για το paging.
Είδη ανάλυσης και βασικοί ορισμοί • Το πόσο αποδοτικός ή όχι είναι ένας αλγόριθμος εξαρτάται και από το είδος της ανάλυσης του προβλήματος , δηλαδή από την οπτική γωνία από την οποία “κρίνουμε” την αποτελεσματικότητα του αλγορίθμου. • Ανάλυση χειρότερης περίπτωσης (worst case analysis):Καμία πληροφορία για την αποτελεσματικότητα του κάθε αλγορίθμου. Όλοι οι αλγόριθμοιεξίσουαναποτελεσματικοί. • Ανάλυση μέσης-περίπτωσης (average-case analysis):Εδώ χρειαζόμαστε ένα στατιστικό, μια κατανομή πιθανότητας για τη ζήτηση των διαφόρων σελίδων της αργής μνήμης .Όμως η ζήτηση αλλάζει δυναμικά με το χρόνο και ποικίλει από εφαρμογή σε εφαρμογή, μια τέτοια προσέγγιση δε θα ήταν και τόσο αξιόπιστη.
Από τα παραπάνω: ανάγκη εισαγωγής της έννοιας της ανταγωνιστικής ανάλυσης. • Σύγκριση της αποδοτικότητας του online αλγορίθμου με την αποδοτικότητα του βέλτιστου offline αλγόριθμου για κάθε είσοδο και θεωρούμε το λόγο των δύο αποδοτικοτήτων στη χειρότερη περίπτωση εισόδου. • cost A(σ):κόστος ενόςonline αλγορίθμου Α για την ακολουθία εισόδου σ. • Για το paging το σ είναι η ακολουθία ζήτησης των σελίδων και cost A(σ) ο αριθμός των αποτυχιών προσπέλασης του Α για την είσοδο σ. • Έστω cost OPT(σ) το κόστος που συνεπάγεται ο βέλτιστος offline αλγόριθμος για είσοδο σ.
Ορισμός 2 Λέμε ότι ένας αλγόριθμος Α είναι c- ανταγωνιστικός αν υπάρχει σταθερά b τέτοια ώστε για κάθε ακολουθία αιτήσεων σ ισχύει cost A (σ) ≤ c ∙ cost OPT(σ) + b (1) Ο λόγος ανταγωνιστικότητας του αλγορίθμου Α συμβολίζεται με cA και είναι το infimum όλων των c για τα οποία ο Α είναι c-ανταγωνιστικός. • Λέμε τέλος ότι ένας αλγόριθμος είναι ισχυρά ανταγωνιστικός όταν επιτυγχάνει τον καλύτερο λόγο ανταγωνιστικότητας για ένα πρόβλημα.
Παρουσίαση αλγορίθμων επίλυσης του paging και ανάλυση της αποδοτικότητας τους. Α)Ντετερμινιστικοί Αλγόριθμοι • Εδώ τα βήματα που θα εκτελεστούν είναι καθορισμένα και εξαρτώνται μόνο από τα δεδομένα εισόδου που παρέχονται στον αλγόριθμο κατά τη διάρκεια εκτέλεσης του.Δεν ενέχεται καμία τυχαιότητα. • Για τη μελέτη της αποδοτικότητας εισάγουμε την έννοια του αντιπάλου. • Ο αντίπαλος προσπαθεί να μας δυσκολέψει τη ζωή όσο περισσότερο γίνεται.
Έχει διπλό ρόλο: • Παράγει μια ακολουθία αιτήσεων για τον online αλγόριθμο Α. 2)Τρέχει ο ίδιος τον offline (για αυτόν) αλγόριθμο για την ίδια ακολουθία. • Σκοπόςτου:η ακολουθία αιτήσεων που θα επιλέξει να προκαλέσει το μέγιστο δυνατό κόστος για τον online αλγόριθμο Α ενώ παράλληλα ο offline δικός του αλγόριθμος να επιφορτισθεί με όσο μικρότερο κόστος γίνεται. ΘΕΩΡΗΜΑ 2 Για οποιονδήποτε ντετερμινιστικό online αλγόριθμο για το paging δεν μπορούμε να επιτύχουμε λόγο ανταγωνιστικότητας μικρότερο του k, όπου k το μέγεθος της γρήγορης μνήμης Απόδειξη
Εξέταση γνωστών ντετερμινιστικών online paging αλγορίθμων ΘΕΩΡΗΜΑ 3 Ο αλγόριθμος LFU (List Frequently Used : “διώξε τη σελίδα που χρησιμοποιείται λιγότερο συχνά”) δεν είναι ανταγωνιστικός. Έχει μη φραγμένο λόγο ανταγωνιστικότητας. Απόδειξη ΘΕΩΡΗΜΑ 4 Ο αλγόριθμος LIFO (Last In First Out : “διώξε τη σελίδα που έφερες τελευταία”) έχει επίσης μη φραγμένο λόγο ανταγωνιστικότητας. Απόδειξη
Paging marking Algorithms p.m.a. Each phase: unmark all the pages for each request if in fast mark location if not evict an unmarked location (strictly determined by the deterministic algorithm) put request in fast , mark location if no unmarked locations, end phase.
Mε τον p.m.a δεν εξασφαλίζουμε μειωμένο κόστος για μας Ωστόσο εξασφαλίζουμε ότι ο offline αλγόριθμος του αντιπάλου θα αποτυγχάνει κάθε φορά που ο δικός μας αλγόριθμος θα επιφορτίζεται με ένα συγκεκριμένο κόστος. ΘΕΩΡΗΜΑ 5 Οποιοσδήποτε paging marking αλγόριθμος είναι k- ανταγωνιστικός Απόδειξη ΘΕΩΡΗΜΑ 6 Οι αλγόριθμοι LRU και FIFO είναι k–ανταγωνιστικοί • Διαφορά θεωρητικών και εμπειρικών αποτελεσμάτων • Συμβατική ανταγωνιστική ανάλυση και άλλες μορφές • ανταγωνιστικές ανάλυσης
Β) Randomized αλγόριθμοι Αλγόριθμοι που κάνουν τυχαίες επιλογές κατά τη διάρκεια εκτέλεσης τους. • Η τυχαιότητα που υπάρχει στους Randomized αλγόριθμους μπορεί να μειώσει τον λόγο ανταγωνιστικότητας; • Εισαγωγή νέωνεννοιών και επέκταση παλιών που χρησιμοποιήθηκαν για την ανάλυση των ντετερμινιστικών αλγορίθμων. 1)Κόστος αναμενόμενο κόστος. 2)Προσθήκη και άλλων μοντέλων αντιπάλων • Ίδιος διπλός ρόλος. Διαφοροποιούνται ως προς το σε ποιο βαθμό γνωρίζουν τις τυχαίες επιλογές του online αλγορίθμου
·Αγνώμων αντίπαλος (oblivious adversary): • επιλέγει ολόκληρη την ακολουθία αιτήσεων σ εκ των προτέρων χωρίς να γνωρίζει τα αποτελέσματα των τυχαίων επιλογών του online αλγόριθμου. • Το κόστος με το οποίο “χρεώνεται” ο αγνώμων αντίπαλος είναι το κόστος του βέλτιστου offline αλγόριθμου για την ακολουθία σ. ·Προσαρμοστικός online αντίπαλος (adaptive online adversary) : • Έχει επίγνωση των στιγμιότυπων εκτέλεσης του online αλγόριθμου • Παράγει την επόμενη αίτηση με βάση τις (τυχαίες ) επιλογές του online αλγόριθμου σ’ όλες τις προηγούμενες αιτήσεις. • Χειρίζεται online κάθε μία από τις αιτήσεις της ακολουθίας σ που παράγει χωρίς να γνωρίζει τις τυχαίες επιλογές του online αλγόριθμου για την παρούσα και τις μελλοντικές αιτήσεις.
·Προσαρμοστικός offline αντίπαλος (adaptive offline adversary): • Eχει επίγνωση των στιγμιότυπων εκτέλεσης του online αλγόριθμου • Διαλέγει κάθε αίτηση της ακολουθίας αιτήσεων σ με βάση τις επιλογές που έχει κάνει ο online αλγόριθμος για όλες τις προηγούμενες αιτήσεις. • Γνωρίζει όμως όλη την ακολουθία αιτήσεων σ που έχει δημιουργήσει και έτσι μπορεί να τη χειρίζεται με το βέλτιστο κόστος.
Ορισμός 3 Λέμε ότι ένας Randomized online αλγόριθμος Α είναι c-ανταγωνιστικός ως προς κάποιο τύπο αντιπάλου ADV αν υπάρχει α έτσι ώστε για κάθε αντίπαλο του τύπου ADV να ισχύει E[cost A(σ)- c∙ cost ADV(σ)]≤ α σ: ακολουθία αιτήσεων που παράγει ο αντίπαλος κατά την αλληλεπίδραση του με τον Α cost ADV(σ) το κόστος που η σ συνεπάγεται για τον αντίπαλο. • Ο λόγος ανταγωνιστικότητας ενός randomized αλγορίθμου Α ως προς αντίπαλο του τύπου ADV ορίζεται ως • cAADV=inf{c\ A είναι c- ανταγωνιστικός για όλους τους αντιπάλους τύπου ADV}
Παρατηρήσεις πάνω στον ορισμό Η μέση τιμή λαμβάνεται ως προς τις τυχαίες επιλογές που κάνει ο randomized αλγόριθμος Α κατά την εκτέλεση του. ο λόγος ανταγωνιστικότητας δεν καθαρίζεται πλήρως από τον online αλγόριθμο Α αλλά μεταβάλλεται ανάλογα και με το μοντέλο του αντιπάλου που έχουμε χρησιμοποιήσει για να πραγματοποιήσουμε την ανταγωνιστική μας ανάλυση. Για τον αγνώμονα αντίπαλο παίρνει τη μορφή E[cost A(σ)] ≤ c∙ cost OBL(σ)+ α. Για τους προσαρμοστικούς αντιπάλους παίρνει τη μορφή E[cost A(σ)] ≤ E[c∙cost ADAPT(σ)]+ α
ΘΕΩΡΗΜΑ 7 Έστω COBL ο βέλτιστος λόγος ανταγωνιστικότητας που μπορεί να επιτευχθεί ως προς έναν αγνώμονα αντίπαλο για κάποιο πρόβλημα. Έστω δηλαδή ότι COBL= infAcAOBL . Όμοια ορίζουμε CADON= infAcAADON και CADOFF= infAcAADOFF. Έστω τέλος ότι CDET είναι βέλτιστος λόγος ανταγωνιστικότητας που μπορεί να επιτευχθεί από έναν ντετερμινιστικό αλγόριθμο. Τότε ισχύει: COBL≤ CADON≤ CADOFF ≤ CDET . Διαισθητική δικαιολόγηση • Το κάτω φράγμα που βρήκαμε για τους ντετερμινιστικούς αλγορίθμους μπορεί να επεκταθεί ώστε να ισχύει και για τους randomized αλγόριθμους ως προς έναν προσαρμοστικό online αλγόριθμο. • Συνεπώς η χρήση randomized αλγόριθμων έναντι προσαρμοστικών αντιπάλων δε μας δίνει κανένα πλεονέκτημα.
Συμπεριφορά και αποδοτικότητα κάποιων randomized paging αλγορίθμων ως προς τον αγνώμονα αντίπαλο. 1)ΑλγόριθμοςRAND: “ Σε κάθε αποτυχία διώξε από τη μνήμη μια σελίδα στην τύχη”. • Αλγόριθμος δίχως μνήμη • Ο αλγόριθμος RAND είναι k-ανταγωνιστικός ως προς οποιονδήποτε αγνώμονα αντίπαλο. ΘΕΩΡΗΜΑ 8 Οποιοσδήποτε αλγόριθμος χωρίς μνήμη για το k-server πρόβλημα σε οποιονδήποτε μετρικό χώρο έχει λόγο ανταγωνιστικότητας τουλάχιστον k ως προς τον αγνώμονα αντίπαλο
2)Αλγόριθμος RMA (Randomized Marking Algorithm) Αλγόριθμος με μνήμη ΘΕΩΡΗΜΑ 9 Ο Randomized Marking Αλγόριθμος RMA έχει λόγο ανταγωνιστικότητας 2Η(k) έναντι οποιουδήποτε αγνώμονα αντιπάλου όπου: Η(k)= Απόδειξη Πόρισμα 1 Όταν ο συνολικός αριθμός των σελίδων Ν της αργής μνήμης είναι k+1 τότε ο RMA είναι Η(k)-ανταγωνιστικός.
ΘΕΩΡΗΜΑ 10 Έστω R ένας οποιοσδήποτε Randomized paging αλγόριθμος. Αν ο αριθμός των σελίδων είναι μεγαλύτερος ή ίσος του k+1,όπου k είναι το μέγεθος της γρήγορης μνήμης, τότε ο λόγος ανταγωνιστικότητας του R έναντι οπουδήποτε αγνώμονα αντιπάλου είναι μεγαλύτερος ή ίσος του Η(k).
Σχέσεις ανάμεσα στις αποδοτικότητες των αλγορίθμων για τους τρεις τύπους αντιπάλων • Η ισχύς ενός randomized αλγόριθμου μετράται από: • τον λόγο ανταγωνιστικότητας που αυτός επιτυγχάνει την ισχύ του αντιπάλου που έχει να αντιμετωπίσει. ΘΕΩΡΗΜΑ 11 Έστω G ένας online αλγόριθμος με λόγο ανταγωνιστικότητας α έναντι ενός προσαρμοστικού online αντιπάλου και έστω ότι υπάρχει online αλγόριθμος Η με λόγο ανταγωνιστικότητας β έναντι ενός αγνώμονα αντιπάλου. Τότε ο G είναι αβ-ανταγωνιστικός έναντι του προσαρμοστικού offline αντιπάλου.
ΘΕΩΡΗΜΑ 12 Έστω G ένας α-ανταγωνιστικός αλγόριθμος έναντι ενός προσαρμοστικού offline αντιπάλου. Τότε υπάρχει ντετερμινιστικός αλγόριθμος που έχει λόγο ανταγωνιστικότητας α. Πόρισμα 2 Έστω G ένας Randomized αλγόριθμος που είναι c- ανταγωνιστικός έναντι ενός προσαρμοστικού online αντιπάλου. Αν υπάρχει αλγόριθμος d-ανταγωνιστικός ως προς αγνώμονα αντίπαλο τότε υπάρχει και ντετερμινιστικός cd–ανταγωνιστικός αλγόριθμος . Πόρισμα 3 Έστω G ένας randomized αλγόριθμος που είναι c- ανταγωνιστικός έναντι ενός προσαρμοστικού online αντιπάλου. Τότε υπάρχει ντετερμινιστικός c2- ανταγωνιστικός αλγόριθμος.