Αλγόριθµοι Άµεσης Απόκρισης. Ιωάννης Καραγιάννης

Σχετικά έγγραφα
ροµολόγηση πακέτων σε δίκτυα υπολογιστών

Σηµειώσεις στις σειρές

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»

1 Ορισµός ακολουθίας πραγµατικών αριθµών

3 Αναδροµή και Επαγωγή

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

< 1 για κάθε k N, τότε η σειρά a k συγκλίνει. +, τότε η η σειρά a k αποκλίνει.

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές:

Ανοικτά και κλειστά σύνολα

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

Αρµονική Ανάλυση. Ενότητα: L p Σύγκλιση. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

Αρµονική Ανάλυση. Ενότητα: Ολοκλήρωµα Lebesgue - Ασκήσεις. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

11 Το ολοκλήρωµα Riemann

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

Αρµονική Ανάλυση. Ενότητα: Μέτρο Lebesgue. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008

όπου D(f ) = (, 0) (0, + ) = R {0}. Είναι Σχήµα 10: Η γραφική παράσταση της συνάρτησης f (x) = 1/x.

Αρµονική Ανάλυση. Ενότητα: Το ϑεώρηµα παρεµβολής του Riesz και η ανισότητα Hausdorff-Young. Απόστολος Γιαννόπουλος.

P (A) = 1/2, P (B) = 1/2, P (C) = 1/9

Εισαγωγή στην Τοπολογία

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

Υπόδειξη. (α) Άµεσο αφού κάθε υποσύνολο µηδενικού συνόλου είναι µετρήσιµο.

f (x) = l R, τότε f (x 0 ) = l. = lim (0) = lim f(x) = f(x) f(0) = xf (ξ x ). = l. Εστω ε > 0. Αφού lim f (x) = l R, υπάρχει δ > 0

Κεφάλαιο 4. Ευθέα γινόµενα οµάδων. 4.1 Ευθύ εξωτερικό γινόµενο οµάδων. i 1 G 1 G 1 G 2, g 1 (g 1, e 2 ), (4.1.1)

2. Στοιχεία Πολυδιάστατων Κατανοµών

KΕΦΑΛΑΙΟ 4 AΚΟΛΟΥΘΙΕΣ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ

1 Το ϑεώρηµα του Rademacher

cov(x, Y ) = E[(X E[X]) (Y E[Y ])] cov(x, Y ) = E[X Y ] E[X] E[Y ]

Αρµονική Ανάλυση. Ενότητα: Προσεγγίσεις της µονάδας και Αθροισιµότητα - Ασκήσεις. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

f x = f a + Df a x a + R1 x, a, x U και από τον ορισµό της 1 h f a h f a h a h h a R h a i i j

Εισαγωγή στην Τοπολογία

ΣΕΙΡΕΣ TAYLOR. Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων. Πολυώνυµο είναι κάθε συνάρτηση της µορφής:

a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1

ΚΕΦΑΛΑΙΟ 2 ΜΗ ΓΡΑΜΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

Λύσεις των ϑεµάτων, ΑΠΕΙΡΟΣΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι, 3/2/2010

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Προτεινοµενες Ασκησεις - Φυλλαδιο 9

Παράρτηµα Α. Στοιχεία θεωρίας µέτρου και ολοκλήρωσης.

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2

Εισαγωγή στην Τοπολογία

(365)(364)(363)...(365 n + 1) (365) k

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

Αρµονική Ανάλυση. Ενότητα: Ολοκλήρωµα Lebesgue. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

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

Εισαγωγή στην Τοπολογία

ΙΙ ιαφορικός Λογισµός πολλών µεταβλητών. ιαφόριση συναρτήσεων πολλών µεταβλητών

Κεφάλαιο 6. Πεπερασµένα παραγόµενες αβελιανές οµάδες. Z 4 = 1 και Z 2 Z 2.

Συνεχείς συναρτήσεις πολλών µεταβλητών. ε > υπάρχει ( ) ( )

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

Εισαγωγή στην Τοπολογία

Γραµµική Αλγεβρα Ι. Ενότητα: ιανυσµατικοί χώροι. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 9

f x = f a + Df a x a + R1 x, a, x U και από τον ορισµό της 1 h f a h f a h a h h a R h a i i j

Αρµονική Ανάλυση. Ενότητα: Χώροι L p. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

Μέτρο Lebesgue. Κεφάλαιο Εξωτερικό µέτρο Lebesgue

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών. HY-217: Πιθανότητες - Χειµερινό Εξάµηνο 2015 ιδάσκων : Π. Τσακαλίδης

Οι πραγµατικοί αριθµοί

Γραµµική Αλγεβρα Ι. Ενότητα: Εισαγωγικές Εννοιες. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

Αρµονική Ανάλυση. Ενότητα: Χώροι L p - Ασκήσεις. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

Κεφάλαιο 1. Θεωρία Ζήτησης

Πρακτική µε στοιχεία στατιστικής ανάλυσης

Υπολογισµός διπλών ολοκληρωµάτων µε διαδοχική ολοκλήρωση

1 Οι πραγµατικοί αριθµοί

( ) = inf { (, Ρ) : Ρ διαµέριση του [, ]}

ΣΤΟΧΑΣΤΙΚΕΣ ΙΑ ΙΚΑΣΙΕΣ

Αρµονική Ανάλυση. Ενότητα: L 2 -σύγκλιση σειρών Fourier. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

Γραµµικός Προγραµµατισµός - Μέθοδος Simplex

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

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

Αριθµοί Liouville. Ιωάννης Μπαρµπαγιάννης

Θεωρια Αριθµων. Θεωρητικα Θεµατα. Ακαδηµαϊκο Ετος Α. Μπεληγιάννης

5.1 Συναρτήσεις δύο ή περισσοτέρων µεταβλητών

Κεφάλαιο 3β. Ελεύθερα Πρότυπα (µέρος β)

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

f(x) dx. f(x)dx = 0. f(x) dx = 1 < 1 = f(x) dx. Θα είχαµε f(c) = 0, ενώ η f δεν µηδενίζεται πουθενά στο [0, 2].

Η ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ)

(1) 98! 25! = 4 100! 23! = 4

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ: ΠΛΗΡΟΦΟΡΙΚΗ ΘΕ: ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ Ι (ΠΛΗ 12) ΛΥΣΕΙΣ ΕΡΓΑΣΙΑΣ 3

Υπολογισµός διπλών ολοκληρωµάτων µε διαδοχική ολοκλήρωση

( a) ( ) n n ( ) ( ) a x a. x a x. x a x a

Αρµονική Ανάλυση. Ενότητα: Προσεγγίσεις της µονάδας και Αθροισιµότητα. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

q={(1+2)/2}=1 A(1,2)= MERGE( 4, 6 ) = 4 6 q=[(3+4)/2]=3 A(1,4)= MERGE( 4 6, 5 8 ) = q=[(5+6)/2]=5 A(5,6)= MERGE( 2, 9 ) = 2 9

1 Οι πραγµατικοί αριθµοί

Κανόνες παραγώγισης ( )

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Αριθµητική Ολοκλήρωση

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

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

Εισαγωγή στην Τοπολογία

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

Εισαγωγή. Οπως είδαµε για την εκκίνηση της Simplex χρειαζόµαστε µια Αρχική Βασική Εφικτή Λύση. υϊσµός

3. Οριακά θεωρήµατα. Κεντρικό Οριακό Θεώρηµα (Κ.Ο.Θ.)

Ολοκλήρωµα Lebesgue. Κεφάλαιο Μετρήσιµες συναρτήσεις Ορισµός και ϐασικές ιδιότητες

KΕΦΑΛΑΙΟ 6 ΥΝΑΜΟΣΕΙΡΕΣ-ΣΕΙΡΕΣ TAYLOR

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση

Transcript:

Αλγόριθµοι Άµεσης Απόκρισης Ιωάννης Καραγιάννης Μάρτιος 2009

2

Περιεχόµενα 1 Εισαγωγή 5 2 Αγορά ή ενοικίαση ; 9 2.1 Ενας ντετερµινιστικός αλγόριθµος άµεσης απόκρισης..... 10 2.2 Γενικεύοντας το πρόβληµα.................... 11 2.3 Ενας πιθανοτικός αλγόριθµος.................. 13 3 Ντετερµινιστικοί αλγόριθµοι σελιδοποίησης 15 3.1 Αλγόριθµοι σελιδοποίησης................... 16 3.2 Ενας ϐέλτιστος στατικός αλγόριθµος σελιδοποίησης...... 16 3.3 Το (h, k) πρόβληµα σελιδοποίησης.............. 18 3.4 Αλγόριθµοι µαρκαρίσµατος και συντηρητικοί αλγόριθµοι... 19 3.5 Κάτω ϕράγµατα.......................... 23 4 Εισαγωγή στην αρχή του Yao 25 4.1 Ενα απλό πρόβληµα....................... 25 4.2 Πιθανοτικοί αλγόριθµοι..................... 26 4.3 Μια τεχνική απόδειξης κάτω ϕραγµάτων............ 28 5 Πιθανοτικοί αλγόριθµοι σελιδοποίησης 31 5.1 Ο αλγόριθµος MARK....................... 31 5.2 Κάτω ϕράγµα για πιθανοτικούς αλγορίθµους.......... 33 6 Εξισορρόπηση ϕορτίου 37 6.1 Ο άπληστος αλγόριθµος σε όµοιες µηχανές........... 38 6.2 Ο αλγόριθµος SLOWFIT για συσχετιζόµενες µηχανές...... 39 6.3 Ενα κάτω ϕράγµα για περιορισµένες αναθέσεις......... 43 6.4 Μη συσχετιζόµενες µηχανές................... 44 6.5 ροµολόγηση µονοπατιών σε δίκτυα............... 48 3

4 ΠΕΡΙΕΧΟΜΕΝΑ 7 Εργασίες περιορισµένης διάρκειας 53 7.1 Γνωστές διάρκειες εργασιών................... 53 7.2 Άγνωστες διάρκειες εργασιών : Ενα κάτω ϕράγµα........ 55 7.3 Ο Αλγόριθµος ROBIN-HOOD.................. 57 8 Το πρόβληµα της συσκευασίας 61 9 Ελεγχος αποδοχής κλήσεων 69 9.1 Το πρόβληµα........................... 69 9.2 Κλήσεις άπειρης διάρκειας.................... 71 9.3 Κλήσεις περιορισµένης διάρκειας................ 76

Κεφάλαιο 1 Εισαγωγή Σκοπός αυτών των σηµειώσεων είναι η εισαγωγή στην περιοχή των αλγο- ϱίθµων άµεσης απόκρισης (online algorithms). Οι αλγόριθµοι αυτοί έχουν εφαρµογή σε προβλήµατα όπου η είσοδος δεν είναι γνωστή εκ των προτέρων αλλά εµφανίζεται σταδιακά. Ενας αλγόριθµος άµεσης απόκρισης καλείται να πάρει αποφάσεις για τη λύση ενός προβλήµατος µε ϐάση µερική πληρο- ϕορία για τα δεδοµένα του προβλήµατος και χωρίς να µπορεί να προβλέψει το µέλλον. Τα σχετικά προβλήµατα είναι είτε προβλήµατα µεγιστοποίησης κέρδους είτε προβλήµατα ελαχιστοποίησης κόστους. Γενικά, η είσοδος του προβλήµατος γίνεται γνωστή µε τη µορφή µιας ακολουθίας αιτήσεων. Οταν εµφανίζεται µια αίτηση, ένας αλγόριθµος άµεσης απόκρισης καλείται να πάρει µια τελεσίδικη απόφαση για τη συγκεκριµένη αίτηση. Για την ανάλυση αλγορίθµων άµεσης απόκρισης χρησι- µοποιούµε την έννοια της ανταγωνιστικής ανάλυσης (competitive analysis), µε ϐάση την οποία, η απόδοση του αλγορίθµου συγκρίνεται µε την απόδοση ενός ϐέλτιστου (υποθετικού) αλγορίθµου που έχει πρόσβαση σε ολόκληρη την ακολουθία αιτήσεων. Η µετρική που χρησιµοποιούµε για την ποσοτικοποίηση της απόδοσης ενός αλγορίθµου άµεσης απόκρισης είναι ο λόγος απόδοσης (competitive ratio). Ας υποθέσουµε ότι ο αλγόριθµος ALG λειτουργεί σε ακολουθίες αιτήσεων για το πρόβληµα µεγιστοποίησης κέρδους Π. Τότε, ο λόγος απόδοσής του ορίζεται ως η ελάχιστη τιµή της ποσότητας C για την οποία ισχύει η σχέση OPT(σ) C ALG(σ) α για κάθε δυνατή ακολουθία αιτήσεων σ για το πρόβληµα Π. Οι ποσότητες OPT(σ) και ALG(σ) δηλώνουν το ϐέλτιστο (µέγιστο) κέρδος για την ακολουθία 5

6 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ αιτήσεων σ και το κέρδος του αλγορίθµου ALG κατά την εκτέλεσή του στην ακολουθία σ, ενώ η παράµετρος α είναι µια οποιαδήποτε σταθερά που είναι ανεξάρτητη της ακολουθίας σ. Ο παραπάνω ορισµός καλύπτει την περίπτωση που ο αλγόριθµος ALG είναι ντετερµινιστικός. Στην περίπτωση πιθανοτικών αλγορίθµων, το κέρδος ALG(σ) του αλγορίθµου πάνω σε µια ακολουθία σ είναι µια τυχαία µεταβλητή. Λέµε ότι ο λόγος απόδοσης του πιθανοτικού αλγορίθµου άµεσης απόκρισης ALG για το πρόβληµα µεγιστοποίησης κέρδους Π ενάντια σε αµνήµονες αντιπάλους (oblivious adversaries) είναι η ελάχιστη τιµή της ποσότητας C για την οποία ισχύει ότι OPT(σ) C IE[ALG(σ)] α. Εφόσον το πρόβληµα Π µας το επιτρέπει, µπορούµε να ορίσουµε το λόγο απόδοσης του αλγορίθµου ALG χρησιµοποιώντας α = 0. Σε αυτή την περίπτωση, ο λόγος απόδοσης C ορίζεται ως εξής : C = max σ OPT(σ) IE[ALG(σ)] όπου το µέγιστο επιλέγεται µεταξύ όλων των δυνατών ακολουθιών αιτήσεων σ. Στην περίπτωση που το πρόβληµα Π είναι πρόβληµα ελαχιστοποίησης κόστους, ο λόγος απόδοσης ενός (πιθανοτικού) αλγορίθµου άµεσης απόκρισης ALG ορίζεται ως η ελάχιστη τιµή της ποσότητας C για την οποία ισχύει η σχέση IE[ALG(σ)] C OPT(σ) α για κάθε δυνατή ακολουθία αιτήσεων σ για το πρόβληµα Π. Οι ποσότητες OPT(σ) και ALG(σ) πλέον δηλώνουν το ϐέλτιστο (ελάχιστο) κόστος για την ακολουθία αιτήσεων σ και το κόστος του αλγορίθµου ALG κατά την εκτέλεσή του στην ακολουθία σ, ενώ η παράµετρος α ορίζεται όπως προηγουµένως. Ο ορισµός αυτός απλοποιείται σε C = max σ IE[ALG(σ)] OPT(σ) εφόσον το πρόβληµα Π µας επιτρέπει να ϑέσουµε την παράµετρο α ίση µε 0. Οι ορισµοί για ντετερµινιστικούς αλγορίθµους άµεσης απόκρισης όταν το Π είναι πρόβληµα ελαχιστοποίησης κόστους απλοποιούνται αφαιρώντας το σύµβολο της µέσης τιµής από το κόστος του αλγορίθµου.

Σηµειώνουµε ότι η απόδοση ενός πιθανοτικού αλγορίθµου προκύπτει συγκρίνοντας τον αλγόριθµο µε αµνήµονες αντιπάλους για τους οποίους υποθέτουµε ότι δηµιουργούν την ακολουθία αιτήσεων χωρίς να έχουν πρόσβαση στα αποτελέσµατα των τυχαίων επιλογών του αλγορίθµου (µολονότι, µπορεί να γνωρίζουν την πιθανοτική κατανοµή µε ϐάση την οποία κάνει τις τυχαίες επιλογές του ο αλγόριθµος). Για το λόγο αυτό, όταν υπολογίζουµε τη µέση τιµή του κόστους ή του κέρδους του αλγορίθµου για µια ακολουθία σ, υποθέτουµε ότι ο αντίπαλος έχει επιλέξει ολόκληρη την ακολουθία πριν την παρουσιάσει στον αλγόριθµο. Τα προβλήµατα µε τα οποία ϑα ασχοληθούµε περιλαµβάνουν το πρόβληµα Αγορά ή ενοικίαση ; (ski-rental), το πρόβληµα της σελιδοποίησης (paging) σε υπολογιστικά συστήµατα µε ιεραρχική οργάνωση µνήµης, το πρόβληµα της εξισορρόπησης ϕορτίου κατά τη δροµολόγηση εργασιών σε παράλληλες µηχανές (load balancing), το πρόβληµα της συσκευασίας (bin packing), και το πρόβληµα ελέγχου αποδοχής κλήσεων (call admission). 7

8 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ

Κεφάλαιο 2 Αγορά ή ενοικίαση ; Ας υποθέσουµε ότι γνωρίζετε ένα νέο ϕίλο ο οποίος είναι µανιώδης σκιέρ. Κάθε Σάββατο προσφέρεται να σας πάρει µαζί του στα Καλάβρυτα για σκι. Το νέο χόµπι σας ϕαίνεται ενδιαφέρον και αποφασίζετε να πηγαίνετε για σκι µε το νέο σας ϕίλο όποτε έχετε την ευκαιρία. Επιπλέον, όλα τα έξοδα καλύπτονται από τον ϕίλο σας εκτός από το κόστος ενοικίασης του εξοπλισµού για να κάνετε σκι. Εχετε τη δυνατότητα είτε να νοικιάζετε εξοπλισµό κάθε ϕορά που πηγαίνετε για σκι είτε να αγοράσετε το δικό σας εξοπλισµό και να τον χρησιµοποιείτε. Μιας και το νέο σας χόµπι είναι σχετικά ακριβό, σας ενδιαφέρει να ελαχιστοποιήσετε τα έξοδά σας. Το ερώτηµα λοιπόν είναι αν ϑα νοικιάζετε συνεχώς εξοπλισµό ή αν ϑα τον αγοράσετε, και πότε. Σηµειώνουµε ότι δεν γνωρίζετε εκ των προτέρων πόσες ϕορές ϑα πάτε για σκι. Αυτή η έλλειψη πληροφορίας για το µέλλον κάνει το πρόβληµα ένα πρόβληµα άµεσης απόκρισης. Ας υποθέσουµε ότι το κόστος αγοράς εξοπλισµού είναι σηµαντικά µεγαλύτερο του κόστους ενοικίασης. Προφανώς, δεν συµφέρει να αγοράσετε τον εξοπλισµό όταν δεχθείτε την πρώτη αίτηση γιατί υπάρχει η περίπτωση να µην ξαναπάτε ποτέ για σκι. Επίσης, δεν συµφέρει να νοικιάζετε συνεχώς γιατί κάποια στιγµή το συνολικό κόστος ενοικίασης εξοπλισµού ϑα υπερβεί κατά πολύ το κόστος αγοράς του. Ποια είναι η καλύτερη στρατηγική ; 9

10 ΚΕΦΑΛΑΙΟ 2. ΑΓΟΡΑ Η ΕΝΟΙΚΙΑΣΗ; 2.1 Ενας ντετερµινιστικός αλγόριθµος άµεσης απόκρισης Μπορούµε να ϕανταστούµε την είσοδο του προβλήµατος σαν µια ακολου- ϑία αιτήσεων. Κάθε αίτηση αντιστοιχεί σε µια αίτηση του ϕίλου σας να πάτε για σκι. Οταν εµφανίζεται µια νέα αίτηση, πρέπει να αποφασίσετε αν ϑα νοικιάσετε ή ϑα αγοράσετε εξοπλισµό. Εφόσον αγοράσετε, τότε µπορείτε να ικανοποιήσετε οποιαδήποτε µελλοντική αίτηση χωρίς επιπλέον κόστος. Υποθέτουµε ότι το κόστος ενοικίασης εξοπλισµού είναι 1 ευρώ ενώ το κόστος αγοράς είναι B ευρώ. Μια ντετερµινιστική στρατηγική για τη λύση του προβλήµατος είναι να απαντάτε ενοικιάζοντας µέχρι και το ϐήµα τ 1 της ακολουθίας αιτήσεων και να αγοράσετε στο ϐήµα τ, όπου τ µια παράµετ- ϱος που χρησιµοποιεί ο αλγόριθµος. ιαισθητικά, η καλύτερη τιµή της παραµέτρου τ είναι τ = B, δηλαδή να αγοράσετε όταν το κόστος ενοικίασης ϕτάσει το κόστος αγοράς. Αυτό ισχυρίζεται και το επόµενο ϑεώρηµα. Θεώρηµα 1. Ο καλύτερος ντετερµινιστικός αλγόριθµος άµεσης απόκρισης για το πρόβληµα Αγορά ή ενοικίαση ; επιτυγχάνεται αν επιλέξουµε τ = B και έχει λόγο απόδοσης 2 1 B. Απόδειξη. Καταρχήν αποδεικνύουµε ότι ο λόγος απόδοσης του ντετερµινιστικού αλγορίθµου µε τ = B είναι 2 1 B. Για κάθε t > 0, συµβολίζουµε µε ALG B (t) το κόστος του αλγορίθµου στα πρώτα t ϐήµατα και µε OPT(t) το ϐέλτιστο κόστος στα πρώτα t ϐήµατα. Εχουµε ότι ο λόγος απόδοσης του αλγορίθµου είναι ρ B = max t ρ B (t) όπου ρ B (t) = ALG B(t). Αρκεί να δείξουµε OPT(t) ότι ρ B (t) 2 1/B, για κάθε t > 0. Παρατηρούµε ότι το ϐέλτιστο κόστος για µια ακολουθία µεγέθους t είναι OPT(t) = min{t, B}. Το κόστος του αλγορίθµου µέχρι και την t-οστή αίτηση είναι ALG B (t) = t αν t < B (t ενοικιάσεις στα πρώτα t ϐήµατα) και ALG B (t) = 2B 1 αν t B (B 1 ενοικιάσεις στα πρώτα B 1 ϐήµατα και αγορά στο t ϐήµα B). Εποµένως, ρ B (t) = = 1 min{t,b} αν t < B και ρ B(t) = 2B 1 = min{t,b} 2B 1 = 2 1 B B αν t B. Σε κάθε περίπτωση, ρ B(t) 2 1, και εποµένως B ρ B 2 1 B. Τώρα, ϑα δείξουµε ότι ο αλγόριθµος που χρησιµοποιεί τ = B είναι ο καλύτερος ντετερµινιστικός αλγόριθµος. Αρκεί να δείξουµε ότι ο λόγος απόδοσης ρ τ οποιουδήποτε ντετερµινιστικού αλγορίθµου που αγοράζει στο ϐήµα τ είναι αυστηρά µεγαλύτερος του 2 1/B. Θα ϑεωρήσουµε ακολουθία τ ϐη- µάτων και ϑα δείξουµε ότι ο λόγος ρ τ (τ) = ALG τ (τ) είναι τουλάχιστον 2 1/B. OPT(τ)

2.2. ΓΕΝΙΚΕΥΟΝΤΑΣ ΤΟ ΠΡΟΒΛΗΜΑ 11 ιακρίνουµε δύο περιπτώσεις : Αν τ < B, τότε ρ τ (τ) = τ 1 + B min{τ, B} = τ 1 + B τ > 1 + B 1 τ > 1 + B 1 B = 2 1/B ενώ αν τ > B, τότε ρ τ (τ) = τ 1 + B min{τ, B} = τ 1 + B B = 1 + τ 1 B > 2 1/B. Σε κάθε περίπτωση ρ τ (τ) > 2 1/B, εποµένως, ρ τ = max t ρ τ (t) ρ τ (τ) > 2 1/B. 2.2 Γενικεύοντας το πρόβληµα Ας γενικεύσουµε λίγο το πρόβληµα και ας υποθέσουµε ότι ο αλγόριθµος παίρνει αποφάσεις για ένα Ϲευγάρι. Τότε, κάθε ϕορά που το Ϲευγάρι πηγαίνει για σκι, ϑα πρέπει να χρησιµοποιήσει δύο σετ εξοπλισµού. Προφανώς, η ανάλυση της προηγούµενης παραγράφου ισχύει και ο αλγόριθµος όπου αρχικά το Ϲευγάρι νοικιάζει µέχρι το κόστος ενοικίασης να υπερβεί το κόστος αγοράς δυο σετ εξοπλισµού για σκι, όποτε αγοράζει δυο σετ εξοπλισµού. Ο λόγος απόδοσης αυτού του αλγορίθµου είναι πάλι 2 1/B όπου B ο λόγος αγοράς προς ενοικίαση. Το ερώτηµα που ϑέτουµε τώρα είναι : υπάρχει καλύτερος αλγόριθµος ; Η απάντηση είναι αρνητική αν περιοριστούµε σε αλγορίθµους που σε κάθε ϐήµα το Ϲευγάρι είτε νοικιάζει δυο σετ εξοπλισµού είτε χρησιµοποιεί δυο Ϲευγάρια πέδιλα που έχει αγοράσει, καθώς το πρόβληµα είναι ισοδύναµο µε την απλούστερη περίπτωση που είδαµε στην προηγούµενη παράγραφο. Προσέξτε όµως ότι υπάρχει µια εναλλακτική στρατηγική που δεν χρησι- µοποιείται. Θα µπορούσε το Ϲευγάρι να ξεκινήσει νοικιάζοντας δυο σετ εξοπλισµού µέχρι κάποιο ϐήµα, µετά να αγοράσει ένα σετ εξοπλισµού έτσι ώστε ο ένας να νοικιάζει και ο άλλος να χρησιµοποιεί το αγορασµένο σετ εξοπλισ- µού, µέχρι κάποιο ϐήµα όπου ϑα αγοράσουν ένα δεύτερο σετ εξοπλισµού (και δεν ϑα χρειαστεί να ξανανοικιάσουν). Θα δείξουµε ότι ο αλγόριθµος που αγοράζει το πρώτο σετ εξοπλισµού στο ϐήµα τ = B/φ και το δεύτερο σετ στο ϐήµα B έχει καλύτερο λόγο απόδοσης. Το φ είναι ο χρυσός λόγος (= 1+ 5 ). 2

12 ΚΕΦΑΛΑΙΟ 2. ΑΓΟΡΑ Η ΕΝΟΙΚΙΑΣΗ; Θεώρηµα 2. Ο ντετερµινιστικός αλγόριθµος άµεσης απόκρισης που αναφέρ- ϑηκε παραπάνω για τη γενίκευση του προβλήµατος Αγορά ή ενοικίαση ; έχει λόγο απόδοσης το πολύ 5+ 5 4 1.81. Απόδειξη. Για κάθε t > 0, συµβολίζουµε µε ALG(t) το κόστος του αλγορίθµου µέχρι και το ϐήµα t. Αφού ο αλγόριθµος αγοράζει το πρώτο σετ εξοπλισµού στο ϐήµα τ και το δεύτερο στο ϐήµα B έχουµε 2t t < τ ALG(t) = t + τ + B 1 τ t < B τ + 3B 2 t B Η δεύτερη γραµµή προκύπτει καθώς ο αλγόριθµος νοικιάζει δυο σετ εξοπλισ- µού σε κάθε ένα από τα πρώτα τ 1 ϐήµατα και ένα σετ εξοπλισµού για τα επόµενα t τ + 1 ϐήµατα, ενώ αγοράζει ένα σετ εξοπλισµού. Η τρίτη γραµµή προκύπτει καθώς ο αλγόριθµος νοικιάζει δυο σετ εξοπλισµού σε κάθε ένα από τα πρώτα τ 1 ϐήµατα και ένα σετ εξοπλισµού σε κάθε ένα από τα επόµενα B τ ϐήµατα µέχρι και το ϐήµα B 1 ενώ αγοράζει δυο σετ εξοπλισµού. Παρατηρούµε ότι το ϐέλτιστο κόστος µέχρι και το ϐήµα t είναι OPT(t) = 2 min{t, B}. Οπότε, ορίζοντας ρ(t) = ALG(t), έχουµε ότι ο λόγος απόδοσης OPT(t) του αλγορίθµου είναι ρ = max t ρ(t). ιακρίνουµε τρεις περιπτώσεις για το t. Αν t < τ, έχουµε ότι ALG(t) = 2t και OPT(t) = 2t (εφόσον t < τ < B). Εποµένως, ρ(t) = 1. Αν τ t < B, έχουµε ρ(t) = ALG(t) OPT(t) = t + τ + B 1 2t = 1 + B 1 2τ Αν t B, έχουµε ρ(t) = ALG(t) OPT(t) = τ + 3B 2 2B = 1 2φ + 3 2 = 5 + 5. 4 = 1 2 + τ + B 1 1 2t 2 + τ + B 1 2τ = 1 + B 1 2 B/φ 1 + φ 2 = 5 + 5. 4 = B/φ + 3B 2 2B B/φ + 3B 2B Σε κάθε περίπτωση ρ(t) 5+ 5 4 και, εποµένως, ρ = max t ρ(t) 5+ 5 4. Ασκηση 1. Αγνοώντας όρους τάξης o(1), δείξτε ότι ο αλγόριθµος του Θεωρή- µατος 2 είναι ο ντετερµινιστικός αλγόριθµος για τη γενίκευση του προβλήµατος Αγορά ή ενοικίαση ; µε τον καλύτερο λόγο απόδοσης.

2.3. ΕΝΑΣ ΠΙΘΑΝΟΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ 13 2.3 Ενας πιθανοτικός αλγόριθµος Στη συνέχεια, ϑα περιγράψουµε έναν πιθανοτικό αλγόριθµο για το αρχικό πρόβληµα που µοιάζει µε το ντετερµινιστικό αλγόριθµο για το γενικευµένο πρόβληµα. Ο αλγόριθµος αυτός έχει λόγο απόδοσης 1.81 ενάντια σε αµνή- µονες αντιπάλους. Με τον τρόπο αυτό, δείχνουµε ότι η χρήση τυχαιότητας µπορεί να ϐοηθήσει να ξεπεράσουµε τους περιορισµούς των ντετερµινιστικών αλγορίθµων. Ο αλγόριθµος ϱίχνει ένα νόµισµα. Αν το νόµισµα εµφανίσει κορώνα, τότε τρέχουµε τον ντετερµινιστικό αλγόριθµο που ενοικιάζει µέχρι και το ϐήµα B 1 και αγοράζει στο ϐήµα B. Αν το νόµισµα εµφανίσει γράµµατα, τότε τρέχουµε τον ντετερµινιστικό αλγόριθµο που ενοικιάζει µέχρι και το ϐήµα B/φ 1 και αγοράζει στο ϐήµα B/φ. Πάλι, το φ είναι ο χρυσός λόγος (= 1+ 5 2 ). Θεώρηµα 3. Ο πιθανοτικός αλγόριθµος που µόλις περιγράψαµε έχει λόγο απόδοσης ενάντια σε αµνήµονες αντιπάλους το πολύ 5+ 5 1.81 για το 4 πρόβληµα Αγορά ή ενοικίαση ; Απόδειξη. Η ανάλυση είναι παρόµοια µε την ανάλυση του ντετερµινιστικού αλγορίθµου για τη γενίκευση του προβλήµατος. Θέτουµε τ = B/φ. Για κάθε t > 0, συµβολίζουµε µε ALG 1 (t) το κόστος του αλγορίθµου µέχρι και το ϐήµα t εφόσον η ϱίψη του νοµίσµατος εµφάνισε κορώνα και µε ALG 2 (t) το κόστος του αλγορίθµου µέχρι και το ϐήµα t εφόσον η ϱίψη του νοµίσµατος εµφάνισε γράµµατα. Επίσης, συµβολίζουµε µε ALG(t) την τυχαία µεταβλητή που δηλώνει το κόστος του αλγορίθµου µέχρι και το ϐήµα t. Εχουµε { t t < B ALG 1 (t) = 2B 1 t B για τον πρώτο αλγόριθµο και { t t < τ ALG 2 (t) = τ + B 1 t τ για το δεύτερο. Επίσης, για κάθε t > 0 η µέση τιµή της τυχαίας µεταβλητής ALG(t) είναι IE[ALG(t)] = 1 2 (ALG 1(t) + ALG 2 (t)) αφού η επιλογή µεταξύ των δυο ντετερµινιστικών αλγορίθµων που ϑα εκτελεστούν γίνεται ισοπίθανα. Το ϐέλτιστο κόστος µέχρι και το ϐήµα t είναι OPT(t) = min{t, B}. Οπότε, ορίζοντας ρ(t) = IE[ALG(t)] OPT(t) = ALG 1(t)+ALG 2 (t), έχουµε ότι ο λόγος απόδοσης του 2 OPT(t)

14 ΚΕΦΑΛΑΙΟ 2. ΑΓΟΡΑ Η ΕΝΟΙΚΙΑΣΗ; αλγορίθµου είναι ρ = max t ρ(t). ιακρίνουµε τρεις περιπτώσεις για το t. Αν t < τ, τότε ALG 1 (t) = ALG 2 (t) = t ενώ OPT(t) = t. Εποµένως, ρ(t) = 1. Αν τ t < B, τότε OPT(t) = t, ALG 1 (t) = t και ALG 2 (t) = τ +B 1. Εποµένως, ρ(t) = ALG 1(t) + ALG 2 (t) 2 OPT(t) = t + τ + B 1 2t... 5 + 5. 4 Αν t B, τότε OPT(t) = B, ALG 1 (t) = 2B 1 και ALG 2 (t) = τ + B 1. Εποµένως, ρ(t) = ALG 1(t) + ALG 2 (t) 2 OPT(t) = τ + 3B 2 2B... 5 + 5. 4 Οι πράξεις έχουν παραλειφθεί καθώς είναι οι ίδιες µε τις πράξεις στο τέλος της προηγούµενης απόδειξης. Σε κάθε περίπτωση έχουµε ρ(t) 5+ 5 4 και, εποµένως, ρ = max t ρ(t) 5+ 5 4.

Κεφάλαιο 3 Ντετερµινιστικοί αλγόριθµοι σελιδοποίησης Για τη µελέτη του προβλήµατος της σελιδοποίησης ϑεωρούµε ένα υπολογιστικό σύστηµα ιδεατής µνήµης δύο επιπέδων όπου κάθε επίπεδο µπορεί να αποθηκεύσει έναν αριθµό µονάδων µνήµης σταθερού µεγέθους που καλούνται σελίδες. Το πρώτο επίπεδο, που καλείται αργή µνήµη, αποθηκεύει έ- να σύνολο P = {p 1, p 2,..., p N } από N σελίδες. Το δεύτερο επίπεδο, που ονοµάζεται γρήγορη µνήµη, µπορεί να αποθηκεύει οποιοδήποτε υποσύνολο του P µεγέθους το πολύ k όπου k < N. Οι αιτήσεις για σελίδες εµφανίζονται σταδιακά. Οταν εµφανίζεται µια αίτηση για µια σελίδα p i, το σύστηµα πρέπει να κάνει την σελίδα p i διαθέσιµη στη γρήγορη µνήµη. Αν η p i είναι ήδη στη γρήγορη µνήµη έχουµε επιτυχία (hit) και το σύστηµα δεν χρειάζεται να κάνει τίποτα. Αλλιώς, δηµιουργείται ένα σφάλµα σελίδας (page fault) και η σελίδα p i πρέπει να αντιγραφεί από την αργή µνήµη σε µια από τις ϑέσεις της γρήγορης µνήµης. Για να γίνει αυτό, το σύστηµα πρέπει να αποφασίσει ποια σελίδα πρέπει να διώξει από τη γρήγορη µνήµη για να κάνει χώρο (εφόσον χρειάζεται) για τη σελίδα p i. Αυτό πρέπει να γίνει µε έξυπνο τρόπο έτσι ώστε να ελαχιστοποιηθεί ο συνολικός αριθµός των σφαλµάτων σελίδας. Το πρόβληµα σελιδοποίησης είναι σήµερα ένα πρόβληµα για το οποίο είναι γνωστοί ντετερµινιστικοί και πιθανοτικοί αλγόριθµοι άµεσης απόκρισης µε τον καλύτερο δυνατό λόγο απόδοσης. Σε αυτό το κεφάλαιο, ασχολούµαστε µε ντετερµινιστικούς αλγορίθµους σελιδοποίησης. 15

16 ΚΕΦΑΛΑΙΟ 3. ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ ΟΠΟΙΗΣΗΣ 3.1 Αλγόριθµοι σελιδοποίησης Εξαιτίας του σηµαντικού ϱόλου που διαδραµατίζει στην απόδοση σχεδόν όλων των υπολογιστικών συστηµάτων, το πρόβληµα σελιδοποίησης έχει µελετηθεί από τη δεκαετία του 60. Μια µεγάλη ποικιλία από αλγορίθµους αντικατάστασης σελίδας εφαρµόζονται στα υπάρχοντα υπολογιστικά συστή- µατα. Οι πιο γνωστοί ντετερµινιστικοί αλγόριθµοι είναι οι ακόλουθοι : LRU (least recently used): Αντικαθίσταται η σελίδα της γρήγορης µ- νήµης που έχει χρησιµοποιηθεί λιγότερο πρόσφατα. FIFO (first-in-first-out) : Αντικαθίσταται η σελίδα που µπήκε στη γρήγορη µνήµη νωρίτερα. LIFO (last-in-first-out) : Αντικαθίσταται η σελίδα που µεταφέρθηκε πιο πρόσφατα στη γρήγορη µνήµη. LFU (least frequently used) : Αντικαθίσταται η σελίδα η οποία Ϲητήθηκε λιγότερο συχνά από τη στιγµή που µπήκε στη γρήγορη µνήµη. LFD (longest forward distance) : Αντικαθίσταται η σελίδα στην οποία η επόµενη αίτηση ϑα γίνει πιο αργά. Οι τέσσερις πρώτοι αλγόριθµοι είναι αλγόριθµοι άµεσης απόκρισης. Από τον ορισµό του, ο αλγόριθµος LFD είναι ένας στατικός αλγόριθµος αφού για τη λήψη µιας απόφασης για µια αίτηση που δηµιουργεί σφάλµα σελίδας απαιτεί πλήρη γνώση των επόµενων αιτήσεων. Επίσης όλοι οι αλγόριθµοι είναι αλγόριθµοι σελιδοποίησης µε ϐάση τη Ϲήτηση (demand paging), που σηµαίνει ότι ποτέ δεν διώχνουν µια σελίδα από τη γρήγορη µνήµη αν δεν δηµιουργηθεί σφάλµα σελίδας. Χωρίς ϐλάβη της γενικότητας, µπορούµε να επικεντρωθούµε σε αλγορίθµους σελιδοποίησης µε ϐάση τη Ϲήτηση. Ασκηση 2. είξτε ότι οποιοσδήποτε αλγόριθµος αντικατάστασης σελίδας µ- πορεί να τροποποιηθεί ώστε να γίνει αλγόριθµος σελιδοποίησης µε ϐάση τη Ϲήτηση χωρίς να αυξηθεί το συνολικό κόστος σε καµία ακολουθία αιτήσεων. 3.2 Ενας ϐέλτιστος στατικός αλγόριθµος σελιδοποίησης Σε αυτή την παράγραφο, ϑα δείξουµε ότι ο αλγόριθµος LFD είναι ένας ϐέλτιστος στατικός αλγόριθµος σελιδοποίησης. Αυτό σηµαίνει ότι για κάθε

3.2. ΕΝΑΣ ΒΕΛΤΙΣΤΟΣ ΣΤΑΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΣΕΛΙ ΟΠΟΙΗΣΗΣ 17 στιγµιότυπο του προβλήµατος της σελιδοποίησης, (παρόµοια µε το πρόβληµα Αγορά ή ενοικίαση ; ), η ϐέλτιστη λύση έχει µια πολύ σαφή και υπολογίσιµη περιγραφή. Αυτό έρχεται σε αντίθεση µε πολλά άλλα προβλήµατα άµεσης απόκρισης (π.χ., µε το πρόβληµα της εξισορρόπησης ϕορτίου που ϑα δούµε σε επόµενο κεφάλαιο) για τα οποία είτε είναι γνωστό ότι το πρόβληµα είναι υπολογιστικά δύσκολο ακόµα και όταν όλη η είσοδος είναι γνωστή από την αρχή, είτε οι µόνοι γνωστοί αλγόριθµοι για τον υπολογισµό της ϐέλτιστης λύσης είναι πολύπλοκοι. Παρόλο που γενικά µπορούµε να εφαρµόσουµε την ανταγωνιστική ανάλυση χωρίς να έχουµε πλήρη γνώση της ϐέλτιστης λύσης, συνήθως η γνώση για την ϕύση της ϐέλτιστης λύσης απλοποιεί την ανάλυση. Θεώρηµα 4. Ο αλγόριθµος LFD είναι ένας ϐέλτιστος στατικός αλγόριθµος για το πρόβληµα της σελιδοποίησης. Απόδειξη. είχνουµε πως οποιοσδήποτε στατικός αλγόριθµος σελιδοποίησης µπορεί να µετατραπεί ώστε να συµπεριφέρεται παρόµοια µε τον αλγόριθ- µο LFD χωρίς να υποβαθµιστεί η απόδοσή του. Η απόδειξη ϐασίζεται στην ακόλουθη πρόταση. Πρόταση 1. Εστω ALG ένας οποιοσδήποτε αλγόριθµος σελιδοποίησης και έστω σ οποιαδήποτε ακολουθία αιτήσεων. Για οποιοδήποτε i, i = 1, 2,..., σ, µπορούµε να κατασκευάσουµε έναν στατικό αλγόριθµο ALG i που ικανοποιεί τις παρακάτω δύο ιδιότητες : 1. Ο αλγόριθµος ALG i επεξεργάζεται τις πρώτες i 1 αιτήσεις ακριβώς όπως ο αλγόριθµος ALG. 2. Αν η i οστή αίτηση οδηγεί σε σφάλµα σελίδας, ο αλγόριθµος ALG i αντικαθιστά στη γρήγορη µνήµη την σελίδα για την οποία ϑα υπάρξει αίτηση πιο αργά σε σχέση µε τις υπόλοιπες. Ο αριθµός σφαλµάτων σελίδας ALG i (σ) του αλγορίθµου ALG i είναι το πολύ ίσος µε τον αριθµό σφαλµάτων σελίδας ALG(σ) του αλγορίθµου ALG. Αυτή η πρόταση αποδεικνύει το ϑεώρηµα εφαρµόζοντας την n = σ ϕορές ως εξής. Θεωρούµε µια ακολουθία αιτήσεων σ. Ξεκινώντας µε οποιοδήποτε ϐέλτιστο στατικό αλγόριθµο OPT, εφαρµόζουµε την πρόταση µε i = 1 για να πάρουµε τον αλγόριθµο OPT 1, µετά εφαρµόζουµε την πρόταση στον αλγόρι- ϑµο OPT 1 µε i = 2 για να πάρουµε τον αλγόριθµο OPT 2, κλπ. Είναι ϕανερό ότι ο αλγόριθµος OPT n συµπεριφέρεται πανοµοιότυπα µε τον αλγόριθµο LFD στην ακολουθία αιτήσεων σ.

18 ΚΕΦΑΛΑΙΟ 3. ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ ΟΠΟΙΗΣΗΣ Αποµένει να αποδείξουµε την πρόταση. εδοµένου του αλγορίθµου AL- G, κατασκευάζουµε τον αλγόριθµο ALG i. Υποθέτουµε ότι αµέσως µετά την επεξεργασία της i οστής αίτησης, οι γρήγορες µνήµες του ALG και του AL- G i περιέχουν τα σύνολα σελίδων X {v}, X {u}, αντίστοιχα, όπου X είναι κάποιο σύνολο από k 1 σελίδες και u, v οποιεσδήποτε σελίδες. Αν u = v, τότε προφανώς οι ALG και ALG i συµπεριφέρονται πανοµοιότυπα και ισχύει ALG i (σ) = ALG(σ). Στη συνέχεια υποθέτουµε ότι v u (ότι δηλαδή, στην i-οστή αίτηση συνέβη σφάλµα σελίδας). Μέχρι τη στιγµή που εµφανίζεται αίτηση για τη σελίδα v, ο ALG i µιµείται τον ALG µε τη µόνη διαφορά ότι διώχνει τη σελίδα u αν ο ALG διώχνει τη σελίδα v. Αυτό είναι εφικτό κα- ϑώς µετά από την εξυπηρέτηση κάθε αίτησης, ο αριθµός των κοινών σελίδων παραµένει τουλάχιστον k 1. Επιπλέον, αν σε οποιαδήποτε στιγµή ο αριθµός των κοινών σελίδων γίνει k (π.χ., αν ο ALG διώξει τη σελίδα v), ο ALG i ταυτίζεται µε τον ALG από αυτό το σηµείο και στο εξής και η απόδειξη ολοκληρώνεται. Εάν τελικά Ϲητηθεί η σελίδα v και οι ALG και ALG i δεν έχουν ακόµα ταυτιστεί, αυτό ϑα δηµιουργήσει ένα σφάλµα σελίδας στον ALG i αλλά όχι στον ALG. Σε κάθε περίπτωση, τη στιγµή που Ϲητείται η σελίδα v, εφόσον όταν αντικαταστάθηκε ήταν η σελίδα για την οποία ϑα υπήρχε αίτηση πιο αργά σε σχέση µε τις υπόλοιπες σελίδες της γρήγορης µνήµης, πρέπει να υπάρχει τουλάχιστον µια αίτηση για τη σελίδα u πριν από την αίτηση για τη σελίδα v. Η πρώτη τέτοια αίτηση δηµιουργεί ένα σφάλµα σελίδας στον αλγόριθµο ALG, όχι όµως στον αλγόριθµο ALG i. Εποµένως, ο συνολικός αριθµός των σφαλµάτων σελίδας του αλγορίθµου ALG i αφού εξυπηρετηθεί η σελίδα v είναι το πολύ ίσος µε αυτόν του ALG. Τελικά, προκειµένου να εξυπηρετηθεί η αίτηση για τη σελίδα v, ο ALG i αντικαθιστά τη σελίδα u και οι δύο αλγόριθµοι ταυτίζονται. 3.3 Το (h, k) πρόβληµα σελιδοποίησης Μια ϕυσική γενίκευση του προβλήµατος σελιδοποίησης είναι η ακόλουθη. Εστω k και h ϑετικοί ακέραιοι που ικανοποιούν την συνθήκη h k. Στο (h, k)-πρόβληµα σελιδοποίησης, συγκρίνουµε την απόδοση ενός αλγορίθµου σελιδοποίησης άµεσης απόκρισης µε µέγεθος γρήγορης µνήµης k µε ένα ϐέλτιστο στατικό αλγόριθµο σελιδοποίησης µε µέγεθος γρήγορης µνήµης h k. Αυτό σηµαίνει πως αν h < k, ϑεωρούµε ένα ϐέλτιστο στατικό αλγόριθµο σελιδοποίησης µε αυστηρώς λιγότερους πόρους.

3.4. ΑΛΓΟΡΙΘΜΟΙ ΜΑΡΚΑΡΙΣΜΑΤΟΣ ΚΑΙ ΣΥΝΤΗΡΗΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ19 Κάποιοι αλγόριθµοι (όπως ο FIFO που παρουσιάζεται αργότερα) παρουσιάζουν αυτό που είναι γνωστό ως παράδοξο του Belady: σε κάποιες εισόδους, ο αλγόριθµος αποδίδει καλύτερα όταν έχει µικρότερη γρήγορη µ- νήµη. Είναι εύκολο να δούµε ότι σε ένα ϐέλτιστο αλγόριθµο δεν παρουσιάζεται το παράδοξο του Belady, εφόσον δεν χρησιµοποιεί απαραίτητα όλες τις σελίδες της γρήγορης µνήµης. Ασκηση 3. είξτε ότι ο αλγόριθµος LRU δεν εµφανίζει το παράδοξο του Belady ενώ ο αλγόριθµος FIFO το εµφανίζει. Γιατί είναι αυτή η γενίκευση του (h, k) προβλήµατος σελιδοποίησης ενδιαφέρουσα ; Παρόλο που σε πρώτη µατιά δείχνει άδικο να µειώσουµε την δύναµη του στατικού αλγορίθµου µε τον οποίο συγκρίνουµε τον αλγόριθµό µας, πρέπει να παρατηρήσουµε ότι στην ανταγωνιστική ανάλυση δίνουµε σ- τον αντίπαλο µη ϱεαλιστικές δυνάµεις. Παραµετροποιώντας το µέγεθος της γρήγορης µνήµης που χρησιµοποιεί ο αντίπαλος, µπορούµε να µετρήσουµε την δύναµη των αλγορίθµων σελιδοποίησης άµεσης απόκρισης σε σχέση µε αντιπάλους των οποίων οι δυνατότητες ελέγχονται ποσοτικά. 3.4 Αλγόριθµοι µαρκαρίσµατος και συντηρητικοί αλγόριθµοι Σε αυτό την παράγραφο αποδεικνύουµε ότι οι αλγόριθµοι LRU και FI- FO έχουν τον καλύτερο δυνατό λόγο απόδοσης για το πρόβληµα της σελιδοποίησης. Αρχικά αποδεικνύουµε ότι ένας πολύ απλός αλγόριθµος που ονοµάζεται FWF (flush when full) επίσης πετυχαίνει τον καλύτερο δυνατό λόγο απόδοσης. Ο αλγόριθµος FWF ορίζεται ως εξής : Αλγόριθµος FWF: Κάθε ϕορά που δηµιουργείται σφάλµα σελίδας και δεν υπάρχει διαθέσιµος χώρος στη γρήγορη µνήµη, αποµακρύνονται όλες οι σελίδες από τη γρήγορη µνήµη. Προφανώς, ο FWF δεν είναι αλγόριθµος σελιδοποίησης µε ϐάση τη Ϲήτηση καθώς αδειάζει όλη τη γρήγορη µνήµη του κάθε ϕορά που αυτή είναι γεµάτη και συµβαίνει σφάλµα σελίδας. Πάντως, ο FWF µπορεί εύκολα να αναβα- ϑµιστεί σε αλγόριθµο σελιδοποίησης µε ϐάση τη Ϲήτηση. Αντί να αδειάζει τη γρήγορη µνήµη, µπορεί απλά να σηµειώνει όλες τις σελίδες που υπάρχουν στη γρήγορη µνήµη και όποτε υπάρχει ένα νέο σφάλµα σελίδας, µπορεί να

20 ΚΕΦΑΛΑΙΟ 3. ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ ΟΠΟΙΗΣΗΣ ϕέρει στη γρήγορη µνήµη τη νέα σελίδα αντικαθιστώντας µια σηµειωµένη σελίδα. Πάντως, στη συνέχεια, όταν αναφερόµαστε στον αλγόριθµο FWF ϑα χρησιµοποιούµε τον απλό ορισµό του. Ορίζουµε µια γενική κατηγορία αλγορίθµων (που περιλαµβάνει τους αλγορίθµους LRU και FWF) που ονοµάζονται αλγόριθµοι µαρκαρίσµατος και αποδεικνύουµε ότι κάθε αλγόριθµος µαρκαρίσµατος έχει λόγο απόδοσης το πολύ για το (h, k)-πρόβληµα σελιδοποίησης. Ειδικότερα, έτσι k k h+1 προκύπτει ένα άνω ϕράγµα k για το ϐασικό πρόβληµα σελιδοποίησης ((k, k)- σελιδοποίηση). Κατόπιν, ϑα ορίσουµε τους συντηρητικούς αλγορίθµους σελιδοποίησης, µια κατηγορία αλγορίθµων (που περιλαµβάνει και τον αλγόριθ- µο FIFO) που επίσης επιτυγχάνουν λόγο απόδοσης που ϕράσσεται από την ποσότητα k k h+1. Αλγόριθµοι µαρκαρίσµατος Ας ϕανταστούµε ένα πρόβληµα σελιδοποίησης µε γρήγορη µνήµη µεγέ- ϑους k και µια ακολουθία αιτήσεων σ. Χωρίζουµε την ακολουθία σε ϕάσεις ως εξής : η ϕάση 0 είναι η κενή ακολουθία. Για κάθε i 1, η ϕάση i είναι η µέγιστη ακολουθία που ακολουθεί τη ϕάση i 1 που περιέχει αιτήσεις σε k διαφορετικές σελίδες. ηλαδή, η ϕάση i + 1, εάν υπάρχει, ξεκινά από την αίτηση που αποτελεί την (k + 1)-οστή διαφορετική σελίδα που Ϲητήθηκε από την αρχή της i-οστής ϕάσης. Αυτή η διαµέριση της ακολουθίας σ ονοµάζεται διαµέριση σε k-ϕάσεις. Η διαµέριση σε k-ϕάσεις είναι καλά ορισµένη και είναι ανεξάρτητη από το πως οποιοσδήποτε αλγόριθµος επεξεργάζεται την σ. Εστω ότι σ είναι οποιαδήποτε ακολουθία αιτήσεων. Υπολογίζουµε τη διαµέρισή της σε k-ϕάσεις. Συσχετίζουµε µε κάθε σελίδα της αργής µνήµης ένα bit που ονοµάζεται bit µαρκαρίσµατος. Για κάθε σελίδα, όταν το bit µαρκαρίσµατος έχει την τιµή 1, λέµε ότι η σελίδα είναι µαρκαρισµένη, αλλιώς λέµε ότι είναι αµαρκάριστη. Υποθέτουµε ότι στην αρχή κάθε k-ϕάσης ξεµαρκάρουµε όλες τις σελίδες στη γρήγορη µνήµη. Κατά τη διάρκεια µιας k-ϕάσης, µαρκάρουµε µια σελίδα όταν Ϲητηθεί για πρώτη ϕορά κατά την k- ϕάση. Ενας αλγόριθµος µαρκαρίσµατος δεν αντικαθιστά ποτέ µια µαρκαρισ- µένη σελίδα από τη γρήγορη µνήµη του. Μολονότι ο τρόπος µε τον οποίο σηµειώνονται οι σελίδες στην αποδοτική υλοποίηση του αλγορίθµου FWF δεν είναι ίδιος µε τον τρόπο που µαρκάρονται οι σελίδες στον ορισµό των αλγορί- ϑµων µαρκαρίσµατος, δεν είναι δύσκολο να δείξουµε ότι ο αλγόριθµος FWF είναι αλγόριθµος µαρκαρίσµατος. Στη συνέχεια, υπολογίζουµε ένα άνω ϕράγµα για το λόγο απόδοση-

3.4. ΑΛΓΟΡΙΘΜΟΙ ΜΑΡΚΑΡΙΣΜΑΤΟΣ ΚΑΙ ΣΥΝΤΗΡΗΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ21 ς οποιουδήποτε αλγορίθµου µαρκαρίσµατος για το (h, k)-πρόβληµα σελιδοποίησης. Θεώρηµα 5. Εστω ότι ο ALG είναι ένας οποιοσδήποτε αλγόριθµος µαρκαρίσ- µατος µε γρήγορη µνήµη µεγέθους k και έστω OPT οποιοσδήποτε ϐέλτιστος στατικός αλγόριθµος µε γρήγορη µνήµη µεγέθους h k. Τότε ο αλγόριθµος ALG έχει λόγο απόδοσης το πολύ k k h+1 σε σχέση µε τον αλγόριθµο OPT. Απόδειξη. Θεωρούµε µια οποιαδήποτε ακολουθία αιτήσεων σ και υπολογί- Ϲουµε τη διαµέρισή της σε k-ϕάσεις. Καταρχάς, ισχυριζόµαστε ότι για κάθε k-ϕάση i 1, ένας αλγόριθµος µαρκαρίσµατος ALG κάνει το πολύ k σφάλ- µατα σελίδας. Αυτό συµβαίνει επειδή υπάρχουν αιτήσεις για k διαφορετικές σελίδες σε κάθε ϕάση (πιθανώς εκτός από την τελευταία ϕάση που µπορεί να είναι ηµιτελής και να έχει αιτήσεις για λιγότερες από k διαφορετικές σελίδες). Μόλις προσπελαστεί µια σελίδα µαρκάρεται και εποµένως δεν µπορεί να αντικατασταθεί µέχρι να ολοκληρωθεί η ϕάση. Συνεπώς, στην ίδια k-ϕάση, ο αλγόριθµος ALG δεν µπορεί να κάνει σφάλµα παραπάνω από µια ϕορά στην ίδια σελίδα. Για κάθε i 1 έστω ότι q είναι η πρώτη αίτηση της ϕάσης i. Θεωρούµε την υποακολουθία που ξεκινά µε τη δεύτερη αίτηση της ϕάσης i µέχρι και την πρώτη αίτηση της ϕάσης i + 1 (υποθέτουµε ότι η ϕάση i + 1 υπάρχει). Ο αλγόριθµος OPT έχει h 1 σελίδες χωρίς να περιλαµβάνεται η q και υπάρχουν τουλάχιστον k αιτήσεις σε αυτή την υποακολουθία. Εποµένως, ο αλγόριθµος OPT ϑα πρέπει να κάνει τουλάχιστον k (h 1) = k h+1 σφάλµατα σελίδων για να εξυπηρετήσει αυτή την υποακολουθία αιτήσεων. Εάν η ϕάση i είναι η τελευταία ϕάση, τότε το επιχείρηµα µας δείχνει µόνο ότι ο αλγόριθµος OPT ϑα κάνει τουλάχιστον k h σφάλµατα σελίδων, όπου k είναι ο αριθµός των διαφορετικών σελίδων για τις οποίες υπάρχουν αιτήσεις κατά την τελευταία ϕάση. Θα αγνοήσουµε τελείως αυτό το κόστος στον αλγόριθµο OPT. Κατά τη διάρκεια κάθε ϕάσης, ο αλγόριθµος ALG κάνει σφάλµα το πολύ k ϕορές, και για κάθε ϕάση εκτός από την τελευταία, µπορούµε να χρεώσουµε τον αλγόριθµο OPT µε τουλάχιστον k h + 1 σφάλµατα. Εποµένως, για κάθε ακολουθία αιτήσεων ισχύει : ALG(σ) k k h + 1 OPT(σ) + k, όπου ALG(σ) και OPT(σ) είναι ο συνολικός αριθµός σφαλµάτων σελίδας για τους αλγορίθµους ALG και OPT, αντίστοιχα, και k k είναι ο µέγιστος

22 ΚΕΦΑΛΑΙΟ 3. ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ ΟΠΟΙΗΣΗΣ αριθµός σφαλµάτων σελίδων που κάνει ο αλγόριθµος ALG κατά τη διάρκεια της τελευταίας k-ϕάσης. Λήµµα 1. Ο αλγόριθµος LRU είναι αλγόριθµος µαρκαρίσµατος. Απόδειξη. Ας υποθέσουµε ότι ο LRU δεν είναι αλγόριθµος µαρκαρίσµατος. Αυτό ϑα σήµαινε ότι υπάρχει µια ακολουθία σ στην οποία όταν εφαρµοστεί ο αλγόριθµος LRU αντικαθιστά µια µαρκαρισµένη σελίδα x κατά τη διάρκεια µιας k ϕάσης. Ας ϑεωρήσουµε την πρώτη αίτηση για τη σελίδα x κατά τη διάρκεια αυτής της k ϕάσης. Αµέσως µόλις αυτή η αίτηση για τη σελίδα x εξυπηρετηθεί, η σελίδα x µαρκάρεται και είναι η πιο πρόσφατα χρησιµοποιη- µένη σελίδα στη γρήγορη µνήµη. Αυτή την στιγµή, ο αλγόριθµος LRU κρατά k διαφορετικές σελίδες στη γρήγορη µνήµη του. Για να αντικατασταθεί η σελίδα x από τη γρήγορη µνήµη, ο LRU ϑα πρέπει να εµφανίσει ένα σφάλ- µα σελίδας και η σελίδα x να είναι η λιγότερο πρόσφατα χρησιµοποιηµένη σελίδα από τις k σελίδες στη γρήγορη µνήµη. Οµως για να συµβεί αυτό ϑα πρέπει µετά από την πρώτη αίτηση για τη σελίδα x µέσα στην k-ϕάση να υπήρχαν αιτήσεις για κάθε µια από τις k 1 υπόλοιπες σελίδες. Προσθέτοντας και τη σελίδα που δηµιουργεί το σφάλµα σελίδας, έχουµε ότι η k-ϕάση περιέχει αιτήσεις για τουλάχιστον k + 1 διαφορετικές σελίδες, κάτι που έρχεται σε αντίθεση µε τον ορισµό της k ϕάσης. Εποµένως, η αρχική µας υπόθεση δεν είναι σωστή και ο αλγόριθµος LRU πρέπει να είναι αλγόριθµος µαρκαρίσ- µατος. Προσέξτε ότι ο αλγόριθµος FWF είναι αλγόριθµος µαρκαρίσµατος σχεδόν εξ ορισµού ενώ για τον αλγόριθµο LRU αυτό δεν ήταν προφανές. Από το Θεώρηµα 5, το Λήµµα 1, και τη συζήτηση σε αυτή την παράγραφο, καταλήγουµε στο ακόλουθο συµπέρασµα. Συµπέρασµα 1. Οι αλγόριθµοι LRU και FWF έχουν λόγο απόδοσης για το (h, k)-πρόβληµα σελιδοποίησης. k k h+1 Ασκηση 4. είξτε ότι ο αλγόριθµος FIFO δεν είναι αλγόριθµος µαρκαρίσµατος. Συντηρητικοί αλγόριθµοι Λέµε ότι ένας αλγόριθµος σελιδοποίησης ALG είναι συντηρητικός αν σε κάθε ακολουθία αιτήσεων που περιέχει k ή λιγότερες διαφορετικές σελίδες, ο αλγόριθµος ALG κάνει το πολύ k σφάλµατα σελίδων.

3.5. ΚΑΤΩ ΦΡΑΓΜΑΤΑ 23 Ασκηση 5. είξτε ότι οι αλγόριθµοι LRU και FIFO είναι συντηρητικοί αλγόρι- ϑµοι. Επίσης, δείξτε ότι ο αλγόριθµος FWF δεν είναι συντηρητικός αλγόριθµος. Το επόµενο ϑεώρηµα µπορεί εύκολα να αποδειχθεί τροποποιώντας την απόδειξη του Θεωρήµατος 5. Θεώρηµα 6. Εστω ότι ο ALG είναι ένας οποιοσδήποτε συντηρητικός αλγόριθ- µος σελιδοποίησης µε γρήγορη µνήµη µεγέθους k και έστω OPT οποιοσδήποτε ϐέλτιστος στατικός αλγόριθµος µε γρήγορη µνήµη µεγέθους h k. Τότε ο αλγόριθµος ALG έχει λόγο απόδοσης το πολύ OPT. k k h+1 σε σχέση µε τον αλγόριθµο Από τα παραπάνω, καταλήγουµε στο επόµενο συµπέρασµα. Συµπέρασµα 2. Ο αλγόριθµος FIFO έχει λόγο απόδοσης το πολύ το (h, k)-πρόβληµα σελιδοποίησης. k k h+1 για 3.5 Κάτω ϕράγµατα Ολοκληρώνουµε αυτό το κεφάλαιο αποδεικνύοντας ένα κάτω ϕράγµα k για το λόγο απόδοσης οποιουδήποτε ντετερµινιστικού αλγορίθµου άµεσης απόκρισης για το ϐασικό πρόβληµα σελιδοποίησης που χρησιµοποιεί γρήγορη µνήµη µεγέθους k. Αυτό το κάτω ϕράγµα µπορεί να γενικευτεί σε k για το (h, k)-πρόβληµα σελιδοποίησης. Για αυτό το λόγο, οι αλγόριθk h+1 µοι LRU, FIFO, και FWF είναι οι ντετερµινιστικοί αλγόριθµοι µε τον καλύτερο λόγο απόδοσης για το (h, k)-πρόβληµα σελιδοποίησης. Η απόδειξη του επόµενου λήµµατος στηρίζεται στη συµπεριφορά του αλγορίθµου LFD αλλά δεν ϐασίζεται στο γεγονός ότι υπολογίζει τη ϐέλτιστη λύση. Λήµµα 2. Για κάθε πεπερασµένη ακολουθία σ αιτήσεων επιλεγµένες από ένα σύνολο k + 1 σελίδων, ο αριθµός σφαλµάτων LFD(σ) του αλγορίθµου LFD είναι το πολύ σ k + k 1 k. Απόδειξη. Χωρίζουµε την ακολουθία σε k-ϕάσεις. Κάθε k-ϕάση αποτελείται από τουλάχιστον k αιτήσεις σελίδων, οπότε υπάρχουν το πολύ k- ϕάσεις. Ο αλγόριθµος κάνει το πολύ k σφάλµατα σελίδων στην πρώτη k- ϕάση και ακριβώς ένα σφάλµα σελίδας σε κάθε µια από τις επόµενες. Οπότε, ο συνολικός αριθµός σφαλµάτων σελίδας είναι το πολύ k + 1 k + σ k + k 1 k 1 = σ k + k 1 k. σ k σ k

24 ΚΕΦΑΛΑΙΟ 3. ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ ΟΠΟΙΗΣΗΣ Τώρα, ϑα χρησιµοποιήσουµε το προηγούµενο λήµµα για να αποδείξουµε το επόµενο ϑεώρηµα. Θεώρηµα 7. Οποιοσδήποτε ντετερµινιστικός αλγόριθµος ALG που εφαρµόζεται σε γρήγορη µνήµη µεγέθους k έχει λόγο απόδοσης τουλάχιστον k. Απόδειξη. Θεωρούµε k + 1 σελίδες p 1,..., p k+1. Θα δείξουµε ότι υπάρχει µια αυθαίρετα µακριά ακολουθία αιτήσεων σ για την οποία ο αλγόριθµος ALG κάνει ένα σφάλµα σε κάθε σελίδα. Τότε, το Ϲητούµενο αποτέλεσµα προκύπτει χρησιµοποιώντας το Λήµµα 2. Ορίζουµε την ακολουθία αιτήσεων σ επαγωγικά : η πρώτη αίτηση της ακολουθίας r 1 είναι µια οποιαδήποτε σελίδα και για i 2, η αίτηση r i είναι µια σελίδα που δεν είναι στη γρήγορη µνήµη του ALG αφού εξυπηρετηθεί η ακολουθία αιτήσεων r 1,..., r i 1 (εφόσον υπάρχουν k +1 σελίδες, πάντα υπάρχει τουλάχιστον µια τέτοια σελίδα). Αυτή η ακολουθία είναι καλώς ορισµένη αφού ο αλγόριθµος ALG είναι ντετερµινιστικός. Επιλέγοντας αρκετά µεγάλο µέγεθος για την ακολουθία σ, έχουµε ότι ο λόγος του αριθµού σφαλµάτων σελίδων του αλγορίθµου ALG προς το ϐέλτιστο αριθµό σφαλµάτων που προκύπτει µε την εφαρµογή του αλγορίθµου LFD προσεγγίζει το k. εν είναι δύσκολο να δείξουµε ότι οι αλγόριθµοι LIFO και LFU έχουν µη ϕραγµένο λόγο απόδοσης (σε σχέση µε έναν ϐέλτιστο στατικό αλγόριθµο µε γρήγορη µνήµη µεγέθους k). Θα εξετάσουµε πρώτα τον αλγόριθµο LIFO. Εστω ότι p 1, p 2,..., p k+1 είναι οι σελίδες στην αργή µνήµη. Εξετάζουµε την ακολουθία σ = p 1, p 2,..., p k, p k+1, p k, p k+1,... Προφανώς, ο αλγόριθµος LIFO ϑα κάνει ένα σφάλµα σελίδας σε κάθε αίτηση ενώ ο ϐέλτιστος αλγόριθµος κάνει το πολύ k + 1 λάθη συνολικά. Τώρα ϑα εξετάσουµε τον αλγόριθµο LFU. Εστω l είναι οποιοσδήποτε ϑετικός ακέραιος. Θεωρούµε την ακόλουθη ακολουθία αιτήσεων : σ = p l 1, p l 2,..., p l k 1, (p k, p k+1 ) l 1. Ο αλγόριθµος LFU ϑα κάνει ένα σφάλµα σελίδας σε κάθε αίτηση µετά από τις πρώτες (k 1) l αιτήσεις. Αντίθετα, ο ϐέλτιστος αλγόριθµος κάνει µόνο ένα σφάλµα σελίδας. Εφόσον το l µπορεί να γίνει αυθαίρετα µεγάλο και αυτή η ακολουθία µπορεί να επαναληφθεί αυθαίρετα πολλές ϕορές, ο λόγος απόδοσης του αλγορίθµου LFU δεν είναι ϕραγµένος από καµιά ποσότητα που εξαρτάται µόνο από το k.

Κεφάλαιο 4 Εισαγωγή στην αρχή του Yao Σκοπός του κεφαλαίου είναι µια πρώτη γνωριµία µε την αρχή του Yao. Πρόκειται για ένα πολύ σηµαντικό ϑεώρηµα που χρησιµοποιείται για την απόδειξη κάτω ϕραγµάτων για πιθανοτικούς αλγορίθµους ενάντια σε αµνή- µονες αντιπάλους. Σηµειώνουµε ότι η χρήση της δεν περιορίζεται σε αλγορί- ϑµους άµεσης απόκρισης. 4.1 Ενα απλό πρόβληµα Ας ξεκινήσουµε ϑεωρώντας ένα πολύ απλό πρόβληµα άµεσης απόκρισης. Σκοπός του προβλήµατος είναι να επιλέξουµε ένα όσο το δυνατόν µεγαλύτερο ανεξάρτητο σύνολο κορυφών σε ένα γράφηµα. Τα στιγµιότυπα του προβλήµατος παράγονται µε τον εξής τρόπο : Στο πρώτο ϐήµα, εµφανίζεται ένας κόµβος v και στη συνέχεια, είτε η ακολουθία σταµατά, είτε παράγονται αµοιβαία µη γειτονικοί κόµβοι που καθένας τους συνδέεται µε τον κόµβο v (ονοµάζουµε αυτό το γράφηµα -αστέρι). Υποθέτουµε ότι το είναι µια πολύ µεγάλη σταθερά. Ενας αλγόριθµος άµεσης απόκρισης για το πρόβληµα χτίζει το ανεξάρτητο σύνολο σταδιακά. Σε κάθε ϐήµα, πρέπει να αποφασίσει ποιους από τους νέους κόµβους που εµφανίστηκαν να συµπεριλάβει στο ανεξάρτητο σύνολο και ποιους να απορρίψει. Η απόφαση του αλγορίθµου σε κάθε ϐήµα είναι τελεσίδικη, δηλαδή δεν µπορεί να αλλάξει σε επόµενο ϐήµα. Καταρχάς, παρατηρούµε ότι οποιοσδήποτε ντετερµινιστικός αλγόριθµος για το πρόβληµα έχει µεγάλο λόγο απόδοσης. Ενας τέτοιος αλγόριθµος είτε ϑα απορρίπτει είτε ϑα αποδέχεται τον κόµβο που εµφανίζεται στο πρώτο ϐή- 25

26 ΚΕΦΑΛΑΙΟ 4. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΡΧΗ ΤΟΥ YAO µα. Αν τον απορρίπτει, τότε στο στιγµιότυπο του προβλήµατος που αποτελείται από ένα µόνο κόµβο δεν είναι ανταγωνιστικός. Αντίθετα, αν αποδεχτεί τον κόµβο στο πρώτο ϐήµα, τότε το κέρδος του είναι 1. Αν το στιγµιότυπο περιλαµβάνει κόµβους που εµφανίζονται στο δεύτερο ϐήµα, ο αλγόριθµος δεν ϑα µπορέσει να αποδεχθεί κανέναν από αυτούς τους κόµβους αφού έ- χει αποδεχθεί τον κόµβο που εµφανίστηκε στο πρώτο ϐήµα. Προσέξτε ότι οι κόµβοι του δεύτερου ϐήµατος αποτελούν ένα ανεξάρτητο σύνολο µεγέ- ϑους. Καταλήγουµε στο συµπέρασµα ότι οποιοσδήποτε ντετερµινιστικός αλγόριθµος για το πρόβληµα έχει λόγο απόδοσης τουλάχιστον. 4.2 Πιθανοτικοί αλγόριθµοι Ας ϑεωρήσουµε τώρα τον απλό πιθανοτικό αλγόριθµο ο οποίος, όταν εµ- ϕανιστεί ο πρώτος κόµβος, ϱίχνει ένα νόµισµα και ανάλογα αν το αποτέλεσµα του νοµίσµατος είναι κορώνα ή γράµµατα, αποδέχεται ή απορρίπτει τον κόµ- ϐο, αντίστοιχα. Στο δεύτερο ϐήµα, εφόσον η ακολουθία δεν σταµατήσει και εφόσον ο κόµβος που εµφανίστηκε στο πρώτο ϐήµα έχει απορριφθεί, ο αλγόριθµος αποδέχεται τους κόµβους που εµφανίζονται. Ασκηση 6. Πως ϑα υλοποιούσατε τον παραπάνω πιθανοτικό αλγόριθµο αν είχατε στη διάθεσή σας ένα κάλπικο νόµισµα για το οποίο δεν γνωρίζετε την πιθανότητα µε την οποία εµφανίζει κορώνα ή γράµµατα ; Για να υπολογίσουµε το λόγο απόδοσης του αλγορίθµου, αρκεί να ϑεω- ϱήσουµε τα δυο διαφορετικά στιγµιότυπα του προβλήµατος. Για το στιγµιότυπο που αποτελείται από ένα µόνο κόµβο, ο αλγόριθµος έχει µέσο κέρδος 1/2 (ίσο µε την πιθανότητα να αποδεχτεί τον κόµβο όταν αυτός εµφανίζεται) ενώ το ϐέλτιστο κέρδος είναι 1. ηλαδή, ο λόγος ϐέλτιστου κέρδους προς µέσο κέρδος του αλγορίθµου γι αυτό το στιγµιότυπο είναι 2. Για το στιγµιότυπο που αποτελείται από ένα -αστέρι, το ϐέλτιστο κέρδος είναι (µιας και οι κόµβοι που εµφανίζονται στο δεύτερο ϐή- µα αποτελούν ένα ανεξάρτητο σύνολο). Το κέρδος του αλγορίθµου είναι 1 όταν αποδέχεται τον πρώτο κόµβο και όταν απορρίπτει τον πρώτο κόµβο (καθώς στο δεύτερο ϐήµα ϑα αποδεχθεί τους κόµβους που ϑα εµφανιστούν). Και τα δυο γεγονότα συµβαίνουν µε πιθανότητα 1/2. Άρα το µέσο κέρδος του αλγορίθµου σε αυτή την περίπτωση είναι

4.2. ΠΙΘΑΝΟΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ 27 1/2 1 + 1/2 /2. ηλαδή, ο λόγος ϐέλτιστου κέρδους προς µέσο κέρδος του αλγορίθµου γι αυτό το στιγµιότυπο είναι το πολύ 2. Συµπεραίνουµε ότι το λόγος απόδοσης του αλγορίθµου ενάντια σε αµνήµονες αντιπάλους είναι 2, δηλαδή σταθερός ανεξαρτήτως της τιµής του. Αν και έχουµε ήδη ανακαλύψει έναν αλγόριθµο που είναι σαφώς καλύτερος από οποιονδήποτε ντετερµινιστικό αλγόριθµο, το επόµενο ερώτη- µα είναι αν υπάρχει καλύτερος αλγόριθµος ή αν ο αλγόριθµος που ϐρήκαµε είναι ο καλύτερος µεταξύ όλων των πιθανοτικών αλγορίθµων. Ευτυχώς, σ- το απλό πρόβληµα που µελετάµε, είναι εύκολο να ϕανταστούµε όλους τους πιθανοτικούς αλγορίθµους ή τουλάχιστον όλους τους πιθανοτικούς αλγορίθ- µους που µπορεί να είναι αποδοτικοί. Οποιοσδήποτε από αυτούς τους αλγο- ϱίθµους, λειτουργεί ως εξής: Οταν εµφανιστεί ο πρώτος κόµβος, ο αλγόριθµος τον αποδέχεται µε πιθανότητα p και τον απορρίπτει µε πιθανότητα 1 p. Στο δεύτερο ϐήµα, εφόσον η ακολουθία δεν σταµατήσει και εφόσον ο κόµβος που εµφανίστηκε στο πρώτο ϐήµα έχει απορριφθεί, ο αλγόριθ- µος αποδέχεται τους κόµβους που εµφανίζονται. Ανάλογα µε την τιµή του p που χρησιµοποιείται, ορίζεται και διαφορετικός πιθανοτικός αλγόριθµος. Ονοµάζουµε p-random τον αλγόριθµο που αποδέχεται µε πιθανότητα p. Στην παραπάνω κατηγορία δεν ανήκουν οι αλγόριθµοι που δουλεύουν όπως περιγράφουµε στο πρώτο ϐήµα (αποδέχονται τον κόµβο µε πιθανότητα p) και µε κάποιο τρόπο απορρίπτουν κάποιον ή κάποιους από τους κόµβους που εµφανίζονται στο δεύτερο ϐήµα ακόµα και αν ο κόµβος που εµφανίστηκε στο πρώτο ϐήµα έχει απορριφθεί. Προφανώς, για κάθε έναν από αυτούς τους αλγορίθµους, ο αλγόριθµος p-random είναι καλύτερος. Ας υπολογίσουµε τώρα την απόδοση του αλγορίθµου p-random κρατώντας το p σαν παράµετρο. Πάλι, αρκεί να ϑεωρήσουµε τα δυο διαφορετικά στιγµιότυπα του προβλήµατος. Για το στιγµιότυπο που αποτελείται από έναν µόνο κόµβο, ο αλγόριθµος p-random έχει µέσο κέρδος p (ίσο µε την πιθανότητα να αποδεχτεί τον κόµβο όταν αυτός εµφανίζεται) ενώ το ϐέλτιστο κέρδος είναι 1. ηλαδή, ο λόγος ϐέλτιστου κέρδους προς µέσο κέρδος του αλγορίθµου γι αυτό το στιγµιότυπο είναι 1/p.

28 ΚΕΦΑΛΑΙΟ 4. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΡΧΗ ΤΟΥ YAO Για το στιγµιότυπο που αποτελείται από ένα -αστέρι, το ϐέλτιστο κέρδος είναι. Το κέρδος του αλγορίθµου είναι 1 όταν αποδέχεται τον πρώτο κόµβο και όταν απορρίπτει τον πρώτο κόµβο. Το πρώτο γεγονός συµβαίνει µε πιθανότητα p και το δεύτερο συµβαίνει µε πι- ϑανότητα 1 p. Άρα το µέσο κέρδος του αλγορίθµου σε αυτή την περίπτωση είναι p 1 + (1 p) = p( 1). ηλαδή, ο λόγος ϐέλτιστου κέρδους προς µέσο κέρδος του αλγορίθµου γι αυτό το στιγµιότυπο είναι p( 1). Παρατηρούµε ότι ο λόγος ϐέλτιστου κέρδους προς κέρδος του αλγορίθµου είναι ϕθίνουσα συνάρτηση ως προς p στην πρώτη περίπτωση και αύξουσα συνάρτηση ως προς p στη δεύτερη περίπτωση. Εποµένως, ο λόγος απόδοσης του αλγορίθµου p-random (που είναι το µέγιστο των δυο λόγων) ϑα ελαχιστοποιείται για την τιµή της παραµέτρου p που τέµνονται οι δυο συναρτήσεις. Εξισώνοντάς τες, έχουµε p = και εποµένως (χρησι- 2 1 µοποιώντας την απλούστερη συνάρτηση για τον πρώτο λόγο) ο λόγος απόδοσης του αλγορίθµου p -Random είναι 1/p = 2 1/. 4.3 Μια τεχνική απόδειξης κάτω ϕραγµάτων Στην προηγούµενη παράγραφο αποδείξαµε ένα κάτω ϕράγµα στο λόγο απόδοσης οποιουδήποτε πιθανοτικού αλγορίθµου για το πρόβληµα που µελετάµε εξετάζοντας όλους τους διαφορετικούς πιθανοτικούς αλγορίθµους. Τις περισσότερες ϕορές, η χρήση της τυχαιότητας µπορεί να γίνει µε διαφορετικούς τρόπους ώστε το να ϑεωρήσουµε όλους τους δυνατούς πιθανοτικούς αλγορίθµους είναι εξαιρετικά δύσκολο. Σε αυτές τις περιπτώσεις, η τεχνική του Yao αποδεικνύεται ιδιαίτερα χρήσιµη. Ας ϑεωρήσουµε ένα πρόβληµα µεγιστοποίησης κέρδους Π όπως το πρόβληµα που µελετάµε. Ας ϑεωρήσουµε µια πιθανοτική κατανοµή P µε ϐάση την οποία παράγονται ακολουθίες αιτήσεων σ για το πρόβληµα Π. Εστω ένας ντετερµινιστικός αλγόριθµος άµεσης απόκρισης ALG για το πρόβληµα Π. Πλέον, το κέρδος ALG(σ) του αλγορίθµου ALG καθώς και το ϐέλτιστο κέρδος OPT(σ) στις ακολουθίες που παράγονται από την κατανοµή P είναι τυχαίες µεταβλητές. Ονοµάζουµε ανταγωνιστικότητα C P (ALG) του αλγορίθ- µου ALG ως προς την κατανοµή πιθανότητας P τη ελάχιστη τιµή της ποσότητας C για την οποία ισχύει IE[OPT(σ)] C IE[ALG(σ)] α

4.3. ΜΙΑ ΤΕΧΝΙΚΗ ΑΠΟ ΕΙΞΗΣ ΚΑΤΩ ΦΡΑΓΜΑΤΩΝ 29 όπου το α είναι µια σταθερά ανεξάρτητη από το µέγεθος της ακολουθίας αιτήσεων σ. Χοντρικά, η ανταγωνιστικότητα του αλγορίθµου ως προς µια πιθανοτική κατανοµή είναι ο λόγος του µέσου ϐέλτιστου κέρδους για τις ακολουθίες που παράγονται από την κατανοµή προς το µέσο κέρδος του αλγορίθµου. Για προβλήµατα ελαχιστοποίησης του κόστους, η ανισότητα αλλάζει σε IE[ALG(σ)] C IE[OPT(σ)] α όπου οι συµβολισµοί ALG(σ) και OPT(σ) δηλώνουν το κόστος του αλγορίθµου ALG και το ϐέλτιστο κόστος, αντίστοιχα. Η Αρχή του Yao ισχυρίζεται ότι ο λόγος απόδοσης οποιουδήποτε πιθανοτικού αλγορίθµου ενάντια σε αµνήµονες αντιπάλους για ένα πρόβληµα Π ϕράσσεται από κάτω από την ανταγωνιστικότητα του καλύτερου ντετερµινιστικού αλγορίθµου ως προς µια πιθανοτική κατανοµή δηµιουργίας αιτήσεων P. Αυτό σηµαίνει ότι για να αποδείξουµε ένα κάτω ϕράγµα για το λόγο απόδοσης πιθανοτικών αλγορίθµων άµεσης απόκρισης για ένα πρόβληµα αρκεί να δηµιουργήσουµε µια κατανοµή πιθανότητας και να αποδείξουµε ένα κάτω ϕράγµα για την ανταγωνιστικότητα όλων των ντετερµινιστικών αλγορίθµων άµεσης απόκρισης ως προς αυτή την πιθανοτική κατανοµή. Αυτό το κάτω ϕράγµα ϑα είναι και κάτω ϕράγµα στο λόγο απόδοσης οποιουδήποτε πι- ϑανοτικού αλγορίθµου άµεσης απόκρισης ενάντια σε αµνήµονες αντιπάλους. Σηµειώνουµε ότι συνήθως χρησιµοποιούµε α = 0 στις αποδείξεις. Ας κατασκευάσουµε τώρα µια πιθανοτική κατανοµή όπως Ϲητά η Αρχή του Yao. Μιας και τα στιγµιότυπα του προβλήµατος είναι µόνο δύο, δεν υπάρχουν πολλές διαφορετικές πιθανοτικές κατανοµές στιγµιοτύπων. Ορίζουµε λοιπόν την πιθανοτική κατανοµή που παράγει έναν κόµβο στο πρώτο ϐήµα και στη συνέχεια, µε πιθανότητα q σταµατά την ακολουθία, ενώ µε πιθανότητα 1 q εµφανίζει κόµβους στο δεύτερο ϐήµα. Το q το χρησιµοποιούµε ως παράµετρο που ορίζει διαφορετική πιθανοτική κατανοµή για κάθε διαφορετική τιµή του. Σκοπός µας είναι να ϐρούµε µια όσο το δυνατόν χειρότερη πιθανοτική κατανοµή, δηλαδή µια πιθανοτική κατανοµή που ϑα δώσει το υψηλότερο κάτω ϕράγµα για οποιονδήποτε ντετερµινιστικό αλγόριθµο. Από τον ορισµό της κατανοµής, έχουµε ότι το µέσο ϐέλτιστο κέρδος ως προς αυτήν είναι q + (1 q). Εχοντας ορίσει την πιθανοτική κατανοµή παραγωγής στιγµιοτύπων, αποµένει να αποδείξουµε κάτω ϕράγµα για ντετερµινιστικούς αλγορίθµους που δουλεύουν σε στιγµιότυπα που παράγονται από αυτή την κατανοµή. Υπάρχουν δυο τέτοιοι αλγόριθµοι που αρκεί να ϕανταστούµε.

30 ΚΕΦΑΛΑΙΟ 4. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΡΧΗ ΤΟΥ YAO Ο πρώτος αλγόριθµος αποδέχεται πάντα τον κόµβο του πρώτου ϐή- µατος. Το µέσο κέρδος του ως προς την κατανοµή είναι ακριβώς 1 µιας και ποτέ δεν πρόκειται να αποδεχθεί κάποιον από τους κόµβους που εµφανίζονται στο δεύτερο ϐήµα (καθώς έχει αποδεχθεί τον κόµβο του πρώτου ϐήµατος). Η ανταγωνιστικότητα του αλγορίθµου ως προς την κατανοµή είναι q + (1 q). Ο δεύτερος αλγόριθµος απορρίπτει πάντα τον κόµβο του πρώτου ϐή- µατος και αποδέχεται όλους τους κόµβους του δεύτερου ϐήµατος, ε- ϕόσον αυτοί εµφανιστούν. Οπότε, το µέσο κέρδος του ως προς την κατανοµή είναι (1 q) και η ανταγωνιστικότητά του ως προς την κατανοµή είναι q+(1 q). Προφανώς, οποιοσδήποτε άλλος αλγόριθµος (1 q) που απορρίπτει πάντα τον κόµβο του πρώτου ϐήµατος και απορρίπτει κάποιον ή κάποιους κόµβους στο δεύτερο ϐήµα έχει χειρότερη ανταγωνιστικότητα ως προς την κατανοµή. εν είναι δύσκολο να επαληθεύσουµε ότι η συνάρτηση που δίνει την ανταγωνιστικότητα του πρώτου αλγορίθµου ως προς την κατανοµή είναι ϕθίνουσα ως προς q, ενώ η συνάρτηση που δίνει την ανταγωνιστικότητα του δεύτερου αλγορίθµου ως προς την κατανοµή είναι αύξουσα ως προς q. Ε- ποµένως, το ελάχιστο µεταξύ των δύο ϑα µεγιστοποιείται στο σηµείο που τέµνονται οι συναρτήσεις αυτές, δηλαδή για την τιµή q = 1 1/ όπου η ανταγωνιστικότητα οποιουδήποτε ντετερµινιστικού αλγορίθµου είναι τουλάχιστον 2 1/. Από την Αρχή του Yao, καταλήγουµε ότι το 2 1/ είναι κάτω ϕράγµα για την απόδοση οποιουδήποτε πιθανοτικού αλγορίθµου άµεσης απόκρισης για το πρόβληµα ενάντια σε αµνήµονες αντιπάλους.

Κεφάλαιο 5 Πιθανοτικοί αλγόριθµοι σελιδοποίησης Σε αυτό το κεφάλαιο παρουσιάζουµε τον πιθανοτικό αλγόριθµο σελιδοποίησης MARK και ένα κάτω ϕράγµα για την απόδοση οποιουδήποτε πι- ϑανοτικού αλγορίθµου για το πρόβληµα. Για την απόδειξη του κάτω ϕράγ- µατος, χρησιµοποιούµε την Αρχή του Yao. Οπως ϑα δούµε στην επόµενη παράγραφο, χρησιµοποιώντας τυχαιότητα, µπορούµε να ϐελτιώσουµε σηµαντικά την απόδοση για το πρόβληµα της σελιδοποίησης. 5.1 Ο αλγόριθµος MARK Ο αλγόριθµος MARK είναι ένας απλός πιθανοτικός αλγόριθµος για το ϐασικό πρόβληµα σελιδοποίησης µε γρήγορη µνήµη µεγέθους k. Επιτυγχάνει λόγο απόδοσης 2H k ενάντια σε αµνήµονες αντιπάλους, όπου H k είναι ο k-οστός αρµονικός αριθµός (harmonic number) που ορίζεται ως H k = k i=1 1 i. Ισχύει ότι ln k < H k < 1+ln k και εποµένως ο λόγος απόδοσης του αλγορίθµου MARK είναι πολύ καλύτερος από αυτόν των ντετερµινιστικών αλγορίθµων. Αλγόριθµος MARK: Αρχικά, ο αλγόριθµος µαρκάρει όλες οι σελίδες. Αν υπάρχει αίτηση για µία σελίδα p η οποία είναι στη γρήγορη µνήµη αλλά δεν είναι µαρκαρισµένη, τότε η σελίδα p µαρκάρεται. Αλλιώς, αν η p δεν είναι στη γρήγορη µνήµη, ο αλγόριθµος τη ϕέρνει στη γρήγορη µνήµη και τη µαρκάρει, αντικαθιστώντας µία σελίδα που επιλέγεται οµοιόµορφα τυχαία 31

32 ΚΕΦΑΛΑΙΟ 5. ΠΙΘΑΝΟΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ ΟΠΟΙΗΣΗΣ από το σύνολο των µη µαρκαρισµένων σελίδων. Αν όλες οι σελίδες στη γρήγορη µνήµη είναι µαρκαρισµένες όταν η σελίδα p πρόκειται να έρθει, τότε πρώτα ξεµαρκάρονται όλες οι σελίδες της γρήγορης µνήµης. Θεώρηµα 8. Ο αλγόριθµος MARK έχει λόγο απόδοσης το πολύ 2H k απέναντι σε αµνήµονες αντιπάλους. Απόδειξη. Θεωρούµε µια ακολουθία αιτήσεων και υπολογίζουµε τη διαµέρισή της σε k-ϕάσεις. Για κάθε k-ϕάση, ονοµάζουµε παλιές σελίδες τις σελίδες που ϐρίσκονται στη γρήγορη µνήµη αµέσως πριν από την έναρξη της k-ϕάσης. Μια µη παλιά σελίδα η οποία Ϲητείται στην i-οστή k-ϕάση ονοµάζεται νέα. Παρατηρήστε ότι κάθε αίτηση γίνεται είτε για µια παλιά είτε για µια νέα σελίδα και πως επανειληµµένες αιτήσεις για παλιές ή νέες σελίδες δεν προκαλούν επιπλέον σφάλµατα σελίδων αφού κάθε σελίδα που Ϲητείται κατά τη διάρκεια µίας k-ϕάσης διατηρείται στη γρήγορη µνήµη µέχρι το τέλος της k-ϕάσης. Θεωρούµε την i-οστή k-ϕάση. Εστω m i ο αριθµός των νέων σελίδων που Ϲητούνται σε αυτή τη ϕάση. Είναι προφανές ότι κατά τη διάρκεια µιας k- ϕάσης, η χειρότερη δυνατή σειρά για τον αλγόριθµο είναι όταν οι αιτήσεις για νέες σελίδες προηγούνται όλων των αιτήσεων για παλιές σελίδες. Με αυτή τη σειρά, οι πρώτες m i αιτήσεις για νέες σελίδες, προκαλούν m i σφάλµατα σελίδων. Τώρα, εξετάζουµε τον αναµενόµενο αριθµό από σφάλµατα σελίδων που προκύπτουν από τις k m i (πρώτες) αιτήσεις για παλιές σελίδες. Η ϐασική παρατήρηση είναι ότι η j-οστή παλιά σελίδα (µε τη σειρά που Ϲητούνται σε αυτή τη k-ϕάση) που Ϲητείται για πρώτη ϕορά κατά τη διάρκεια της i-οστής k-ϕάσης ϐρίσκεται στη γρήγορη µνήµη µε πιθανότητα ακριβώς k m i (j 1). Παρατηρήστε ότι ο αριθµητής αναπαριστά τον αριθµό των παλιών k (j 1) µη µαρκαρισµένων σελίδων στη γρήγορη µνήµη όταν εµφανίζεται η αίτηση για την j-οστή παλιά σελίδα, ενώ ο παρονοµαστής αναπαριστά τον αριθµό των µη µαρκαρισµένων σελίδων. Η πιθανότητα δηµιουργίας σφάλµατος σελίδας m από αυτή την αίτηση είναι ακριβώς i. Κατά συνέπεια, ο αναµενόµενος k j+1 αριθµός σφαλµάτων σελίδας κατά τη διάρκεια της i-οστής k-ϕάσης είναι m i + k m i j=1 m i k j + 1 = m i + m i (H k H mi ) = m i (H k H mi + 1) m i H k. Εύκολα µπορούµε να υπολογίσουµε ένα κάτω ϕράγµα για το ϐέλτιστο αριθµό σφαλµάτων σελίδων. Από τον ορισµό µιας k-ϕάσης και τον ορισ- µό του m i, κατά τη διάρκεια της i-οστής και της (i 1)-στής k-ϕάσης,