ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline...

21
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής και Συστημάτων Πληροφορικής PAGING :ΕΙΣΑΓΩΓΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΚΑΙ ΜΕΛΕΤΗ ΣΧΕΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ ΜΩΛ ΠΕΤΡΟΣ ΑΡ.ΜΗΤΡΩΟΥ:03101099 1

Transcript of ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline...

Page 1: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

Τομέας Επικοινωνιών, Ηλεκτρονικήςκαι Συστημάτων Πληροφορικής

PAGING :ΕΙΣΑΓΩΓΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΚΑΙ ΜΕΛΕΤΗ ΣΧΕΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ

ΜΩΛ ΠΕΤΡΟΣΑΡ.ΜΗΤΡΩΟΥ:03101099

Μάϊος 2004

1

Page 2: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

Η έννοια των online αλγορίθμων και της ανταγωνιστικής ανάλυσης αυτών

Στις περισσότερες περιπτώσεις προβλημάτων που είχαμε να αντιμετωπίσουμε μέχρι τώρα, τα δεδομένα του προβλήματος ήταν γνωστά εξ΄ αρχής. Το μόνο που είχαμε να κάνουμε ήταν να προσδιορίσουμε έναν αλγόριθμο που θα έδινε τη βέλτιστη δυνατή λύση για τα δεδομένα αυτά ή, σε περίπτωση προσεγγιστικών αλγορίθμων, έναν αλγόριθμο που θα μας έδινε μια λύση αρκετά κοντά στη βέλτιστη λύση σε έναν εύλογο χρόνο.

Στην περίπτωση των online προβλημάτων τα δεδομένα του προβλήματος παρέχονται στον αλγόριθμο σταδιακά, ένα- ένα σε κάθε στιγμιότυπο εκτέλεσης του αλγορίθμου. Ως ένα αφηρημένο ορισμό του online αλγορίθμου θα μπορούσαμε να δώσουμε τον έξης:

Ορισμός 1Online αλγόριθμος είναι μια διαδικασία η οποία σε κάθε

στιγμιότυπο του προβλήματος, αφού δεχθεί ένα δεδομένο dι ως είσοδο, παράγει ένα αποτέλεσμα rι (έξοδος) με βάση τόσο το δεδομένο dι του στιγμιότυπου ι όσο και τα δεδομένα dι-κ , κ=1,… των στιγμιότυπων που έχουν προηγηθεί.

Ας δώσουμε καλύτερα ένα συγκεκριμένο και πολύ κλασσικό παράδειγμα online προβλήματος για να κατανοήσουμε καλύτερα περί τίνος πρόκειται.

Ας υποθέσουμε ότι θέλετε να γυμναστείτε και επιλέγετε να ξεκινήσετε κολύμπι. Πηγαίνετε στο κολυμβητήριο του δήμου σας και ρωτάτε ποιες ώρες είναι η πισίνα διαθέσιμη για το κοινό και ποια είναι η συνδρομή. Το κολυμβητήριο είναι ανοικτό για το κοινό όλη την ημέρα ενώ μπορείτε να πληρώσετε είτε 5 € κάθε φορά που πηγαίνετε για κολύμπι είτε 40 € για ένα μήνα. Ωστόσο είτε πληρώνετε στις 5 είτε στις 20 ενός μήνα τα 40 € θα μπορείτε να κολυμπάτε ελεύθερα μέχρι και το τέλος του ίδιου μήνα και όχι μέχρι και ένα μήνα μετά από την ημέρα που πληρώσατε τη συνδρομή σας.

Υποθέτοντας ότι δεν υπάρχει περιορισμός ως προς το πόσες φορές μπορείτε να κολυμπήσετε την ημέρα, αναρωτιέστε αν θα ήταν καλύτερα να πληρώνετε 5 € κάθε φορά που πηγαίνετε, 40 € από την αρχή του μήνα ή κάτι ενδιάμεσο.

Με δεδομένο ότι το αν μπορείτε να πηγαίνετε ή όχι στο κολυμβητήριο εξαρτάται από παράγοντες που δεν μπορείτε ούτε να καθορίσετε ούτε να προβλέψετε , όπως ένας πιθανός τραυματισμός, το κλείσιμο του κολυμβητηρίου ή ο άστατος καιρός (στην Ελλάδα ο καιρός έχει γίνει απρόβλεπτος ούτως ή άλλως !) , καλείστε να ακολουθήσετε μια “τακτική” που για όλα τα μελλοντικά ενδεχόμενα θα επιφέρει ένα κόστος όσο πιο κοντά γίνεται στο κόστος που θα προέκυπτε αν γνωρίζατε επακριβώς πότε θα σταματήσετε να κολυμπάτε.

Καλείστε λοιπόν να βρείτε έναν online αλγόριθμο αφού τα δεδομένα του προβλήματος (το αν θα μπορείτε να κολυμπήσετε ή όχι την ι-οστή φορά) δε σας είναι γνωστά από πριν αλλά τα μαθαίνετε εν καιρώ.

Ας υποθέσουμε ότι αρχικά επιλέγετε να πληρώνετε 5 € τη φορά και για j φορές και στη συνέχεια αποφασίζετε να πληρώσετε 40 € για τον υπόλοιπο μήνα. Έστω επίσης ότι οι συγκυρίες είναι τελείως δυσμενείς για σας και ότι αφού πληρώσατε τα 40 € δε σας επιτρέπουν να ξαναπάτε για κολύμπι. Στην περίπτωση αυτή (που είναι και η χειρότερη) εσείς έχετε

2

Page 3: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

πληρώσει 5j +40 € ενώ αν γνωρίζατε εκ των προτέρων τη στιγμή που θα σταματούσατε το κολύμπι θα είχατε πληρώσει min(5j, 40).

Από τη γνωστή ανισότητα α+ β ≥ 2 min(α,β) βλέπουμε ότι στη χειρότερη περίπτωση συγκυριών πληρώνεται τουλάχιστον 2 φορές αυτό που θα πληρώνατε αν γνωρίζατε εκ των προτέρων τα δεδομένα. Το ίσον μάλιστα στην παραπάνω ανισότητα ισχύει όταν α= β= min(α,β). Επομένως το καλύτερο που έχετε να κάνετε είναι να πληρώσετε 8 φορές 5€ και έπειτα να πληρώσετε τα 40 € για τον υπόλοιπο μήνα.

Όπως φαίνεται και από το παραπάνω παράδειγμα, η φύση των online προβλημάτων είναι τέτοια ώστε δεν έχει νόημα να μιλάμε για αλγόριθμο που βρίσκει τη βέλτιστη λύση παρά μόνο για αλγόριθμο που προσεγγίζει για κάθε ακολουθία εισόδων – δεδομένων την απόδοση του offline αλγορίθμου , δηλαδή του αλγορίθμου που γνωρίζει εξ’ αρχής όλα τα δεδομένα . Το γεγονός αυτό καθιστά αναγκαία την εισαγωγή της έννοιας της ανταγωνιστικής ανάλυσης (competitive analysis) και του λόγου ανταγωνιστικότητας (competitive ratio) που θα αναλυθούν παρακάτω πιο συγκεκριμένα για το πρόβλημα του paging.

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

σημαντικά από πρακτικής άποψης προβλήματα στην επιστήμη των υπολογιστών. Στο πρόβλημα αυτό έχουμε μια αργή μνήμη που μπορεί να αποθηκεύσει n σελίδες και μια γρήγορη μνήμη (cache memory) στην οποία μπορούν να αποθηκευθούν k σελίδες (n>k). Όταν η κεντρική μονάδα επεξεργασίας (ΚΜΕ) ζητάει μια σελίδα από τη μνήμη , αν αυτή υπάρχει στη γρήγορη μνήμη τότε έχουμε επιτυχία (hit) αλλιώς έχουμε αποτυχία (fault). Στην τελευταία αυτή περίπτωση πρέπει να φέρουμε τη σελίδα αυτή από την αργή μνήμη στη γρήγορη διώχνοντας μία από τις k ήδη υπάρχουσες σελίδες της γρήγορης μνήμης . Κάθε φορά που έχουμε επιτυχία το κόστος μεταφοράς από τη μνήμη στην ΚΜΕ είναι 0 ενώ στην περίπτωση αποτυχίας το κόστος είναι 1. Στόχος μας είναι να ελαχιστοποιήσουμε το συνολικό κόστος, δηλαδή να ελαχιστοποιήσουμε τον αριθμό των αποτυχιών. Η επίλυση λοιπόν του προβλήματος του paging έγκειται στην εύρεση ενός αλγορίθμου βάσει του οποίου θα διώχνουμε τις σελίδες από τη γρήγορη μνήμη προκειμένου να φέρουμε μια σελίδα από την αργή μνήμη όταν έχουμε αποτυχημένη προσπέλαση. Ο αλγόριθμος αυτός θα αποσκοπεί στο να διώχνει τη σελίδα εκείνη που ενδέχεται να οδηγήσει σε λιγότερες αποτυχίες προσπέλασης μελλοντικά.

Δίνοντας με πιο αυστηρούς μαθηματικούς όρους το πρόβλημα θα μπορούσαμε να πούμε το εξής:

Ο αλγόριθμος μας θα παίρνει ως είσοδο έναν ακέραιο k (μέγεθος γρήγορης μνήμης) και μια πεπερασμένη ακολουθία αιτήσεων σ= σ1,σ2, …,σn από την ΚΜΕ και θα δίνει ως έξοδο μία ακολουθία συνόλων S1,S2,…,Sn όπου κάθε σύνολο θα έχει μέγεθος το πολύ k και κάθε σύνολο St θα περιέχει τη σελίδα-αίτηση σt. Κάθε αίτηση σt θα συμβαίνει το στιγμιότυπο t. Τα μέλη-σελίδες του συνόλου St θα λέμε ότι είναι στη γρήγορη μνήμη μετά τη στιγμή t και μέχρι και τη στιγμή t+1 ενώ ένα αντικείμενο- σελίδα θα λέμε ότι διώχνεται τη στιγμή t αν ανήκει στο St-1 αλλά όχι στο St. Το κόστος της ακολουθίας εξόδου είναι ο αριθμός των διαγραφών των σελίδων από τη γρήγορη μνήμη. Θα λέμε ότι το πρόγραμμα-έξοδος είναι βέλτιστο όταν επιτυγχάνει το ελάχιστο δυνατό κόστος.

Για να μπορέσουμε να αποτιμήσουμε την αποτελεσματικότητα ενός online αλγορίθμου, θα πρέπει να τον εξετάσουμε σε σύγκριση με τον

3

Page 4: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

αντίστοιχο offline. Στο πρόβλημα του paging είναι διαισθητικά προφανές ότι ο βέλτιστος offline αλγόριθμος είναι ο Longest- Forward- Distance (LFD) σύμφωνα με τον οποίο διώχνεται πάντοτε η σελίδα εκείνη η ζήτηση της οποίας είναι αργότερα στην ακολουθία αιτήσεων. Αντίθετα στο online πρόβλημα η έλλειψη γνώσης για τις μελλοντικές αιτήσεις στη μνήμη μας οδηγούν στην ανάγκη εύρεσης αλγορίθμου που θα έχει όσο το δυνατόν “καλύτερη” συμπεριφορά ανεξαρτήτως ποια θα είναι η μελλοντική ακολουθία αιτήσεων.

Παρακάτω παραθέτουμε μια αυστηρή απόδειξη για την αποδοτικότητα του LFD.

ΘΕΩΡΗΜΑ 1

Ο αλγόριθμος LFD (Longest- Forward- Distance) είναι ο βέλτιστος offline αλγόριθμος για το paging.

ΑπόδειξηΓια την απόδειξη του θεωρήματος 1 θα χρειαστούμε το ακόλουθο

λήμμα.

Λήμμα 1Έστω ALG ένας οποιοσδήποτε paging αλγόριθμος και σ μια

ακολουθία αιτήσεων. Για οποιοδήποτε ι , ι=1,2,…,׀σ׀ μπορούμε να κατασκευάσουμε έναν offline αλγόριθμο ALGι που ικανοποιεί τις ακόλουθες τρεις ιδιότητες:(ι) Ο ALGι χειρίζεται τις πρώτες ι-1 αιτήσεις ακριβώς όπως και ο ALG(ιι) Αν η ι-οστή αίτηση καταλήγει σε αποτυχία , τότε ο ALGι διώχνει από τη γρήγορή του μνήμη τη σελίδα που θα ζητηθεί αργότερα στην ακολουθία αιτήσεων και(ιιι) cost ALGι(σ) ≤ cost ALG(σ)

Απόδειξη ΛήμματοςΔοθέντος του ALG θα κατασκευάσουμε τον ALGι . Έστω ότι

συμβολίζουμε με Χ+p την ένωση του συνόλου Χ (που περιέχει σελίδες ) με τη σελίδα p. Υποθέτουμε ότι αμέσως μετά την ι-οστή αίτηση οι γρήγορες μνήμες των ALG και ALGι περιέχουν σελίδες Χ+υ και Χ+u, αντίστοιχα όπου Χ είναι κάποιο σύνολο k-1 σελίδων και υ,u είναι τυχαίες σελίδες. Χωρίς βλάβη της γενικότητας υποθέτουμε ότι υ≠u (δηλαδή η ι-οστή αίτηση οδήγησε σε αποτυχία). Μέχρι να ζητηθεί η υ , προκειμένου να εξυπηρετήσει τις επόμενες αιτήσεις , ο ALGι μιμείται τον ALG με εξαίρεση ότι θα διώξει την u όταν ο ALG διώξει την υ (Αυτό είναι εφικτό καθώς μετά την εξυπηρέτηση οσωνδήποτε αιτήσεων στην ακολουθία ο αριθμός των κοινών σελίδων είναι τουλάχιστον k-1). Αν ο αριθμός των κοινών σελίδων γίνει k (δηλαδή αν ο ALG διώξει την υ πριν αυτή ζητηθεί) τότε ο ALGι και ο ALG ταυτίζονται από εκείνο το σημείο και μετά και έτσι η απόδειξη ολοκληρώνεται με cost ALGι(σ) = cost ALG(σ)

Αν η υ ζητηθεί πριν ταυτισθούν οι ALG, ALGι τότε αυτό θα συνεπάγεται αποτυχία για τον ALGι αλλά όχι για τον ALG. Ωστόσο μέχρι τη στιγμή που η υ ζητήθηκε , εφόσον όταν διώχθηκε είχε τη μεγαλύτερη χρονική απόσταση , πρέπει να υπάρχει τουλάχιστον μια αίτηση της u μετά την ι-οστή αποτυχία. Η πρώτη τέτοια αίτηση συνεπάγεται κόστος για τον ALG αλλά όχι για τον ALGι . Συνεπώς ο συνολικός αριθμός αποτυχιών για τον ALGι μετά την εξυπηρέτηση της υ είναι το πολύ ίσος με τον ALG. Δηλαδή και πάλι cost ALGι(σ) ≤ cost ALG(σ)

4

Page 5: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

Με βάση το παραπάνω λήμμα είναι τώρα εύκολο να δείξουμε πως έναν optimal offline αλγόριθμο μπορούμε να τον μετατρέψουμε να ενεργεί όπως ο LFD χωρίς να μειώνεται η αποδοτικότητα του.

Έστω μια ακολουθία αιτήσεων σ . Ξεκινώντας από έναν αλγόριθμο OPT εφαρμόζουμε το λήμμα για ι=1 και παίρνουμε τον OPT1 . Έπειτα εφαρμόζουμε το λήμμα στον OPT1 για ι=2 και παίρνουμε τον OPT2. Μετά από n= εφαρμογές του λήμματος καταλήγουμε στον ׀σ׀ OPTn ο οποίος είναι βέλτιστος και ταυτόχρονα δρα όπως ο LFD.

Είδη ανάλυσης και βασικοί ορισμοίΕφόσον στην περίπτωση του online 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-ανταγωνιστικός.

5

Page 6: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

Λέμε τέλος ότι ένας αλγόριθμος είναι ισχυρά ανταγωνιστικός όταν επιτυγχάνει τον καλύτερο λόγο ανταγωνιστικότητας για ένα πρόβλημα.

Παρουσίαση αλγορίθμων επίλυσης του paging και ανάλυση της αποδοτικότητας τους.Α)Ντετερμινιστικοί Αλγόριθμοι

Με τον όρο ντετερμινιστικοί αλγόριθμοι εννοούμε όλους εκείνους τους αλγόριθμους στους οποίους τα βήματα που θα εκτελεστούν είναι καθορισμένα και εξαρτώνται μόνο από τα δεδομένα εισόδου που παρέχονται στον αλγόριθμο κατά τη διάρκεια εκτέλεσης του. Στους αλγόριθμους αυτούς δεν ενέχεται καμία τυχαιότητα και ο όρος ντετερμινιστικός χρησιμοποιείται για να τους αντιπαραβάλει με τους randomized αλγορίθμους, οι οποίοι παρουσιάζονται στην επόμενη ενότητα. Στην ενότητα αυτή παρουσιάζονται κάποιοι ντετερμινιστικοί αλγόριθμοι και αναλύεται η αποδοτικότητα τους.

Μια συνήθης τακτική προκειμένου να αναλύσουμε την αποδοτικότητα ενός αλγορίθμου και κυρίως να μελετήσουμε τα κάτω φράγματα του λόγου ανταγωνιστικότητας που αυτός επιτυγχάνει είναι να επινοήσουμε έναν αντίπαλο ο οποίος προσπαθεί να μειώσει όσο γίνεται την αποδοτικότητα του αλγορίθμου μας. Εφόσον ψάχνουμε για κάτω φράγματα και εφόσον στην ανταγωνιστική ανάλυση μας ενδιαφέρει η αποτελεσματικότητα του online αλγορίθμου σε σχέση με τον αντίστοιχο offline, ο αντίπαλος για να μας δυσκολέψει τη ζωή όσο περισσότερο γίνεται θα έχει διπλό ρόλο. Αφενός θα παράγει μια ακολουθία αιτήσεων για τον online αλγόριθμο Α και αφετέρου θα τρέχει ο ίδιος τον offline (για αυτόν) αλγόριθμο για την ίδια ακολουθία. Σκοπός του αντιπάλου είναι η ακολουθία αιτήσεων που θα επιλέξει να προκαλέσει το μέγιστο δυνατό κόστος για τον online αλγόριθμο Α ενώ παράλληλα ο offline δικός του αλγόριθμος να επιφορτισθεί με όσο μικρότερο κόστος γίνεται.

Με τη βοήθεια της έννοιας του αντιπάλου αποδεικνύεται το ακόλουθο πολύ σημαντικό θεώρημα.

ΘΕΩΡΗΜΑ 2

Για οποιονδήποτε ντετερμινιστικό online αλγόριθμο για το paging δεν μπορούμε να επιτύχουμε λόγο ανταγωνιστικότητας μικρότερο του k, όπου k το μέγεθος της γρήγορης μνήμης.

ΑπόδειξηΈστω ότι τόσο ο online αλγόριθμος Α όσο και ο βέλτιστος offline

OPT έχουν αρχικά ίδιες σελίδες στη γρήγορη μνήμη τους. Ο αντίπαλος περιορίζει την ακολουθία αιτήσεων του σε k+1 σελίδες, δηλαδή τις k σελίδες που ήταν αρχικά στη γρήγορη μνήμη και μια επιπλέον σελίδα από την αργή.(Με το να συμπεριλάβει στην ακολουθία αιτήσεων του k+1 διαφορετικές σελίδες , ο αντίπαλος εξασφαλίζει ότι το κόστος για το δικό του offline αλγόριθμο είναι όσο μικρότερο γίνεται ). Ο αντίπαλος απαιτεί πάντα τη σελίδα εκείνη που βρίσκεται εκτός της γρήγορης μνήμης του Α. Αν υποθέσουμε ότι η ακολουθία αιτήσεων σ έχει μήκος ׀σ׀ τότε , εφόσον ο Α αποτυγχάνει σε κάθε αίτηση, το συνολικό κόστος για τον αλγόριθμο Α για κάθε ακολουθία σ είναι Για να τρέξει το δικό του αλγόριθμο ο .׀σ׀ αντίπαλος διώχνει πάντα εκείνη τη σελίδα της οποίας η ζήτηση συμβαίνει

6

Page 7: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

μακρύτερα στο μέλλον. Έστω ότι διώχνει τη x σελίδα. Τότε η x θα ξαναζητηθεί το νωρίτερο στην k-oστη ζήτηση αφού ο OPT εξασφαλίζει ότι πρώτα θα ζητηθούν τουλάχιστον από μία φορά οι υπόλοιπες k-1 σελίδες. Συνεπώς

cost OPT(σ) ≤ και από την ανισότηταα+1> ≥α έχουμε< k +1/׀σ׀ ≥ cost OPT(σ) k∙ cost OPT(σ) – k ≤׀σ׀ cost A(σ) ≥ k∙ cost OPT(σ) – k

από όπου συμπεραίνουμε ότι βέλτιστος λόγος ανταγωνιστικότητας που μπορούμε να πετύχουμε δε μπορεί να είναι μικρότερος του k.

Εφόσον βρήκαμε ένα κάτω φράγμα για τον λόγο ανταγωνιστικότητας ενός online paging αλγορίθμου θα εξετάσουμε τώρα κάποιους από τους πιο γνωστούς ντετερμινιστικούς online paging αλγορίθμους και θα ασχοληθούμε με το πόσο ανταγωνιστικοί είναι.

ΘΕΩΡΗΜΑ 3

Ο αλγόριθμος LFU (List Frequently Used : “διώξε τη σελίδα που χρησιμοποιείται λιγότερο συχνά”) δεν είναι ανταγωνιστικός. Έχει μη φραγμένο λόγο ανταγωνιστικότητας.

ΑπόδειξηΈστω l ένας οποιοσδήποτε θετικός ακέραιος και έστω η ακολουθία

αιτήσεωνσ= p1l,p2l, …,pk-1l, (pk, pk+1)l-1

(Με pιl συμβολίζουμε το γεγονός η σελίδα pι να ζητείται l συνεχόμενες φορές).O LFU θα προκαλεί αποτυχία σε κάθε αίτηση αμέσως μετά τις πρώτες (k-1)∙l αιτήσεις. Αντιθέτως ο OPT προκαλεί μόνο μια αποτυχία (κόστος 1). Εφόσον το l μπορεί να είναι αυθαίρετα μεγάλο , και η παραπάνω ακολουθία μπορεί να επαναλαμβάνεται όσο συχνά θέλουμε , ο LFU έχει λόγο ανταγωνιστικότητας μη φραγμένο.

ΘΕΩΡΗΜΑ 4

Ο αλγόριθμος LIFO (Last In First Out : “διώξε τη σελίδα που έφερες τελευταία”) έχει επίσης μη φραγμένο λόγο ανταγωνιστικότητας.

ΑπόδειξηΈστω p1, p2,…,pk+1 οι σελίδες που βρίσκονται στην αργή μνήμη και

έστω (χωρίς βλάβη της γενικότητας) ότι ο LIFO έχει τις p1, p2,…,pk αρχικά στη μνήμη . Θεωρούμε την ακολουθία σ= p1, p2,…,pk, pk+1, pk, pk+1, pk, pk+1,… .Ο LIFO θα αποτυγχάνει σε κάθε αίτηση μετά την k+1–οστή ενώ ο OPT θα προκαλέσει συνολικά το πολύ k+1 αποτυχίες. (Λόγος ανταγωνιστικότητας μη φραγμένος).

7

Page 8: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

Για να οδηγηθούμε σε πιο αποδοτικούς αλγορίθμους θα εισάγουμε την έννοια των paging marking αλγορίθμων (p.m.a.) . Ένας p.m.a λειτουργεί σε φάσεις :Στην αρχή κάθε φάσης όλες οι σελίδες της γρήγορης μνήμης είναι αμαρκάριστες. Όποτε ζητείται μία σελίδα τότε αυτή μαρκάρεται ενώ σε περίπτωση αποτυχίας ο αλγόριθμος διώχνει μια αμαρκάριστη σελίδα (η οποία επιλέγεται με συγκεκριμένο τρόπο αυστηρά καθορισμένο από τον ντετερμινιστικό αλγόριθμο) και εισάγει τη σελίδα που ζητήθηκε. Μία φάση τελειώνει όταν κάθε σελίδα στη γρήγορη μνήμη είναι μαρκαρισμένη (δηλαδή όταν ζητηθεί στη φάση αυτή η (k+1)-οστή διαφορετική σελίδα). Στο τέλος κάθε φάσης όλες οι σελίδες ξεμαρκάρονται και αρχίζει μια νέα φάση. Σε ψευδογλώσσα ένας ντετερμινιστικός p.m.a. μπορεί να γραφτεί ως εξής:

p.m.a.

Each phase:unmark all the pagesfor each request

if in fastmark location

if notevict an unmarked location (strictly determined by the

deterministic algorithm)

put request in fast , mark locationif no unmarked locations, end phase.

Διαισθητικά θα μπορούσαμε να πούμε ότι με τον p.m.a δε μπορούμε να εξασφαλίσουμε μειωμένο κόστος για μας ( ο αντίπαλος και πάλι μπορεί να κάνει τον αλγόριθμο μας να αποτυγχάνει σε κάθε βήμα) ωστόσο μπορούμε να εξασφαλίσουμε ότι και ο offline αλγόριθμος του αντιπάλου θα αποτυγχάνει κάθε φορά που ο δικός μας αλγόριθμος θα επιφορτίζεται με ένα συγκεκριμένο κόστος. Πιο συγκεκριμένα , εφόσον κάθε μαρκαρισμένη σελίδα έχει ζητηθεί πιο πρόσφατα από κάθε αμαρκάριστη, σε περιπτώσεις τοπικότητας της αναφοράς , που ο offline αλγόριθμος συνεπάγεται μηδενικό κόστος και ο δικός μας αλγόριθμος έχει “καλή” συμπεριφορά. Για να προκαλέσει ο αντίπαλος σημαντικό κόστος στον p.m.a θα πρέπει να διαλέξει μια ακολουθία η οποία θα ζητάει πολλές διαφορετικές σελίδες και τελικά θα επιφέρει κάποιο κόστος και στον offline αλγόριθμο OPT.

ΘΕΩΡΗΜΑ 5

Οποιοσδήποτε paging marking αλγόριθμος είναι k- ανταγωνιστικός

Απόδειξη

8

Page 9: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

Χωρίζουμε την ακολουθία αιτήσεων σε διαστήματα. Κάθε διάστημα ξεκινά από τη δεύτερη αίτηση μιας φάσης και τελειώνει στην 1η αίτηση της επόμενης φάσης. Στην αρχή των διαστημάτων ο OPT έχει την πιο πρόσφατη αίτηση στη γρήγορη μνήμη του (λόγω της πρώτης αίτησης της φάσης). Αν αποτύχει έστω και μια φορά στο υπόλοιπο της φάσης τότε για το διάστημα αυτό cost OPT(segm σ) ≥ 1. Αν δεν αποτύχει κατά τη διάρκεια της υπόλοιπης φάσης τότε όλες οι k διαφορετικές σελίδες που ζητήθηκαν είναι στη γρήγορη μνήμη. Τότε η πρώτη αίτηση της νέας φάσης (δηλαδή η τελευταία του διαστήματος) βρίσκεται από τον ορισμό της φάσης , εκτός γρήγορης μνήμης, οπότε ο OPT αποτυγχάνει. Συνεπώς κάθε αλγόριθμος (ακόμα και ο OPT) αποτυγχάνει τουλάχιστον μια φορά κατά τη διάρκεια ενός διαστήματος.

Αντίστοιχα , σε κάθε φάση υπάρχουν ακριβώς k , διακεκριμένες μεταξύ τους, σελίδες που ζητούνται. Εφόσον μία σελίδα ζητηθεί, μαρκάρεται και δεν διώχνεται για όλη την υπόλοιπη φάση. Συνεπώς κάθε m.p.a. θα προκαλέσει κόστος k για κάθε φάση.

Από τα παραπάνω και εφόσον κάθε τμήμα μπορεί να αντιστοιχηθεί μονοσήμαντα με μία φάση (εκτός ίσως από το τελευταίο), συμπεραίνουμε ότι σε κάθε m.p.a., για κάθε κόστος k που αυτός συνεπάγεται έχουμε και κόστος τουλάχιστον 1 για τον OPT.

Οι πιο διαδεδομένοι online marking paging αλγόριθμοι είναι ο LRU (Least Recently Used) και ο FIFO (First In First Out). Για τους αλγόριθμους αυτούς ισχύει το παρακάτω θεώρημα.

ΘΕΩΡΗΜΑ 6

Οι αλγόριθμοι LRU και FIFO είναι k–ανταγωνιστικοί

ΑπόδειξηΘα δείξουμε ότι ο LRU είναι k-ανταγωνιστικός . Η απόδειξη για τον

FIFO είναι παρόμοια. Θεωρούμε μια τυχαία ακολουθία αιτήσεων σ= σ(1), σ(2),…,σ(m). Θα δείξουμε ότι cost LRU (σ) ≤ k∙cost OPT(σ). Χωρίς βλάβη της γενικότητας υποθέτουμε ότι ο LRU και ο OPT έχουν αρχικά τις ίδιες σελίδες στην γρήγορη μνήμη τους.

Χωρίζουμε τη σ σε φάσεις P(0), P(1), P(2), … έτσι ώστε ο LRU αποτυγχάνει το πολύ k φορές στη φάση P(0) και ακριβώς k φορές σε κάθε μία από τις φάσεις p(ι), ι ≥1. Αυτός ο χωρισμός μπορεί να γίνει εύκολα αν ξεκινήσουμε από το τέλος της σ προς την αρχή και κάθε φορά που μετράμε k αποτυχίες από τον LRU θεωρούμε μια καινούργια φάση. Στο υπόλοιπο της απόδειξης θα δείξουμε ότι ο OPT αποτυγχάνει τουλάχιστον μια φορά κατά τη διάρκεια κάθε φάσης πράγμα το οποίο μας οδηγεί ανισότητα cost LRU (σ) ≤ k∙cost OPT(σ)

Για τη φάση P(0) είναι προφανές. Εφόσον ο LRU και ο OPT ξεκινούν με την ίδια γρήγορη μνήμη, ο OPT αποτυγχάνει στην πρώτη αίτηση που και ο LRU αποτυγχάνει.

Θεωρούμε τώρα μια τυχαία φάση P(ι), ι ≥1. Έστω σ(tι) η 1η αίτηση της φάσης P(ι) και σ(tι-1-1) η τελευταία αίτηση της P(ι) . Έστω επίσης ότι η p είναι η τελευταία σελίδα που ζητήθηκε στη φάση P(i-1).

Λήμμα 2Η φάση P(ι) περιέχει αιτήσεις σε k (τουλάχιστον) διακριτές μεταξύ

τους σελίδες που είναι διαφορετικές και από την p.

9

Page 10: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

ΑπόδειξηΤο λήμμα προφανώς ισχύει αν οι k αιτήσεις στις οποίες ο LRU

αποτυγχάνει είναι για k διακριτές σελίδες οι οποίες διαφέρουν επίσης και από την p.

Έστω λοιπόν ότι από τις k αιτήσεις όπου ο LRU αποτυγχάνει 2 είναι αιτήσεις προς την ίδια σελίδα q κατά τη διάρκεια της φάσης P(ι). Έστω ότι ο LRU αποτυγχάνει στην σ(s1) =q και στην σ(s2) =q με tι≤s1<s2≤ tι+1-1 ( τα s1, s2 συμβολίζουν στοιχεία της ακολουθίας και παράλληλα στιγμιότυπα εκτέλεσης του αλγορίθμου). Η σελίδα q είναι στη γρήγορη μνήμη του LRU αμέσως μετά την εξυπηρέτηση της σ(s1) και διώχνεται κάποιο στιγμιότυπο t με s1<t< s2. Όταν η q διώχνεται , είναι λιγότερο πρόσφατα ζητηθείσα σελίδα στη γρήγορη μνήμη πράγμα το οποίο σημαίνει ότι η ακολουθία σ(s1),…, σ(t) περιέχει αιτήσεις σε k+1 διακριτές σελίδες τουλάχιστον k από τις οποίες είναι διαφορετικές από την p.

Έστω τώρα ότι μέσα στη φάση το P(ι), ο LRU δεν αποτυγχάνει δύο φορές μέσα στην ίδια σελίδα, αλλά σε μια από τις αποτυχίες ζητείται η σελίδα p. Έστω t≥tι η πρώτη φορά που η p διώχνεται από τη γρήγορη μνήμη. Χρησιμοποιώντας τα ίδια επιχειρήματα με πριν προκύπτει ότι η ακολουθία σ(tι-1), σ(tι),…, σ(t) έχει k+1 διακριτές σελίδες.

Με τη βοήθεια του λήμματος 2 είναι εύκολο να αποδείξουμε το θεώρημα 6 . Πράγματι ο OPT έχει στη γρήγορη μνήμη του τη σελίδα p στο τέλος της φάσης P(ι-1) και συνεπώς δεν μπορεί να έχει να έχει και τις υπόλοιπες k σελίδες που ζητούνται στη φάση P(ι). Συνεπώς κατά τη διάρκεια της P(ι) ο OPT αποτυγχάνει τουλάχιστον μια φορά.

Σημείωση: Παραπάνω περιγράφηκαν κάποιοι χαρακτηριστικοί ντετερμινιστικοί online paging αλγόριθμοι από μια θεωρητική οπτική γωνία. Στην πράξη τα εμπειρικά αποτελέσματα είναι ελαφρώς διαφορετικά . Παρόλο που ο LRU και ο FIFO θεωρητικά έχουν τον ίδιο λόγο ανταγωνιστικότητας, πρακτικά ο LRU συμπεριφέρεται αρκετά καλύτερα. Επίσης, παρά το γεγονός ότι με βάση τη θεωρητική ανάλυση τόσο ο LRU όσο και ο FIFO δίνουν μεγαλύτερο λόγο ανταγωνιστικότητας για μεγαλύτερη χωρητικότητα γρήγορης μνήμης , στην πράξη τα πειραματικά δεδομένα δείχνουν ότι ο “εμπειρικός λόγος ανταγωνιστικότητας” του LRU και του FIFO είναι μια μικρή σταθερά ανεξάρτητη από το μέγεθος της γρήγορης μνήμης (για αρκετά μεγάλα μεγέθη μνημών).

Οι παραπάνω παρατηρήσεις οδήγησαν στο συμπέρασμα ότι η συμβατική ανταγωνιστική ανάλυση δεν επαρκεί για μια ικανοποιητική μέτρηση της απόδοσης ενός online paging αλγορίθμου. Για το λόγο αυτό υπάρχουν άλλες μορφές της ανταγωνιστικής ανάλυσης που μπορούν να δώσουν πιο σαφείς και ικανοποιητικές εκτιμήσεις για τους paging αλγορίθμους από ότι η συμβατική ανταγωνιστική ανάλυση. Ωστόσο οι μορφές αυτές ξεφεύγουν από το αντικείμενο της εργασίας και δεν θα αναλυθούν περισσότερο.

Β) Randomized αλγόριθμοι

Με τον όρο Randomized αλγόριθμοι εννοούμε όλους εκείνους τους αλγόριθμους που κάνουν τυχαίες επιλογές κατά τη διάρκεια εκτέλεσης τους . Κατά την εξέταση της αποδοτικότητας των ντετερμινιστικών online αλγορίθμων για το paging βρήκαμε κάποια κάτω φράγματα για τον λόγο ανταγωνιστικότητας. Αναρωτιόμαστε τώρα αν η τυχαιότητα που

10

Page 11: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

ενέχεται στους Randomized αλγόριθμους μπορεί να μειώσει τον λόγο ανταγωνιστικότητας.

Για να προχωρήσουμε στην ανάλυση των Randomized αλγορίθμων και να εξετάσουμε την αποδοτικότητα τους χρειάζεται να εισαγάγουμε κάποιες νέες έννοιες και να επεκτείνουμε κάποιες από τις παλιές που χρησιμοποιήθηκαν για την ανάλυση των ντετερμινιστικών αλγορίθμων.

Εφόσον το κόστος που προκαλεί ένας Randomized αλγόριθμος για μια ακολουθία αιτήσεων εξαρτάται από τις τυχαίες επιλογές που αυτός κάνει κατά τη διάρκεια εκτέλεσης τους , έχουμε να κάνουμε με μια τυχαία μεταβλητή. Επομένως δεν έχει νόημα να μιλάμε για κόστος του αλγορίθμου για μια ακολουθία σ (αφού η σ δεν καθορίζει πλήρως το κόστος) παρά μόνο για μέσο ή αναμενόμενο κόστος.

Επίσης πλέον δεν είναι αρκετό ένα μόνο μοντέλο αντιπάλου, αλλά πρέπει να προσθέσουμε και άλλα μοντέλα. Βέβαια και στην ανάλυση των Randomized αλγορίθμων ο αντίπαλος μας θα γνωρίζει τη γενική περιγραφή του online αλγόριθμου Α και θα έχει το διπλό ρόλο της δημιουργίας της ακολουθίας αιτήσεων σ και του τρεξίματος του δικού του αλγορίθμου για την ίδια ακολουθία. Το κρίσιμο σημείο που διαφοροποιεί τα μοντέλα των αντιπάλων είναι το σε ποιο βαθμό γνωρίζει κάθε αντίπαλος (και μπορεί να εκμεταλλευτεί) τα αποτελέσματα των τυχαίων επιλογών που καλείται να κάνει ο online αλγόριθμος κατά την εκτέλεση τους.

Τα τρία επικρατούντα μοντέλα αντιπάλων είναι τα ακόλουθα: Αγνώμων αντίπαλος ( oblivious adversary ): Ο αγνώμων αντίπαλος οφείλει να επιλέξει ολόκληρη την ακολουθία αιτήσεων σ εκ των προτέρων, πριν δηλαδή αρχίσει ο online αλγόριθμος να χειρίζεται τις αιτήσεις και προφανώς χωρίς να γνωρίζει τα αποτελέσματα των τυχαίων επιλογών του online αλγόριθμου. Ωστόσο γνωρίζει τον online αλγόριθμο (σε όσα σημεία δεν εμπεριέχεται τυχαιότητα) καθώς και τις κατανομές πιθανότητας για τις επιλογές που γίνονται τυχαία. Το κόστος με το οποίο “χρεώνεται” ο αγνώμων αντίπαλος είναι το κόστος του βέλτιστου offline αλγόριθμου για την ακολουθία σ. Προσαρμοστικός online αντίπαλος ( adaptive online adversary ) : Σ’ αυτό το μοντέλο ο αντίπαλος έχει επίγνωση των στιγμιότυπων εκτέλεσης του online αλγόριθμου και παράγει την επόμενη αίτηση στην ακολουθία αιτήσεων με βάση τις (τυχαίες ) επιλογές του online αλγόριθμου σ’ όλες τις προηγούμενες αιτήσεις . Ο αντίπαλος αυτός πρέπει να χειρίζεται online κάθε μία από τις αιτήσεις της ακολουθίας σ που παράγει χωρίς να γνωρίζει τις τυχαίες επιλογές του online αλγόριθμου για την παρούσα και τις μελλοντικές αιτήσεις. Προσαρμοστικός offline αντίπαλος ( adaptive offline adversary ) : Αυτός ο αντίπαλος έχει επίγνωση των στιγμιότυπων εκτέλεσης του online αλγόριθμου και διαλέγει κάθε αίτηση της ακολουθίας αιτήσεων σ με βάση τις επιλογές που έχει κάνει ο online αλγόριθμος για όλες τις προηγούμενες αιτήσεις. Ωστόσο ο προσαρμοστικός offline αντίπαλος γνωρίζει όλη την ακολουθία αιτήσεων σ που έχει δημιουργήσει και έτσι μπορεί να τη χειρίζεται με το βέλτιστο κόστος.

Έχοντας ορίσει αυτούς τους τρεις τύπους αντιπάλων, θα δώσουμε τώρα τους ορισμούς της ανταγωνιστικότητας και του λόγου ανταγωνιστικότητας τροποποιώντας ελαφρώς τους αντίστοιχους ορισμούς των ντετερμινιστικών αλγορίθμων.

Ορισμός 3

11

Page 12: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

Λέμε ότι ένας Randomized online αλγόριθμος Α είναι c-ανταγωνιστικός ως προς κάποιο τύπο αντιπάλου ADV αν υπάρχει α έτσι ώστε για κάθε αντίπαλο του τύπου ADV να ισχύει E[cost A(σ)- c∙ cost ADV(σ)]≤ αόπου σ είναι η ακολουθία αιτήσεων που παράγει ο αντίπαλος κατά την αλληλεπίδραση του με τον Α και cost ADV(σ) το κόστος που η σ συνεπάγεται για τον αντίπαλο. Ο λόγος ανταγωνιστικότητας ενός randomized αλγορίθμου Α ως προς αντίπαλο του τύπου ADV ορίζεται ως cAADV inf{c\ A είναι c- ανταγωνιστικός για όλους τους αντιπάλους τύπου ADV}

Παρατηρήσεις πάνω στον ορισμό Στον παραπάνω ορισμό η μέση τιμή του κόστους λαμβάνεται ως

προς τις τυχαίες επιλογές που κάνει ο randomized αλγόριθμος Α κατά την εκτέλεση του.

Επίσης από τον παραπάνω ορισμό των μοντέλων των αντιπάλων γίνεται προφανές ότι ο λόγος ανταγωνιστικότητας δεν καθαρίζεται πλήρως από τον online αλγόριθμο Α αλλά μεταβάλλεται ανάλογα και με το μοντέλο του αντιπάλου που έχουμε χρησιμοποιήσει για να πραγματοποιήσουμε την ανταγωνιστική μας ανάλυση.

Τέλος η παραπάνω ανισότητα μπορεί να πάρει μια πιο ειδική μορφή ανάλογα με τον τύπο του αντιπάλου. Ο αγνώμων αντίπαλος , εφόσον δεν γνωρίζει καμία από τυχαίες επιλογές του online αλγόριθμου Α, κατασκευάζει και χειρίζεται την ακολουθία αιτήσεων σ ανεξάρτητα από αυτές και κατά συνέπεια ούτε η ακολουθία σ ούτε και το κόστος cost OBL(σ) είναι τυχαίες μεταβλητές. Συνεπώς η ανισότητα για τον αγνώμονα αντίπαλο παίρνει τη μορφή E[cost A(σ)] ≤ c∙ cost OBL(σ)+ α.

Αντιθέτως στις περιπτώσεις των προσαρμοστικών αντιπάλων (τόσο του offline όσο και του online) η ακολουθία σ που δημιουργείται και κατά συνέπεια και το κόστος που αυτή επιφέρει εξαρτώνται από τις τυχαίες επιλογές του Α και συνεπώς είναι και αυτά τυχαίες μεταβλητές.

Η ανισότητα λοιπόν για τους προσαρμοστικούς αντιπάλους παίρνει τη μορφή E[cost A(σ)] ≤ E[c∙cost ADAPT(σ)]+ α

ΘΕΩΡΗΜΑ 7

Έστω COBL ο βέλτιστος λόγος ανταγωνιστικότητας που μπορεί να επιτευχθεί ως προς έναν αγνώμονα αντίπαλο για κάποιο πρόβλημα. Έστω δηλαδή ότι COBL= infAcAOBL . Όμοια ορίζουμε CADON= infAcAADON και CADOFF= infAcAADOFF. Έστω τέλος ότι CDET είναι βέλτιστος λόγος ανταγωνιστικότητας που μπορεί να επιτευχθεί από έναν ντετερμινιστικό αλγόριθμο. Τότε ισχύει:COBL≤ CADON≤ CADOFF ≤ CDET .

Δε θα παραθέσουμε την αυστηρή μαθηματική απόδειξη για το παραπάνω θεώρημα ωστόσο μπορούμε να προσεγγίσουμε το παραπάνω αποτέλεσμα διαισθητικά.

Είναι προφανές ότι ο λιγότερο ισχυρός αντίπαλος είναι ο αγνώμων καθώς οι ελλιπείς γνώσεις που έχει για τη συμπεριφορά του Α σε τυχαίες επιλογές μας επιτρέπει να τον “ανταγωνιστούμε” αρκετά ως προς το κόστος. Ο πιο ισχυρός αντίπαλος αντίθετα είναι ο προσαρμοστικός offline αντίπαλος καθώς γνωρίζει κατά κάποιο τρόπο το πώς έχει χειρισθεί παρελθοντικές αιτήσεις ο Α και επίσης μπορεί να χειριστεί τις αιτήσεις ο ίδιος με το βέλτιστο κόστος, αφού γνωρίζει όλη την ακολουθία αιτήσεων

12

Page 13: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

σ εκ των προτέρων .Τέλος ο προσαρμοστικός online αντίπαλος έχει μια μέση ισχύ καθώς ναι μεν γνωρίζει τους έως τώρα χειρισμούς του αλγόριθμου Α , αλλά καλείται και ο ίδιος να χειριστεί τις αιτήσεις online χωρίς να ξέρει τις μελλοντικές αιτήσεις της ακολουθίας σ που ο ίδιος θα δημιουργήσει.

Όπως είδαμε στην προηγούμενη ενότητα το κάτω φράγμα για τον λόγο ανταγωνιστικότητας είναι k για όλους τους ντετερμινιστικούς paging αλγόριθμους. Το φράγμα αυτό μπορεί να επεκταθεί ώστε να ισχύει και για τους randomized αλγόριθμους ως προς έναν προσαρμοστικό online αλγόριθμο. Συνεπώς η χρήση randomized αλγόριθμων έναντι προσαρμοστικών αντιπάλων δε μας δίνει κανένα πλεονέκτημα. Αυτή η παρατήρηση μοιάζει αρκετά λογική αν σκεφτούμε ότι η τυχαιότητα που ενέχεται στους randomized αλγόριθμους αναιρείται κατά κάποιο τρόπο από το γεγονός ότι η προσαρμοστικοί αντίπαλοι γνωρίζουν κάποια από τα τυχαία αποτελέσματα και μπορούν να προσαρμόσουν την τακτική δημιουργίας αιτήσεων με βάση αυτές τις γνώσεις. Στην υπόλοιπη ενότητα θα εξετάσουμε τη συμπεριφορά και αποδοτικότητα κάποιων randomized paging αλγορίθμων ως προς τον αγνώμονα αντίπαλο. Στο τέλος της ενότητας αυτής θα εξετάσουμε την αλληλεξάρτηση των αποδοτικοτήτων για τους τρεις τύπους αντιπάλων.

Θεωρούμε αρχικά τον απλούστερο randomized αλγόριθμο RAND: “ Σε κάθε αποτυχία διώξε από τη μνήμη μια σελίδα στην τύχη”. Πρόκειται για έναν αλγόριθμο δίχως μνήμη καθώς η μόνη πληροφορία που χρειάζεται ο αλγόριθμος για το ποια σελίδα θα διώξει είναι το ποιες σελίδες βρίσκονται στη γρήγορη μνήμη.

Αποδεικνύεται ότι ο αλγόριθμος αυτός δεν μπορεί να μειώσει τον λόγο ανταγωνιστικότητας ακόμα και έναντι του αγνώμονα αντιπάλου. Δηλαδή ο αλγόριθμος RAND είναι k-ανταγωνιστικός ως προς οποιονδήποτε αγνώμονα αντίπαλο. Ο ισχυρισμός αυτός απορρέει από το ακόλουθο γενικό θεώρημα, η απόδειξη του οποίου παραλείπεται.

ΘΕΩΡΗΜΑ 8Οποιοσδήποτε αλγόριθμος χωρίς μνήμη για το k-server πρόβλημα

σε οποιονδήποτε μετρικό χώρο έχει λόγο ανταγωνιστικότητας τουλάχιστον k ως προς τον αγνώμονα αντίπαλο.

Ενώ λοιπόν όλοι οι randomized αλγόριθμοι χωρίς μνήμη δε μας δίνουν κανένα πλεονέκτημα ακόμα και έναντι του αγνώμονα αντίπαλου υπάρχουν αλγόριθμοι με μνήμη που μπορούν να πετύχουν αρκετά καλύτερο λόγο ανταγωνιστικότητας από ό,τι οι ντετερμινιστικοί αλγόριθμοι.

Ένας τέτοιος αλγόριθμος είναι ο randomized marking αλγόριθμος (RMA) ο οποίος δουλεύει ως εξής: ο RMA επεξεργάζεται την ακολουθία αιτήσεων σ σε φάσεις . Στην αρχή κάθε φάσης όλες οι σελίδες στη γρήγορη μνήμη είναι αμαρκάριστες. Όποτε ζητείται μία σελίδα , τότε αυτή μαρκάρεται . Σε περίπτωση αποτυχίας μια σελίδα επιλέγεται στην τύχη και ομοιόμορφα ανάμεσα σε όλες τις αμαρκάριστες σελίδες που βρίσκονται στη γρήγορη μνήμη και διώχνεται. Μια φάση τελειώνει όταν όλες οι σελίδες στη γρήγορη μνήμη είναι μαρκαρισμένες και έχουμε μια αποτυχία. Τότε όλες οι σελίδες ξεμαρκάρονται και μια νέα φάση ξεκινά.

ΘΕΩΡΗΜΑ 9

13

Page 14: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

Ο Randomized Marking Αλγόριθμος RMA έχει λόγο ανταγωνιστικότητας 2Η(k) έναντι οποιουδήποτε αγνώμονα αντιπάλου όπου:

Η(k)=

Απόδειξη Υποθέτουμε χωρίς βλάβη της γενικότητας ότι ο OPT και RMA έχουν

αρχικά το ίδιο σύνολο σελίδων στη γρήγορη μνήμη τους. Χωρίζουμε την ακολουθία σ σε φάσεις. Η ι-οστή φάση τερματίζεται αμέσως πριν η (k+1)- οστή διαφορετική σελίδα ζητηθεί κατά τη διάρκεια της φάσης. Όταν μια σελίδα μαρκάρεται , τότε δεν μπορεί να διωχθεί από τη γρήγορη μνήμη για το υπόλοιπο της φάσης (εξ’ ορισμού της φάσης). Συνεπώς αν συμβολίζουμε με Pι το σύνολο των σελίδων που ζητείται στη φάση ι , τότε στο τέλος της φάσης ι τα περιεχόμενα της γρήγορης μνήμης του RMA είναι ακριβώς Pι. Επιπλέον ο RMA δεν μπορεί να αποτύχει δυο φορές στην ίδια σελίδα κατά τη διάρκεια μιας φάσης. Συνεπώς και για την εύρεση του κόστους μας ενδιαφέρουν μόνο οι πρώτες αποτυχίες για κάθε σελίδα σε μία φάση. Στη συνέχεια θα αναλύσουμε ξεχωριστά τα κόστη για τον RMA και για τον OPT.

Έστω mι ο αριθμός των αιτήσεων των νέων σελίδων στη φάση ι (νέες σελίδες είναι οι σελίδες που ζητούνται στη φάση ι αλλά όχι στη φάση ι-1. Οι σελίδες αυτές βρίσκονταν εκτός γρήγορης μνήμης στην αρχή της φάσης ι). Εφόσον κάθε νέα σελίδα δε βρίσκεται αρχικά στη γρήγορη μνήμη του RMA, ο RMA θα αποτυγχάνει κάθε φορά που μία νέα σελίδα ζητείται. Συνεπώς οι αποτυχίες που οφείλονται σε αιτήσεις νέων σελίδων είναι mi. Θα εξετάσουμε τώρα τον αριθμό των αποτυχιών που οφείλονται σε αιτήσεις παλιών σελίδων (όχι νέων). Εξετάζουμε την πιθανότητα ο RMA να αποτύχει όταν ζητηθεί η j-οστή παλιά σελίδα (ως προς τη σειρά με την οποία ζητούνται οι παλιές σελίδες στη φάση ι) για πρώτη φορά .

Έστω ότι μέχρι να ζητηθεί η j-οστή παλιά σελίδα για πρώτη φορά στη διάρκεια της ι-οστής φάσης , έχουν ήδη ζητηθεί l νέες σελίδες.

Έχουν επίσης ζητηθεί και μαρκαριστεί j-1 παλιές σελίδες. Συνεπώς συνολικά υπάρχουν k-(j-1) αμαρκάριστες παλιές σελίδες εκ των οποίων k-l-(j-1) βρίσκονται στη γρήγορη μνήμη. Συνεπώς η πιθανότητα η j-οστή παλιά σελίδα που ζητείται να είναι στη γρήγορη μνήμη είναι

και επομένως η πιθανότητα να μην είναι στη γρήγορη

μνήμη είναι . Εφόσον όμως l≤m1, η πιθανότητα να έχουμε

σφάλμα για την j-οστή κατά σειρά παλιά σελίδα είναι το πολύ .

Επομένως το αναμενόμενο κόστος για τον RMA στη φάση ι είναι

E[cost RMAι(σ)] ≤ mι + = mι+mι(Ηk-Hmι) ≤mι Ηk

Αθροίζοντας για όλες τις φάσεις παίρνουμε ότι το κόστος του RMA για ολόκληρη την ακολουθία σ είναι E[cost RMAι(σ)] ≤ Η(k) (*)

14

Page 15: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

Για την εύρεση του cost OPT(σ) έχουμε τα εξής: Θεωρούμε την (ι-1)-οστή και την ι-οστή φάση. Ο αριθμός των διαφορετικών μεταξύ τους σελίδων που ζητούνται και στις δύο φάσεις είναι k+mι. Εφόσον ο OPT έχει μόνο k σελίδες στη γρήγορη μνήμη στην αρχή της (ι-1)-οστής φάσης πρέπει να αποτύχει τουλάχιστον mι φορές κατά τη διάρκεια των δύο αυτών φάσεων. Εφαρμόζοντας το επιχείρημα αυτό για κάθε ζευγάρι διαδοχικών φάσεων παίρνουμε ότι costOPT(σ)≥ και

cost OPT(σ)≥ . Συνεπώς το κόστος του OPT είναι τουλάχιστον ο μέσος όρος αυτών των δύο δηλαδή

cost OPT(σ)≥ (**)

Από (*), (**) έχουμε:

E[cost RMAι(σ)] ≤ Η(k) = 2 Η(k) ≤2 Η(k) cost OPT(σ) το οποίο

αποδεικνύει το ζητούμενο.

Πόρισμα 1Όταν ο συνολικός αριθμός των σελίδων Ν της αργής μνήμης είναι

k+1 τότε ο RMA είναι Η(k)-ανταγωνιστικός.

Με το θεώρημα 9 δείξαμε ότι υπάρχει ένας Randomized αλγόριθμος με λόγο ανταγωνιστικότητας 2 Η(k) . Με το ακόλουθο πολύ σημαντικό θεώρημα, το οποίο παρατίθεται χωρίς να το αποδείξουμε, θα δώσουμε ένα κάτω φράγμα για τους Randomized paging αλγορίθμους.

ΘΕΩΡΗΜΑ 10Έστω R ένας οποιοσδήποτε Randomized paging αλγόριθμος. Αν ο

αριθμός των σελίδων είναι μεγαλύτερος ή ίσος του k+1,όπου k είναι το μέγεθος της γρήγορης μνήμης, τότε ο λόγος ανταγωνιστικότητας του R έναντι οπουδήποτε αγνώμονα αντιπάλου είναι μεγαλύτερος ή ίσος του Η(k).

Το παραπάνω θεώρημα που αποδείχθηκε από τους Fiat, Karp, Luby, McGeoch, Sleator και Young μας λέει πολύ απλά ότι οποιονδήποτε randomized αλγόριθμο και αν σκαρφιστούμε το κόστος του είναι πάντα τουλάχιστον Η(k) φορές μεγαλύτερο από το κόστος με το οποίο επιβαρύνεται ο αγνώμονας αντίπαλος.

Στο τέλος αυτής της ενότητας θα μελετήσουμε τις σχέσεις ανάμεσα στις αποδοτικότητες των αλγορίθμων για τους τρεις τύπους αντιπάλων και θα δώσουμε χωρίς απόδειξη κάποια σημαντικά θεωρήματα για το πώς συνδέονται οι λόγοι ανταγωνιστικότητας για τους τύπους αυτούς.

Γενικά η ισχύς ενός randomized αλγόριθμου μετράται τόσο από τον λόγο ανταγωνιστικότητας που αυτός επιτυγχάνει όσο και από την ισχύ του αντιπάλου που έχει να αντιμετωπίσει. Υπάρχουν ωστόσο κάποιες σχέσεις που συνδέουν την απόδοση των αλγορίθμων έναντι αντιπάλων διαφορετικού τύπου.

15

Page 16: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

ΘΕΩΡΗΜΑ 11

Έστω G ένας online αλγόριθμος με λόγο ανταγωνιστικότητας α έναντι ενός προσαρμοστικού online αντιπάλου και έστω ότι υπάρχει online αλγόριθμος Η με λόγο ανταγωνιστικότητας β έναντι ενός αγνώμονα αντιπάλου. Τότε ο G είναι αβ-ανταγωνιστικός έναντι του προσαρμοστικού offline αντιπάλου.

Διαισθητικά το παραπάνω θεώρημα μπορεί να τεκμηριωθεί ως εξής: Για κάθε προσαρμοστικό offline αντίπαλο Α, θεωρούμε έναν προσαρμοστικό online αντίπαλο Α΄ για τον οποίο η ακολουθία αιτήσεων είναι η ίδια αλλά τη χειρίζεται σύμφωνα με τον αλγόριθμο Η. Τότε έχουμε ότι το αναμενόμενο κόστος για τον αλγόριθμο G για την ακολουθία που δημιουργεί ο Α΄ είναι το πολύ α φορές το κόστος για τον Α΄, δηλαδή α φορές το κόστος για τον Η. Αλλά το αναμενόμενο κόστος για τον Η είναι β φορές το βέλτιστο offline κόστος ή ισοδύναμα β φορές το κόστος του Α. Συνεπώς το αναμενόμενο κόστος για τον G είναι το πολύ αβ φορές το κόστος για τον Α, για οποιονδήποτε προσαρμοστικό offline αντίπαλο Α.

Εφόσον ο προσαρμοστικός offline αντίπαλος είναι ο ισχυρότερος από τους τρεις τύπους αντιπάλων αναρωτιόμαστε αν η εισαγωγή τυχαιότητας σε έναν αλγόριθμο θα βελτίωνε την αποδοτικότητα έναντι ενός τέτοιου αντιπάλου. Το ακόλουθο θεώρημα δίνει απάντηση σε αυτό το ερώτημα.

ΘΕΩΡΗΜΑ 12

Έστω G ένας α-ανταγωνιστικός αλγόριθμος έναντι ενός προσαρμοστικού offline αντιπάλου. Τότε υπάρχει ντετερμινιστικός αλγόριθμος που έχει λόγο ανταγωνιστικότητας α.

Τέλος τα θεωρήματα 11 και 12 οδηγούν στα παρακάτω ενδιαφέροντα πορίσματα:

Πόρισμα 2Έστω G ένας Randomized αλγόριθμος που είναι c- ανταγωνιστικός

έναντι ενός προσαρμοστικού online αντιπάλου. Αν υπάρχει αλγόριθμος d-ανταγωνιστικός ως προς αγνώμονα αντίπαλο τότε υπάρχει και ντετερμινιστικός cd–ανταγωνιστικός αλγόριθμος .

Πόρισμα 3Έστω G ένας randomized αλγόριθμος που είναι c- ανταγωνιστικός

έναντι ενός προσαρμοστικού online αντιπάλου. Τότε υπάρχει ντετερμινιστικός c2- ανταγωνιστικός αλγόριθμος.

Βιβλιογραφία

[1] Sandy Irany, Anna R. Karlin. Online computation ,pages 521-543. In “Approximation Algorithms for NP-Hard Problems”. Edited by Dorit S. Hockbaum. PWS Publishing Company.[2] Allan Borodin and Ran El-Yaniv. Online computation and competitive analysis. Cambridge University Press 1998

16

Page 17: ΕΡΓΑΣΙΑ ΣΤΟ PAGINGcseweb.ucsd.edu/~pmol/Projects/Paging.doc · Web viewOnline αλγόριθμος είναι μια διαδικασία η οποία σε κάθε στιγμιότυπο

[3] Neal E. Young. Paper: ”On-line paging against adversarially biased random inputs.” May 2002.[4] Susanne Albers. Competitive online Algorithms. BRICS, Department of computer science, University of Aarhus. 1996.[5] Micah Adler, Audrey Lee. Really Advanced Algorithms. Lecture 24: May 6,2003.[6] Approximation and online Algorithms. Source:www-2.cs.cmu.edu./afs/cs.cmu.edu/usr/arrim/www/Approx00/lectures/lect0308

17