Έρνπκε απνζεθεύζεη κηα ζπιινγή αξρείσλ ζε κηα ζπλδεδεκέλε ιίζηα, όπνπ θάζε αξρείν έρεη κηα εηηθέηα ηαπηνπνίεζεο. Μηα εθαξκνγή παξάγεη κηα αθνινπζία από αηηήκαηα πξόζβαζεο ζηα αξρεία ηεο ιίζηαο. Γηα λα πξνζπειάζνπκε έλα αξρείν πξέπεη λα ην αλαδεηήζνπκε ζηε ιίζηα δηαηξέρνληαο ηε από ηελ αξρή. Καζώο ηθαλνπνηνύκε ηα αηηήκαηα κπνξνύκε λα αλαδηαηάζζνπκε ηα ζηνηρεία ηεο ιίζηαο. a b c d e f g Άμεζος αλγόριθμος Εμππεξεηεί έλα αίηεκα ηε θνξά ρσξίο λα γλσξίδεη ηα κειινληηθά αηηήκαηα
Κόζηος προζπέλαζης και ανηιμεηάθεζης Εάλ ην αξρείν πνπ ςάρλνπκε βξίζθεηαη ζηε ζέζε ηόηε ην θόζηνο πξνζπέιαζεο ηνπ είλαη. Σηε ζπλέρεηα κπνξνύκε λα κεηαθέξνπκε ην ζε νπνηαδήπνηε ζέζε ρσξίο επηπιένλ θόζηνο. Π.ρ. προςπέλαςη e: Καζώο αλαδεηνύκε ην e από ηελ αξρή ηεο ιίζηαο απνζεθεύνπκε έλα δείθηε ζηε ζέζε πνπ ζέινπκε λα ην κεηαθέξνπκε a b c d e f g κόςτοσ = 5 a b e c d f g
Κόζηος προζπέλαζης και ανηιμεηάθεζης Εάλ ην αξρείν πνπ ςάρλνπκε βξίζθεηαη ζηε ζέζε ηόηε ην θόζηνο πξνζπέιαζεο ηνπ είλαη. Σηε ζπλέρεηα κπνξνύκε λα κεηαθέξνπκε ην ζε νπνηαδήπνηε ζέζε ρσξίο επηπιένλ θόζηνο. Σε νπνηαδήπνηε ρξνληθή ζηηγκή κπνξνύκε λα αιιάμνπκε ηε ζέζε δύν δηαδνρηθώλ αξρείσλ. Τν θόζηνο κηαο ηέηνηαο αληηκεηάζεζεο είλαη 1. Π.ρ. αντιμετάθεςη c,d a b c d e f g κόςτοσ = 1 a b d c e f g
Κόζηος προζπέλαζης και ανηιμεηάθεζης Εάλ ην αξρείν πνπ ςάρλνπκε βξίζθεηαη ζηε ζέζε ηόηε ην θόζηνο πξνζπέιαζεο ηνπ είλαη. Σηε ζπλέρεηα κπνξνύκε λα κεηαθέξνπκε ην ζε νπνηαδήπνηε ζέζε ρσξίο επηπιένλ θόζηνο. Μπνξνύκε λα ζεσξήζνπκε όηη ε κεηαθίλεζε ηνπ x γίλεηαη κε δωρεάν αληηκεηαζέζεηο δηαδνρηθώλ αξρείσλ κέρξη λα θηάζεη ην x ζηελ ηειηθή ηνπ ζέζε. x Σε νπνηαδήπνηε ρξνληθή ζηηγκή κπνξνύκε λα αιιάμνπκε ηε ζέζε δύν δηαδνρηθώλ αξρείσλ. Τν θόζηνο κηαο ηέηνηαο αληηκεηάζεζεο είλαη 1. Ολνκάδνπκε κηα ηέηνηα αληηκεηάζεζε πληρωμένη.
Κόζηος προζπέλαζης και ανηιμεηάθεζης Παξάδεηγκα a b c d e f g 1 2 4 5 6 Χσξίο λα αιιάμνπκε ηε ζέζε θαλελόο αξρείνπ: κόςτοσ = 1+5+2+4+5+6+5 = 28
Κόζηος προζπέλαζης και ανηιμεηάθεζης Παξάδεηγκα a b c d e f g 1 5 e a b c d f g Μεηά ηελ πξώηε πξνζπέιαζε ζην e ην κεηαθέξνπκε ζηελ πξώηε ζέζε : κόςτοσ = 1+5+3+5+1+6+1 = 22 1 2 3 5 6
Μερικοί Γνωζηοί Άμεζοι Αλγόριθμοι move-to-front: transpose: Μεηά ηελ πξόζβαζε ζην αξρείν x ην ηνπνζεηεί ζηελ αξρή ηεο ιίζηαο Μεηά ηελ πξόζβαζε ζην αξρείν x ην αληηκεηαζέηεη κε ην αξρείν πνπ πξνεγείηαη ηνπ x ζηε ιίζηα frequency-count: Μεηξά ηνλ αξηζκό πξνζβάζεσλ (ζπρλόηεηα πξόζβαζεο) θάζε αξρείνπ θαη δηαηάζζεη ηα αξρεία ζε θζίλνπζα ζεηξά σο πξνο ηε ζπρλόηεηα πξόζβαζεο. Μεηά ηελ πξόζβαζε ζην αξρείν x ν κεηξεηήο ηνπ x απμάλεη θαηά έλα θαη ην x κεηαθηλείηαη ζηελ θαηάιιειε ζέζε
Αλγόριθμος move-to-front (MFT) a b c d e f g κόςτοσ = 1
Αλγόριθμος move-to-front (MFT) a b c d e f g κόςτοσ = 1+5
Αλγόριθμος move-to-front (MFT) e a b c d f g κόςτοσ = 1+5
Αλγόριθμος move-to-front (MFT) e a b c d f g κόςτοσ = 1+5+3
Αλγόριθμος move-to-front (MFT) b e a c d f g κόςτοσ = 1+5+3
Αλγόριθμος move-to-front (MFT) b e a c d f g κόςτοσ = 1+5+3+5
Αλγόριθμος move-to-front (MFT) d b e a c f g κόςτοσ = 1+5+3+5
Αλγόριθμος move-to-front (MFT) d b e a c f g κόςτοσ = 1+5+3+5+3
Αλγόριθμος move-to-front (MFT) e d b a c f g κόςτοσ = 1+5+3+5+3
Αλγόριθμος move-to-front (MFT) e d b a c f g κόςτοσ = 1+5+3+5+3+6
Αλγόριθμος move-to-front (MFT) f e d b a c g κόςτοσ = 1+5+3+5+3+6
Αλγόριθμος move-to-front (MFT) f e d b a c g κόςτοσ = 1+5+3+5+3+6+2
Αλγόριθμος move-to-front (MFT) e f d b a c g κόςτοσ = 1+5+3+5+3+6+2 = 25
Λόγος ανηαγωνιζηικόηηηας θόζηνο ηνπ αιγνξίζκνπ γηα ηελ εμππεξέηεζε ηεο αθνινπζίαο ειάρηζην θόζηνο εμππεξέηεζε ηεο αθνινπζίαο αιγόξηζκν (θόζηνο βέιηηζηνπ αιγόξηζκνπ) από νπνηνδήπνηε Έλαο άκεζνο αιγόξηζκνο είλαη ανηαγωνιζηικός εάλ ππάξρεη ζηαζεξά ηέηνηα ώζηε γηα θάζε πεπεξαζκέλε αθνινπζία εηζόδνπ ηζρύεη
Λόγος ανηαγωνιζηικόηηηας Θα δείμνπκε όηη γηα ιίζηα κε αξρεία θαη αθνινπζία αηηεκάησλ Παξαηεξήζεηο : Ο βέιηηζηνο αιγόξηζκνο κπνξεί λα γλσξίδεη εμαξρήο νιόθιεξε ηελ αθνινπζία θαη λα έρεη πξνϋπνινγίζεη ηηο πξάμεηο πνπ ζα θάλεη όηαλ ζα εμππεξεηεί ηα αηηήκαηα Είλαη ππνινγηζηηθά δύζθνιν (NP-hard) πξόβιεκα λα βξεζεί ε βέιηηζηε ζεηξά πξάμεσλ πνπ πξέπεη λα θάλεη ν.
Λόγος ανηαγωνιζηικόηηηας Πξώηα ζα δείμνπκε όηη γηα νπνηαδήπνηε αθνινπζία κε αηηήκαηα όπνπ θόζηνο ηνπ ρσξίο ηηο πιεξσκέλεο αληηκεηαζέζεηο αξηζκόο πιεξσκέλσλ αληηκεηαζέζεσλ ηνπ αξηζκόο δσξεάλ αληηκεηαζέζεσλ ηνπ Θα ρξεζηκνπνηήζνπκε ηελ ελεξγεηαθή κέζνδν ηεο αληηζηαζκηζηηθήο αλάιπζεο. Επεηδή ν βέιηηζηνο αιγόξηζκνο καο είλαη άγλσζηνο, ρξεζηκνπνηνύκε κηα ζπλάξηεζε δπλακηθνύ πνπ ζπζρεηίδεη ηε ιίζηα ηνπ κε ηε ιίζηα ηνπ Αξρηθά νη δύν ιίζηεο έρνπλ ηελ ίδηα δηάηαμε αξρείσλ a b c d e f g a b c d e f g
Σσνάρηηζη δσναμικού Αληηζηξνθή : Τν αξρείν εκθαλίδεηαη κεηά ην ζηε ιίζηα αιιά ην εκθαλίδεηαη πξηλ ην ζηε ιίζηα αξηζκόο αληηζηξνθώλ ζηε ιίζηα ζε ζρέζε κε ηε ιίζηα a b e d c f g a b c d f e g 4 αληηζηξνθέο : (e,c), (e,d), (d,c), (e,f)
Σσνάρηηζη δσναμικού Αληηζηξνθή : Τν αξρείν εκθαλίδεηαη κεηά ην ζηε ιίζηα αιιά ην εκθαλίδεηαη πξηλ ην ζηε ιίζηα αξηζκόο αληηζηξνθώλ ζηε ιίζηα ζε ζρέζε κε ηε ιίζηα δπλακηθό κεηά ην i-νζηό αίηεκα. Αξρηθά Εμεηάδνπκε ην i-νζηό αίηεκα ηεο αθνινπζίαο θόζηνο ηνπ γηα ηελ εμππεξέηεζε ηνπ αηηήκαηνο Οξίδνπκε ην αληηζηαζκηζηηθό θόζηνο Άξα
Εμεηάδνπκε ην i-νζηό αίηεκα ηεο αθνινπζίαο θόζηνο ηνπ γηα ηελ εμππεξέηεζε ηνπ αηηήκαηνο Οξίδνπκε ην αληηζηαζκηζηηθό θόζηνο Έζησ x ην αξρείν πνπ δεηείηαη. Έζησ όηη βξίζθεηαη ζηε ζέζε k ζηε ιίζηα θαη ζηε ζέζε j ζηε ιίζηα. Αλ ην x εκθαλίδεηαη ζε p αληηζηξνθέο πξηλ ηελ κεηαθίλεζε ηνπ ηόηε ππάξρνπλ k-p-1 αξρεία πνπ πξνεγνύληαη ηνπ x θαη ζηηο δύν ιίζηεο x x
Εμεηάδνπκε ην i-νζηό αίηεκα ηεο αθνινπζίαο θόζηνο ηνπ γηα ηελ εμππεξέηεζε ηνπ αηηήκαηνο Οξίδνπκε ην αληηζηαζκηζηηθό θόζηνο Έζησ x ην αξρείν πνπ δεηείηαη. Έζησ όηη βξίζθεηαη ζηε ζέζε k ζηε ιίζηα θαη ζηε ζέζε j ζηε ιίζηα. Αλ ην x εκθαλίδεηαη ζε p αληηζηξνθέο πξηλ ηελ κεηαθίλεζε ηνπ ηόηε ππάξρνπλ k-p-1 αξρεία πνπ πξνεγνύληαη ηνπ x θαη ζηηο δύν ιίζηεο Η κεηαθίλεζε ηνπ x δεκηνπξγεί k-p-1 αληηζηξνθέο θαη θαηαξγεί p. x x
Εμεηάδνπκε ην i-νζηό αίηεκα ηεο αθνινπζίαο θόζηνο ηνπ γηα ηελ εμππεξέηεζε ηνπ αηηήκαηνο Οξίδνπκε ην αληηζηαζκηζηηθό θόζηνο Έζησ x ην αξρείν πνπ δεηείηαη. Έζησ όηη βξίζθεηαη ζηε ζέζε k ζηε ιίζηα θαη ζηε ζέζε j ζηε ιίζηα. Αλ ην x εκθαλίδεηαη ζε p αληηζηξνθέο πξηλ ηελ κεηαθίλεζε ηνπ ηόηε ππάξρνπλ k-p-1 αξρεία πνπ πξνεγνύληαη ηνπ x θαη ζηηο δύν ιίζηεο Η κεηαθίλεζε ηνπ x δεκηνπξγεί k-p-1 αληηζηξνθέο θαη θαηαξγεί p. Άξα ην αληηζηαζκηζηηθό θόζηνο είλαη
Εμεηάδνπκε ην i-νζηό αίηεκα ηεο αθνινπζίαο θόζηνο ηνπ γηα ηελ εμππεξέηεζε ηνπ αηηήκαηνο Οξίδνπκε ην αληηζηαζκηζηηθό θόζηνο Έζησ x ην αξρείν πνπ δεηείηαη. Έζησ όηη βξίζθεηαη ζηε ζέζε k ζηε ιίζηα θαη ζηε ζέζε j ζηε ιίζηα. Άξα ην αληηζηαζκηζηηθό θόζηνο είλαη To θόζηνο ηνπ γηα ηελ πξόζβαζε ζην x είλαη ίζν κε j. Επηπιένλ γηα ηνλ έρνπκε όηη : Κάζε δσξεάλ αληηκεηάζεζε κεηώλεη ην δπλακηθό θαηά 1. Κάζε πιεξσκέλε αληηκεηάζεζε απμάλεη ην δπλακηθό ην πνιύ θαηά 1.
Εμεηάδνπκε ην i-νζηό αίηεκα ηεο αθνινπζίαο θόζηνο ηνπ γηα ηελ εμππεξέηεζε ηνπ αηηήκαηνο Οξίδνπκε ην αληηζηαζκηζηηθό θόζηνο Έζησ x ην αξρείν πνπ δεηείηαη. Έζησ όηη βξίζθεηαη ζηε ζέζε k ζηε ιίζηα θαη ζηε ζέζε j ζηε ιίζηα. Άξα ην αληηζηαζκηζηηθό θόζηνο είλαη To θόζηνο ηνπ γηα ηελ πξόζβαζε ζην x είλαη ίζν κε j. Επηπιένλ γηα ηνλ έρνπκε όηη : Κάζε δσξεάλ αληηκεηάζεζε κεηώλεη ην δπλακηθό θαηά 1. Κάζε πιεξσκέλε αληηκεηάζεζε απμάλεη ην δπλακηθό ην πνιύ θαηά 1. Επνκέλσο
Λόγος ανηαγωνιζηικόηηηας Γηα νπνηαδήπνηε αθνινπζία κε αηηήκαηα όπνπ θόζηνο ηνπ ρσξίο ηηο πιεξσκέλεο αληηκεηαζέζεηο αξηζκόο πιεξσκέλσλ αληηκεηαζέζεσλ ηνπ αξηζκόο δσξεάλ αληηκεηαζέζεσλ ηνπ Έρνπκε άξα Αλ ε ιίζηα έρεη αξρεία ηόηε νπόηε ιακβάλνπκε ην παξαθάησ Γηα ιίζηα κε αξρεία θαη νπνηαδήπνηε αθνινπζία αηηεκάησλ