SlideShare a Scribd company logo
1 of 83
Download to read offline
Αλγόριθµοι ΄Αµεσης Απόκρισης
Ιωάννης Καραγιάννης
Μάρτιος 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 analy-
sis), µε άση την οποία, η απόδοση του αλγορίθµου συγκρίνεται µε την
απόδοση ενός έλτιστου (υποθετικού) αλγορίθµου που έχει πρόσβαση σε
ολόκληρη την ακολουθία αιτήσεων. Η µετρική που χρησιµοποιούµε για την
ποσοτικοποίηση της απόδοσης ενός αλγορίθµου άµεσης απόκρισης είναι ο
λόγος απόδοσης (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. Οι ορισµοί για ντετερµινιστικούς αλγορίθµους άµεσης απόκρισης όταν το
¶ είναι πρόβληµα ελαχιστοποίησης κόστους απλοποιούνται αφαιρώντας το
σύµβολο της µέσης τιµής από το κόστος του αλγορίθµου.
7
Σηµειώνουµε ότι η απόδοση ενός πιθανοτικού αλγορίθµου προκύπτει
συγκρίνοντας τον αλγόριθµο µε αµνήµονες αντιπάλους για τους οποίους υπ-
οθέτουµε ότι δηµιουργούν την ακολουθία αιτήσεων χωρίς να έχουν πρόσβαση
στα αποτελέσµατα των τυχαίων επιλογών του αλγορίθµου (µολονότι, µπορεί
να γνωρίζουν την πιθανοτική κατανοµή µε άση την οποία κάνει τις τυχαίες
επιλογές του ο αλγόριθµος). Για το λόγο αυτό, όταν υπολογίζουµε τη µέση
τιµή του κόστους ή του κέρδους του αλγορίθµου για µια ακολουθία æ, υπ-
οθέτουµε ότι ο αντίπαλος έχει επιλέξει ολόκληρη την ακολουθία πριν την
παρουσιάσει στον αλγόριθµο.
Τα προβλήµατα µε τα οποία ϑα ασχοληθούµε περιλαµβάνουν το πρόβληµα
‘Αγορά ή ενοικίαση ;’ (ski-rental), το πρόβληµα της σελιδοποίησης (paging)
σε υπολογιστικά συστήµατα µε ιεραρχική οργάνωση µνήµης, το πρόβληµα
της εξισορρόπησης ϕορτίου κατά τη δροµολόγηση εργασιών σε παράλληλες
µηχανές (load balancing), το πρόβληµα της συσκευασίας (bin packing), και
το πρόβληµα ελέγχου αποδοχής κλήσεων (call admission).
8 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ
Κεφάλαιο 2
Αγορά ή ενοικίαση;
Ας υποθέσουµε ότι γνωρίζετε ένα νέο ϕίλο ο οποίος είναι µανιώδης σκιέρ.
Κάθε Σάββατο προσφέρεται να σας πάρει µαζί του στα Καλάβρυτα για σκι.
Το νέο χόµπι σας ϕαίνεται ενδιαφέρον και αποφασίζετε να πηγαίνετε για
σκι µε το νέο σας ϕίλο όποτε έχετε την ευκαιρία. Επιπλέον, όλα τα έξοδα
καλύπτονται από τον ϕίλο σας εκτός από το κόστος ενοικίασης του εξοπλισµού
για να κάνετε σκι. ΄Εχετε τη δυνατότητα είτε να νοικιάζετε εξοπλισµό κάθε
ϕορά που πηγαίνετε για σκι είτε να αγοράσετε το δικό σας εξοπλισµό και να
τον χρησιµοποιείτε. Μιας και το νέο σας χόµπι είναι σχετικά ακριβό, σας
ενδιαφέρει να ελαχιστοποιήσετε τα έξοδά σας. Το ερώτηµα λοιπόν είναι αν ϑα
νοικιάζετε συνεχώς εξοπλισµό ή αν ϑα τον αγοράσετε, και πότε. Σηµειώνουµε
ότι δεν γνωρίζετε εκ των προτέρων πόσες ϕορές ϑα πάτε για σκι. Αυτή η
έλλειψη πληροφορίας για το µέλλον κάνει το πρόβληµα ένα πρόβληµα άµεσης
απόκρισης.
Ας υποθέσουµε ότι το κόστος αγοράς εξοπλισµού είναι σηµαντικά
µεγαλύτερο του κόστους ενοικίασης. Προφανώς, δεν συµφέρει να αγοράσετε
τον εξοπλισµό όταν δεχθείτε την πρώτη αίτηση γιατί υπάρχει η περίπτωση να
µην ξαναπάτε ποτέ για σκι. Επίσης, δεν συµφέρει να νοικιάζετε συνεχώς γιατί
κάποια στιγµή το συνολικό κόστος ενοικίασης εξοπλισµού ϑα υπερβεί κατά
πολύ το κόστος αγοράς του. Ποια είναι η καλύτερη στρατηγική;
9
10 ΚΕΦΑΛΑΙΟ 2. ΑΓΟΡΑ Η ΕΝΟΙΚΙΑΣΗ;
2.1 ΄Ενας ντετερµινιστικός αλγόριθµος άµεσης
απόκρισης
Μπορούµε να ϕανταστούµε την είσοδο του προβλήµατος σαν µια ακολου-
ϑία αιτήσεων. Κάθε αίτηση αντιστοιχεί σε µια αίτηση του ϕίλου σας να πάτε
για σκι. ΄Οταν εµφανίζεται µια νέα αίτηση, πρέπει να αποφασίσετε αν ϑα
νοικιάσετε ή ϑα αγοράσετε εξοπλισµό. Εφόσον αγοράσετε, τότε µπορείτε να
ικανοποιήσετε οποιαδήποτε µελλοντική αίτηση χωρίς επιπλέον κόστος.
Υποθέτουµε ότι το κόστος ενοικίασης εξοπλισµού είναι 1 ευρώ ενώ το κόσ-
τος αγοράς είναι B ευρώ. Μια ντετερµινιστική στρατηγική για τη λύση του
προβλήµατος είναι να απαντάτε ενοικιάζοντας µέχρι και το ήµα ø ° 1 της
ακολουθίας αιτήσεων και να αγοράσετε στο ήµα ø, όπου ø µια παράµετ-
ος που χρησιµοποιεί ο αλγόριθµος. ∆ιαισθητικά, η καλύτερη τιµή της
παραµέτρου ø είναι ø = B, δηλαδή να αγοράσετε όταν το κόστος ενοικίασης
ϕτάσει το κόστος αγοράς. Αυτό ισχυρίζεται και το επόµενο ϑεώρηµα.
Θεώρηµα 1. Ο καλύτερος ντετερµινιστικός αλγόριθµος άµεσης απόκρισης για
το πρόβληµα ‘Αγορά ή ενοικίαση;’ επιτυγχάνεται αν επιλέξουµε ø = B και
έχει λόγο απόδοσης 2 ° 1
B
.
Απόδειξη. Καταρχήν αποδεικνύουµε ότι ο λόγος απόδοσης του ντετερµινισ-
τικού αλγορίθµου µε ø = B είναι 2 ° 1
B
. Για κάθε t  0, συµβολίζουµε
µε ALGB(t) το κόστος του αλγορίθµου στα πρώτα t ήµατα και µε OPT(t)
το έλτιστο κόστος στα πρώτα t ήµατα. ΄Εχουµε ότι ο λόγος απόδοσης του
αλγορίθµου είναι ΩB = maxtΩB(t) όπου ΩB(t) = ALGB(t)
OPT(t)
. Αρκεί να δείξουµε
ότι ΩB(t) ∑ 2 ° 1/B, για κάθε t  0.
Παρατηρούµε ότι το έλτιστο κόστος για µια ακολουθία µεγέθους t είναι
OPT(t) = min{t, B}. Το κόστος του αλγορίθµου µέχρι και την t-οστή αίτηση
είναι ALGB(t) = t αν t  B (t ενοικιάσεις στα πρώτα t ήµατα) και ALGB(t) =
2B ° 1 αν t ∏ B (B ° 1 ενοικιάσεις στα πρώτα B ° 1 ήµατα και αγορά στο
ήµα B). Εποµένως, ΩB(t) = t
min{t,B}
= 1 αν t  B και ΩB(t) = 2B°1
min{t,B}
=
2B°1
B
= 2 ° 1
B
αν t ∏ B. Σε κάθε περίπτωση, ΩB(t) ∑ 2 ° 1
B
, και εποµένως
ΩB ∑ 2 ° 1
B
.
Τώρα, ϑα δείξουµε ότι ο αλγόριθµος που χρησιµοποιεί ø = B είναι ο
καλύτερος ντετερµινιστικός αλγόριθµος. Αρκεί να δείξουµε ότι ο λόγος από-
δοσης Ωø οποιουδήποτε ντετερµινιστικού αλγορίθµου που αγοράζει στο ήµα
ø είναι αυστηρά µεγαλύτερος του 2 ° 1/B. Θα ϑεωρήσουµε ακολουθία ø η-
µάτων και ϑα δείξουµε ότι ο λόγος Ωø (ø) = ALGø (ø)
OPT(ø)
είναι τουλάχιστον 2°1/B.
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, εποµένως,
Ωø = maxt Ωø (t) ∏ Ωø (ø)  2 ° 1/B.
2.2 Γενικεύοντας το πρόβληµα
Ας γενικεύσουµε λίγο το πρόβληµα και ας υποθέσουµε ότι ο αλγόριθµος
παίρνει αποφάσεις για ένα ευγάρι. Τότε, κάθε ϕορά που το ευγάρι πηγαίνει
για σκι, ϑα πρέπει να χρησιµοποιήσει δύο σετ εξοπλισµού. Προφανώς, η
ανάλυση της προηγούµενης παραγράφου ισχύει και ο αλγόριθµος όπου αρ-
χικά το ευγάρι νοικιάζει µέχρι το κόστος ενοικίασης να υπερβεί το κόστος
αγοράς δυο σετ εξοπλισµού για σκι, όποτε αγοράζει δυο σετ εξοπλισµού. Ο
λόγος απόδοσης αυτού του αλγορίθµου είναι πάλι 2 ° 1/B όπου B ο λόγος
αγοράς προς ενοικίαση.
Το ερώτηµα που ϑέτουµε τώρα είναι: υπάρχει καλύτερος αλγόριθµος;
Η απάντηση είναι αρνητική αν περιοριστούµε σε αλγορίθµους που σε κάθε
ήµα το ευγάρι είτε νοικιάζει δυο σετ εξοπλισµού είτε χρησιµοποιεί δυο
ευγάρια πέδιλα που έχει αγοράσει, καθώς το πρόβληµα είναι ισοδύναµο µε
την απλούστερη περίπτωση που είδαµε στην προηγούµενη παράγραφο.
Προσέξτε όµως ότι υπάρχει µια εναλλακτική στρατηγική που δεν χρησι-
µοποιείται. Θα µπορούσε το ευγάρι να ξεκινήσει νοικιάζοντας δυο σετ εξο-
πλισµού µέχρι κάποιο ήµα, µετά να αγοράσει ένα σετ εξοπλισµού έτσι ώστε
ο ένας να νοικιάζει και ο άλλος να χρησιµοποιεί το αγορασµένο σετ εξοπλισ-
µού, µέχρι κάποιο ήµα όπου ϑα αγοράσουν ένα δεύτερο σετ εξοπλισµού
(και δεν ϑα χρειαστεί να ξανανοικιάσουν).
Θα δείξουµε ότι ο αλγόριθµος που αγοράζει το πρώτο σετ εξοπλισµού
στο ήµα ø = dB/¡e και το δεύτερο σετ στο ήµα B έχει καλύτερο λόγο
απόδοσης. Το ¡ είναι ο χρυσός λόγος (= 1+
p
5
2
).
12 ΚΕΦΑΛΑΙΟ 2. ΑΓΟΡΑ Η ΕΝΟΙΚΙΑΣΗ;
Θεώρηµα 2. Ο ντετερµινιστικός αλγόριθµος άµεσης απόκρισης που αναφέρ-
ϑηκε παραπάνω για τη γενίκευση του προβλήµατος ‘Αγορά ή ενοικίαση;’ έχει
λόγο απόδοσης το πολύ 5+
p
5
4
º 1.81.
Απόδειξη. Για κάθε t  0, συµβολίζουµε µε ALG(t) το κόστος του αλγορίθµου
µέχρι και το ήµα t. Αφού ο αλγόριθµος αγοράζει το πρώτο σετ εξοπλισµού
στο ήµα ø και το δεύτερο στο ήµα B έχουµε
ALG(t) =
8

:
2t 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)
, έχουµε ότι ο λόγος απόδοσης
του αλγορίθµου είναι Ω = maxt Ω(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
2
+
ø + B ° 1
2t
∑
1
2
+
ø + B ° 1
2ø
= 1 +
B ° 1
2ø
= 1 +
B ° 1
2dB/¡e
∑ 1 +
¡
2
=
5 +
p
5
4
.
Αν t ∏ B, έχουµε
Ω(t) =
ALG(t)
OPT(t)
=
ø + 3B ° 2
2B
=
dB/¡e + 3B ° 2
2B
∑
B/¡ + 3B
2B
=
1
2¡
+
3
2
=
5 +
p
5
4
.
Σε κάθε περίπτωση Ω(t) ∑ 5+
p
5
4
και, εποµένως, Ω = maxt Ω(t) ∑ 5+
p
5
4
.
΄Ασκηση 1. Αγνοώντας όρους τάξης o(1), δείξτε ότι ο αλγόριθµος του Θεωρή-
µατος 2 είναι ο ντετερµινιστικός αλγόριθµος για τη γενίκευση του προβλήµατος
‘Αγορά ή ενοικίαση ;’ µε τον καλύτερο λόγο απόδοσης.
2.3. ΕΝΑΣ ΠΙΘΑΝΟΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ 13
2.3 ΄Ενας πιθανοτικός αλγόριθµος
Στη συνέχεια, ϑα περιγράψουµε έναν πιθανοτικό αλγόριθµο για το αρχικό
πρόβληµα που µοιάζει µε το ντετερµινιστικό αλγόριθµο για το γενικευµένο
πρόβληµα. Ο αλγόριθµος αυτός έχει λόγο απόδοσης 1.81 ενάντια σε αµνή-
µονες αντιπάλους. Με τον τρόπο αυτό, δείχνουµε ότι η χρήση τυχαιότητας
µπορεί να οηθήσει να ξεπεράσουµε τους περιορισµούς των ντετερµινιστικών
αλγορίθµων.
Ο αλγόριθµος ίχνει ένα νόµισµα. Αν το νόµισµα εµφανίσει κορώνα, τότε
τρέχουµε τον ντετερµινιστικό αλγόριθµο που ενοικιάζει µέχρι και το ήµα
B ° 1 και αγοράζει στο ήµα B. Αν το νόµισµα εµφανίσει γράµµατα, τότε
τρέχουµε τον ντετερµινιστικό αλγόριθµο που ενοικιάζει µέχρι και το ήµα
dB/¡e ° 1 και αγοράζει στο ήµα dB/¡e. Πάλι, το ¡ είναι ο χρυσός λόγος
(= 1+
p
5
2
).
Θεώρηµα 3. Ο πιθανοτικός αλγόριθµος που µόλις περιγράψαµε έχει λόγο
απόδοσης ενάντια σε αµνήµονες αντιπάλους το πολύ 5+
p
5
4
º 1.81 για το
πρόβληµα ‘Αγορά ή ενοικίαση ;’
Απόδειξη. Η ανάλυση είναι παρόµοια µε την ανάλυση του ντετερµινιστικού
αλγορίθµου για τη γενίκευση του προβλήµατος. Θέτουµε ø = dB/¡e. Για
κάθε t  0, συµβολίζουµε µε ALG1(t) το κόστος του αλγορίθµου µέχρι και το
ήµα t εφόσον η ίψη του νοµίσµατος εµφάνισε κορώνα και µε ALG2(t) το
κόστος του αλγορίθµου µέχρι και το ήµα t εφόσον η ίψη του νοµίσµατος
εµφάνισε γράµµατα. Επίσης, συµβολίζουµε µε ALG(t) την τυχαία µεταβλητή
που δηλώνει το κόστος του αλγορίθµου µέχρι και το ήµα t. ΄Εχουµε
ALG1(t) =
Ω
t t  B
2B ° 1 t ∏ B
για τον πρώτο αλγόριθµο και
ALG2(t) =
Ω
t t  ø
ø + B ° 1 t ∏ ø
για το δεύτερο. Επίσης, για κάθε t  0 η µέση τιµή της τυχαίας µεταβλητής
ALG(t) είναι IE[ALG(t)] = 1
2
(ALG1(t) + ALG2(t)) αφού η επιλογή µεταξύ
των δυο ντετερµινιστικών αλγορίθµων που ϑα εκτελεστούν γίνεται ισοπίθανα.
Το έλτιστο κόστος µέχρι και το ήµα t είναι OPT(t) = min{t, B}. Οπότε,
ορίζοντας Ω(t) = IE[ALG(t)]
OPT(t)
= ALG1(t)+ALG2(t)
2·OPT(t)
, έχουµε ότι ο λόγος απόδοσης του
14 ΚΕΦΑΛΑΙΟ 2. ΑΓΟΡΑ Η ΕΝΟΙΚΙΑΣΗ;
αλγορίθµου είναι Ω = maxt Ω(t). ∆ιακρίνουµε τρεις περιπτώσεις για το t. Αν
t  ø, τότε ALG1(t) = ALG2(t) = t ενώ OPT(t) = t. Εποµένως, Ω(t) = 1. Αν
ø ∑ t  B, τότε OPT(t) = t, ALG1(t) = t και ALG2(t) = ø +B°1. Εποµένως,
Ω(t) =
ALG1(t) + ALG2(t)
2 · OPT(t)
=
t + ø + B ° 1
2t
∑ ... ∑
5 +
p
5
4
.
Αν t ∏ B, τότε OPT(t) = B, ALG1(t) = 2B ° 1 και ALG2(t) = ø + B ° 1.
Εποµένως,
Ω(t) =
ALG1(t) + ALG2(t)
2 · OPT(t)
=
ø + 3B ° 2
2B
∑ ... ∑
5 +
p
5
4
.
Οι πράξεις έχουν παραλειφθεί καθώς είναι οι ίδιες µε τις πράξεις στο τέλος
της προηγούµενης απόδειξης. Σε κάθε περίπτωση έχουµε Ω(t) ∑ 5+
p
5
4
και,
εποµένως, Ω = maxt Ω(t) ∑ 5+
p
5
4
.
Κεφάλαιο 3
Ντετερµινιστικοί αλγόριθµοι
σελιδοποίησης
Για τη µελέτη του προβλήµατος της σελιδοποίησης ϑεωρούµε ένα υπολο-
γιστικό σύστηµα ιδεατής µνήµης δύο επιπέδων όπου κάθε επίπεδο µπορεί να
αποθηκεύσει έναν αριθµό µονάδων µνήµης σταθερού µεγέθους που καλούν-
ται σελίδες. Το πρώτο επίπεδο, που καλείται αργή µνήµη, αποθηκεύει έ-
να σύνολο P = {p1, p2, ..., pN } από N σελίδες. Το δεύτερο επίπεδο, που
ονοµάζεται γρήγορη µνήµη, µπορεί να αποθηκεύει οποιοδήποτε υποσύνολο
του P µεγέθους το πολύ k όπου k  N. Οι αιτήσεις για σελίδες εµφανίζονται
σταδιακά. ΄Οταν εµφανίζεται µια αίτηση για µια σελίδα pi, το σύστηµα πρέπει
να κάνει την σελίδα pi διαθέσιµη στη γρήγορη µνήµη. Αν η pi είναι ήδη στη
γρήγορη µνήµη έχουµε επιτυχία (hit) και το σύστηµα δεν χρειάζεται να κάνει
τίποτα. Αλλιώς, δηµιουργείται ένα σφάλµα σελίδας (page fault) και η σελί-
δα pi πρέπει να αντιγραφεί από την αργή µνήµη σε µια από τις ϑέσεις της
γρήγορης µνήµης. Για να γίνει αυτό, το σύστηµα πρέπει να αποφασίσει ποια
σελίδα πρέπει να διώξει από τη γρήγορη µνήµη για να κάνει χώρο (εφόσον
χρειάζεται) για τη σελίδα pi. Αυτό πρέπει να γίνει µε έξυπνο τρόπο έτσι ώστε
να ελαχιστοποιηθεί ο συνολικός αριθµός των σφαλµάτων σελίδας.
Το πρόβληµα σελιδοποίησης είναι σήµερα ένα πρόβληµα για το οποίο
είναι γνωστοί ντετερµινιστικοί και πιθανοτικοί αλγόριθµοι άµεσης απόκρισης
µε τον καλύτερο δυνατό λόγο απόδοσης. Σε αυτό το κεφάλαιο, ασχολούµαστε
µε ντετερµινιστικούς αλγορίθµους σελιδοποίησης.
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, ..., |æ|,
µπορούµε να κατασκευάσουµε έναν στατικό αλγόριθµο ALGi που ικανοποιεί
τις παρακάτω δύο ιδιότητες :
1. Ο αλγόριθµος ALGi επεξεργάζεται τις πρώτες i°1 αιτήσεις ακριβώς όπως
ο αλγόριθµος ALG.
2. Αν η i°οστή αίτηση οδηγεί σε σφάλµα σελίδας, ο αλγόριθµος ALGi αν-
τικαθιστά στη γρήγορη µνήµη την σελίδα για την οποία ϑα υπάρξει αίτηση
πιο αργά σε σχέση µε τις υπόλοιπες.
Ο αριθµός σφαλµάτων σελίδας ALGi(æ) του αλγορίθµου ALGi είναι το πολύ
ίσος µε τον αριθµό σφαλµάτων σελίδας ALG(æ) του αλγορίθµου ALG.
Αυτή η πρόταση αποδεικνύει το ϑεώρηµα εφαρµόζοντας την n = |æ| ϕορές
ως εξής. Θεωρούµε µια ακολουθία αιτήσεων æ. Ξεκινώντας µε οποιοδήποτε
έλτιστο στατικό αλγόριθµο OPT, εφαρµόζουµε την πρόταση µε i = 1 για να
πάρουµε τον αλγόριθµο OPT1, µετά εφαρµόζουµε την πρόταση στον αλγόρι-
ϑµο OPT1 µε i = 2 για να πάρουµε τον αλγόριθµο OPT2, κλπ. Είναι ϕανερό
ότι ο αλγόριθµος OPTn συµπεριφέρεται πανοµοιότυπα µε τον αλγόριθµο LFD
στην ακολουθία αιτήσεων æ.
18 ΚΕΦΑΛΑΙΟ 3. ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ∆ΟΠΟΙΗΣΗΣ
Αποµένει να αποδείξουµε την πρόταση. ∆εδοµένου του αλγορίθµου AL-
G, κατασκευάζουµε τον αλγόριθµο ALGi. Υποθέτουµε ότι αµέσως µετά την
επεξεργασία της i°οστής αίτησης, οι γρήγορες µνήµες του ALG και του AL-
Gi περιέχουν τα σύνολα σελίδων X [ {v}, X [ {u}, αντίστοιχα, όπου X είναι
κάποιο σύνολο από k ° 1 σελίδες και u, v οποιεσδήποτε σελίδες. Αν u = v,
τότε προφανώς οι ALG και ALGi συµπεριφέρονται πανοµοιότυπα και ισχύει
ALGi(æ) = ALG(æ). Στη συνέχεια υποθέτουµε ότι v 6= u (ότι δηλαδή, στην
i-οστή αίτηση συνέβη σφάλµα σελίδας). Μέχρι τη στιγµή που εµφανίζεται
αίτηση για τη σελίδα v, ο ALGi µιµείται τον ALG µε τη µόνη διαφορά ότι
διώχνει τη σελίδα u αν ο ALG διώχνει τη σελίδα v. Αυτό είναι εφικτό κα-
ϑώς µετά από την εξυπηρέτηση κάθε αίτησης, ο αριθµός των κοινών σελίδ-
ων παραµένει τουλάχιστον k ° 1. Επιπλέον, αν σε οποιαδήποτε στιγµή ο
αριθµός των κοινών σελίδων γίνει k (π.χ., αν ο ALG διώξει τη σελίδα v), ο
ALGi ταυτίζεται µε τον ALG από αυτό το σηµείο και στο εξής και η απόδειξη
ολοκληρώνεται.
Εάν τελικά ητηθεί η σελίδα v και οι ALG και ALGi δεν έχουν ακόµα
ταυτιστεί, αυτό ϑα δηµιουργήσει ένα σφάλµα σελίδας στον ALGi αλλά όχι
στον ALG. Σε κάθε περίπτωση, τη στιγµή που ητείται η σελίδα v, εφόσον
όταν αντικαταστάθηκε ήταν η σελίδα για την οποία ϑα υπήρχε αίτηση πιο
αργά σε σχέση µε τις υπόλοιπες σελίδες της γρήγορης µνήµης, πρέπει να
υπάρχει τουλάχιστον µια αίτηση για τη σελίδα u πριν από την αίτηση για
τη σελίδα v. Η πρώτη τέτοια αίτηση δηµιουργεί ένα σφάλµα σελίδας στον
αλγόριθµο ALG, όχι όµως στον αλγόριθµο ALGi. Εποµένως, ο συνολικός
αριθµός των σφαλµάτων σελίδας του αλγορίθµου ALGi αφού εξυπηρετηθεί
η σελίδα v είναι το πολύ ίσος µε αυτόν του ALG. Τελικά, προκειµένου να
εξυπηρετηθεί η αίτηση για τη σελίδα v, ο ALGi αντικαθιστά τη σελίδα 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) που ονοµάζονται αλγόριθµοι µαρκαρίσµατος και
αποδεικνύουµε ότι κάθε αλγόριθµος µαρκαρίσµατος έχει λόγο απόδοση-
ς το πολύ k
k°h+1
για το (h, k)-πρόβληµα σελιδοποίησης. Ειδικότερα, έτσι
προκύπτει ένα άνω ϕράγµα 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
ϑα κάνει τουλάχιστον k0
° h σφάλµατα σελίδων, όπου k0
είναι ο αριθµός των
διαφορετικών σελίδων για τις οποίες υπάρχουν αιτήσεις κατά την τελευταία
ϕάση. Θα αγνοήσουµε τελείως αυτό το κόστος στον αλγόριθµο OPT.
Κατά τη διάρκεια κάθε ϕάσης, ο αλγόριθµος ALG κάνει σφάλµα το πολύ k
ϕορές, και για κάθε ϕάση εκτός από την τελευταία, µπορούµε να χρεώσουµε
τον αλγόριθµο OPT µε τουλάχιστον k °h+1 σφάλµατα. Εποµένως, για κάθε
ακολουθία αιτήσεων ισχύει:
ALG(æ) ∑
k
k ° h + 1
· OPT(æ) + k0
,
όπου ALG(æ) και OPT(æ) είναι ο συνολικός αριθµός σφαλµάτων σελίδας για
τους αλγορίθµους ALG και OPT, αντίστοιχα, και k0
∑ 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 έχουν λόγο απόδοσης k
k°h+1
για το (h, k)-πρόβληµα σελιδοποίησης.
΄Ασκηση 4. ∆είξτε ότι ο αλγόριθµος FIFO δεν είναι αλγόριθµος µαρκαρίσµατος.
Συντηρητικοί αλγόριθµοι
Λέµε ότι ένας αλγόριθµος σελιδοποίησης ALG είναι συντηρητικός αν σε
κάθε ακολουθία αιτήσεων που περιέχει k ή λιγότερες διαφορετικές σελίδες, ο
αλγόριθµος ALG κάνει το πολύ k σφάλµατα σελίδων.
3.5. ΚΑΤΩ ΦΡΑΓΜΑΤΑ 23
΄Ασκηση 5. ∆είξτε ότι οι αλγόριθµοι LRU και FIFO είναι συντηρητικοί αλγόρι-
ϑµοι. Επίσης, δείξτε ότι ο αλγόριθµος FWF δεν είναι συντηρητικός αλγόριθµος.
Το επόµενο ϑεώρηµα µπορεί εύκολα να αποδειχθεί τροποποιώντας την
απόδειξη του Θεωρήµατος 5.
Θεώρηµα 6. ΄Εστω ότι ο ALG είναι ένας οποιοσδήποτε συντηρητικός αλγόριθ-
µος σελιδοποίησης µε γρήγορη µνήµη µεγέθους k και έστω OPT οποιοσδήποτε
έλτιστος στατικός αλγόριθµος µε γρήγορη µνήµη µεγέθους h ∑ k. Τότε ο αλ-
γόριθµος ALG έχει λόγο απόδοσης το πολύ k
k°h+1
σε σχέση µε τον αλγόριθµο
OPT.
Από τα παραπάνω, καταλήγουµε στο επόµενο συµπέρασµα.
Συµπέρασµα 2. Ο αλγόριθµος FIFO έχει λόγο απόδοσης το πολύ k
k°h+1
για
το (h, k)-πρόβληµα σελιδοποίησης.
3.5 Κάτω ϕράγµατα
Ολοκληρώνουµε αυτό το κεφάλαιο αποδεικνύοντας ένα κάτω ϕράγµα k
για το λόγο απόδοσης οποιουδήποτε ντετερµινιστικού αλγορίθµου άµεσης
απόκρισης για το ασικό πρόβληµα σελιδοποίησης που χρησιµοποιεί γρή-
γορη µνήµη µεγέθους k. Αυτό το κάτω ϕράγµα µπορεί να γενικευτεί σε
k
k°h+1
για το (h, k)-πρόβληµα σελιδοποίησης. Για αυτό το λόγο, οι αλγόριθ-
µοι LRU, FIFO, και FWF είναι οι ντετερµινιστικοί αλγόριθµοι µε τον καλύτερο
λόγο απόδοσης για το (h, k)-πρόβληµα σελιδοποίησης.
Η απόδειξη του επόµενου λήµµατος στηρίζεται στη συµπεριφορά του αλ-
γορίθµου LFD αλλά δεν ασίζεται στο γεγονός ότι υπολογίζει τη έλτιστη
λύση.
Λήµµα 2. Για κάθε πεπερασµένη ακολουθία æ αιτήσεων επιλεγµένες από ένα
σύνολο k + 1 σελίδων, ο αριθµός σφαλµάτων LFD(æ) του αλγορίθµου LFD
είναι το πολύ
|æ|
k
+ k ° 1
k
.
Απόδειξη. Χωρίζουµε την ακολουθία σε k-ϕάσεις. Κάθε k-ϕάση αποτελεί-
ται από τουλάχιστον k αιτήσεις σελίδων, οπότε υπάρχουν το πολύ
l
|æ|
k
m
k-
ϕάσεις. Ο αλγόριθµος κάνει το πολύ k σφάλµατα σελίδων στην πρώτη k-
ϕάση και ακριβώς ένα σφάλµα σελίδας σε κάθε µια από τις επόµενες. Οπότε,
ο συνολικός αριθµός σφαλµάτων σελίδας είναι το πολύ k +
l
|æ|
k
m
° 1 ∑
k + |æ|
k
+ k°1
k
° 1 = |æ|
k
+ k ° 1
k
.
24 ΚΕΦΑΛΑΙΟ 3. ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ∆ΟΠΟΙΗΣΗΣ
Τώρα, ϑα χρησιµοποιήσουµε το προηγούµενο λήµµα για να αποδείξουµε
το επόµενο ϑεώρηµα.
Θεώρηµα 7. Οποιοσδήποτε ντετερµινιστικός αλγόριθµος ALG που εφαρµόζε-
ται σε γρήγορη µνήµη µεγέθους k έχει λόγο απόδοσης τουλάχιστον k.
Απόδειξη. Θεωρούµε k + 1 σελίδες p1, ..., pk+1. Θα δείξουµε ότι υπάρχει µια
αυθαίρετα µακριά ακολουθία αιτήσεων æ για την οποία ο αλγόριθµος ALG
κάνει ένα σφάλµα σε κάθε σελίδα. Τότε, το ητούµενο αποτέλεσµα προκύπτει
χρησιµοποιώντας το Λήµµα 2.
Ορίζουµε την ακολουθία αιτήσεων æ επαγωγικά: η πρώτη αίτηση της
ακολουθίας r1 είναι µια οποιαδήποτε σελίδα και για i ∏ 2, η αίτηση ri είναι
µια σελίδα που δεν είναι στη γρήγορη µνήµη του ALG αφού εξυπηρετηθεί η
ακολουθία αιτήσεων r1, ..., ri°1 (εφόσον υπάρχουν k +1 σελίδες, πάντα υπάρ-
χει τουλάχιστον µια τέτοια σελίδα). Αυτή η ακολουθία είναι καλώς ορισµένη
αφού ο αλγόριθµος ALG είναι ντετερµινιστικός.
Επιλέγοντας αρκετά µεγάλο µέγεθος για την ακολουθία æ, έχουµε ότι ο
λόγος του αριθµού σφαλµάτων σελίδων του αλγορίθµου ALG προς το έλτιστο
αριθµό σφαλµάτων που προκύπτει µε την εφαρµογή του αλγορίθµου LFD
προσεγγίζει το k.
∆εν είναι δύσκολο να δείξουµε ότι οι αλγόριθµοι LIFO και LFU έχουν µη
ϕραγµένο λόγο απόδοσης (σε σχέση µε έναν έλτιστο στατικό αλγόριθµο µε
γρήγορη µνήµη µεγέθους k). Θα εξετάσουµε πρώτα τον αλγόριθµο LIFO.
΄Εστω ότι p1, p2, ..., pk+1 είναι οι σελίδες στην αργή µνήµη. Εξετάζουµε την
ακολουθία
æ = p1, p2, ..., pk, pk+1, pk, pk+1, ...
Προφανώς, ο αλγόριθµος LIFO ϑα κάνει ένα σφάλµα σελίδας σε κάθε αίτηση
ενώ ο έλτιστος αλγόριθµος κάνει το πολύ k + 1 λάθη συνολικά.
Τώρα ϑα εξετάσουµε τον αλγόριθµο LFU. ΄Εστω ` είναι οποιοσδήποτε
ϑετικός ακέραιος. Θεωρούµε την ακόλουθη ακολουθία αιτήσεων:
æ = p`
1, p`
2, ..., p`
k°1, (pk, pk+1)`°1
.
Ο αλγόριθµος LFU ϑα κάνει ένα σφάλµα σελίδας σε κάθε αίτηση µετά από
τις πρώτες (k ° 1) · ` αιτήσεις. Αντίθετα, ο έλτιστος αλγόριθµος κάνει µόνο
ένα σφάλµα σελίδας. Εφόσον το ` µπορεί να γίνει αυθαίρετα µεγάλο και
αυτή η ακολουθία µπορεί να επαναληφθεί αυθαίρετα πολλές ϕορές, ο λόγος
απόδοσης του αλγορίθµου 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 είναι
τυχαίες µεταβλητές. Ονοµάζουµε ανταγωνιστικότητα CP(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.
Επιτυγχάνει λόγο απόδοσης 2Hk ενάντια σε αµνήµονες αντιπάλους, όπου
Hk είναι ο k-οστός αρµονικός αριθµός (harmonic number) που ορίζεται ως
Hk =
Pk
i=1
1
i
. Ισχύει ότι ln k  Hk  1+ln k και εποµένως ο λόγος απόδοσης
του αλγορίθµου MARK είναι πολύ καλύτερος από αυτόν των ντετερµινιστικών
αλγορίθµων.
Αλγόριθµος MARK: Αρχικά, ο αλγόριθµος µαρκάρει όλες οι σελίδες. Αν
υπάρχει αίτηση για µία σελίδα p η οποία είναι στη γρήγορη µνήµη αλλά
δεν είναι µαρκαρισµένη, τότε η σελίδα p µαρκάρεται. Αλλιώς, αν η p δεν
είναι στη γρήγορη µνήµη, ο αλγόριθµος τη ϕέρνει στη γρήγορη µνήµη και
τη µαρκάρει, αντικαθιστώντας µία σελίδα που επιλέγεται οµοιόµορφα τυχαία
31
32 ΚΕΦΑΛΑΙΟ 5. ΠΙΘΑΝΟΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ∆ΟΠΟΙΗΣΗΣ
από το σύνολο των µη µαρκαρισµένων σελίδων. Αν όλες οι σελίδες στη γρή-
γορη µνήµη είναι µαρκαρισµένες όταν η σελίδα p πρόκειται να έρθει, τότε
πρώτα ξεµαρκάρονται όλες οι σελίδες της γρήγορης µνήµης.
Θεώρηµα 8. Ο αλγόριθµος MARK έχει λόγο απόδοσης το πολύ 2Hk απέναντι
σε αµνήµονες αντιπάλους.
Απόδειξη. Θεωρούµε µια ακολουθία αιτήσεων και υπολογίζουµε τη δι-
αµέρισή της σε k-ϕάσεις. Για κάθε k-ϕάση, ονοµάζουµε παλιές σελίδες τις
σελίδες που ρίσκονται στη γρήγορη µνήµη αµέσως πριν από την έναρξη της
k-ϕάσης. Μια µη παλιά σελίδα η οποία ητείται στην i-οστή k-ϕάση ονοµάζε-
ται νέα. Παρατηρήστε ότι κάθε αίτηση γίνεται είτε για µια παλιά είτε για µια
νέα σελίδα και πως επανειληµµένες αιτήσεις για παλιές ή νέες σελίδες δεν
προκαλούν επιπλέον σφάλµατα σελίδων αφού κάθε σελίδα που ητείται κατά
τη διάρκεια µίας k-ϕάσης διατηρείται στη γρήγορη µνήµη µέχρι το τέλος της
k-ϕάσης.
Θεωρούµε την i-οστή k-ϕάση. ΄Εστω mi ο αριθµός των νέων σελίδων που
ητούνται σε αυτή τη ϕάση. Είναι προφανές ότι κατά τη διάρκεια µιας k-
ϕάσης, η χειρότερη δυνατή σειρά για τον αλγόριθµο είναι όταν οι αιτήσεις
για νέες σελίδες προηγούνται όλων των αιτήσεων για παλιές σελίδες. Με αυτή
τη σειρά, οι πρώτες mi αιτήσεις για νέες σελίδες, προκαλούν mi σφάλµατα
σελίδων. Τώρα, εξετάζουµε τον αναµενόµενο αριθµό από σφάλµατα σελίδων
που προκύπτουν από τις k ° mi (πρώτες) αιτήσεις για παλιές σελίδες.
Η ασική παρατήρηση είναι ότι η j-οστή παλιά σελίδα (µε τη σειρά που
ητούνται σε αυτή τη k-ϕάση) που ητείται για πρώτη ϕορά κατά τη διάρκεια
της i-οστής k-ϕάσης ρίσκεται στη γρήγορη µνήµη µε πιθανότητα ακριβώς
k°mi°(j°1)
k°(j°1)
. Παρατηρήστε ότι ο αριθµητής αναπαριστά τον αριθµό των παλιών
µη µαρκαρισµένων σελίδων στη γρήγορη µνήµη όταν εµφανίζεται η αίτηση
για την j-οστή παλιά σελίδα, ενώ ο παρονοµαστής αναπαριστά τον αριθµό των
µη µαρκαρισµένων σελίδων. Η πιθανότητα δηµιουργίας σφάλµατος σελίδας
από αυτή την αίτηση είναι ακριβώς mi
k°j+1
. Κατά συνέπεια, ο αναµενόµενος
αριθµός σφαλµάτων σελίδας κατά τη διάρκεια της i-οστής k-ϕάσης είναι
mi +
k°miX
j=1
mi
k ° j + 1
= mi + mi(Hk ° Hmi
) = mi(Hk ° Hmi
+ 1) ∑ miHk.
Εύκολα µπορούµε να υπολογίσουµε ένα κάτω ϕράγµα για το έλτιστο
αριθµό σφαλµάτων σελίδων. Από τον ορισµό µιας k-ϕάσης και τον ορισ-
µό του mi, κατά τη διάρκεια της i-οστής και της (i ° 1)-στής k-ϕάσης,
5.2. ΚΑΤΩ ΦΡΑΓΜΑ ΓΙΑ ΠΙΘΑΝΟΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ 33
τουλάχιστον k + mi διαφορετικές σελίδες έχουν ητηθεί. Συνεπώς, για κάθε
k-ϕάση i (εκτός της πρώτης), ο αριθµός των σφαλµάτων σελίδων που έχει ο
έλτιστος αλγόριθµος κατά τη διάρκεια της i-οστής και της (i ° 1)-στής k-
ϕάσης είναι τουλάχιστον mi. Ο αριθµός των σφαλµάτων σελίδων που έχει ο
έλτιστος αλγόριθµος κατά τη διάρκεια της πρώτης k-ϕάσης είναι τουλάχισ-
τον m1. Εποµένως, το συνολικό έλτιστο κόστος είναι τουλάχιστον 1
2
P
i mi.
Αφού ο αναµενόµενος αριθµός σφαλµάτων σελίδων είναι το πολύ Hk
P
i mi,
η απόδειξη είναι πλήρης.
΄Ασκηση 7. Αποδείξτε ότι ο αλγόριθµος MARK µε γρήγορη µνήµη µεγέθους k
έχει απόδοση το πολύ Hk ενάντια σε αµνήµονες αντιπάλους όταν ο συνολικός
αριθµός σελίδων στην αργή µνήµη είναι N = k + 1.
΄Ασκηση 8. Αποδείξτε ότι ο αλγόριθµος MARK έχει λόγο απόδοσης αυστηρά
µεγαλύτερο του Hk (ϑεωρήστε την περίπτωση k = 2 και N = 4).
5.2 Κάτω ϕράγµα για πιθανοτικούς αλγορίθ-
µους
Σε αυτή την παράγραφο αποδεικνύουµε ένα κάτω ϕράγµα για το λόγο
απόδοσης οποιουδήποτε πιθανοτικού αλγορίθµου σελιδοποίησης που χρησι-
µοποιεί γρήγορη µνήµη µεγέθους k. Η απόδειξη του παρακάτω ϑεωρήµατος
χρησιµοποιεί την Αρχή του Yao.
Θεώρηµα 9. ΄Εστω ALG ένας οποιοσδήποτε πιθανοτικός αλγόριθµος σελι-
δοποίησης µε γρήγορη µνήµη µεγέθους k. Ο λόγος απόδοσής του ενάντια σε
αµνήµονες αντιπάλους είναι τουλάχιστον Hk.
Απόδειξη. Κατασκευάζουµε µια πιθανοτική κατανοµή που παράγει µια
τυχαία ακολουθία æ του προβλήµατος χρησιµοποιώντας ένα σύνολο I από
k + 1 διαφορετικές σελίδες. Η πρώτη σελίδα æ1 της ακολουθίας επιλέγεται
αυθαίρετα µεταξύ όλων των σελίδων του συνόλου I. Για κάθε i  1, η i-οστή
σελίδα æi της ακολουθίας επιλέγεται ισοπίθανα µεταξύ των k σελίδων του
συνόλου I ° {æi°1} και ανεξάρτητα από προηγούµενες επιλογές.
Χωρίζουµε την ακολουθία σε k-ϕάσεις. Αγνοώντας την πρώτη ϕάση,
ϑα αποδείξουµε ότι σε κάθε επόµενη ϕάση, ο έλτιστος αλγόριθµος LFD
εξυπηρετεί τις σελίδες που ανήκουν στη ϕάση µε ένα µόνο σφάλµα σελί-
δας ενώ οποιοσδήποτε ντετερµινιστικός αλγόριθµος άµεσης απόκρισης πραγ-
µατοποιεί (τουλάχιστον) Hk σφάλµατα σελίδας ανά ϕάση.
34 ΚΕΦΑΛΑΙΟ 5. ΠΙΘΑΝΟΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ∆ΟΠΟΙΗΣΗΣ
Στο πρώτο ήµα της ϕάσης i ∏ 2, εµφανίζεται µια σελίδα διαφορετική
από τις k σελίδες που εµφανίστηκαν στην προηγούµενη ϕάση. Σε αυτό το
ήµα, ο αλγόριθµος LFD ϑα επιλέξει να αντικαταστήσει τη σελίδα που δεν
ϑα εµφανιστεί στη ϕάση i, δηλαδή την πρώτη σελίδα που ϑα εµφανιστεί στη
ϕάση i + 1. Εποµένως, όλες οι υπόλοιπες k ° 1 σελίδες που ϑα εµφανιστούν
στη ϕάση ϑα ρίσκονται στη γρήγορη µνήµη και ο αλγόριθµος δεν ϑα κάνει
άλλο σφάλµα σελίδας εκτός από αυτό στο πρώτο ήµα της ϕάσης.
Ας εξετάσουµε τώρα τη συµπεριφορά ενός οποιουδήποτε ντετερµινιστικού
αλγορίθµου άµεσης απόκρισης A. Εφόσον η ακολουθία χρησιµοποιεί k + 1
διαφορετικές σελίδες, µετά το ήµα i, ο αλγόριθµος A αφήνει εκτός της γρή-
γορης µνήµης κάποια σελίδα q. Η σελίδα αυτή είναι προφανώς διαφορετική
από τη σελίδα æi της ακολουθίας (η οποία µόλις τοποθετήθηκε στη γρήγορη
µνήµη). Εποµένως, κατά την τυχαία επιλογή µεταξύ των k σελίδων I °{æi}, η
πιθανότητα να επιλεγεί η σελίδα q είναι 1/k. ΄Αρα, για να ολοκληρώσουµε την
απόδειξη του ϑεωρήµατος και να δείξουµε ότι ο µέσος αριθµός σφαλµάτων
ανά ϕάση είναι Hk, αρκεί να δείξουµε ότι ο µέσος αριθµός ηµάτων κάθε
ϕάσης είναι kHk.
Για να µετρήσουµε το µέσο αριθµό ηµάτων κάθε ϕάσης, ϑα χρησι-
µοποιήσουµε την έννοια του τυχαίου περιπάτου σε γραφήµατα. ΄Ενα αντικεί-
µενο λέµε ότι κάνει έναν τυχαίο περίπατο σε ένα γράφηµα όταν, ξεκινώντας
από έναν κόµβο του γραφήµατος, σε κάθε ήµα επιλέγει ισοπίθανα µεταξύ
των γειτόνων του κόµβου στον οποίο ρίσκεται (και ανεξάρτητα από προ-
ηγούµενες επιλογές) τον επόµενο κόµβο που ϑα επισκεφτεί. Αντιστοιχίζον-
τας κάθε σελίδα του συνόλου I µε έναν κόµβο του πλήρους γραφήµατος µε
k + 1 κόµβους, η ακολουθία σελίδων æ είναι ένας τυχαίος περίπατος ενός αν-
τικειµένου σε αυτό το γράφηµα. Η ισοπίθανη επιλογή σελίδας σε κάθε ήµα
µεταξύ όλων των σελίδων εκτός της τελευταίας σελίδας που εµφανίστηκε είναι
ισοδύναµη µε την ισοπίθανη επίσκεψη του αντικειµένου από τον κόµβο που
αντιστοιχεί στην τελευταία σελίδα που εµφανίστηκε σε κάποιον γειτονικό του.
Εποµένως, για να µετρήσουµε το µέσο αριθµό ηµάτων µιας k-ϕάσης, αρκεί
να υπολογίσουµε το µέσο αριθµό ηµάτων που χρειάζεται ένα αντικείµενο
που πραγµατοποιεί έναν τυχαίο περίπατο στο πλήρες γράφηµα k + 1 κόµβ-
ων για να επισκεφτεί όλους τους κόµβους του γραφήµατος, ξεκινώντας από
τον κόµβο που αντιστοιχεί στην πρώτη σελίδα της k-ϕάσης. Ο χρόνος αυτός
δίνεται από το παρακάτω ϑεώρηµα.
Λήµµα 3. Ο µέσος χρόνος που χρειάζεται ένας τυχαίος περίπατος σε ένα
πλήρες γράφηµα µε k + 1 κόµβους για να επισκεφθεί όλους τους κόµβους
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009
αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009

More Related Content

Viewers also liked

current fitness industry situation in NZ
current fitness industry situation in NZcurrent fitness industry situation in NZ
current fitness industry situation in NZnickhudson
 
Industry Program in Nanotechnology
Industry Program in NanotechnologyIndustry Program in Nanotechnology
Industry Program in NanotechnologyPuneet Mehrotra
 
Clopidogrel & Epidurals (Powerpoint)
Clopidogrel & Epidurals (Powerpoint)Clopidogrel & Epidurals (Powerpoint)
Clopidogrel & Epidurals (Powerpoint)Pritesh Vyas
 
Is Your Organisation Popular Online?
Is Your Organisation Popular Online?Is Your Organisation Popular Online?
Is Your Organisation Popular Online?Adrian Tan
 
Google Analytics Master Class Adrian Tan Click True
Google Analytics Master Class Adrian Tan Click TrueGoogle Analytics Master Class Adrian Tan Click True
Google Analytics Master Class Adrian Tan Click TrueAdrian Tan
 
Forma Geometrikoekin Jolasean
Forma Geometrikoekin JolaseanForma Geometrikoekin Jolasean
Forma Geometrikoekin Jolaseanirantzu_sanz
 
Non Obstet Surgery
Non Obstet SurgeryNon Obstet Surgery
Non Obstet SurgeryPritesh Vyas
 
Post Dural Puncture Headache
Post Dural Puncture HeadachePost Dural Puncture Headache
Post Dural Puncture HeadachePritesh Vyas
 

Viewers also liked (9)

current fitness industry situation in NZ
current fitness industry situation in NZcurrent fitness industry situation in NZ
current fitness industry situation in NZ
 
Industry Program in Nanotechnology
Industry Program in NanotechnologyIndustry Program in Nanotechnology
Industry Program in Nanotechnology
 
Clopidogrel & Epidurals (Powerpoint)
Clopidogrel & Epidurals (Powerpoint)Clopidogrel & Epidurals (Powerpoint)
Clopidogrel & Epidurals (Powerpoint)
 
Is Your Organisation Popular Online?
Is Your Organisation Popular Online?Is Your Organisation Popular Online?
Is Your Organisation Popular Online?
 
Google Analytics Master Class Adrian Tan Click True
Google Analytics Master Class Adrian Tan Click TrueGoogle Analytics Master Class Adrian Tan Click True
Google Analytics Master Class Adrian Tan Click True
 
Forma Geometrikoekin Jolasean
Forma Geometrikoekin JolaseanForma Geometrikoekin Jolasean
Forma Geometrikoekin Jolasean
 
Non Obstet Surgery
Non Obstet SurgeryNon Obstet Surgery
Non Obstet Surgery
 
Post Dural Puncture Headache
Post Dural Puncture HeadachePost Dural Puncture Headache
Post Dural Puncture Headache
 
Ponv
PonvPonv
Ponv
 

αλγόριθμοι άμεσης απόκρισης_καραγιάννης_2009

  • 2. 2
  • 3. Περιεχόµενα 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. 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
  • 5. Κεφάλαιο 1 Εισαγωγή Σκοπός αυτών των σηµειώσεων είναι η εισαγωγή στην περιοχή των αλγο- ίθµων άµεσης απόκρισης (online algorithms). Οι αλγόριθµοι αυτοί έχουν εφαρµογή σε προβλήµατα όπου η είσοδος δεν είναι γνωστή εκ των προτέρων αλλά εµφανίζεται σταδιακά. ΄Ενας αλγόριθµος άµεσης απόκρισης καλείται να πάρει αποφάσεις για τη λύση ενός προβλήµατος µε άση µερική πληρο- ϕορία για τα δεδοµένα του προβλήµατος και χωρίς να µπορεί να προβλέψει το µέλλον. Τα σχετικά προβλήµατα είναι είτε προβλήµατα µεγιστοποίησης κέρδους είτε προβλήµατα ελαχιστοποίησης κόστους. Γενικά, η είσοδος του προβλήµατος γίνεται γνωστή µε τη µορφή µιας ακολουθίας αιτήσεων. ΄Οταν εµφανίζεται µια αίτηση, ένας αλγόριθµος άµεσης απόκρισης καλείται να πάρει µια τελεσίδικη απόφαση για τη συγ- κεκριµένη αίτηση. Για την ανάλυση αλγορίθµων άµεσης απόκρισης χρησι- µοποιούµε την έννοια της ανταγωνιστικής ανάλυσης (competitive analy- sis), µε άση την οποία, η απόδοση του αλγορίθµου συγκρίνεται µε την απόδοση ενός έλτιστου (υποθετικού) αλγορίθµου που έχει πρόσβαση σε ολόκληρη την ακολουθία αιτήσεων. Η µετρική που χρησιµοποιούµε για την ποσοτικοποίηση της απόδοσης ενός αλγορίθµου άµεσης απόκρισης είναι ο λόγος απόδοσης (competitive ratio). Ας υποθέσουµε ότι ο αλγόριθµος ALG λειτουργεί σε ακολουθίες αιτήσεων για το πρόβληµα µεγιστοποίησης κέρδους ¶. Τότε, ο λόγος απόδοσής του ορίζεται ως η ελάχιστη τιµή της ποσότητας C για την οποία ισχύει η σχέση OPT(æ) ° C · ALG(æ) ∑ Æ για κάθε δυνατή ακολουθία αιτήσεων æ για το πρόβληµα ¶. Οι ποσότητες OPT(æ) και ALG(æ) δηλώνουν το έλτιστο (µέγιστο) κέρδος για την ακολουθία 5
  • 6. 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. Οι ορισµοί για ντετερµινιστικούς αλγορίθµους άµεσης απόκρισης όταν το ¶ είναι πρόβληµα ελαχιστοποίησης κόστους απλοποιούνται αφαιρώντας το σύµβολο της µέσης τιµής από το κόστος του αλγορίθµου.
  • 7. 7 Σηµειώνουµε ότι η απόδοση ενός πιθανοτικού αλγορίθµου προκύπτει συγκρίνοντας τον αλγόριθµο µε αµνήµονες αντιπάλους για τους οποίους υπ- οθέτουµε ότι δηµιουργούν την ακολουθία αιτήσεων χωρίς να έχουν πρόσβαση στα αποτελέσµατα των τυχαίων επιλογών του αλγορίθµου (µολονότι, µπορεί να γνωρίζουν την πιθανοτική κατανοµή µε άση την οποία κάνει τις τυχαίες επιλογές του ο αλγόριθµος). Για το λόγο αυτό, όταν υπολογίζουµε τη µέση τιµή του κόστους ή του κέρδους του αλγορίθµου για µια ακολουθία æ, υπ- οθέτουµε ότι ο αντίπαλος έχει επιλέξει ολόκληρη την ακολουθία πριν την παρουσιάσει στον αλγόριθµο. Τα προβλήµατα µε τα οποία ϑα ασχοληθούµε περιλαµβάνουν το πρόβληµα ‘Αγορά ή ενοικίαση ;’ (ski-rental), το πρόβληµα της σελιδοποίησης (paging) σε υπολογιστικά συστήµατα µε ιεραρχική οργάνωση µνήµης, το πρόβληµα της εξισορρόπησης ϕορτίου κατά τη δροµολόγηση εργασιών σε παράλληλες µηχανές (load balancing), το πρόβληµα της συσκευασίας (bin packing), και το πρόβληµα ελέγχου αποδοχής κλήσεων (call admission).
  • 8. 8 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ
  • 9. Κεφάλαιο 2 Αγορά ή ενοικίαση; Ας υποθέσουµε ότι γνωρίζετε ένα νέο ϕίλο ο οποίος είναι µανιώδης σκιέρ. Κάθε Σάββατο προσφέρεται να σας πάρει µαζί του στα Καλάβρυτα για σκι. Το νέο χόµπι σας ϕαίνεται ενδιαφέρον και αποφασίζετε να πηγαίνετε για σκι µε το νέο σας ϕίλο όποτε έχετε την ευκαιρία. Επιπλέον, όλα τα έξοδα καλύπτονται από τον ϕίλο σας εκτός από το κόστος ενοικίασης του εξοπλισµού για να κάνετε σκι. ΄Εχετε τη δυνατότητα είτε να νοικιάζετε εξοπλισµό κάθε ϕορά που πηγαίνετε για σκι είτε να αγοράσετε το δικό σας εξοπλισµό και να τον χρησιµοποιείτε. Μιας και το νέο σας χόµπι είναι σχετικά ακριβό, σας ενδιαφέρει να ελαχιστοποιήσετε τα έξοδά σας. Το ερώτηµα λοιπόν είναι αν ϑα νοικιάζετε συνεχώς εξοπλισµό ή αν ϑα τον αγοράσετε, και πότε. Σηµειώνουµε ότι δεν γνωρίζετε εκ των προτέρων πόσες ϕορές ϑα πάτε για σκι. Αυτή η έλλειψη πληροφορίας για το µέλλον κάνει το πρόβληµα ένα πρόβληµα άµεσης απόκρισης. Ας υποθέσουµε ότι το κόστος αγοράς εξοπλισµού είναι σηµαντικά µεγαλύτερο του κόστους ενοικίασης. Προφανώς, δεν συµφέρει να αγοράσετε τον εξοπλισµό όταν δεχθείτε την πρώτη αίτηση γιατί υπάρχει η περίπτωση να µην ξαναπάτε ποτέ για σκι. Επίσης, δεν συµφέρει να νοικιάζετε συνεχώς γιατί κάποια στιγµή το συνολικό κόστος ενοικίασης εξοπλισµού ϑα υπερβεί κατά πολύ το κόστος αγοράς του. Ποια είναι η καλύτερη στρατηγική; 9
  • 10. 10 ΚΕΦΑΛΑΙΟ 2. ΑΓΟΡΑ Η ΕΝΟΙΚΙΑΣΗ; 2.1 ΄Ενας ντετερµινιστικός αλγόριθµος άµεσης απόκρισης Μπορούµε να ϕανταστούµε την είσοδο του προβλήµατος σαν µια ακολου- ϑία αιτήσεων. Κάθε αίτηση αντιστοιχεί σε µια αίτηση του ϕίλου σας να πάτε για σκι. ΄Οταν εµφανίζεται µια νέα αίτηση, πρέπει να αποφασίσετε αν ϑα νοικιάσετε ή ϑα αγοράσετε εξοπλισµό. Εφόσον αγοράσετε, τότε µπορείτε να ικανοποιήσετε οποιαδήποτε µελλοντική αίτηση χωρίς επιπλέον κόστος. Υποθέτουµε ότι το κόστος ενοικίασης εξοπλισµού είναι 1 ευρώ ενώ το κόσ- τος αγοράς είναι B ευρώ. Μια ντετερµινιστική στρατηγική για τη λύση του προβλήµατος είναι να απαντάτε ενοικιάζοντας µέχρι και το ήµα ø ° 1 της ακολουθίας αιτήσεων και να αγοράσετε στο ήµα ø, όπου ø µια παράµετ- ος που χρησιµοποιεί ο αλγόριθµος. ∆ιαισθητικά, η καλύτερη τιµή της παραµέτρου ø είναι ø = B, δηλαδή να αγοράσετε όταν το κόστος ενοικίασης ϕτάσει το κόστος αγοράς. Αυτό ισχυρίζεται και το επόµενο ϑεώρηµα. Θεώρηµα 1. Ο καλύτερος ντετερµινιστικός αλγόριθµος άµεσης απόκρισης για το πρόβληµα ‘Αγορά ή ενοικίαση;’ επιτυγχάνεται αν επιλέξουµε ø = B και έχει λόγο απόδοσης 2 ° 1 B . Απόδειξη. Καταρχήν αποδεικνύουµε ότι ο λόγος απόδοσης του ντετερµινισ- τικού αλγορίθµου µε ø = B είναι 2 ° 1 B . Για κάθε t 0, συµβολίζουµε µε ALGB(t) το κόστος του αλγορίθµου στα πρώτα t ήµατα και µε OPT(t) το έλτιστο κόστος στα πρώτα t ήµατα. ΄Εχουµε ότι ο λόγος απόδοσης του αλγορίθµου είναι ΩB = maxtΩB(t) όπου ΩB(t) = ALGB(t) OPT(t) . Αρκεί να δείξουµε ότι ΩB(t) ∑ 2 ° 1/B, για κάθε t 0. Παρατηρούµε ότι το έλτιστο κόστος για µια ακολουθία µεγέθους t είναι OPT(t) = min{t, B}. Το κόστος του αλγορίθµου µέχρι και την t-οστή αίτηση είναι ALGB(t) = t αν t B (t ενοικιάσεις στα πρώτα t ήµατα) και ALGB(t) = 2B ° 1 αν t ∏ B (B ° 1 ενοικιάσεις στα πρώτα B ° 1 ήµατα και αγορά στο ήµα B). Εποµένως, ΩB(t) = t min{t,B} = 1 αν t B και ΩB(t) = 2B°1 min{t,B} = 2B°1 B = 2 ° 1 B αν t ∏ B. Σε κάθε περίπτωση, ΩB(t) ∑ 2 ° 1 B , και εποµένως ΩB ∑ 2 ° 1 B . Τώρα, ϑα δείξουµε ότι ο αλγόριθµος που χρησιµοποιεί ø = B είναι ο καλύτερος ντετερµινιστικός αλγόριθµος. Αρκεί να δείξουµε ότι ο λόγος από- δοσης Ωø οποιουδήποτε ντετερµινιστικού αλγορίθµου που αγοράζει στο ήµα ø είναι αυστηρά µεγαλύτερος του 2 ° 1/B. Θα ϑεωρήσουµε ακολουθία ø η- µάτων και ϑα δείξουµε ότι ο λόγος Ωø (ø) = ALGø (ø) OPT(ø) είναι τουλάχιστον 2°1/B.
  • 11. 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, εποµένως, Ωø = maxt Ωø (t) ∏ Ωø (ø) 2 ° 1/B. 2.2 Γενικεύοντας το πρόβληµα Ας γενικεύσουµε λίγο το πρόβληµα και ας υποθέσουµε ότι ο αλγόριθµος παίρνει αποφάσεις για ένα ευγάρι. Τότε, κάθε ϕορά που το ευγάρι πηγαίνει για σκι, ϑα πρέπει να χρησιµοποιήσει δύο σετ εξοπλισµού. Προφανώς, η ανάλυση της προηγούµενης παραγράφου ισχύει και ο αλγόριθµος όπου αρ- χικά το ευγάρι νοικιάζει µέχρι το κόστος ενοικίασης να υπερβεί το κόστος αγοράς δυο σετ εξοπλισµού για σκι, όποτε αγοράζει δυο σετ εξοπλισµού. Ο λόγος απόδοσης αυτού του αλγορίθµου είναι πάλι 2 ° 1/B όπου B ο λόγος αγοράς προς ενοικίαση. Το ερώτηµα που ϑέτουµε τώρα είναι: υπάρχει καλύτερος αλγόριθµος; Η απάντηση είναι αρνητική αν περιοριστούµε σε αλγορίθµους που σε κάθε ήµα το ευγάρι είτε νοικιάζει δυο σετ εξοπλισµού είτε χρησιµοποιεί δυο ευγάρια πέδιλα που έχει αγοράσει, καθώς το πρόβληµα είναι ισοδύναµο µε την απλούστερη περίπτωση που είδαµε στην προηγούµενη παράγραφο. Προσέξτε όµως ότι υπάρχει µια εναλλακτική στρατηγική που δεν χρησι- µοποιείται. Θα µπορούσε το ευγάρι να ξεκινήσει νοικιάζοντας δυο σετ εξο- πλισµού µέχρι κάποιο ήµα, µετά να αγοράσει ένα σετ εξοπλισµού έτσι ώστε ο ένας να νοικιάζει και ο άλλος να χρησιµοποιεί το αγορασµένο σετ εξοπλισ- µού, µέχρι κάποιο ήµα όπου ϑα αγοράσουν ένα δεύτερο σετ εξοπλισµού (και δεν ϑα χρειαστεί να ξανανοικιάσουν). Θα δείξουµε ότι ο αλγόριθµος που αγοράζει το πρώτο σετ εξοπλισµού στο ήµα ø = dB/¡e και το δεύτερο σετ στο ήµα B έχει καλύτερο λόγο απόδοσης. Το ¡ είναι ο χρυσός λόγος (= 1+ p 5 2 ).
  • 12. 12 ΚΕΦΑΛΑΙΟ 2. ΑΓΟΡΑ Η ΕΝΟΙΚΙΑΣΗ; Θεώρηµα 2. Ο ντετερµινιστικός αλγόριθµος άµεσης απόκρισης που αναφέρ- ϑηκε παραπάνω για τη γενίκευση του προβλήµατος ‘Αγορά ή ενοικίαση;’ έχει λόγο απόδοσης το πολύ 5+ p 5 4 º 1.81. Απόδειξη. Για κάθε t 0, συµβολίζουµε µε ALG(t) το κόστος του αλγορίθµου µέχρι και το ήµα t. Αφού ο αλγόριθµος αγοράζει το πρώτο σετ εξοπλισµού στο ήµα ø και το δεύτερο στο ήµα B έχουµε ALG(t) = 8 : 2t 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) , έχουµε ότι ο λόγος απόδοσης του αλγορίθµου είναι Ω = maxt Ω(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 2 + ø + B ° 1 2t ∑ 1 2 + ø + B ° 1 2ø = 1 + B ° 1 2ø = 1 + B ° 1 2dB/¡e ∑ 1 + ¡ 2 = 5 + p 5 4 . Αν t ∏ B, έχουµε Ω(t) = ALG(t) OPT(t) = ø + 3B ° 2 2B = dB/¡e + 3B ° 2 2B ∑ B/¡ + 3B 2B = 1 2¡ + 3 2 = 5 + p 5 4 . Σε κάθε περίπτωση Ω(t) ∑ 5+ p 5 4 και, εποµένως, Ω = maxt Ω(t) ∑ 5+ p 5 4 . ΄Ασκηση 1. Αγνοώντας όρους τάξης o(1), δείξτε ότι ο αλγόριθµος του Θεωρή- µατος 2 είναι ο ντετερµινιστικός αλγόριθµος για τη γενίκευση του προβλήµατος ‘Αγορά ή ενοικίαση ;’ µε τον καλύτερο λόγο απόδοσης.
  • 13. 2.3. ΕΝΑΣ ΠΙΘΑΝΟΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ 13 2.3 ΄Ενας πιθανοτικός αλγόριθµος Στη συνέχεια, ϑα περιγράψουµε έναν πιθανοτικό αλγόριθµο για το αρχικό πρόβληµα που µοιάζει µε το ντετερµινιστικό αλγόριθµο για το γενικευµένο πρόβληµα. Ο αλγόριθµος αυτός έχει λόγο απόδοσης 1.81 ενάντια σε αµνή- µονες αντιπάλους. Με τον τρόπο αυτό, δείχνουµε ότι η χρήση τυχαιότητας µπορεί να οηθήσει να ξεπεράσουµε τους περιορισµούς των ντετερµινιστικών αλγορίθµων. Ο αλγόριθµος ίχνει ένα νόµισµα. Αν το νόµισµα εµφανίσει κορώνα, τότε τρέχουµε τον ντετερµινιστικό αλγόριθµο που ενοικιάζει µέχρι και το ήµα B ° 1 και αγοράζει στο ήµα B. Αν το νόµισµα εµφανίσει γράµµατα, τότε τρέχουµε τον ντετερµινιστικό αλγόριθµο που ενοικιάζει µέχρι και το ήµα dB/¡e ° 1 και αγοράζει στο ήµα dB/¡e. Πάλι, το ¡ είναι ο χρυσός λόγος (= 1+ p 5 2 ). Θεώρηµα 3. Ο πιθανοτικός αλγόριθµος που µόλις περιγράψαµε έχει λόγο απόδοσης ενάντια σε αµνήµονες αντιπάλους το πολύ 5+ p 5 4 º 1.81 για το πρόβληµα ‘Αγορά ή ενοικίαση ;’ Απόδειξη. Η ανάλυση είναι παρόµοια µε την ανάλυση του ντετερµινιστικού αλγορίθµου για τη γενίκευση του προβλήµατος. Θέτουµε ø = dB/¡e. Για κάθε t 0, συµβολίζουµε µε ALG1(t) το κόστος του αλγορίθµου µέχρι και το ήµα t εφόσον η ίψη του νοµίσµατος εµφάνισε κορώνα και µε ALG2(t) το κόστος του αλγορίθµου µέχρι και το ήµα t εφόσον η ίψη του νοµίσµατος εµφάνισε γράµµατα. Επίσης, συµβολίζουµε µε ALG(t) την τυχαία µεταβλητή που δηλώνει το κόστος του αλγορίθµου µέχρι και το ήµα t. ΄Εχουµε ALG1(t) = Ω t t B 2B ° 1 t ∏ B για τον πρώτο αλγόριθµο και ALG2(t) = Ω t t ø ø + B ° 1 t ∏ ø για το δεύτερο. Επίσης, για κάθε t 0 η µέση τιµή της τυχαίας µεταβλητής ALG(t) είναι IE[ALG(t)] = 1 2 (ALG1(t) + ALG2(t)) αφού η επιλογή µεταξύ των δυο ντετερµινιστικών αλγορίθµων που ϑα εκτελεστούν γίνεται ισοπίθανα. Το έλτιστο κόστος µέχρι και το ήµα t είναι OPT(t) = min{t, B}. Οπότε, ορίζοντας Ω(t) = IE[ALG(t)] OPT(t) = ALG1(t)+ALG2(t) 2·OPT(t) , έχουµε ότι ο λόγος απόδοσης του
  • 14. 14 ΚΕΦΑΛΑΙΟ 2. ΑΓΟΡΑ Η ΕΝΟΙΚΙΑΣΗ; αλγορίθµου είναι Ω = maxt Ω(t). ∆ιακρίνουµε τρεις περιπτώσεις για το t. Αν t ø, τότε ALG1(t) = ALG2(t) = t ενώ OPT(t) = t. Εποµένως, Ω(t) = 1. Αν ø ∑ t B, τότε OPT(t) = t, ALG1(t) = t και ALG2(t) = ø +B°1. Εποµένως, Ω(t) = ALG1(t) + ALG2(t) 2 · OPT(t) = t + ø + B ° 1 2t ∑ ... ∑ 5 + p 5 4 . Αν t ∏ B, τότε OPT(t) = B, ALG1(t) = 2B ° 1 και ALG2(t) = ø + B ° 1. Εποµένως, Ω(t) = ALG1(t) + ALG2(t) 2 · OPT(t) = ø + 3B ° 2 2B ∑ ... ∑ 5 + p 5 4 . Οι πράξεις έχουν παραλειφθεί καθώς είναι οι ίδιες µε τις πράξεις στο τέλος της προηγούµενης απόδειξης. Σε κάθε περίπτωση έχουµε Ω(t) ∑ 5+ p 5 4 και, εποµένως, Ω = maxt Ω(t) ∑ 5+ p 5 4 .
  • 15. Κεφάλαιο 3 Ντετερµινιστικοί αλγόριθµοι σελιδοποίησης Για τη µελέτη του προβλήµατος της σελιδοποίησης ϑεωρούµε ένα υπολο- γιστικό σύστηµα ιδεατής µνήµης δύο επιπέδων όπου κάθε επίπεδο µπορεί να αποθηκεύσει έναν αριθµό µονάδων µνήµης σταθερού µεγέθους που καλούν- ται σελίδες. Το πρώτο επίπεδο, που καλείται αργή µνήµη, αποθηκεύει έ- να σύνολο P = {p1, p2, ..., pN } από N σελίδες. Το δεύτερο επίπεδο, που ονοµάζεται γρήγορη µνήµη, µπορεί να αποθηκεύει οποιοδήποτε υποσύνολο του P µεγέθους το πολύ k όπου k N. Οι αιτήσεις για σελίδες εµφανίζονται σταδιακά. ΄Οταν εµφανίζεται µια αίτηση για µια σελίδα pi, το σύστηµα πρέπει να κάνει την σελίδα pi διαθέσιµη στη γρήγορη µνήµη. Αν η pi είναι ήδη στη γρήγορη µνήµη έχουµε επιτυχία (hit) και το σύστηµα δεν χρειάζεται να κάνει τίποτα. Αλλιώς, δηµιουργείται ένα σφάλµα σελίδας (page fault) και η σελί- δα pi πρέπει να αντιγραφεί από την αργή µνήµη σε µια από τις ϑέσεις της γρήγορης µνήµης. Για να γίνει αυτό, το σύστηµα πρέπει να αποφασίσει ποια σελίδα πρέπει να διώξει από τη γρήγορη µνήµη για να κάνει χώρο (εφόσον χρειάζεται) για τη σελίδα pi. Αυτό πρέπει να γίνει µε έξυπνο τρόπο έτσι ώστε να ελαχιστοποιηθεί ο συνολικός αριθµός των σφαλµάτων σελίδας. Το πρόβληµα σελιδοποίησης είναι σήµερα ένα πρόβληµα για το οποίο είναι γνωστοί ντετερµινιστικοί και πιθανοτικοί αλγόριθµοι άµεσης απόκρισης µε τον καλύτερο δυνατό λόγο απόδοσης. Σε αυτό το κεφάλαιο, ασχολούµαστε µε ντετερµινιστικούς αλγορίθµους σελιδοποίησης. 15
  • 16. 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 είναι ένας έλτιστος στατικός αλγόριθµος σελιδοποίησης. Αυτό σηµαίνει ότι για κάθε
  • 17. 3.2. ΕΝΑΣ ΒΕΛΤΙΣΤΟΣ ΣΤΑΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΣΕΛΙ∆ΟΠΟΙΗΣΗΣ 17 στιγµιότυπο του προβλήµατος της σελιδοποίησης, (παρόµοια µε το πρόβληµα ‘Αγορά ή ενοικίαση ;’), η έλτιστη λύση έχει µια πολύ σαφή και υπολογίσιµη περιγραφή. Αυτό έρχεται σε αντίθεση µε πολλά άλλα προβλήµατα άµεσης απόκρισης (π.χ., µε το πρόβληµα της εξισορρόπησης ϕορτίου που ϑα δούµε σε επόµενο κεφάλαιο) για τα οποία είτε είναι γνωστό ότι το πρόβληµα είναι υπολογιστικά δύσκολο ακόµα και όταν όλη η είσοδος είναι γνωστή από την αρχή, είτε οι µόνοι γνωστοί αλγόριθµοι για τον υπολογισµό της έλτιστης λύσης είναι πολύπλοκοι. Παρόλο που γενικά µπορούµε να εφαρµόσουµε την ανταγωνιστική ανάλυση χωρίς να έχουµε πλήρη γνώση της έλτιστης λύσης, συνήθως η γνώση για την ϕύση της έλτιστης λύσης απλοποιεί την ανάλυση. Θεώρηµα 4. Ο αλγόριθµος LFD είναι ένας έλτιστος στατικός αλγόριθµος για το πρόβληµα της σελιδοποίησης. Απόδειξη. ∆είχνουµε πως οποιοσδήποτε στατικός αλγόριθµος σελιδοποίησης µπορεί να µετατραπεί ώστε να συµπεριφέρεται παρόµοια µε τον αλγόριθ- µο LFD χωρίς να υποβαθµιστεί η απόδοσή του. Η απόδειξη ασίζεται στην ακόλουθη πρόταση. Πρόταση 1. ΄Εστω ALG ένας οποιοσδήποτε αλγόριθµος σελιδοποίησης και έστω æ οποιαδήποτε ακολουθία αιτήσεων. Για οποιοδήποτε i, i = 1, 2, ..., |æ|, µπορούµε να κατασκευάσουµε έναν στατικό αλγόριθµο ALGi που ικανοποιεί τις παρακάτω δύο ιδιότητες : 1. Ο αλγόριθµος ALGi επεξεργάζεται τις πρώτες i°1 αιτήσεις ακριβώς όπως ο αλγόριθµος ALG. 2. Αν η i°οστή αίτηση οδηγεί σε σφάλµα σελίδας, ο αλγόριθµος ALGi αν- τικαθιστά στη γρήγορη µνήµη την σελίδα για την οποία ϑα υπάρξει αίτηση πιο αργά σε σχέση µε τις υπόλοιπες. Ο αριθµός σφαλµάτων σελίδας ALGi(æ) του αλγορίθµου ALGi είναι το πολύ ίσος µε τον αριθµό σφαλµάτων σελίδας ALG(æ) του αλγορίθµου ALG. Αυτή η πρόταση αποδεικνύει το ϑεώρηµα εφαρµόζοντας την n = |æ| ϕορές ως εξής. Θεωρούµε µια ακολουθία αιτήσεων æ. Ξεκινώντας µε οποιοδήποτε έλτιστο στατικό αλγόριθµο OPT, εφαρµόζουµε την πρόταση µε i = 1 για να πάρουµε τον αλγόριθµο OPT1, µετά εφαρµόζουµε την πρόταση στον αλγόρι- ϑµο OPT1 µε i = 2 για να πάρουµε τον αλγόριθµο OPT2, κλπ. Είναι ϕανερό ότι ο αλγόριθµος OPTn συµπεριφέρεται πανοµοιότυπα µε τον αλγόριθµο LFD στην ακολουθία αιτήσεων æ.
  • 18. 18 ΚΕΦΑΛΑΙΟ 3. ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ∆ΟΠΟΙΗΣΗΣ Αποµένει να αποδείξουµε την πρόταση. ∆εδοµένου του αλγορίθµου AL- G, κατασκευάζουµε τον αλγόριθµο ALGi. Υποθέτουµε ότι αµέσως µετά την επεξεργασία της i°οστής αίτησης, οι γρήγορες µνήµες του ALG και του AL- Gi περιέχουν τα σύνολα σελίδων X [ {v}, X [ {u}, αντίστοιχα, όπου X είναι κάποιο σύνολο από k ° 1 σελίδες και u, v οποιεσδήποτε σελίδες. Αν u = v, τότε προφανώς οι ALG και ALGi συµπεριφέρονται πανοµοιότυπα και ισχύει ALGi(æ) = ALG(æ). Στη συνέχεια υποθέτουµε ότι v 6= u (ότι δηλαδή, στην i-οστή αίτηση συνέβη σφάλµα σελίδας). Μέχρι τη στιγµή που εµφανίζεται αίτηση για τη σελίδα v, ο ALGi µιµείται τον ALG µε τη µόνη διαφορά ότι διώχνει τη σελίδα u αν ο ALG διώχνει τη σελίδα v. Αυτό είναι εφικτό κα- ϑώς µετά από την εξυπηρέτηση κάθε αίτησης, ο αριθµός των κοινών σελίδ- ων παραµένει τουλάχιστον k ° 1. Επιπλέον, αν σε οποιαδήποτε στιγµή ο αριθµός των κοινών σελίδων γίνει k (π.χ., αν ο ALG διώξει τη σελίδα v), ο ALGi ταυτίζεται µε τον ALG από αυτό το σηµείο και στο εξής και η απόδειξη ολοκληρώνεται. Εάν τελικά ητηθεί η σελίδα v και οι ALG και ALGi δεν έχουν ακόµα ταυτιστεί, αυτό ϑα δηµιουργήσει ένα σφάλµα σελίδας στον ALGi αλλά όχι στον ALG. Σε κάθε περίπτωση, τη στιγµή που ητείται η σελίδα v, εφόσον όταν αντικαταστάθηκε ήταν η σελίδα για την οποία ϑα υπήρχε αίτηση πιο αργά σε σχέση µε τις υπόλοιπες σελίδες της γρήγορης µνήµης, πρέπει να υπάρχει τουλάχιστον µια αίτηση για τη σελίδα u πριν από την αίτηση για τη σελίδα v. Η πρώτη τέτοια αίτηση δηµιουργεί ένα σφάλµα σελίδας στον αλγόριθµο ALG, όχι όµως στον αλγόριθµο ALGi. Εποµένως, ο συνολικός αριθµός των σφαλµάτων σελίδας του αλγορίθµου ALGi αφού εξυπηρετηθεί η σελίδα v είναι το πολύ ίσος µε αυτόν του ALG. Τελικά, προκειµένου να εξυπηρετηθεί η αίτηση για τη σελίδα v, ο ALGi αντικαθιστά τη σελίδα u και οι δύο αλγόριθµοι ταυτίζονται. 3.3 Το (h, k)°πρόβληµα σελιδοποίησης Μια ϕυσική γενίκευση του προβλήµατος σελιδοποίησης είναι η ακόλουθη. ΄Εστω k και h ϑετικοί ακέραιοι που ικανοποιούν την συνθήκη h ∑ k. Στο (h, k)-πρόβληµα σελιδοποίησης, συγκρίνουµε την απόδοση ενός αλγορίθµου σελιδοποίησης άµεσης απόκρισης µε µέγεθος γρήγορης µνήµης k µε ένα έλτιστο στατικό αλγόριθµο σελιδοποίησης µε µέγεθος γρήγορης µνήµης h ∑ k. Αυτό σηµαίνει πως αν h k, ϑεωρούµε ένα έλτιστο στατικό αλγόριθµο σελιδοποίησης µε αυστηρώς λιγότερους πόρους.
  • 19. 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. 20 ΚΕΦΑΛΑΙΟ 3. ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ∆ΟΠΟΙΗΣΗΣ ϕέρει στη γρήγορη µνήµη τη νέα σελίδα αντικαθιστώντας µια σηµειωµένη σελίδα. Πάντως, στη συνέχεια, όταν αναφερόµαστε στον αλγόριθµο FWF ϑα χρησιµοποιούµε τον απλό ορισµό του. Ορίζουµε µια γενική κατηγορία αλγορίθµων (που περιλαµβάνει τους αλ- γορίθµους LRU και FWF) που ονοµάζονται αλγόριθµοι µαρκαρίσµατος και αποδεικνύουµε ότι κάθε αλγόριθµος µαρκαρίσµατος έχει λόγο απόδοση- ς το πολύ k k°h+1 για το (h, k)-πρόβληµα σελιδοποίησης. Ειδικότερα, έτσι προκύπτει ένα άνω ϕράγµα 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 είναι αλγόριθµος µαρκαρίσµατος. Στη συνέχεια, υπολογίζουµε ένα άνω ϕράγµα για το λόγο απόδοση-
  • 21. 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 ϑα κάνει τουλάχιστον k0 ° h σφάλµατα σελίδων, όπου k0 είναι ο αριθµός των διαφορετικών σελίδων για τις οποίες υπάρχουν αιτήσεις κατά την τελευταία ϕάση. Θα αγνοήσουµε τελείως αυτό το κόστος στον αλγόριθµο OPT. Κατά τη διάρκεια κάθε ϕάσης, ο αλγόριθµος ALG κάνει σφάλµα το πολύ k ϕορές, και για κάθε ϕάση εκτός από την τελευταία, µπορούµε να χρεώσουµε τον αλγόριθµο OPT µε τουλάχιστον k °h+1 σφάλµατα. Εποµένως, για κάθε ακολουθία αιτήσεων ισχύει: ALG(æ) ∑ k k ° h + 1 · OPT(æ) + k0 , όπου ALG(æ) και OPT(æ) είναι ο συνολικός αριθµός σφαλµάτων σελίδας για τους αλγορίθµους ALG και OPT, αντίστοιχα, και k0 ∑ k είναι ο µέγιστος
  • 22. 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 έχουν λόγο απόδοσης k k°h+1 για το (h, k)-πρόβληµα σελιδοποίησης. ΄Ασκηση 4. ∆είξτε ότι ο αλγόριθµος FIFO δεν είναι αλγόριθµος µαρκαρίσµατος. Συντηρητικοί αλγόριθµοι Λέµε ότι ένας αλγόριθµος σελιδοποίησης ALG είναι συντηρητικός αν σε κάθε ακολουθία αιτήσεων που περιέχει k ή λιγότερες διαφορετικές σελίδες, ο αλγόριθµος ALG κάνει το πολύ k σφάλµατα σελίδων.
  • 23. 3.5. ΚΑΤΩ ΦΡΑΓΜΑΤΑ 23 ΄Ασκηση 5. ∆είξτε ότι οι αλγόριθµοι LRU και FIFO είναι συντηρητικοί αλγόρι- ϑµοι. Επίσης, δείξτε ότι ο αλγόριθµος FWF δεν είναι συντηρητικός αλγόριθµος. Το επόµενο ϑεώρηµα µπορεί εύκολα να αποδειχθεί τροποποιώντας την απόδειξη του Θεωρήµατος 5. Θεώρηµα 6. ΄Εστω ότι ο ALG είναι ένας οποιοσδήποτε συντηρητικός αλγόριθ- µος σελιδοποίησης µε γρήγορη µνήµη µεγέθους k και έστω OPT οποιοσδήποτε έλτιστος στατικός αλγόριθµος µε γρήγορη µνήµη µεγέθους h ∑ k. Τότε ο αλ- γόριθµος ALG έχει λόγο απόδοσης το πολύ k k°h+1 σε σχέση µε τον αλγόριθµο OPT. Από τα παραπάνω, καταλήγουµε στο επόµενο συµπέρασµα. Συµπέρασµα 2. Ο αλγόριθµος FIFO έχει λόγο απόδοσης το πολύ k k°h+1 για το (h, k)-πρόβληµα σελιδοποίησης. 3.5 Κάτω ϕράγµατα Ολοκληρώνουµε αυτό το κεφάλαιο αποδεικνύοντας ένα κάτω ϕράγµα k για το λόγο απόδοσης οποιουδήποτε ντετερµινιστικού αλγορίθµου άµεσης απόκρισης για το ασικό πρόβληµα σελιδοποίησης που χρησιµοποιεί γρή- γορη µνήµη µεγέθους k. Αυτό το κάτω ϕράγµα µπορεί να γενικευτεί σε k k°h+1 για το (h, k)-πρόβληµα σελιδοποίησης. Για αυτό το λόγο, οι αλγόριθ- µοι LRU, FIFO, και FWF είναι οι ντετερµινιστικοί αλγόριθµοι µε τον καλύτερο λόγο απόδοσης για το (h, k)-πρόβληµα σελιδοποίησης. Η απόδειξη του επόµενου λήµµατος στηρίζεται στη συµπεριφορά του αλ- γορίθµου LFD αλλά δεν ασίζεται στο γεγονός ότι υπολογίζει τη έλτιστη λύση. Λήµµα 2. Για κάθε πεπερασµένη ακολουθία æ αιτήσεων επιλεγµένες από ένα σύνολο k + 1 σελίδων, ο αριθµός σφαλµάτων LFD(æ) του αλγορίθµου LFD είναι το πολύ |æ| k + k ° 1 k . Απόδειξη. Χωρίζουµε την ακολουθία σε k-ϕάσεις. Κάθε k-ϕάση αποτελεί- ται από τουλάχιστον k αιτήσεις σελίδων, οπότε υπάρχουν το πολύ l |æ| k m k- ϕάσεις. Ο αλγόριθµος κάνει το πολύ k σφάλµατα σελίδων στην πρώτη k- ϕάση και ακριβώς ένα σφάλµα σελίδας σε κάθε µια από τις επόµενες. Οπότε, ο συνολικός αριθµός σφαλµάτων σελίδας είναι το πολύ k + l |æ| k m ° 1 ∑ k + |æ| k + k°1 k ° 1 = |æ| k + k ° 1 k .
  • 24. 24 ΚΕΦΑΛΑΙΟ 3. ΝΤΕΤΕΡΜΙΝΙΣΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ∆ΟΠΟΙΗΣΗΣ Τώρα, ϑα χρησιµοποιήσουµε το προηγούµενο λήµµα για να αποδείξουµε το επόµενο ϑεώρηµα. Θεώρηµα 7. Οποιοσδήποτε ντετερµινιστικός αλγόριθµος ALG που εφαρµόζε- ται σε γρήγορη µνήµη µεγέθους k έχει λόγο απόδοσης τουλάχιστον k. Απόδειξη. Θεωρούµε k + 1 σελίδες p1, ..., pk+1. Θα δείξουµε ότι υπάρχει µια αυθαίρετα µακριά ακολουθία αιτήσεων æ για την οποία ο αλγόριθµος ALG κάνει ένα σφάλµα σε κάθε σελίδα. Τότε, το ητούµενο αποτέλεσµα προκύπτει χρησιµοποιώντας το Λήµµα 2. Ορίζουµε την ακολουθία αιτήσεων æ επαγωγικά: η πρώτη αίτηση της ακολουθίας r1 είναι µια οποιαδήποτε σελίδα και για i ∏ 2, η αίτηση ri είναι µια σελίδα που δεν είναι στη γρήγορη µνήµη του ALG αφού εξυπηρετηθεί η ακολουθία αιτήσεων r1, ..., ri°1 (εφόσον υπάρχουν k +1 σελίδες, πάντα υπάρ- χει τουλάχιστον µια τέτοια σελίδα). Αυτή η ακολουθία είναι καλώς ορισµένη αφού ο αλγόριθµος ALG είναι ντετερµινιστικός. Επιλέγοντας αρκετά µεγάλο µέγεθος για την ακολουθία æ, έχουµε ότι ο λόγος του αριθµού σφαλµάτων σελίδων του αλγορίθµου ALG προς το έλτιστο αριθµό σφαλµάτων που προκύπτει µε την εφαρµογή του αλγορίθµου LFD προσεγγίζει το k. ∆εν είναι δύσκολο να δείξουµε ότι οι αλγόριθµοι LIFO και LFU έχουν µη ϕραγµένο λόγο απόδοσης (σε σχέση µε έναν έλτιστο στατικό αλγόριθµο µε γρήγορη µνήµη µεγέθους k). Θα εξετάσουµε πρώτα τον αλγόριθµο LIFO. ΄Εστω ότι p1, p2, ..., pk+1 είναι οι σελίδες στην αργή µνήµη. Εξετάζουµε την ακολουθία æ = p1, p2, ..., pk, pk+1, pk, pk+1, ... Προφανώς, ο αλγόριθµος LIFO ϑα κάνει ένα σφάλµα σελίδας σε κάθε αίτηση ενώ ο έλτιστος αλγόριθµος κάνει το πολύ k + 1 λάθη συνολικά. Τώρα ϑα εξετάσουµε τον αλγόριθµο LFU. ΄Εστω ` είναι οποιοσδήποτε ϑετικός ακέραιος. Θεωρούµε την ακόλουθη ακολουθία αιτήσεων: æ = p` 1, p` 2, ..., p` k°1, (pk, pk+1)`°1 . Ο αλγόριθµος LFU ϑα κάνει ένα σφάλµα σελίδας σε κάθε αίτηση µετά από τις πρώτες (k ° 1) · ` αιτήσεις. Αντίθετα, ο έλτιστος αλγόριθµος κάνει µόνο ένα σφάλµα σελίδας. Εφόσον το ` µπορεί να γίνει αυθαίρετα µεγάλο και αυτή η ακολουθία µπορεί να επαναληφθεί αυθαίρετα πολλές ϕορές, ο λόγος απόδοσης του αλγορίθµου LFU δεν είναι ϕραγµένος από καµιά ποσότητα που εξαρτάται µόνο από το k.
  • 25. Κεφάλαιο 4 Εισαγωγή στην αρχή του Yao Σκοπός του κεφαλαίου είναι µια πρώτη γνωριµία µε την αρχή του Yao. Πρόκειται για ένα πολύ σηµαντικό ϑεώρηµα που χρησιµοποιείται για την απόδειξη κάτω ϕραγµάτων για πιθανοτικούς αλγορίθµους ενάντια σε αµνή- µονες αντιπάλους. Σηµειώνουµε ότι η χρήση της δεν περιορίζεται σε αλγορί- ϑµους άµεσης απόκρισης. 4.1 ΄Ενα απλό πρόβληµα Ας ξεκινήσουµε ϑεωρώντας ένα πολύ απλό πρόβληµα άµεσης απόκρισης. Σκοπός του προβλήµατος είναι να επιλέξουµε ένα όσο το δυνατόν µεγαλύτερο ανεξάρτητο σύνολο κορυφών σε ένα γράφηµα. Τα στιγµιότυπα του προβ- λήµατος παράγονται µε τον εξής τρόπο: Στο πρώτο ήµα, εµφανίζεται ένας κόµβος v και στη συνέχεια, είτε η ακολουθία σταµατά, είτε παράγονται ¢ αµοιβαία µη γειτονικοί κόµβοι που καθένας τους συνδέεται µε τον κόµβο v (ονοµάζουµε αυτό το γράφηµα ¢-αστέρι). Υποθέτουµε ότι το ¢ είναι µια πολύ µεγάλη σταθερά. ΄Ενας αλγόριθµος άµεσης απόκρισης για το πρόβληµα χτίζει το ανεξάρτητο σύνολο σταδιακά. Σε κάθε ήµα, πρέπει να αποφασίσει ποιους από τους νέους κόµβους που εµφανίστηκαν να συµπεριλάβει στο ανεξάρτητο σύνολο και ποιους να απορρίψει. Η απόφαση του αλγορίθµου σε κάθε ήµα είναι τελεσίδικη, δηλαδή δεν µπορεί να αλλάξει σε επόµενο ήµα. Καταρχάς, παρατηρούµε ότι οποιοσδήποτε ντετερµινιστικός αλγόριθµος για το πρόβληµα έχει µεγάλο λόγο απόδοσης. ΄Ενας τέτοιος αλγόριθµος είτε ϑα απορρίπτει είτε ϑα αποδέχεται τον κόµβο που εµφανίζεται στο πρώτο ή- 25
  • 26. 26 ΚΕΦΑΛΑΙΟ 4. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΡΧΗ ΤΟΥ YAO µα. Αν τον απορρίπτει, τότε στο στιγµιότυπο του προβλήµατος που αποτελεί- ται από ένα µόνο κόµβο δεν είναι ανταγωνιστικός. Αντίθετα, αν αποδεχτεί τον κόµβο στο πρώτο ήµα, τότε το κέρδος του είναι 1. Αν το στιγµιότυπο περιλαµβάνει ¢ κόµβους που εµφανίζονται στο δεύτερο ήµα, ο αλγόριθµος δεν ϑα µπορέσει να αποδεχθεί κανέναν από αυτούς τους κόµβους αφού έ- χει αποδεχθεί τον κόµβο που εµφανίστηκε στο πρώτο ήµα. Προσέξτε ότι οι ¢ κόµβοι του δεύτερου ήµατος αποτελούν ένα ανεξάρτητο σύνολο µεγέ- ϑους ¢. Καταλήγουµε στο συµπέρασµα ότι οποιοσδήποτε ντετερµινιστικός αλγόριθµος για το πρόβληµα έχει λόγο απόδοσης τουλάχιστον ¢. 4.2 Πιθανοτικοί αλγόριθµοι Ας ϑεωρήσουµε τώρα τον απλό πιθανοτικό αλγόριθµο ο οποίος, όταν εµ- ϕανιστεί ο πρώτος κόµβος, ίχνει ένα νόµισµα και ανάλογα αν το αποτέλεσµα του νοµίσµατος είναι κορώνα ή γράµµατα, αποδέχεται ή απορρίπτει τον κόµ- ο, αντίστοιχα. Στο δεύτερο ήµα, εφόσον η ακολουθία δεν σταµατήσει και εφόσον ο κόµβος που εµφανίστηκε στο πρώτο ήµα έχει απορριφθεί, ο αλ- γόριθµος αποδέχεται τους ¢ κόµβους που εµφανίζονται. ΄Ασκηση 6. Πως ϑα υλοποιούσατε τον παραπάνω πιθανοτικό αλγόριθµο αν είχατε στη διάθεσή σας ένα κάλπικο νόµισµα για το οποίο δεν γνωρίζετε την πιθανότητα µε την οποία εµφανίζει κορώνα ή γράµµατα; Για να υπολογίσουµε το λόγο απόδοσης του αλγορίθµου, αρκεί να ϑεω- ήσουµε τα δυο διαφορετικά στιγµιότυπα του προβλήµατος. • Για το στιγµιότυπο που αποτελείται από ένα µόνο κόµβο, ο αλγόριθµος έχει µέσο κέρδος 1/2 (ίσο µε την πιθανότητα να αποδεχτεί τον κόµβο όταν αυτός εµφανίζεται) ενώ το έλτιστο κέρδος είναι 1. ∆ηλαδή, ο λόγος έλτιστου κέρδους προς µέσο κέρδος του αλγορίθµου γι΄ αυτό το στιγµιότυπο είναι 2. • Για το στιγµιότυπο που αποτελείται από ένα ¢-αστέρι, το έλτιστο κέρ- δος είναι ¢ (µιας και οι ¢ κόµβοι που εµφανίζονται στο δεύτερο ή- µα αποτελούν ένα ανεξάρτητο σύνολο). Το κέρδος του αλγορίθµου εί- ναι 1 όταν αποδέχεται τον πρώτο κόµβο και ¢ όταν απορρίπτει τον πρώτο κόµβο (καθώς στο δεύτερο ήµα ϑα αποδεχθεί τους ¢ κόµβους που ϑα εµφανιστούν). Και τα δυο γεγονότα συµβαίνουν µε πιθανότητα 1/2. ΄Αρα το µέσο κέρδος του αλγορίθµου σε αυτή την περίπτωση είναι
  • 27. 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. 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 είναι τυχαίες µεταβλητές. Ονοµάζουµε ανταγωνιστικότητα CP(ALG) του αλγορίθ- µου ALG ως προς την κατανοµή πιθανότητας P τη ελάχιστη τιµή της ποσότη- τας C για την οποία ισχύει IE[OPT(æ)] ° C · IE[ALG(æ)] ∑ Æ
  • 29. 4.3. ΜΙΑ ΤΕΧΝΙΚΗ ΑΠΟ∆ΕΙΞΗΣ ΚΑΤΩ ΦΡΑΓΜΑΤΩΝ 29 όπου το Æ είναι µια σταθερά ανεξάρτητη από το µέγεθος της ακολουθίας αιτή- σεων æ. Χοντρικά, η ανταγωνιστικότητα του αλγορίθµου ως προς µια πιθαν- οτική κατανοµή είναι ο λόγος του µέσου έλτιστου κέρδους για τις ακολουθίες που παράγονται από την κατανοµή προς το µέσο κέρδος του αλγορίθµου. Για προβλήµατα ελαχιστοποίησης του κόστους, η ανισότητα αλλάζει σε IE[ALG(æ)] ° C · IE[OPT(æ)] ∑ Æ όπου οι συµβολισµοί ALG(æ) και OPT(æ) δηλώνουν το κόστος του αλγορίθµου ALG και το έλτιστο κόστος, αντίστοιχα. Η Αρχή του Yao ισχυρίζεται ότι ο λόγος απόδοσης οποιουδήποτε πιθαν- οτικού αλγορίθµου ενάντια σε αµνήµονες αντιπάλους για ένα πρόβληµα ¶ ϕράσσεται από κάτω από την ανταγωνιστικότητα του καλύτερου ντετερµινισ- τικού αλγορίθµου ως προς µια πιθανοτική κατανοµή δηµιουργίας αιτήσεων P. Αυτό σηµαίνει ότι για να αποδείξουµε ένα κάτω ϕράγµα για το λόγο από- δοσης πιθανοτικών αλγορίθµων άµεσης απόκρισης για ένα πρόβληµα αρκεί να δηµιουργήσουµε µια κατανοµή πιθανότητας και να αποδείξουµε ένα κάτω ϕράγµα για την ανταγωνιστικότητα όλων των ντετερµινιστικών αλγορίθµων άµεσης απόκρισης ως προς αυτή την πιθανοτική κατανοµή. Αυτό το κάτω ϕράγµα ϑα είναι και κάτω ϕράγµα στο λόγο απόδοσης οποιουδήποτε πι- ϑανοτικού αλγορίθµου άµεσης απόκρισης ενάντια σε αµνήµονες αντιπάλους. Σηµειώνουµε ότι συνήθως χρησιµοποιούµε Æ = 0 στις αποδείξεις. Ας κατασκευάσουµε τώρα µια πιθανοτική κατανοµή όπως ητά η Αρχή του Yao. Μιας και τα στιγµιότυπα του προβλήµατος είναι µόνο δύο, δεν υπ- άρχουν πολλές διαφορετικές πιθανοτικές κατανοµές στιγµιοτύπων. Ορίζουµε λοιπόν την πιθανοτική κατανοµή που παράγει έναν κόµβο στο πρώτο ήµα και στη συνέχεια, µε πιθανότητα q σταµατά την ακολουθία, ενώ µε πιθανότη- τα 1 ° q εµφανίζει ¢ κόµβους στο δεύτερο ήµα. Το q το χρησιµοποιούµε ως παράµετρο που ορίζει διαφορετική πιθανοτική κατανοµή για κάθε διαφορε- τική τιµή του. Σκοπός µας είναι να ρούµε µια όσο το δυνατόν χειρότερη πιθανοτική κατανοµή, δηλαδή µια πιθανοτική κατανοµή που ϑα δώσει το υψηλότερο κάτω ϕράγµα για οποιονδήποτε ντετερµινιστικό αλγόριθµο. Από τον ορισµό της κατανοµής, έχουµε ότι το µέσο έλτιστο κέρδος ως προς αυτήν είναι q + (1 ° q)¢. ΄Εχοντας ορίσει την πιθανοτική κατανοµή παραγωγής στιγµιοτύπων, αποµένει να αποδείξουµε κάτω ϕράγµα για ντετερµινιστικούς αλγορίθµους που δουλεύουν σε στιγµιότυπα που παράγονται από αυτή την κατανοµή. Υπ- άρχουν δυο τέτοιοι αλγόριθµοι που αρκεί να ϕανταστούµε.
  • 30. 30 ΚΕΦΑΛΑΙΟ 4. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΡΧΗ ΤΟΥ YAO • Ο πρώτος αλγόριθµος αποδέχεται πάντα τον κόµβο του πρώτου ή- µατος. Το µέσο κέρδος του ως προς την κατανοµή είναι ακριβώς 1 µιας και ποτέ δεν πρόκειται να αποδεχθεί κάποιον από τους κόµβους που εµφανίζονται στο δεύτερο ήµα (καθώς έχει αποδεχθεί τον κόµβο του πρώτου ήµατος). Η ανταγωνιστικότητα του αλγορίθµου ως προς την κατανοµή είναι q + (1 ° q)¢. • Ο δεύτερος αλγόριθµος απορρίπτει πάντα τον κόµβο του πρώτου ή- µατος και αποδέχεται όλους τους κόµβους του δεύτερου ήµατος, ε- ϕόσον αυτοί εµφανιστούν. Οπότε, το µέσο κέρδος του ως προς την κατανοµή είναι (1 ° q)¢ και η ανταγωνιστικότητά του ως προς την κατανοµή είναι q+(1°q)¢ (1°q)¢ . Προφανώς, οποιοσδήποτε άλλος αλγόριθµος που απορρίπτει πάντα τον κόµβο του πρώτου ήµατος και απορρίπτει κάποιον ή κάποιους κόµβους στο δεύτερο ήµα έχει χειρότερη ανταγ- ωνιστικότητα ως προς την κατανοµή. ∆εν είναι δύσκολο να επαληθεύσουµε ότι η συνάρτηση που δίνει την αν- ταγωνιστικότητα του πρώτου αλγορίθµου ως προς την κατανοµή είναι ϕθί- νουσα ως προς q, ενώ η συνάρτηση που δίνει την ανταγωνιστικότητα του δεύτερου αλγορίθµου ως προς την κατανοµή είναι αύξουσα ως προς q. Ε- ποµένως, το ελάχιστο µεταξύ των δύο ϑα µεγιστοποιείται στο σηµείο που τέµ- νονται οι συναρτήσεις αυτές, δηλαδή για την τιµή q§ = 1°1/¢ όπου η ανταγ- ωνιστικότητα οποιουδήποτε ντετερµινιστικού αλγορίθµου είναι τουλάχιστον 2 ° 1/¢. Από την Αρχή του Yao, καταλήγουµε ότι το 2 ° 1/¢ είναι κάτω ϕράγµα για την απόδοση οποιουδήποτε πιθανοτικού αλγορίθµου άµεσης απόκρισης για το πρόβληµα ενάντια σε αµνήµονες αντιπάλους.
  • 31. Κεφάλαιο 5 Πιθανοτικοί αλγόριθµοι σελιδοποίησης Σε αυτό το κεφάλαιο παρουσιάζουµε τον πιθανοτικό αλγόριθµο σελι- δοποίησης MARK και ένα κάτω ϕράγµα για την απόδοση οποιουδήποτε πι- ϑανοτικού αλγορίθµου για το πρόβληµα. Για την απόδειξη του κάτω ϕράγ- µατος, χρησιµοποιούµε την Αρχή του Yao. ΄Οπως ϑα δούµε στην επόµενη παράγραφο, χρησιµοποιώντας τυχαιότητα, µπορούµε να ελτιώσουµε σηµαν- τικά την απόδοση για το πρόβληµα της σελιδοποίησης. 5.1 Ο αλγόριθµος MARK Ο αλγόριθµος MARK είναι ένας απλός πιθανοτικός αλγόριθµος γι- α το ασικό πρόβληµα σελιδοποίησης µε γρήγορη µνήµη µεγέθους k. Επιτυγχάνει λόγο απόδοσης 2Hk ενάντια σε αµνήµονες αντιπάλους, όπου Hk είναι ο k-οστός αρµονικός αριθµός (harmonic number) που ορίζεται ως Hk = Pk i=1 1 i . Ισχύει ότι ln k Hk 1+ln k και εποµένως ο λόγος απόδοσης του αλγορίθµου MARK είναι πολύ καλύτερος από αυτόν των ντετερµινιστικών αλγορίθµων. Αλγόριθµος MARK: Αρχικά, ο αλγόριθµος µαρκάρει όλες οι σελίδες. Αν υπάρχει αίτηση για µία σελίδα p η οποία είναι στη γρήγορη µνήµη αλλά δεν είναι µαρκαρισµένη, τότε η σελίδα p µαρκάρεται. Αλλιώς, αν η p δεν είναι στη γρήγορη µνήµη, ο αλγόριθµος τη ϕέρνει στη γρήγορη µνήµη και τη µαρκάρει, αντικαθιστώντας µία σελίδα που επιλέγεται οµοιόµορφα τυχαία 31
  • 32. 32 ΚΕΦΑΛΑΙΟ 5. ΠΙΘΑΝΟΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ∆ΟΠΟΙΗΣΗΣ από το σύνολο των µη µαρκαρισµένων σελίδων. Αν όλες οι σελίδες στη γρή- γορη µνήµη είναι µαρκαρισµένες όταν η σελίδα p πρόκειται να έρθει, τότε πρώτα ξεµαρκάρονται όλες οι σελίδες της γρήγορης µνήµης. Θεώρηµα 8. Ο αλγόριθµος MARK έχει λόγο απόδοσης το πολύ 2Hk απέναντι σε αµνήµονες αντιπάλους. Απόδειξη. Θεωρούµε µια ακολουθία αιτήσεων και υπολογίζουµε τη δι- αµέρισή της σε k-ϕάσεις. Για κάθε k-ϕάση, ονοµάζουµε παλιές σελίδες τις σελίδες που ρίσκονται στη γρήγορη µνήµη αµέσως πριν από την έναρξη της k-ϕάσης. Μια µη παλιά σελίδα η οποία ητείται στην i-οστή k-ϕάση ονοµάζε- ται νέα. Παρατηρήστε ότι κάθε αίτηση γίνεται είτε για µια παλιά είτε για µια νέα σελίδα και πως επανειληµµένες αιτήσεις για παλιές ή νέες σελίδες δεν προκαλούν επιπλέον σφάλµατα σελίδων αφού κάθε σελίδα που ητείται κατά τη διάρκεια µίας k-ϕάσης διατηρείται στη γρήγορη µνήµη µέχρι το τέλος της k-ϕάσης. Θεωρούµε την i-οστή k-ϕάση. ΄Εστω mi ο αριθµός των νέων σελίδων που ητούνται σε αυτή τη ϕάση. Είναι προφανές ότι κατά τη διάρκεια µιας k- ϕάσης, η χειρότερη δυνατή σειρά για τον αλγόριθµο είναι όταν οι αιτήσεις για νέες σελίδες προηγούνται όλων των αιτήσεων για παλιές σελίδες. Με αυτή τη σειρά, οι πρώτες mi αιτήσεις για νέες σελίδες, προκαλούν mi σφάλµατα σελίδων. Τώρα, εξετάζουµε τον αναµενόµενο αριθµό από σφάλµατα σελίδων που προκύπτουν από τις k ° mi (πρώτες) αιτήσεις για παλιές σελίδες. Η ασική παρατήρηση είναι ότι η j-οστή παλιά σελίδα (µε τη σειρά που ητούνται σε αυτή τη k-ϕάση) που ητείται για πρώτη ϕορά κατά τη διάρκεια της i-οστής k-ϕάσης ρίσκεται στη γρήγορη µνήµη µε πιθανότητα ακριβώς k°mi°(j°1) k°(j°1) . Παρατηρήστε ότι ο αριθµητής αναπαριστά τον αριθµό των παλιών µη µαρκαρισµένων σελίδων στη γρήγορη µνήµη όταν εµφανίζεται η αίτηση για την j-οστή παλιά σελίδα, ενώ ο παρονοµαστής αναπαριστά τον αριθµό των µη µαρκαρισµένων σελίδων. Η πιθανότητα δηµιουργίας σφάλµατος σελίδας από αυτή την αίτηση είναι ακριβώς mi k°j+1 . Κατά συνέπεια, ο αναµενόµενος αριθµός σφαλµάτων σελίδας κατά τη διάρκεια της i-οστής k-ϕάσης είναι mi + k°miX j=1 mi k ° j + 1 = mi + mi(Hk ° Hmi ) = mi(Hk ° Hmi + 1) ∑ miHk. Εύκολα µπορούµε να υπολογίσουµε ένα κάτω ϕράγµα για το έλτιστο αριθµό σφαλµάτων σελίδων. Από τον ορισµό µιας k-ϕάσης και τον ορισ- µό του mi, κατά τη διάρκεια της i-οστής και της (i ° 1)-στής k-ϕάσης,
  • 33. 5.2. ΚΑΤΩ ΦΡΑΓΜΑ ΓΙΑ ΠΙΘΑΝΟΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ 33 τουλάχιστον k + mi διαφορετικές σελίδες έχουν ητηθεί. Συνεπώς, για κάθε k-ϕάση i (εκτός της πρώτης), ο αριθµός των σφαλµάτων σελίδων που έχει ο έλτιστος αλγόριθµος κατά τη διάρκεια της i-οστής και της (i ° 1)-στής k- ϕάσης είναι τουλάχιστον mi. Ο αριθµός των σφαλµάτων σελίδων που έχει ο έλτιστος αλγόριθµος κατά τη διάρκεια της πρώτης k-ϕάσης είναι τουλάχισ- τον m1. Εποµένως, το συνολικό έλτιστο κόστος είναι τουλάχιστον 1 2 P i mi. Αφού ο αναµενόµενος αριθµός σφαλµάτων σελίδων είναι το πολύ Hk P i mi, η απόδειξη είναι πλήρης. ΄Ασκηση 7. Αποδείξτε ότι ο αλγόριθµος MARK µε γρήγορη µνήµη µεγέθους k έχει απόδοση το πολύ Hk ενάντια σε αµνήµονες αντιπάλους όταν ο συνολικός αριθµός σελίδων στην αργή µνήµη είναι N = k + 1. ΄Ασκηση 8. Αποδείξτε ότι ο αλγόριθµος MARK έχει λόγο απόδοσης αυστηρά µεγαλύτερο του Hk (ϑεωρήστε την περίπτωση k = 2 και N = 4). 5.2 Κάτω ϕράγµα για πιθανοτικούς αλγορίθ- µους Σε αυτή την παράγραφο αποδεικνύουµε ένα κάτω ϕράγµα για το λόγο απόδοσης οποιουδήποτε πιθανοτικού αλγορίθµου σελιδοποίησης που χρησι- µοποιεί γρήγορη µνήµη µεγέθους k. Η απόδειξη του παρακάτω ϑεωρήµατος χρησιµοποιεί την Αρχή του Yao. Θεώρηµα 9. ΄Εστω ALG ένας οποιοσδήποτε πιθανοτικός αλγόριθµος σελι- δοποίησης µε γρήγορη µνήµη µεγέθους k. Ο λόγος απόδοσής του ενάντια σε αµνήµονες αντιπάλους είναι τουλάχιστον Hk. Απόδειξη. Κατασκευάζουµε µια πιθανοτική κατανοµή που παράγει µια τυχαία ακολουθία æ του προβλήµατος χρησιµοποιώντας ένα σύνολο I από k + 1 διαφορετικές σελίδες. Η πρώτη σελίδα æ1 της ακολουθίας επιλέγεται αυθαίρετα µεταξύ όλων των σελίδων του συνόλου I. Για κάθε i 1, η i-οστή σελίδα æi της ακολουθίας επιλέγεται ισοπίθανα µεταξύ των k σελίδων του συνόλου I ° {æi°1} και ανεξάρτητα από προηγούµενες επιλογές. Χωρίζουµε την ακολουθία σε k-ϕάσεις. Αγνοώντας την πρώτη ϕάση, ϑα αποδείξουµε ότι σε κάθε επόµενη ϕάση, ο έλτιστος αλγόριθµος LFD εξυπηρετεί τις σελίδες που ανήκουν στη ϕάση µε ένα µόνο σφάλµα σελί- δας ενώ οποιοσδήποτε ντετερµινιστικός αλγόριθµος άµεσης απόκρισης πραγ- µατοποιεί (τουλάχιστον) Hk σφάλµατα σελίδας ανά ϕάση.
  • 34. 34 ΚΕΦΑΛΑΙΟ 5. ΠΙΘΑΝΟΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΣΕΛΙ∆ΟΠΟΙΗΣΗΣ Στο πρώτο ήµα της ϕάσης i ∏ 2, εµφανίζεται µια σελίδα διαφορετική από τις k σελίδες που εµφανίστηκαν στην προηγούµενη ϕάση. Σε αυτό το ήµα, ο αλγόριθµος LFD ϑα επιλέξει να αντικαταστήσει τη σελίδα που δεν ϑα εµφανιστεί στη ϕάση i, δηλαδή την πρώτη σελίδα που ϑα εµφανιστεί στη ϕάση i + 1. Εποµένως, όλες οι υπόλοιπες k ° 1 σελίδες που ϑα εµφανιστούν στη ϕάση ϑα ρίσκονται στη γρήγορη µνήµη και ο αλγόριθµος δεν ϑα κάνει άλλο σφάλµα σελίδας εκτός από αυτό στο πρώτο ήµα της ϕάσης. Ας εξετάσουµε τώρα τη συµπεριφορά ενός οποιουδήποτε ντετερµινιστικού αλγορίθµου άµεσης απόκρισης A. Εφόσον η ακολουθία χρησιµοποιεί k + 1 διαφορετικές σελίδες, µετά το ήµα i, ο αλγόριθµος A αφήνει εκτός της γρή- γορης µνήµης κάποια σελίδα q. Η σελίδα αυτή είναι προφανώς διαφορετική από τη σελίδα æi της ακολουθίας (η οποία µόλις τοποθετήθηκε στη γρήγορη µνήµη). Εποµένως, κατά την τυχαία επιλογή µεταξύ των k σελίδων I °{æi}, η πιθανότητα να επιλεγεί η σελίδα q είναι 1/k. ΄Αρα, για να ολοκληρώσουµε την απόδειξη του ϑεωρήµατος και να δείξουµε ότι ο µέσος αριθµός σφαλµάτων ανά ϕάση είναι Hk, αρκεί να δείξουµε ότι ο µέσος αριθµός ηµάτων κάθε ϕάσης είναι kHk. Για να µετρήσουµε το µέσο αριθµό ηµάτων κάθε ϕάσης, ϑα χρησι- µοποιήσουµε την έννοια του τυχαίου περιπάτου σε γραφήµατα. ΄Ενα αντικεί- µενο λέµε ότι κάνει έναν τυχαίο περίπατο σε ένα γράφηµα όταν, ξεκινώντας από έναν κόµβο του γραφήµατος, σε κάθε ήµα επιλέγει ισοπίθανα µεταξύ των γειτόνων του κόµβου στον οποίο ρίσκεται (και ανεξάρτητα από προ- ηγούµενες επιλογές) τον επόµενο κόµβο που ϑα επισκεφτεί. Αντιστοιχίζον- τας κάθε σελίδα του συνόλου I µε έναν κόµβο του πλήρους γραφήµατος µε k + 1 κόµβους, η ακολουθία σελίδων æ είναι ένας τυχαίος περίπατος ενός αν- τικειµένου σε αυτό το γράφηµα. Η ισοπίθανη επιλογή σελίδας σε κάθε ήµα µεταξύ όλων των σελίδων εκτός της τελευταίας σελίδας που εµφανίστηκε είναι ισοδύναµη µε την ισοπίθανη επίσκεψη του αντικειµένου από τον κόµβο που αντιστοιχεί στην τελευταία σελίδα που εµφανίστηκε σε κάποιον γειτονικό του. Εποµένως, για να µετρήσουµε το µέσο αριθµό ηµάτων µιας k-ϕάσης, αρκεί να υπολογίσουµε το µέσο αριθµό ηµάτων που χρειάζεται ένα αντικείµενο που πραγµατοποιεί έναν τυχαίο περίπατο στο πλήρες γράφηµα k + 1 κόµβ- ων για να επισκεφτεί όλους τους κόµβους του γραφήµατος, ξεκινώντας από τον κόµβο που αντιστοιχεί στην πρώτη σελίδα της k-ϕάσης. Ο χρόνος αυτός δίνεται από το παρακάτω ϑεώρηµα. Λήµµα 3. Ο µέσος χρόνος που χρειάζεται ένας τυχαίος περίπατος σε ένα πλήρες γράφηµα µε k + 1 κόµβους για να επισκεφθεί όλους τους κόµβους