ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Σχετικά έγγραφα
Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

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

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

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

3. Προσομοίωση ενός Συστήματος Αναμονής.

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Διοίκηση Παραγωγής και Υπηρεσιών

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

ΚΕΦΑΛΑΙΟ Μηχανική Μάθηση

Λειτουργικά Συστήματα (Λ/Σ)

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π.

Κεφάλαιο 3 Πολυπλεξία

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΙΔΙΚΑ ΘΕΜΑΤΑ. Κεφάλαιο 10. Εισαγωγή στην εκτιμητική

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

Δομές Δεδομένων & Αλγόριθμοι

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ. ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning. Βόλτσης Βαγγέλης Α.Μ

Τεχνητή Νοημοσύνη. 6η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Για τις λύσεις των προβλημάτων υπάρχει τρόπος εκτίμησης της επίδοσης (performance) και της αποδοτικότητας (efficiency). Ερωτήματα για την επίδοση

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου

Πρωτόκολλα Ελέγχου προσπέλασης μέσου

καθ. Βασίλης Μάγκλαρης

Κεφάλαιο 9. Έλεγχοι υποθέσεων

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή

Εφαρμογές Υπολογιστικής Νοημοσύνης στις Ασύρματες Επικοινωνίες

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Νέο Ευρωπαϊκό Πρότυπο ενεργειακής απόδοσης EN

Κεφάλαιο 9. Έλεγχοι υποθέσεων

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

6. Στατιστικές μέθοδοι εκπαίδευσης

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου

Η Μηχανική Μάθηση στο Σχολείο: Μια Προσέγγιση για την Εισαγωγή της Ενισχυτικής Μάθησης στην Τάξη

Λειτουργικά Συστήματα

Πληροφοριακά Συστήματα Διοίκησης. Θεωρία Αποφάσεων

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

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Προσομοίωση ενός συστήματος αναμονής

Πολυκριτηριακός Γραμμικός Προγραμματισμός. Συστήματα Αποφάσεων Εργαστήριο Συστημάτων Αποφάσεων και Διοίκησης

Πληροφορική 2. Τεχνητή νοημοσύνη

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

Δίκτυα Υπολογιστών I Εργαστήρια

Ανάλυση Χρόνου, Πόρων & Κόστους

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο

Κατακερματισμός (Hashing)

ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεωρία Παιγνίων και Αποφάσεων Διδάσκων: Ε. Μαρκάκης, Εαρινό εξάμηνο 2015

Κεφάλαιο 3. Διδακτικοί Στόχοι

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ

Κατανεμημένα Συστήματα Ι

Τα Οικονομικά. 6.1 Θεωρητικό πλαίσιο

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Λειτουργικά Συστήματα Η/Υ

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

Διοίκηση Παραγωγής και Υπηρεσιών

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

Ενότητα 1: Πώς να διδάξεις ηλικιωμένους για να χρησιμοποιήσουν τη ψηφιακή τεχνολογία. Ημερομηνία: 15/09/2017. Intellectual Output:

Εφαρμογές Προσομοίωσης

1 Εισαγωγή στις Συνδυαστικές Δημοπρασίες - Combinatorial Auctions

2 η Σειρά Ασκήσεων Data Link Layer

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH

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

ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Κεφάλαιο 7.3. Πρωτόκολλο TCP

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Τσάπελη Φανή ΑΜ: Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Εισαγωγή στην Αριθμητική Ανάλυση

Προσομοίωση Συστημάτων

Δομή Ηλεκτρονικού υπολογιστή

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΠΛΗ 513-Αυτόνομοι Πράκτορες Χειμερινό εξάμηνο 2012 Εφαρμογή αλγορίθμων ενισχυτικής μάθησης στο παιχνίδι Βlackjack. Χλης Νικόλαος-Κοσμάς

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ


7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Κατεύθυνση: Επικοινωνιακά Συστήματα και Τεχνολογίες ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Βελτίωση της απόδοσης ασύρματων συστημάτων εκπομπής δεδομένων κατόπιν αίτησης με βάση δεδομένων διασυνδεδεμένου περιεχομένου και χρήση μεθόδων ενισχυτικής μάθησης Βασιλική Λ. Κακάλη Επιβλέπων καθηγητής: Παπαδημητρίου Γεώργιος Αναπληρωτής Καθηγητής Θεσσαλονίκη, Φεβρουάριος 2011

ΚΕΦΑΛΑΙΟ 1...5 ΔΡΟΜΟΛΟΓΗΣΗ ΔΕΔΟΜΕΝΩΝ ΣΕ ΑΣΥΡΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΕΚΠΟΜΠΗΣ...5 1.1 Push Δρομολόγηση Δεδομένων...7 1.1.1 Flat broadcast...8 1.1.2 Probabilistic-based Broadcast...8 1.1.3 Broadcast Disks...8 1.1.4 Optimal Push Scheduling...10 1.1.5 Τα προσαρμοστικά συστήματα push...13 1.2 On-demand Δρομολόγηση Δεδομένων...13 1.2.1 On-demand δρομολόγηση για ισομεγέθη στοιχεία...14 1.2.2 On-demand δρομολόγηση για στοιχεία διαφορετικού μεγέθους...16 1.2.3 Energy-efficient δρομολόγηση...17 1.3 Υβριδική Δρομολόγηση Δεδομένων...18 1.3.1 Balancing Push and Pull...19 1.3.2 Adaptive Hybrid Broadcast...20 ΚΕΦΑΛΑΙΟ 2...21 ΕΝΙΣΧΥΤΙΚΗ ΜΑΘΗΣΗ (REINFORCEMENT LEARNING)...21 2.1 Ορισμός Ενισχυτικής Μάθησης...22 2.2 Παραδείγματα...23 2.3 Στοιχεία της ενισχυτικής μάθησης...25 2.4 Το πρόβλημα της ενισχυτικής μάθησης...27 2.4.1 Η διασύνδεση (Interface) πράκτορα-περιβάλλοντος...27 2.4.2 Return (Απόδοση)...29 2.4.3 Συναρτήσεις Αξίας...31 2.4.4 Συναρτήσεις βέλτιστης αξίας (Optimal Value Functions)...32 2.4.5 Περίληψη...33 2.5 Μάθηση Χρονικών Διαφορών (Temporal-Difference Learning)...34 2.5.1 TD Πρόβλεψη...34 2.5.2 Πλεονεκτήματα Μάθησης Χρονικών Διαφορών...35 2.5.3 Sarsa learning: Οn-policy TD control...36 2.5.4 Q-learning: Off-Policy TD Control...37 ΚΕΦΑΛΑΙΟ 3...39 Η ΜΕΘΟΔΟΣ Q-Learning ΜΕΣΑ ΑΠΟ ΠΑΡΑΔΕΙΓΜΑΤΑ...39 3.1 Το πρόβλημα του λαβύρινθου...39 3.2 Οι πύργοι του Hanoi...47 ΚΕΦΑΛΑΙΟ 4...51 TΟ ΑΣΥΡΜΑΤΟ ΣΥΣΤΗΜΑ ΕΚΠΟΜΠΗΣ ΔΕΔΟΜΕΝΩΝ ΚΑΤΟΠΙΝ ΑΙΤΗΣΗΣ ΜΕ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ ΔΙΑΣΥΝΔΕΔΕΜΕΝΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΜΕΘΟΔΟΥ Q-LEARNING...51 4.1 Η αρχιτεκτονική του συστήματος...51 4.2 Η αρχιτεκτονική της βάσης δεδομένων...52 4.3 Χρήση της μεθόδου Q-Learning στη διαχείριση της βάσης δεδομένων διασυνδεδεμένου περιεχομένου...54 4.4 Το προτεινόμενο on-demand σύστημα εκπομπής με βάση δεδομένων διασυνδεδεμένου περιεχομένου και χρήση πινάκων Q....60 4.5 Οι χρησιμοποιούμενοι αλγόριθμοι δρομολόγησης...63 4.5.1 Ο αλγόριθμος Random....63 4.5.2 Ο αλγόριθμος Longest Path First (LPF)...63 4.5.3 Ο αλγόριθμος Sorted by Demand (SbD)....64

4.5.4 Ο αλγόριθμος Sorted by Location (SbL)....65 ΚΕΦΑΛΑΙΟ 5...66 5.1 Οι μετρικές της προσομοίωσης...66 5.2 Σενάρια προσομοίωσης...67 5.2.1 Ο εξυπηρέτης...67 5.2.2 Οι χρήστες...74 5.3 Αποτελέσματα προσομοίωσης...74 5.4 Γενικά συμπεράσματα...91 5.5 Μελλοντικές επεκτάσεις...92

ΚΕΦΑΛΑΙΟ 1 ΔΡΟΜΟΛΟΓΗΣΗ ΔΕΔΟΜΕΝΩΝ ΣΕ ΑΣΥΡΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΕΚΠΟΜΠΗΣ Τα τελευταία χρόνια έχει παρατηρηθεί στην αγορά μια μεγάλη αύξηση στις ασύρματες εφαρμογές, κάτι που οφείλεται στην εμφάνιση των ασύρματων συσκευών, και δικτύων υψηλής ταχύτητας καθώς και στις σχετικές τεχνολογίες λογισμικού. Προβλέπεται ότι στο εγγύς μέλλον, ένας μεγάλος αριθμός από χρήστες φορητών συσκευών (π.χ. palmtops, laptops, PDAs, WAP phones κλπ.) θα έχουν πρόσβαση οποιαδήποτε στιγμή και από οποιοδήποτε σημείο σε ειδήσεις, δρομολόγια αερογραμμών, καιρικές συνθήκες, τιμές μετοχών και κάθε είδους πληροφορία. Υπάρχουν δύο βασικές μέθοδοι μετάδοσης πληροφορίας στις ασύρματες εφαρμογές δεδομένων: πρόσβαση από «σημείο-σε-σημείο» και εκπομπή. Στην πρόσβαση από σημείοσε-σημείο, εγκαθίσταται ένα λογικό κανάλι μεταξύ του πελάτη και του εξυπηρετητή, όπου ο πελάτης υποβάλλει αιτήματα και λαμβάνει τα αποτελέσματα από τον εξυπηρέτη με τον ίδιο τρόπο περίπου όπως συμβαίνει και σε ένα ενσύρματο δίκτυο. Στην εκπομπή, τα δεδομένα στέλνονται ταυτόχρονα προς όλους τους χρήστες που βρίσκονται στην εμβέλεια του εξυπηρέτη, και εξαρτάται από τον χρήστη ποια από αυτά θα επιλέξει. Αργότερα θα δούμε ότι σε ένα συγκεκριμένο είδος συστήματος εκπομπής, το λεγόμενο εκπομπή κατ απαίτηση (broadcast on-demand), ο πελάτης μπορεί επίσης να υποβάλει αιτήματα στον εξυπηρέτη έτσι ώστε να είναι σίγουρος ότι θα γίνει η εκπομπή των δεδομένων που θέλει. Σε σχέση με την πρόσβαση σημείου-σε-σημείο, η εκπομπή είναι πιο ελκυστική σα μέθοδος για τους εξής λόγους: Μία μεμονωμένη εκπομπή ενός δεδομένου μπορεί να ικανοποιήσει πολλούς χρήστες που ζητούν το ίδιο δεδομένο ταυτόχρονα ενώ ο αριθμός αυτών μπορεί να κλιμακωθεί. Τα κινούμενα ασύρματα περιβάλλοντα χαρακτηρίζονται από ασύμμετρη επικοινωνία, δηλαδή η χωρητικότητα στην επικοινωνία κάτω ζεύξης (downlink) είναι μεγαλύτερη σε σχέση με αυτή της άνω ζεύξης (uplink). Πράγμα το οποίο εκμεταλλεύεται η μέθοδος εκπομπής όταν μεταφέρονται δεδομένα στους πελάτες.

Ένα σύστημα ασύρματης επικοινωνίας στην ουσία χρησιμοποιεί ένα στοιχείο εκπομπής για να μεταφέρει την πληροφορία. Επομένως, η εκπομπή δεδομένων μπορεί να υλοποιηθεί χωρίς περαιτέρω κόστος. Σε αυτό το κεφάλαιο θα ασχοληθούμε με κάποια θέματα που αφορούν στα συστήματα εκπομπής, όπως η βελτίωση του χρόνου απόκρισης με ταυτόχρονη εξοικονόμηση ενέργειας και bandwith. Η αποδοτικότητα στην πρόσβαση (αccess efficiency) αλλά και η εξοικονόμηση ενέργειας (power conservation) είναι δύο κρίσιμα ζητήματα για κάθε ασύρματο σύστημα δεδομένων. Η αποδοτικότητα προσπέλασης αφορά στην ταχύτητα με την οποία ένα αίτημα ικανοποιείται, ενώ η εξοικονόμηση ενέργειας αφορά στη μείωση της κατανάλωσης ενέργειας από έναν κινούμενο πελάτη όταν αυτός προσπελαύνει τα δεδομένα. Αυτό είναι ιδιαίτερα σημαντικό λόγω της περιορισμένης ενέργειας που έχουν οι μπαταρίες των κινούμενων χρηστών, η οποία κυμαίνεται από μόλις λίγες ώρες μέχρι περίπου το μισό της μέρας υπό συνεχή χρήση. Επιπλέον, πρέπει να ληφθεί υπόψη το γεγονός ότι προβλέπεται μικρή αύξηση στην χωρητικότητα των μπαταριών για τα επόμενα χρόνια, της τάξης του 20-30% [1]. Στη βιβλιογραφία χρησιμοποιούνται δύο βασικές μετρικές απόδοσης, χρόνος προσπέλασης (access time) και χρόνος συντονισμού (tune-in time), για να μετρήσουν την αποδοτικότητα προσπέλασης και την εξοικονόμηση ενέργειας αντίστοιχα. Χρόνος προσπέλασης (access time): Ο χρόνος που μεσολαβεί από τη στιγμή που εκδίδεται ένα αίτημα μέχρι τη στιγμή που αυτό ικανοποιείται. Χρόνος συντονισμού (tune-in time): O χρόνος που ο κινούμενος πελάτης παραμένει ενεργός για να λάβει τα δεδομένα που ζήτησε. Προφανώς, η εκπομπή δεδομένων που δεν συνδέονται μεταξύ τους, αυξάνει τον χρόνο προσπέλασης του πελάτη, και επομένως, χειροτερεύει την αποδοτικότητα ενός συστήματος εκπομπής. Η δρομολόγηση ενός συστήματος εκπομπής, που καθορίζει τι ακριβώς θα μεταδοθεί από τον server, και πότε, θα πρέπει να σχεδιαστεί πολύ προσεκτικά. Υπάρχουν τρία είδη μοντέλων εκπομπής, η push-based, η κατ απαίτηση (pull-based/ on demand), και η υβριδική (hybrid) εκπομπή. Στην push-based [2,3], o server μεταδίδει την πληροφορία χρησιμοποιώντας ένα περιοδικό/ απεριοδικό πρόγραμμα εκπομπής (κατά κανόνα χωρίς την παρέμβαση από τους clients). Στην on-demand εκπομπή [4,5], ο server μεταδίδει την

πληροφορία με βάση τα αιτήματα που έχουν υποβάλει οι πελάτες, ενώ στην υβριδική [6, 7, 8], οι δύο προηγούμενες μέθοδοι συνδυάζονται. Επομένως, υπάρχουν τρία είδη δρομολόγησης δεδομένων, που αντιστοιχούν στα τρία αυτά μοντέλα εκπομπής. Στην εκπομπή δεδομένων, για να γίνει η λήψη από έναν κινούμενο client, πρέπει αυτός να παρακολουθεί συνέχεια την εκπομπή μέχρις ότου να φτάσει το συγκεκριμένο δεδομένο που τον ενδιαφέρει. Αυτό προκαλεί την σπατάλη πολλής ενέργειας της μπαταρίας αφού ο client πρέπει να μείνει ενεργός καθ όλη την αναμονή. Μία λύση σε αυτό το πρόβλημα είναι η μέθοδος air indexing. Σε αυτή την περίπτωση συμπεριλαμβάνονται επιπλέον πληροφορίες για τους χρόνους άφιξης των πακέτων δεδομένων στο κανάλι εκπομπής, και επομένως οι πελάτες μπορούν να προβλέψουν το χρόνο άφιξης των δεδομένων που τους αφορούν. Το μειονέκτημα αυτής της λύσης είναι ότι οι κύκλοι εκπομπής επιμηκύνονται ακριβώς λόγω της επιπλέον πληροφορίας που μεταδίδεται. Επομένως, υπάρχει ένα είδος «ανταλλαγής» (trade-off) μεταξύ του χρόνου προσπέλασης και του χρόνου συντονισμού. Έχουν παρουσιασθεί αρκετές τεχνολογίες δεικτοδότησης για ασύρματη εκπομπή, οι οποίες επιτυγχάνουν εξοικονόμηση ενέργειας μπαταρίας με παράλληλα μικρό χρόνο αναμονής μέχρι την προσπέλαση των δεδομένων. Ανάμεσα σε αυτές, η index tree [9] και η signature [10] είναι οι δύο πιο αντιπροσωπευτικές μέθοδοι για τη δεικτοδότηση καναλιών εκπομπής. 1.1 Push Δρομολόγηση Δεδομένων Σε μία push-based εκπομπή, ο server εκπέμπει τα δεδομένα εκ των προτέρων σε όλους τους πελάτες, με βάση το πρόγραμμα εκπομπής που παράγει ο αλγόριθμος δρομολόγησης δεδομένων. Το πρόγραμμα εκπομπής στην ουσία καθορίζει τη σειρά και τις συχνότητες με τις οποίες μεταδίδονται τα δεδομένα. Ο αλγόριθμος δρομολόγησης μπορεί να χρησιμοποιεί ήδη μεταφρασμένα (precompiled) μοντέλα πρόσβασης όταν καθορίζει το πρόγραμμα εκπομπής. Παρακάτω περιγράφονται τέσσερις τυπικές μέθοδοι για push-based δρομολόγηση: επίπεδη εκπομπή (flat broadcast), βασισμένη στις πιθανότητες εκπομπή (probabilisticbased), δίσκοι εκπομπής (broadcast disks), βέλτιστη δρομολόγηση (optimal scheduling).

1.1.1 Flat broadcast Είναι το πιο απλό σχέδιο για δρομολόγηση δεδομένων. Με ένα flat broadcast πρόγραμμα, όλα τα πακέτα δεδομένων μεταδίδονται με ένα round-robin τρόπο. Ο χρόνος πρόσβασης για κάθε δεδομένο είναι ο ίδιος, το μισό του κύκλου εκπομπής. Το σχέδιο αυτό είναι απλό, αλλά η απόδοσή του είναι χαμηλή σε ό,τι αφορά το μέσο χρόνο πρόσβασης όταν οι πιθανότητες πρόσβασης δεδομένων είναι κυρτωμένες (skewed). 1.1.2 Probabilistic-based Broadcast Για να βελτιωθεί η απόδοση σε μη ομοιόμορφη προσπέλαση δεδομένων, η probabilisticbased εκπομπή [11] επιλέγει ένα στοιχείο i, για το πρόγραμμα εκπομπής, με πιθανότητα όπου το f i καθορίζεται από την πιθανότητα προσπέλασης. Ο καλύτερος ορισμός για το f i δίνεται από τον επόμενο τύπο [11]: f i, f i = N j= 1 q i q j, (1.1) όπου q j είναι η πιθανότητα προσπέλασης ενός στοιχείου j, και Ν είναι ο αριθμός των στοιχείων στη βάση δεδομένων. Ένα μειονέκτημα της μεθόδου αυτής είναι ότι μπορεί να επιφέρει έναν τυχαία μεγάλο χρόνο προσπέλασης για ένα δεδομένο ενώ επιπλέον έχει κατώτερη απόδοση σε σχέση με άλλους αλγόριθμους για ανομοιόμορφη εκπομπή (skewed) [11]. 1.1.3 Broadcast Disks Στο [2] αναφέρθηκε μία ιεραρχική αρχιτεκτονική διάδοσης, η Broadcast Disks (Δίσκοι Εκπομπής). Τα δεδομένα ανατίθενται σε διαφορετικούς λογικούς δίσκους και ομαδοποιούνται σε κάθε δίσκο με βάση το εύρος της πιθανότητας προσπέλασης στο οποίο ανήκουν. Τα στοιχεία δεδομένων έπειτα, επιλέγονται για εκπομπή με βάση τις σχετικές

συχνότητες εκπομπής που έχουν ανατεθεί στους δίσκους. Αυτό επιτυγχάνεται με επιπλέον διαίρεση κάθε δίσκου σε μικρότερα, ισομεγέθη κομμάτια, ονομαζόμενα και chunks, τα οποία μεταδίδονται κυκλικά, ένα από κάθε δίσκο κάθε φορά, σειριακά. Ένας μικρός κύκλος ορίζεται ως ο υπο-κύκλος που αποτελείται από ένα chunk από κάθε δίσκο. Συνεπώς, τα στοιχεία δεδομένων σε ένα μικρό κύκλο εμφανίζονται μόνο μία φορά. Ο αριθμός των μικρών κύκλων σε έναν κύκλο εκπομπής ισούται με το ΕΚΠ των σχετικών συχνοτήτων εκπομπής των δίσκων. Εννοιολογικά, οι δίσκοι μπορούν να θεωρηθούν ως πραγματικοί, φυσικοί δίσκοι που περιστρέφονται σε διαφορετικές ταχύτητες, με τους γρηγορότερους δίσκους να τοποθετούν περισσότερα δεδομένα στο κανάλι εκπομπής σε σχέση με τους άλλους. Ο αλγόριθμος που παράγει τους δίσκους εκπομπής δίνεται παρακάτω: ΒΗΜΑ 1: Διέταξε τις σελίδες από τις περισσότερο στις λιγότερο δημοφιλείς. ΒΗΜΑ 2: Αφού έχουν διαταχθεί, να τις χωρίσεις σε ομάδες έτσι ώστε σε κάθε ομάδα να βρίσκονται σελίδες με παρόμοιες πιθανότητες ζήτησης, οι ομάδες αυτές είναι οι «δίσκοι». ΒΗΜΑ 3: Για κάθε δίσκο i βρες τη σχετική συχνότητα rel_freq(i) με την οποία θα μεταδίδονται τα στοιχεία του. ΒΗΜΑ 4: Βρες το ελάχιστο κοινό πολλαπλάσιο όλων των σχετικών συχνοτήτων. ΒΗΜΑ 5: Χώρισε τον κάθε δίσκο i σε μικρότερα κομμάτια(chunks) εφαρμόζοντας τον εξής τύπο: Num_chunks[i]=max_chunks/rel_freq[i],όπου max_chunks είναι το ΕΚΠ που υπολογίστηκε προηγουμένως,rel_freq[i] είναι η σχετική συχνότητα του i δίσκου και num_chunks[i] είναι ο αριθμός των κομματιών στα οποία τελικά χωρίστηκε ο i. ΒΗΜΑ 6: Δημιούργησε το πρόγραμμα εκπομπής παρεμβάλλοντας τις μονάδες του κάθε δίσκου με τον ακόλουθο τρόπο: for i=0 to max_chunks-1 { for j=1 to number_of_disks Broadcast chunk C j,k },όπου k=imod(num_chunks[j])

Το παρακάτω σχήμα (Σχ. 1.1) απεικονίζει ένα παράδειγμα όπου εφτά στοιχεία δεδομένων χωρίζονται σε τρεις ομάδες με παρόμοιες πιθανότητες ζήτησης και εκπέμπονται από τρεις διαφορετικούς δίσκους αντίστοιχα. Ο πρώτος περιστρέφεται με διπλάσια ταχύτητα από τον δεύτερο και τετραπλάσια από τον τρίτο. Ο κύκλος εκπομπής που παράγεται αποτελείται από τέσσερις μικρότερους κύκλους. Σχήμα 1.1 Μπορούμε να παρατηρήσουμε ότι η μέθοδος αυτή μπορεί να χρησιμοποιηθεί για την κατασκευή ιεραρχίας μνήμης τέτοιας ώστε τα στοιχεία που είναι πιο δημοφιλή να μεταδίδονται συχνότερα, προσαρμόζοντας τον αριθμό των δίσκων, το μέγεθος, τη σχετική ταχύτητα περιστροφής και τα δεδομένα που ανατίθενται σε κάθε δίσκο. 1.1.4 Optimal Push Scheduling Η βέλτιστες τεχνικές δρομολόγησης εκπομπής συζητήθηκαν στο [3,11,12,13]. Στο [3] άρθρο ανακαλύφθηκε ένας κανόνας τετραγωνικής ρίζας (square-root rule) για την ελαχιστοποίηση του χρόνου εξυπηρέτησης. Ο κανόνας λέει ότι ο ελάχιστος αναμενόμενος χρόνος για την εξυπηρέτηση ενός αιτήματος, επιτυγχάνεται όταν οι επόμενες συνθήκες ικανοποιούνται: 1. Τα στιγμιότυπα από κάθε στοιχείο δεδομένου είναι τοποθετημένα σε ίσα διαστήματα στο κανάλι εκπομπής.

2. Το διάστημα δύο συνεχόμενων στιγμιoτύπων ενός στοιχείου i είναι ανάλογο της s i τετραγωνικής ρίζας του μήκους του l i, και αντιστρόφως ανάλογο της τετραγωνικής ρίζας της πιθανότητας ζήτησής του q i, δηλ. s l / (1.2) i i q i s q 2 i i li ή = constant. (1.3) Εφ όσον αυτές οι δύο συνθήκες δεν είναι πάντα ταυτόχρονα εφικτές, ο online αλγόριθμος δρομολόγησης μπορεί μόνο να προσεγγίσει τα θεωρητικά αποτελέσματα. Ένα αποδοτικό ευριστικό σχέδιο παρουσιάσθηκε στο [13]. Αυτό, διατηρεί δύο μεταβλητές, κάθε στοιχείο i. B i και C i, για B i είναι ο συντομότερος χρόνος κατά τον οποίο το επόμενο στιγμιότυπο του i θα έπρεπε να αρχίσει να μεταδίδεται και Ci = Bi + s i. Το C i θα μπορούσε να εξηγηθεί ως «ο προτεινόμενος χρόνος ολοκλήρωσης στη χειρότερη περίπτωση», για την επόμενη μετάδοση του i. Έστω Ν είναι ο αριθμός των στοιχείων στη βάση δεδομένων και Τ ο τρέχων χρόνος. Ο online ευριστικός αλγόριθμος δρομολόγησης δίνεται παρακάτω: Heuristic Algorithm for Optimal Push Scheduling { Υπολόγισε το βέλτιστο spacing s i για κάθε στοιχείο i χρησιμοποιώντας την εξίσωση (1.2); Αρχικοποίησε T=0, B = 0 και C s, i=1,2,, N; While (system not terminated) { i i = i Καθόρισε ένα σύνολο στοιχείων S = { i B T,1 i N} ; Μετέδωσε το στοιχείο i με τη min C τιμή στο S (σε περίπτωση που έχουν ίδια τιμή, διάλεξε τυχαία); B imin = C ; i min C = B + s imin i i min min ; min Περίμενε για την ολοκλήρωση της μετάδοσης του στοιχείου i min ; i i

} T = T + l imin ; } Ο αλγόριθμος έχει πολυπλοκότητα O(logN) για κάθε απόφαση δρομολόγησης. Τα αποτελέσματα της προσομοίωσης δείχνουν ότι ο αλγόριθμος αυτός αποδίδει κοντά στα αναλυτικά κατώτατα όρια [13]. Στο [3], προτάθηκε και ένας bucket-based αλγόριθμος δρομολόγησης με χαμηλή επιβάρυνση ο οποίος βασίζεται στον κανόνα της τετραγωνικής ρίζας που προαναφέρθηκε. Σε αυτή την περίπτωση, η βάση δεδομένων χωρίζεται σε μερικούς «κάδους» (buckets) οι οποίοι φυλάσσονται σε κυκλικές ουρές. Ο αλγόριθμος επιλέγει να μεταδώσει το πρώτο στοιχείο από τον κάδο για τον οποίο η έκφραση ( ( )) 2 T R Im qm / lm παίρνει τη μέγιστη τιμή. Στην έκφραση, Τ είναι ο τρέχων χρόνος, R(i) ο χρόνος στον οποίο το στιγμιότυπο ενός στοιχείου i μεταδόθηκε πιο πρόσφατα, I m είναι το πρώτο στοιχείο στον κάδο m, και qm και lm είναι οι μέσες τιμές των s και l s των στοιχείων που βρίσκονται στον κάδο m. Να σημειωθεί ότι η έκφραση q i ( T R( I )) m 2 i q m / l m είναι παρόμοια με την Εξίσωση (11.3). Ο αλγόριθμος που βασίζεται σε «κάδους» είναι παραπλήσιος με τον αλγόριθμο εκπομπής δίσκων που προαναφέρθηκε. Σε αντίθεση όμως με τον τελευταίο, όπου η δρομολόγηση εκπομπής είναι σταθερή, ο bucket-based αλγόριθμος πραγματοποιεί τη δρομολόγηση σε πραγματικό χρόνο. Κατά συνέπεια, διαφέρουν στα επόμενα σημεία: Πρώτον, ένα πρόγραμμα εκπομπής που παράγεται με τη broadcast disk μέθοδο είναι περιοδικό, ενώ ο bucket-based αλγόριθμος δεν μπορεί να εγγυηθεί κάτι τέτοιο. Δεύτερον, στον bucket-based αλγόριθμο, κάθε εκπομπή περιέχει δεδομένα με βάση κάποια απόφαση δρομολόγησης, ενώ στην Bdisk μέθοδο μπορεί να υπάρχουν «τρύπες» στην εκπομπή. Τέλος, η συχνότητα εκπομπής για κάθε δίσκο επιλέγεται χειροκίνητα στην Bdisk μέθοδο, ενώ η συχνότητα για κάθε στοιχείο επιλέγεται αναλυτικά στην άλλη μέθοδο με στόχο την βέλτιστη απόδοση του συστήματος. Δυστυχώς, δεν έχει γίνει κάποια μελέτη για να συγκριθεί η απόδοσή τους. Σε ξεχωριστή μελέτη [14], το σύστημα εκπομπής μοντελοποιήθηκε ως μία ντετερμινιστική διαδικασία απόφασης Markov (Deterministic Markov Decision Process). Στο [14] άρθρο προτάθηκε μία κατηγορία αλγορίθμων Priority Index Policies with Length (PIPWL-γ) οι οποίοι εκπέμπουν το στοιχείο με το μεγαλύτερο λόγο ( p i i γ / l ) ( T R( i)), όπου

οι παράμετροι ορίζονται όπως προαναφέραμε. Στα πειράματα προσομοίωσης, οι PIPWL-0.5 είχαν καλύτερη απόδοση από άλλες ρυθμίσεις. 1.1.5 Τα προσαρμοστικά συστήματα push Οι περισσότερες μέθοδοι εκπομπής push συστημάτων απευθύνονται σε στατικά περιβάλλοντα καθώς δεν υπάρχει τρόπος ανανέωσης των πιθανοτήτων των σελίδων τους. Ωστόσο, οι εφαρμογές εκπομπής δεδομένων λειτουργούν σε κυρίως δυναμικά περιβάλλοντα. Στα [23, 23] έχουν προταθεί push-based σύστηματα που προσαρμόζονται στις δυναμικές απαιτήσεις των χρηστών. Το σύστημα χρησιμοποιεί ένα μανθάνον αυτόματο [24, 25] στον εξυπηρέτη, ώστε να παρέχει προσαρμοστικότητα στο προϋπάρχον στατικό push σύστημα εκπομπής δεδομένων, ενώ διατηρεί χαμηλή υπολογιστική πολυπλοκότητα του στατικού συστήματος. Χρησιμοποιώντας απλή ανάδραση από τους πελάτες, το αυτόματο προσαρμόζεται συνεχώς στις συνολικές απαιτήσεις του πληθυσμού των χρηστών έτσι ώστε να προσεγγίσει την πραγματική πιθανότητα ζήτησης της κάθε σελίδας πληροφορίας. Σε αντίθεση με τις στατικές μεθόδους, το προσαρμοστικό σύστημα παρέχει καλύτερη απόδοση σε περιβάλλοντα όπου οι απαιτήσεις των πελατών μεταβάλλονται με τον χρόνο και δεν είναι εκ των προτέρων γνωστές στον εξυπηρέτη. 1.2 On-demand Δρομολόγηση Δεδομένων Όπως μπορούμε να δούμε, οι Push-based ασύρματες εκπομπές δεδομένων δεν προσαρμόζονται στις ανάγκες κάποιου συγκεκριμένου χρήστη αλλά μάλλον ικανοποιούν τις ανάγκες των περισσοτέρων. Επιπλέον, οι push-based εκπομπές δεν μπορούν να κλιμακωθούν για μία μεγάλη βάση δεδομένων και αντιδρούν αργά σε αλλαγές του φόρτου εργασίας. Για να μετριασθούν αυτά τα προβλήματα, πολλές πρόσφατες μελέτες πάνω στην ασύρματη μετάδοση δεδομένων έχουν προτείνει τη χρήση εκπομπής κατ απαίτηση (On-demand), (π.χ. στο [4,5,12,15] ). Ένα ασύρματο, on-demand σύστημα εκπομπής, υποστηρίζει και εκπομπή και υπηρεσίες κατ απαίτηση μέσω ενός καναλιού εκπομπής και ενός uplink καναλιού χαμηλού bandwith. To uplink κανάλι μπορεί να είναι ενσύρματο ή ασύρματο. Όταν ο client ζητάει ένα δεδομένο, στέλνει στον server μέσω του uplink ένα αίτημα το οποίο, αν χρειάζεται, μπαίνει

σε σειρά αναμονής στον server μόλις φθάσει. Ο server κατ επανάληψη επιλέγει ένα στοιχείο από τα requests που εκκρεμούν, το μεταδίδει πάνω από το κανάλι εκπομπής, και απομακρύνει τα σχετικά requests από την ουρά. Οι clients παρακολουθούν το κανάλι εκπομπής και ανακτούν τα στοιχεία που τους ενδιαφέρουν. Ο αλγόριθμος δρομολόγησης σε εκπομπή on-demand καθορίζει ποιο αίτημα από την ουρά θα εξυπηρετηθεί σε κάθε στιγμή της εκπομπής. Παρακάτω περιγράφονται τεχνικές ondemand δρομολόγησης για σταθερού και μεταβλητού μεγέθους στοιχεία αλλά και τεχνικές που είναι αποδοτικές σε ό,τι αφορά την ενέργεια. 1.2.1 On-demand δρομολόγηση για ισομεγέθη στοιχεία Οι πρώτες μελέτες στην on-demand δρομολόγηση αφορούσαν μόνο ισομεγέθη στοιχεία δεδομένων. Η βελτιστοποίηση της απόδοσης στον μέσο χρόνο προσπέλασης (access time) ήταν ο στόχος προς επίτευξη. Παρακάτω αναφέρουμε τρεις αλγόριθμους που έχουν συγκριθεί με τον FCFS [16]: First-Come-First-Served (FCFS): Τα δεδομένα εκπέμπονται με τη σειρά στην οποία ζητούνται. Η μέθοδος αυτή είναι απλή αλλά έχει χαμηλή απόδοση στον μέσο access time για κυρτωμένα (skewed) αιτήματα δεδομένων. Most Requests First (MRF): Το στοιχείο με το μεγαλύτερο αριθμό αιτήσεων που εκκρεμούν μεταδίδεται και πρώτο. Αν υπάρχουν στοιχεία με ίδιο αριθμό η επιλογή γίνεται τυχαία. MRF Low (MRFL): Ο MRFL είναι στην ουσία ίδιος με τον MRF απλά σε περίπτωση που δύο στοιχεία έχουν ίδιο αριθμό requests επιλέγεται αυτό με τη μικρότερη πιθανότητα ζήτησης. Longest Wait First (LWF): Εδώ εκπέμπεται το στοιχείο με τον μεγαλύτερο συνολικό χρόνο αναμονής, που είναι το άθροισμα των επιμέρους χρόνων αναμονής από όλα τα pending requests για το συγκεκριμένο στοιχείο. Σύμφωνα με τα αριθμητικά αποτελέσματα που παρουσιάζονται στο [16], καταλήγουμε στις εξής παρατηρήσεις: Όταν ο φόρτος είναι λίγος, ο μέσος χρόνος προσπέλασης δεν επηρεάζεται από τον αλγόριθμο δρομολόγησης που χρησιμοποιείται, κάτι

που είναι αναμενόμενο αφού λίγες είναι οι αποφάσεις δρομολόγησης που πρέπει να ληφθούν σε αυτή την περίπτωση. Όσο αυξάνεται ο φόρτος, ο MRF δίνει την καλύτερη απόδοση σε access time όταν οι πιθανότητες ζήτησης είναι ίδιες για όλα τα στοιχεία. Όταν οι πιθανότητες ζήτησης ακολουθούν την Zipf κατανομή [17], ο LWF έχει την καλύτερη απόδοση και αμέσως μετά ακολουθεί ο MRFL. Παρ όλα αυτά, ο LWF δεν είναι πρακτικός για μεγάλα συστήματα καθώς σε κάθε απόφαση δρομολόγησης, πρέπει να επαναϋπολογίσει το συνολικό χρόνο αναμονής κάθε στοιχείου με pending requests ώστε να διαλέξει το κατάλληλο προς μετάδοση. Έτσι, ο MRFL προτείνεται ως εναλλακτική του LWF με μικρότερη επιβάρυνση στο [16]. Παρ όλα αυτά, στο [5] παρατηρήθηκε ότι ο MRFL έχει στα μεγάλα συστήματα τόσο χαμηλή απόδοση όσο και ο MRF. Ο λόγος είναι ότι σε μεγάλες βάσεις δεδομένων, δεν υπάρχει συνήθως ισοπαλία από pending requests για διαφορετικά δεδομένα επομένως o MRFL καταλήγει να χρησιμοποιείται ως MRF. Έτσι, στο [5] προτάθηκε μία προσέγγιση με χαμηλότερη επιβάρυνση που υποστηρίζει και περαιτέρω κλιμάκωση του συστήματος, η RxW. Ο RxW αλγόριθμος δρομολογεί για την επόμενη εκπομπή το στοιχείο με την μέγιστη R x W τιμή, όπου R είναι ο αριθμός των requests που εκκρεμούν για το συγκεκριμένο δεδομένο και W είναι το χρονικό διάστημα για το οποίο περίμενε το παλιότερο από τα requests. Η μέθοδος θα μπορούσε να υλοποιηθεί χωρίς μεγάλο κόστος αν διατηρούσαμε δύο λίστες με requests, όπου στη μία θα ήταν σε σειρά διάταξης με βάση το R και στην άλλη με βάση το W. Τα αποτελέσματα της προσομοίωσης δείχνουν ότι η απόδοση του RxW είναι κοντά σε αυτή του LWF, πράγμα που σημαίνει ότι είναι μία καλή εναλλακτική όταν η πολυπλοκότητα δρομολόγησης είναι μεγάλης σημασίας. Για να υπάρχει περαιτέρω μείωση της επιβάρυνσης (overhead) από την δρομολόγηση, αναπτύχθηκε ένας παραμετροποιημένος αλγόριθμος που βασίζεται στο RxW. Συγκεκριμένα, αναζητεί και επιλέγει το πρώτο στοιχείο που θα έχει RxW τιμή μεγαλύτερη ή ίση του γινομένουα threshold, όπου α είναι μια παράμετρος του συστήματος και threshold ο κινούμενος μέσος όρος των RxW τιμών από τα requests που έχουν ήδη εξυπηρετηθεί. Αλλάζοντας την α παράμετρο μπορούμε να προσαρμόσουμε το trade-off στην επίδοση μεταξύ του χρόνου προσπέλασης (access time) και της επιβάρυνσης που προκαλεί η δρομολόγηση. Για παράδειγμα, στην ακραία περίπτωση που α =0, η μέθοδος αυτή επιλέγει το πρώτο στοιχείο είτε της R είτε της W λίστας. Αυτό έχει μεν την μικρότερη πολυπλοκότητα δρομολόγησης αλλά η απόδοση στο χρόνο προσπέλασης μπορεί να μην είναι

πολύ καλή. Με μεγαλύτερες τιμές στο α, η απόδοση του access time μπορεί να βελτιωθεί, αλλά αντίστοιχα αυξάνεται και η πολυπλοκότητα της δρομολόγησης. 1.2.2 On-demand δρομολόγηση για στοιχεία διαφορετικού μεγέθους Στο [4] μελετήθηκε η δρομολόγηση on-demand για στοιχεία διαφορετικού μεγέθους. Προκειμένου να γίνει αξιολόγηση της απόδοσης, χρησιμοποιήθηκε μία νέα μετρική που ονομάζεται stretch: Stretch: Είναι ο λόγος του access time ενός αιτήματος προς το χρόνο εξυπηρέτησής του (service time), όπου service time είναι ο χρόνος που απαιτείται για να ολοκληρωθεί το request αν είναι το μοναδικό στο σύστημα. Συγκρινόμενη με το access time, η stretch θεωρείται πιο λογική σα μετρική για στοιχεία διαφορετικού μεγέθους, αφού λαμβάνει υπ όψη το μέγεθος (με το service time για παράδειγμα) του ζητούμενου στοιχείου. Με βάση το stretch, έχουν μελετηθεί τέσσερις διαφορετικοί αλγόριθμοι προεκχώρησης [4], όπου η απόφαση δρομολόγησης αξιολογείται ξανά μετά από την εκπομπή κάθε «σελίδας» ενός δεδομένου (θεωρούμε ότι τα στοιχεία μας αποτελούνται από μία ή περισσότερες σελίδες οι οποίες έχουν συγκεκριμένο μέγεθος και εκπέμπονται μαζί). Preemptive Longest Wait First (PLWF): Είναι η εκδοχή του LWF με προεκχώρηση, εδώ το κριτήριο LWF εφαρμόζεται κάθε φορά για να επιλεχθεί το επόμενο στοιχείο. Shortest Remaining Time First (SRTF): To στοιχείο με τον μικρότερο εναπομείναντα χρόνο επιλέγεται για εκπομπή. Longest Total Stretch First (LTSF): Επιλέγεται το στοιχείο με το μεγαλύτερο συνολικό current stretch. Εδώ ως current stretch, ενός request που εκκρεμεί, ορίζεται ο λόγος του χρόνου που βρίσκεται το request στο σύστημα έως τώρα προς το service time του. MAX algorithm: Για κάθε request που φτάνει στο σύστημα ορίζεται μία προθεσμία, και για την επόμενη εκπομπή δρομολογείται το στοιχείο με την πιο πρώιμη διορία. Για τον υπολογισμό του deadline ενός αιτήματος χρησιμοποιείται ο παρακάτω τύπος:

deadline = arrival _ time + service _ time SMAX, (1.4) όπου S MAX είναι η μέγιστη stretch τιμή των τελευταίων requests που ικανοποιήθηκαν με βάση κάποιο ιστορικό που διατηρείται (history window). Για να μειώσουμε την υπολογιστική πολυπλοκότητα, από τη στιγμή που θα οριστεί deadline για κάποιο request, η τιμή αυτή δεν μπορεί να αλλάξει ακόμα και αν ανανεωθεί το συγκεκριμένο request. S MAX προτού εξυπηρετηθεί το Στο [4] δείξανε ότι καμία από αυτές τις μεθόδους δεν είναι ανώτερη από τις άλλες. Η απόδοσή τους εξαρτάται από τις ρυθμίσεις του συστήματος. Γενικά, ο MAX αλγόριθμος, με μια απλή υλοποίηση αποδίδει αρκετά καλά και στις χειρότερες αλλά και στη μέσες τιμές σε access time και stretch. 1.2.3 Energy-efficient δρομολόγηση Στο [18] έλαβαν υπόψη το ζήτημα της εξοικονόμησης ενέργειας στις on-demand εκπομπές. Οι αλγόριθμοι που προτάθηκαν μετέδιδαν τα ζητούμενα δεδομένα σε ομάδες, χρησιμοποιώντας μια υπάρχουσα τεχνική δεικτοδότησης [9] για τα στοιχεία του τρέχοντα κύκλου εκπομπής. Με αυτό τον τρόπο, ένας κινούμενος πελάτης μπορεί να συντονίζεται σε ένα μικρό τμήμα της εκπομπής αντί να παρακολουθεί συνέχεια το κανάλι μέχρις ότου φτάσει το επιθυμητό πακέτο δεδομένων. Αυτό καθιστά την προτεινόμενη μέθοδο αποδοτική ως προς το θέμα της ενέργειας. Η δρομολόγηση δεδομένων βασίζεται στον παρακάτω τύπο προτεραιότητας: Priority = ASP IF PF (1.5) όπου το ΙF (Ignore Factor) υποδηλώνει τις φορές που το συγκεκριμένο στοιχείο δεν έχει συμπεριληφθεί στον κύκλο εκπομπής, PF (Popularity Factor) είναι ο αριθμός των requests για το στοιχείο αυτό, και ASP (Adaptive Scaling Factor) είναι ένας παράγοντας που

σταθμίζει τη βαρύτητα των IF και PF. Στο [18] μελετήθηκαν δύο ομάδες από πρωτόκολλα εκπομπής, το Constant Broadcast Size (CBS) - σταθερού μεγέθους εκπομπή - και το Variable Broadcast Size (VBS) - μεταβλητού μεγέθους εκπομπή -. Στο CBS εκπέμπονται δεδομένα σε φθίνουσα τιμή προτεραιότητας ενώ στο VBS μεταδίδονται όλα τα πακέτα με θετική σειρά προτεραιότητας. Τα αποτελέσματα της προσομοίωσης δείχνουν ότι το VBS υπερτερεί του CBS όταν ο φόρτος είναι ελαφρύς, ενώ σε μεγάλο φόρτο το CBS αποδίδει καλύτερα. 1.3 Υβριδική Δρομολόγηση Δεδομένων Η push-based εκπομπή δεδομένων δεν μπορεί να προσαρμοστεί καλά σε μεγάλες βάσεις δεδομένων και σε δυναμικά περιβάλλοντα. Η on-demand εκπομπή όμως μπορεί να προσπεράσει αυτά τα προβλήματα. Παρ όλα αυτά, έχει δύο βασικά μειονεκτήματα: 1) Εκδίδονται περισσότερα uplink μηνύματα από τους κινούμενους clients, καταναλώνοντας μέρος του uplink bandwith καθώς και την μπαταρία από τις συσκευές των clients; 2) αν υπάρχει συμφόρηση στο uplink κανάλι, η καθυστέρηση στην προσπέλαση των δεδομένων θα είναι πολύ υψηλή. Μια μέθοδος που έχει προοπτικές είναι η λεγόμενη υβριδική εκπομπή (hybrid broadcast), η οποία συνδυάζει τις push-based και on-demand τεχνικές έτσι ώστε να αλληλοσυμπληρώνονται. Κατά τη σχεδίαση ενός υβριδικού συστήματος, τρία ζητήματα πρέπει να ληφθούν υπ όψη: 1. Η μέθοδος προσπέλασης από την πλευρά του πελάτη, δηλ. από πού μπορεί να λάβει τα ζητούμενα δεδομένα και με ποιον τρόπο. 2. Η ανάθεση bandwith και καναλιού επικοινωνίας για την push-based και on-demand παράδοση. 3. Η ανάθεση ενός στοιχείου είτε στην push-based εκπομπή, είτε στην on-demand, είτε και στις δύο. Αναφορικά με αυτά τα ζητήματα, υπάρχουν τρεις διαφορετικές προτεινόμενες μέθοδοι υβριδικής εκπομπής στην βιβλιογραφία. Παρακάτω, παρουσιάζονται οι τεχνικές για balancing push and pull και adaptive hybrid broadcast.

1.3.1 Balancing Push and Pull Μία υβριδική αρχιτεκτονική μελετήθηκε πρώτη φορά στο [11, 19] και απεικονίζεται στο σχήμα 1.2. Εδώ, τα δεδομένα κατηγοριοποιούνται είτε ως «συχνά ζητούμενα (f-request) είτε ως «σπάνια ζητούμενα» (i-request). Θεωρείται δεδομένο ότι οι πελάτες γνωρίζουν ποια δεδομένα είναι f-requests και ποια i-requests. Το μοντέλο εξυπηρετεί τα f-requests χρησιμοποιώντας ένα κύκλο εκπομπής και τα i-requests κατ απαίτηση. Στη δρομολόγηση downlink κίνησης, o server κάνει Κ συνεχόμενες μεταδόσεις από f-requests (σύμφωνα με το πρόγραμμα εκπομπής), οι οποίες ακολουθούνται από τη μετάδοση του πρώτου στοιχείου της i-request ουράς (αν φυσικά υπάρχει τέτοιο). Αναλυτικά αποτελέσματα για το μέσο χρόνο προσπέλασης υπάρχουν στο [19]. Σχήμα 1.2: Αρχιτεκτονική Υβριδικής Εκπομπής Στο [6], παρουσιάζεται μία επέκταση του Broadcast Disk μοντέλου όπου και συνενώνεται με μία pull-based προσέγγιση. Η προτεινόμενη υβριδική λύση, που ονομάζεται Interleaved Push and Pull (IPP), αποτελείται από μία uplink σύνδεση για να στέλνουν οι clients στον server, pull requests για εκείνα τα δεδομένα που δε συμπεριλαμβάνονται στην push-based εκπομπή. Ο server διακόπτει (interleaves) την Bdisk εκπομπή για να στείλει απόκριση στα pull requests που υπάρχουν στο κανάλι εκπομπής. Για την βελτίωση της επεκτασιμότητας του IPP και σε μεγαλύτερα συστήματα, έχουν προταθεί τρεις διαφορετικές τεχνικές: 1. Προσαρμογή του bandwith που ανατίθεται σε push και pull. Αυτό είναι ένα είδος «ανταλλαγής» (trade-off) μεταξύ του πόσο γρήγορα γίνεται η push-based παράδοση των δεδομένων και του πόσο γρήγορα εξυπηρετείται η ουρά των pull requests. 2. Παροχή ενός Τ threshold (κατώφλι) για τα pull requests. Προτού στείλει ένα request στον server, ο client παρακολουθεί πρώτα το κανάλι εκπομπής για Τ χρόνο. Αν το ζητούμενο δεδομένο δεν εμφανιστεί, ο πελάτης στέλνει ένα pull request στον server. Με την τεχνική αυτή αποφεύγεται η υπερφόρτωση της pull υπηρεσίας καθώς ένας

πελάτης θα «τραβήξει» (pull) ένα στοιχείο μόνο στην περίπτωση που ο server καθυστερήσει πολύ να το ωθήσει (push). 3. Διαδοχική περικοπή των στοιχείων που ωθούνται, από το πιο αργό κομμάτι της δρομολόγησης εκπομπής. Αυτό προκαλεί αύξηση του διαθέσιμου bandwith για την pull υπηρεσία. Το μειονέκτημα της μεθόδου αυτής είναι ότι αν δεν υπάρχει επαρκές bandwith για pull service, η απόδοση θα πέσει σημαντικά αφού τα στοιχεία που δεν εκπέμπονται θα παρουσιάζουν πολύ μεγάλη καθυστέρηση μέχρι να υποστούν pull. 1.3.2 Adaptive Hybrid Broadcast Στο [20,21] μελετήθηκαν στρατηγικές προσαρμοστικής εκπομπής για δυναμικά συστήματα. Οι μελέτες αυτές βασίζονται στο υβριδικό μοντέλο, όπου τα πιο συχνά προσπελάσιμα δεδομένα φθάνουν στους clients με βάση την flat broadcast, ενώ τα λιγότερο συχνά προσπελάσιμα στοιχεία παρέχονται από σημείο-σε-σημείο μέσω ενός ξεχωριστού καναλιού. Στο [21], προτάθηκε μία τεχνική που προσαρμόζει συνεχώς το εκπεμπόμενο υλικό έτσι ώστε να συμβαδίζει με το πιο δημοφιλές στοιχείο της database. Για να γίνει αυτό, κάθε στοιχείο συσχετίζεται με μία «θερμοκρασία» που αντιστοιχεί στο ρυθμό ζήτησής του και επομένως μπορεί να είναι σε μία από τις εξής πιθανές καταστάσεις : αέριο (vapor), υγρό (liquid) ή παγωμένο (frigid). Τα λεγόμενα vapor δεδομένα είναι αυτά που έχουν υψηλή ζήτηση και μεταδίδονται αυτή τη στιγμή; Τα liquid είναι αυτά που έχουν κάποια σχετική ζήτηση μέχρι στιγμής, η οποία όμως δεν είναι αρκετή ώστε να μεταδοθούν προς το παρόν; Τα frigid data είναι τα μη δημοφιλή. Η συχνότητα προσπέλασης (access frequency), και κατά συνέπεια η κατάσταση, ενός στοιχείου μπορεί να υπολογισθεί δυναμικά από τον αριθμό των on-demand requests που έχουν ληφθεί μέσω του uplink καναλιού. Για παράδειγμα, τα liquid data μπορούν να γίνουν vapor data εάν ληφθούν περισσότερα requests. Τα αποτελέσματα της προσομοίωσης δείχνουν ότι η τεχνική αυτή ταιριάζει πολύ καλά σε φόρτο εργασίας που αλλάζει γρήγορα. Μία άλλη μέθοδος για προσαρμοστική εκπομπή, συζητήθηκε στο [20], όπου έχουμε σταθερή ανάθεση καναλιού για την εκπομπή και επικοινωνία σημείου-σε-σημείο. Η ιδέα είναι η μεγιστοποίηση (όχι βέβαια η υπερφόρτωση) της χρήσης των διαθέσιμων point-topoint καναλιών έτσι ώστε να επιτευχθεί ένα καλύτερο σύστημα συνολικά.

ΚΕΦΑΛΑΙΟ 2 ΕΝΙΣΧΥΤΙΚΗ ΜΑΘΗΣΗ (REINFORCEMENT LEARNING) Η ιδέα ότι μαθαίνουμε μέσω της αλληλεπίδρασης με το περιβάλλον, είναι ίσως το πρώτο πράγμα που μας έρχεται στο μυαλό όταν σκεφτόμαστε τη φύση της μάθησης. Όταν ένα παιδί παίζει, κουνάει τα χέρια του, ή παρατηρεί γενικά, δεν έχει κάποιον συγκεκριμένο δάσκαλο αλλά έχει άμεση αισθητηριακή-κινητική (sensorimotor) σχέση με το περιβάλλον του. Η εξάσκηση αυτής της σχέσης παράγει πλούσιες πληροφορίες για το αίτιο και το αιτιατό, για τις συνέπειες των πράξεων, και για το τι πρέπει να κάνει κάποιος, προκειμένου να επιτύχει τους στόχους του. Κατά τη διάρκεια της ζωής μας, αυτές οι αλληλεπιδράσεις είναι αναμφίβολα μία τεράστια πηγή γνώσης για το περιβάλλον και τους εαυτούς μας. Όταν μαθαίνουμε πώς να οδηγούμε ένα αυτοκίνητο ή πώς να συμμετέχουμε σε μία συζήτηση, αντιλαμβανόμαστε έντονα τον τρόπο με τον οποίο αντιδρά το περιβάλλον σε αυτό που κάνουμε, και επιζητούμε να επηρεάσουμε την εξέλιξη των πραγμάτων μέσω της συμπεριφοράς μας. Η μάθηση μέσα από την αλληλεπίδραση είναι μία θεμελιώδης ιδέα, πάνω στην οποία βασίζονται σχεδόν όλες οι θεωρίες περί της μάθησης και της νοημοσύνης. Στην υπολογιστική (computational) προσέγγιση της μάθησης μέσα από την αλληλεπίδραση, υιοθετούμε την αντίληψη ενός ερευνητή ή μηχανικού τεχνητής νοημοσύνης. Ερευνούμε σχεδιασμούς για μηχανές που είναι αποτελεσματικές στην επίλυση προβλημάτων μάθησης, τα οποία είναι επιστημονικού ή οικονομικού ενδιαφέροντος. Οι σχεδιασμοί αυτοί στη συνέχεια, αξιολογούνται μέσα από μαθηματική ανάλυση ή υπολογιστικά πειράματα. Η προσέγγιση που ερευνούμε, γνωστή ως ενισχυτική μάθηση (reinforcement learning), είναι πολύ πιο επικεντρωμένη στην στοχευμένη μάθηση μέσω αλληλεπίδρασης σε σχέση με άλλες μεθόδους της μηχανικής μάθησης (machine learning) [26-35].

2.1 Ορισμός Ενισχυτικής Μάθησης Ενισχυτική μάθηση σημαίνει να μάθει κάποιος τι πρέπει να κάνει πώς να αντιστοιχίσει καταστάσεις με ενέργειες έτσι ώστε να μεγιστοποιήσει μία αριθμητική ένδειξη η οποία αποτελεί ένα είδος αμοιβής (numerical reward signal). Οι ενέργειες αυτές δε γνωστοποιούνται στο μαθητευόμενο, όπως συμβαίνει στις περισσότερες μορφές μηχανικής μάθησης, αλλά αντιθέτως εκείνος πρέπει από μόνος του να ανακαλύψει ποιες θα του αποδώσουν τη μέγιστη αμοιβή δοκιμάζοντας. Στις πιο ενδιαφέρουσες και απαιτητικές περιπτώσεις, οι ενέργειες μπορεί να επηρεάσουν όχι μόνο το άμεσο κέρδος αλλά και την επόμενη κατάσταση επίσης, και συνεπώς όλες τις επακόλουθες αμοιβές. Αυτά τα δύο χαρακτηριστικά έρευνα δοκιμής-λάθους και καθυστερημένη αμοιβή είναι και τα πιο σημαντικά γνωρίσματα της ενισχυτικής μάθησης. Η ενισχυτική μάθηση προσδιορίζεται όχι από το χαρακτηρισμό των μεθόδων μάθησης, αλλά από το χαρακτηρισμό ενός προβλήματος μάθησης. Κάθε μέθοδος που εξυπηρετεί στην επίλυση αυτού του προβλήματος, θεωρείται μέθοδος ενισχυτικής μάθησης. Ένας πράκτορας (πράκτορας μάθησης που αλληλεπιδρά με το περιβάλλον του για να επιτύχει ένα στόχο) πρέπει να μπορεί να ανιχνεύει (sense) την κατάσταση του περιβάλλοντος, μέχρι ένα σημείο, και να μπορεί να δρα με τέτοιο τρόπο ώστε να επηρεάζει την κατάσταση αυτή. Ο πράκτορας πρέπει επίσης να έχει έναν στόχο, ή στόχους, που να σχετίζονται με την κατάσταση του περιβάλλοντος. Ο σχεδιασμός προορίζεται να περιλαμβάνει μόνο αυτές τις τρεις πτυχές αίσθηση, δράση, στόχο στην πιο απλή μορφή τους χωρίς να τις καθιστά πολύπλοκες. Μία από τις προκλήσεις που υπάρχουν στην ενισχυτική μάθηση, και όχι σε κάποιο άλλο είδος μάθησης, είναι το trade-off μεταξύ της εξερεύνησης (exploration) και της εκμετάλλευσης (exploitation). Για την απόκτηση μεγάλης αμοιβής, ένας πράκτορας ενισχυτικής μάθησης πρέπει να προτιμά ενέργειες που είχε δοκιμάσει και στο παρελθόν και φάνηκαν αποτελεσματικές ως προς την αμοιβή. Για να τις ανακαλύψει όμως αυτές, πρέπει αναγκαστικά να δοκιμάσει καινούργιες που δεν είχε επιλέξει ξανά. Ο πράκτορας πρέπει να εκμεταλλεύεται ό,τι ήδη γνωρίζει ώστε να αποκτά κέρδος, αλλά πρέπει επίσης και να εξερευνά έτσι ώστε να κάνει καλύτερες επιλογές ενεργειών στο μέλλον. Το δίλημμα είναι ότι δεν μπορεί να επιδιώξει αποκλειστικά ούτε την έρευνα ούτε και την εκμετάλλευση χωρίς να αποτύχει στην αποστολή του. Ο πράκτορας πρέπει να δοκιμάζει διάφορες ενέργειες και σταδιακά να προτιμά αυτές που φαίνονται να αποδίδουν καλύτερα. Σε μία στοχαστική διεργασία, κάθε ενέργεια πρέπει να δοκιμαστεί πολλές φορές έτσι ώστε να υπάρχει μια αξιόπιστη εκτίμηση του αναμενόμενου κέρδους. Άλλο ένα χαρακτηριστικό γνώρισμα της

ενισχυτικής μάθησης είναι ότι εξετάζει επαρκώς το γενικό πρόβλημα ενός στοχευμένου πράκτορα που αλληλεπιδρά με ένα αβέβαιο περιβάλλον. Η ενισχυτική μάθηση ακολουθεί την αντίθετη τακτική, αρχίζοντας από έναν ολοκληρωμένο, διαδραστικό πράκτορα, που αναζητά το στόχο του. Όλοι οι πράκτορες ενισχυτικής μάθησης έχουν συγκεκριμένους στόχους, μπορούν να αισθανθούν πτυχές του περιβάλλοντός τους, και μπορούν να επιλέξουν ενέργειες που να επηρεάσουν το περιβάλλον τους. Επιπλέον, συνήθως θεωρούμε δεδομένο εξ αρχής ότι ο πράκτορας πρέπει να λειτουργήσει παρά την όποια αβεβαιότητα σχετικά με το περιβάλλον που αντιμετωπίζει. Η ενισχυτική μάθηση είναι μέρος μιας γενικής τάσης προς την καλύτερη επικοινωνία μεταξύ της τεχνητής νοημοσύνης και των άλλων μηχανικών επιστημών. Μέχρι σχετικά πρόσφατα, η τεχνητή νοημοσύνη θεωρούνταν σχεδόν ανεξάρτητη από τη θεωρία ελέγχου και τη στατιστική, είχε να κάνει με λογική και σύμβολα, όχι με αριθμούς. Η τεχνητή νοημοσύνη ήταν στην ουσία μεγάλα LISP προγράμματα, όχι γραμμική άλγεβρα, διαφορικές εξισώσεις ή στατιστική. Αυτή η άποψη όμως σταδιακά άλλαξε τις τελευταίες δεκαετίες. Οι σύγχρονοι ερευνητές τεχνητής νοημοσύνης δέχονται αλγόριθμους στατιστικής και ελέγχου για παράδειγμα, ως σχετικές ανταγωνιστικές μεθόδους ή απλά ως εργαλεία της επιστήμης τους. Οι άγνωστες, μέχρι πρότινος, περιοχές μεταξύ της τεχνητής νοημοσύνης και της συμβατικής μηχανικής, είναι τώρα από τους πιο ενεργούς τομείς, μαζί με τα νευρωνικά δίκτυα, τον ευφυή έλεγχο, και την ενισχυτική μάθηση. Στην ενισχυτική μάθηση επεκτείνουμε ιδέες από τη θεωρία βέλτιστου ελέγχου (optimal control theory) και τη στοχαστική προσέγγιση (stochastic approximation) ώστε να επιτύχουμε τους στόχους της τεχνητής νοημοσύνης. 2.2 Παραδείγματα Ένας καλός τρόπος για να κατανοήσουμε την ενισχυτική μάθηση, είναι να σκεφτούμε κάποια από τα παραδείγματα και τις πιθανές εφαρμογές που οδήγησαν στην ανάπτυξή της. Ένας μετρ στο σκάκι, κάνει μια κίνηση. Η επιλογή γίνεται με βάση και την απάντηση που αναμένει από τον αντίπαλο, αλλά και εικάζοντας τη θέση ή κίνηση που θα ήταν επιθυμητή από τον αντίπαλο. Ένας προσαρμοστικός ελεγκτής ρυθμίζει τις παραμέτρους λειτουργίας σε ένα διϋλιστήριο πετρελαίου σε πραγματικό χρόνο. Ο ελεγκτής βελτιστοποιεί το trade-off

μεταξύ απόδοσης/ κόστους/ ποιότητας με βάση συγκεκριμένα, οριακά κόστη, χωρίς να προσκολλάται αυστηρά στους στόχους (set points) που προτείνουν οι μηχανικοί. Ένα κινούμενο ρομπότ αποφασίζει αν θα πρέπει να μπει σε ένα ακόμα δωμάτιο για να ψάξει μήπως υπάρχουν κι άλλα σκουπίδια να μαζέψει ή αν θα πρέπει να πάει πίσω στο σταθμό επαναφόρτισης της μπαταρίας του. Λαμβάνει την απόφαση βασιζόμενο στο πόσο γρήγορα και εύκολα κατάφερε να βρει τον φορτιστή στο παρελθόν. Τα παραδείγματα αυτά έχουν μεταξύ τους κοινά κάποια χαρακτηριστικά τα οποία είναι τόσο βασικά ώστε είναι εύκολο να τα παραβλέψουμε. Όλα περιλαμβάνουν αλληλεπίδραση μεταξύ ενός ενεργού πράκτορα που λαμβάνει αποφάσεις, με το περιβάλλον του, στο οποίο αναζητά να επιτύχει έναν στόχο παρά την όποια αβεβαιότητα. Οι ενέργειες του πράκτορα επιτρέπεται να επηρεάσουν τη μελλοντική κατάσταση του περιβάλλοντος (π.χ. η επόμενη θέση στο σκάκι, τα επίπεδα των reservoirs στο διϋλιστήριο, η επόμενη τοποθεσία του ρομπότ), και κατά συνέπεια να επηρεάσουν τις επιλογές και ευκαιρίες που θα έχει ο πράκτορας μελλοντικά. Η σωστή επιλογή απαιτεί να λαμβάνονται υπόψη έμμεσες συνέπειες των ενεργειών, και επομένως μπορεί να απαιτεί σχεδίαση ή προνοητικότητα. Παρόλα αυτά, σε όλα αυτά τα παραδείγματα οι συνέπειες των ενεργειών δεν μπορούν να προβλεφθούν πλήρως, επομένως, ο πράκτορας πρέπει να παρακολουθεί το περιβάλλον του συχνά και να αντιδρά καταλλήλως. Όλα αυτά τα παραδείγματα εμπεριέχουν στόχους που είναι πολύ σαφείς, υπό την έννοια ότι ο πράκτορας μπορεί να κρίνει την πρόοδο προς τον στόχο με βάση τι αισθάνεται άμεσα εκείνη την ώρα. Ο παίκτης του σκάκι γνωρίζει αν κερδίζει ή όχι, ο ελεγκτής στο διϋλιστήριο γνωρίζει πόσο πετρέλαιο παράγεται, το κινούμενο ρομπότ γνωρίζει πότε οι μπαταρίες του τελειώνουν. Σε όλα αυτά τα παραδείγματα ο πράκτορας μπορεί να χρησιμοποιήσει την εμπειρία του για να βελτιώσει την απόδοσή του με τον καιρό. Ο παίκτης του σκάκι βελτιώνει τη «διαίσθηση» που χρησιμοποιεί για να αξιολογεί τις διάφορες θέσεις βελτιώνοντας και το παίξιμό του. Η γνώση που προσθέτει ο πράκτορας στην αρχή κάθε αποστολής - προερχόμενη είτε από προηγούμενη εμπειρία με παρεμφερείς καταστάσεις είτε από το σχεδιασμό του επηρεάζει το τι είναι χρήσιμο ή εύκολο να μάθει. Όμως, η αλληλεπίδραση με το περιβάλλον είναι απαραίτητη για να προσαρμόσει τη συμπεριφορά ώστε να επωφεληθεί από συγκεκριμένα χαρακτηριστικά της αποστολής.

2.3 Στοιχεία της ενισχυτικής μάθησης Πέρα από τον πράκτορα και το περιβάλλον, κανείς μπορεί να αναγνωρίσει τέσσερα βασικά συστατικά ενός συστήματος ενισχυτικής μάθησης: μία τακτική (policy), μία συνάρτηση αμοιβής (reward function), μία συνάρτηση αξίας (value function), και ένα μοντέλο (model) του περιβάλλοντος. Μία τακτική ορίζει τον τρόπο με τον οποίο ο μαθητευόμενος πράκτορας συμπεριφέρεται σε ένα δεδομένο χρόνο. Γενικά, είναι η αντιστοίχηση από τις καταστάσεις του περιβάλλοντος, όπως τις αντιλαμβάνεται, στις ενέργειες που πρέπει να γίνουν σε αυτές τις καταστάσεις. Σε μερικές περιπτώσεις η πολιτική μπορεί να είναι μία απλή συνάρτηση ή ένας πίνακας αναζήτησης (lookup table), ενώ σε άλλες μπορεί να εμπεριέχει εκτεταμένο υπολογισμό όπως μία διαδικασία αναζήτησης. Η πολιτική είναι ο πυρήνας του πράκτορα στην ενισχυτική μάθηση υπό την έννοια ότι από μόνη της είναι αρκετή για να καθορίσει τη συμπεριφορά του. Μία συνάρτηση αμοιβής ορίζει το στόχο σε ένα πρόβλημα ενισχυτικής μάθησης. Σε γενικές γραμμές, αντιστοιχίζει κάθε αντιλαμβανόμενη κατάσταση (ή ζευγάρι κατάστασηενέργεια) του περιβάλλοντος σε έναν μοναδικό αριθμό, μία αμοιβή (reward), υποδεικνύοντας το πόσο επιθυμητή είναι αυτή η κατάσταση. Ο μοναδικός στόχος ενός τέτοιου πράκτορα είναι η μεγιστοποίηση της συνολικής αμοιβής που λαμβάνει με την πάροδο του χρόνου. Η συνάρτηση αμοιβής ορίζει ποια είναι τα καλά και τα άσχημα γεγονότα για τον πράκτορα, δηλαδή τα άμεσα και χαρακτηριστικά γνωρίσματα του προβλήματος που αντιμετωπίζει ο πράκτορας. Επομένως, η συνάρτηση πρέπει αναγκαστικά να είναι αμετάβλητη από τον πράκτορα, μπορεί όμως να χρησιμοποιηθεί για να αλλάξει η πολιτική. Για παράδειγμα, αν μία ενέργεια που επιλέγεται από την πολιτική ακολουθείται από χαμηλή αμοιβή, τότε η πολιτική μπορεί να μεταβληθεί ώστε να επιλεγεί κάποια άλλη ενέργεια στην κατάσταση αυτή στο μέλλον. Ενώ η συνάρτηση αμοιβής υποδεικνύει τι είναι καλό άμεσα, μία συνάρτηση αξίας προσδιορίζει τι είναι καλό μακροπρόθεσμα. Με λίγα λόγια, η αξία μίας κατάστασης είναι η συνολική αμοιβή που μπορεί να περιμένει ένας πράκτορας να αποκομίσει μελλοντικά, ξεκινώντας από εκείνη την κατάσταση. Ενώ οι αμοιβές προσδιορίζουν τις άμεσα επιθυμητές καταστάσεις, οι αξίες υποδηλώνουν τις μακροπρόθεσμα επιθυμητές καταστάσεις αφού λάβουν υπόψη τις καταστάσεις που μπορεί να επακολουθήσουν, και τις διαθέσιμες αμοιβές σε εκείνες τις καταστάσεις. Για παράδειγμα, μία κατάσταση μπορεί να αποδίδει πάντα μία χαμηλή αμοιβή αλλά μπορεί να έχει υψηλή αξία επειδή συχνά ακολουθείται από άλλες

καταστάσεις που αποδίδουν υψηλές αμοιβές, και το αντίστροφο. Για να μιλήσουμε αναλογικά με ανθρώπινες καταστάσεις, οι αμοιβές είναι σαν την απόλαυση (αν είναι υψηλές) και τον πόνο (αν είναι χαμηλές), ενώ οι αξίες αντιστοιχούν σε μία πιο ώριμη και ολοκληρωμένη κρίση του πόσο ευχαριστημένοι ή δυσαρεστημένοι είμαστε από μία συγκεκριμένη κατάσταση. Οι αμοιβές είναι κατά μία έννοια πρωταρχικές, ενώ οι αξίες, ως πρόβλεψη των αμοιβών, είναι δευτερεύουσες. Χωρίς τις αμοιβές δε θα υπήρχαν αξίες και ο μόνος λόγος για να γίνεται εκτίμηση των αξιών είναι να επιτύχουμε μεγαλύτερες αμοιβές. Παρόλα αυτά, οι αξίες είναι αυτές που μας απασχολούν περισσότερο όταν λαμβάνουμε και αξιολογούμε αποφάσεις. Οι επιλογές των πράξεων γίνονται με βάση την εκτίμηση αξίας. Αναζητούμε ενέργειες που επιφέρουν καταστάσεις τις υψηλότερης αξίας, όχι της υψηλότερης αμοιβής, κι αυτό γιατί οι ενέργειες αυτές αποκτούν τη μεγαλύτερη αμοιβή για μας, με την πάροδο του χρόνου. Στη λήψη αποφάσεων και το σχεδιασμό, η ποσότητα που προκύπτει και ονομάζεται αξία, είναι και αυτή που μας ενδιαφέρει περισσότερο. Δυστυχώς, είναι πολύ πιο δύσκολο να καθοριστούν οι αξίες απ ό,τι οι αμοιβές. Οι τελευταίες δίδονται βασικά κατευθείαν από το περιβάλλον, οι αξίες όμως πρέπει να εκτιμηθούν ξανά και ξανά μέσα από μια σειρά παρατηρήσεων που κάνει ένας πράκτορας στη διάρκεια της «ζωής» του. Για την ακρίβεια, το πιο σημαντικό συστατικό σχεδόν όλων των αλγορίθμων ενισχυτικής μάθησης, είναι η μέθοδος που υπολογίζουμε αποδοτικά τις αξίες. Ο κεντρικός ρόλος της εκτίμησης της αξίας είναι εύλογα, το πιο σημαντικό πράγμα που μάθαμε για την ενισχυτική μάθηση τις τελευταίες δεκαετίες. Το τέταρτο και τελευταίο στοιχείο κάποιων συστημάτων ενισχυτικής μάθησης είναι ένα μοντέλο του περιβάλλοντος, κάτι δηλαδή που μιμείται τη συμπεριφορά του περιβάλλοντος. Για παράδειγμα, δεδομένης μίας κατάστασης και μίας ενέργειας, το μοντέλο μπορεί να προβλέψει την επόμενη κατάσταση και αμοιβή που θα προκύψουν. Τα μοντέλα χρησιμοποιούνται για το σχεδιασμό, όπου με τον όρο αυτό εννοούμε τον τρόπο λήψης απόφασης κατά τη διάρκεια μίας ενέργειας, σκεπτόμενοι τις πιθανές μελλοντικές καταστάσεις προτού αυτές γίνουν πραγματικότητα. Η ενσωμάτωση των μοντέλων και του σχεδιασμού στα συστήματα ενισχυτικής μάθησης είναι ένα σχετικά νέο φαινόμενο. Τα πρώτα συστήματα ενισχυτικής μάθησης ήταν αποκλειστικά μαθητευόμενοι τύπου δοκιμήςλάθους, αυτό δηλαδή που έκαναν ήταν σχεδόν αντίθετο του σημερινού σχεδιασμού. Παρόλα αυτά, σταδιακά έγινε κατανοητό το γεγονός ότι οι μέθοδοι ενισχυτικής μάθησης είναι στενά συνδεδεμένες με τον δυναμικό προγραμματισμό, όπου χρησιμοποιούνται μοντέλα, αλλά είναι συνδεδεμένες και με τις μεθόδους σχεδίασης χώρου καταστάσεων (state-space

planning). Η σύγχρονη ενισχυτική μάθηση εκτείνεται σε όλο το φάσμα μεταξύ ης χαμηλού επιπέδου τύπου δοκιμής-λάθους μάθησης, έως τον υψηλού επιπέδου σχεδιασμό. 2.4 Το πρόβλημα της ενισχυτικής μάθησης 2.4.1 Η διασύνδεση (Interface) πράκτορα-περιβάλλοντος Το πρόβλημα της ενισχυτικής μάθησης είναι μία ξεκάθαρη διατύπωση του προβλήματος της μάθησης μέσω αλληλεπίδρασης για την επίτευξη ενός στόχου. Αυτός που μαθαίνει και λαμβάνει τις αποφάσεις είναι ο λεγόμενος πράκτορας (agent), και όλα αυτά με τα οποία αλληλεπιδρά, είναι το περιβάλλον (environment) του. Η διάδραση είναι συνεχής, με τον πράκτορα να επιλέγει ενέργειες και το περιβάλλον να ανταποκρίνεται σε αυτές τροφοδοτώντας τον πράκτορα με καινούργιες καταστάσεις. Ακόμη, το περιβάλλον δίνει αφορμή για αμοιβές, ειδικές αριθμητικές τιμές τις οποίες ο πράκτορας προσπαθεί να μεγιστοποιήσει με την πάροδο του χρόνου. Μία ολοκληρωμένη περιγραφή του περιβάλλοντος ορίζει μία αποστολή (task), ένα στιγμιότυπο δηλαδή του προβλήματος ενισχυτικής μάθησης. Πιο συγκεκριμένα, ο πράκτορας και το περιβάλλον αλληλεπιδρούν σε κάθε ένα από μια σειρά βημάτων διακριτού χρόνου t = 0,1, 2,3,.... Σε κάθε ένα βήμα χρόνου, ο πράκτορας λαμβάνει κάποια αναπαράσταση της κατάστασης του περιβάλλοντος,, όπου είναι το σύνολο όλων των πιθανών καταστάσεων, και σε αυτή τη βάση λοιπόν επιλέγει μία ενέργεια at A( st ), όπου As ( t ) είναι το σύνολο των διαθέσιμων ενεργειών στη συγκεκριμένη κατάσταση s. Στο αμέσως επόμενο βήμα χρόνου, σαν συνέπεια της ενέργειάς του, ο πράκτορας λαμβάνει μία αμοιβή (reward) r t + 1 t R, και βρίσκεται σε μία νέα κατάσταση s t+ 1. Το σχήμα 2.1 απεικονίζει την αλληλεπίδραση πράκτορα-περιβάλλοντος.

Σχήμα 2.1: Η αλληλεπίδραση πράκτορα-περιβάλλοντος στην ενισχυτική μάθηση. Σε κάθε βήμα, ο πράκτορας υλοποιεί μία αντιστοίχηση από καταστάσεις σε πιθανότητες επιλογής κάθε ενέργειας. Η αντιστοίχηση αυτή αποτελεί την πολιτική (policy) του πράκτορα και δηλώνεται ως π, όπου π ( sa, ) είναι η πιθανότητα ότι a a αν s t t t = t Οι μέθοδοι ενισχυτικής μάθησης προσδιορίζουν το πώς θα αλλάξει ο πράκτορας την πολιτική του με βάση την εμπειρία του. Ο στόχος του πράκτορα, με λίγα λόγια, είναι η μεγιστοποίηση της συνολικής αμοιβής που θα λάβει μακροπρόθεσμα. = s. Ο καλύτερος τρόπος για να το δούμε αυτό είναι να σκεφτούμε παραδείγματα του πώς έχει ή πώς θα μπορούσε να χρησιμοποιηθεί. Για παράδειγμα, για να μάθει ένα ρομπότ πώς να περπατάει, οι ερευνητές παρέχουν αμοιβή σε κάθε χρονικό βήμα, ανάλογη με την εμπρόσθια κίνηση του ρομπότ. Για να το κάνουν να μάθει πώς να διαφεύγει από έναν λαβύρινθο, η αμοιβή είναι συχνά μηδενική, έως ότου καταφέρει να βγει, οπότε και γίνεται +1. Μία ακόμα συνηθισμένη προσέγγιση στην αποστολή με λαβύρινθο, είναι να δίνουν αμοιβή ίση με -1 για κάθε χρονικό βήμα που περνάει μέχρι να βγει από το λαβύρινθο, κάτι που αποτελεί κίνητρο για τον πράκτορα ώστε να βγει όσο το δυνατόν πιο γρήγορα. Για να κάνουν ένα ρομπότ να μάθει πώς να εντοπίζει και να συλλέγει άδεια κουτιά αναψυκτικού προς ανακύκλωση, κάποιοι μπορούν να δίνουν αμοιβή ίση με 0 την περισσότερη ώρα, και μετά +1 για κάθε κουτάκι που θα συλλέγει (και θα επιβεβαιώνεται ότι είναι και άδειο). Κάποιος άλλος μπορεί επίσης να θέλει να δώσει στο ρομπότ αρνητική αμοιβή όταν σκοντάφτει πάνω σε πράγματα ή όταν κάποιος του φωνάζει. Για να μάθει ένας πράκτορας να παίζει ντάμα ή σκάκι, οι φυσιολογικές αμοιβές είναι +1 όταν κερδίζει, -1 όταν χάνει, και 0 για απλή αλλαγή θέσης και για όλες τις μη τερματικές θέσεις. Μπορούμε να δούμε τι γίνεται σε όλα αυτά τα παραδείγματα. Ο πράκτορας πάντα μαθαίνει να μεγιστοποιεί την αμοιβή του. Αν θέλουμε να κάνει κάτι για μας, πρέπει να του

παρέχουμε αμοιβές κατά τέτοιον τρόπο ώστε όταν τις μεγιστοποιεί, ταυτόχρονα να επιτυγχάνει και τους στόχους μας. Επομένως, είναι σημαντικό οι αμοιβές που θέτουμε να υποδεικνύουν ουσιαστικά τι θέλουμε να επιτευχθεί. Ειδικότερα, την πρότερη γνώση για το πώς θα επιτύχει αυτό που θέλουμε δεν πρέπει να τη μεταδώσουμε στο σήμα αμοιβής. Για παράδειγμα, ένας πράκτορας που παίζει σκάκι θα έπρεπε να αμείβεται μόνο για ουσιαστική νίκη, και όχι για την επίτευξη μικρότερων στόχων (subgoals), όπως επειδή πήρε τα πιόνια του αντιπάλου ή επειδή κέρδισε τον έλεγχο στο κέντρο της σκακιέρας. Αν η επίτευξη τέτοιων μικρών στόχων ανταμειβόταν, ο πράκτορας μπορεί να έβρισκε τρόπο να τους επιτύχει χωρίς τελικά να επιτύχει τον πραγματικό και τελικό στόχο. Για παράδειγμα, μπορεί να έβρισκε τρόπο να πάρει τα πιόνια του αντιπάλου ακόμα και με αντίτιμο να χάσει το παιχνίδι. Το σήμα αμοιβής (reward signal) είναι ο τρόπος για να γνωστοποιούμε στο ρομπότ τι θέλουμε να επιτύχει, όχι πώς θα το επιτύχει. 2.4.2 Return (Απόδοση) Μέχρι στιγμής ήμασταν λίγο ανακριβείς σε ό,τι αφορά το σκοπό της μάθησης. Έχουμε πει ότι ο στόχος του πράκτορα είναι η μεγιστοποίηση της αμοιβής που λαμβάνει μακροπρόθεσμα. Πώς μπορεί αυτό να οριστεί επίσημα? Αν η ακολουθία των αμοιβών που λαμβάνονται μετά από t χρόνο, ορίζεται ως r, r, r,..., τότε ποια πλευρά ακριβώς αυτής t+ 1 t+ 2 t+ 3 της ακολουθίας επιθυμούμε να μεγιστοποιήσουμε? Γενικά, επιδιώκουμε να μεγιστοποιήσουμε την αναμενόμενη απόδοση (expected return), όπου η απόδοση ορίζεται ως κάποια συγκεκριμένη συνάρτηση της ακολουθίας αμοιβής. Στην πιο απλή περίπτωση η απόδοση είναι το άθροισμα των αμοιβών R = r + r + r + + r T t t+ 1 t+ 2 t+ 3... (2.1) όπου Τ είναι το τελικό χρονικό βήμα. Η προσέγγιση αυτή έχει νόημα για εφαρμογές στις οποίες υπάρχει μία φυσική έννοια τελικού χρονικού βήματος. Όταν δηλαδή η αλληλεπίδραση πράκτορα-περιβάλλοντος σπάει φυσικά σε υποακολουθίες, τα λεγόμενα επεισόδια, όπως είναι για παράδειγμα οι γύροι ενός παιχνιδιού, οι περιπλανήσεις σε ένα λαβύρινθο και γενικά κάθε είδους επαναλαμβανόμενη διάδραση. Κάθε επεισόδιο καταλήγει σε μία ειδική κατάσταση που ονομάζεται τερματική κατάσταση (terminal state), ακολουθούμενο από

επανεκκίνηση σε μία τυπική αρχική κατάσταση ή σε ένα δείγμα από μία τυπική κατανομή αρχικών καταστάσεων. Οι εργασίες με επεισόδια τέτοιου είδους καλούνται episodic tasks. Η επιπλέον έννοια που χρειαζόμαστε είναι αυτή του discounting. Σύμφωνα με αυτή την προσέγγιση, ο πράκτορας προσπαθεί να επιλέξει ενέργειες τέτοιες ώστε το άθροισμα των discounted (προεξοφλητικών) αμοιβών που θα λάβει στο μέλλον να μεγιστοποιηθεί. Ειδικότερα, επιλέγει για να μεγιστοποιήσει την αναμενόμενη discounted απόδοση ( discounted return): 2 k t t+ 1 γ t+ 2 γ t+ 3... γ t+ k+ 1 k= 0 R r r r r = + + + = (2.2) όπου γ είναι μια παράμετρος 0 γ 1, που ονομάζεται discount rate. To discount rate καθορίζει την παρούσα αξία μελλοντικών αμοιβών: μία αμοιβή που λαμβάνεται σε k βήματα στο μέλλον, αξίζει μόνο k 1 γ φορές αυτού που θα άξιζε αν λαμβανόταν άμεσα. Ανγ < 1, το άπειρο άθροισμα έχει πεπερασμένη αξία εφόσον η ακολουθία αμοιβής { } k r είναι φραγμένη. Ανγ = 0, ο πράκτορας είναι «μυωπικός» με την έννοια ότι ενδιαφέρεται μόνο για τη μεγιστοποίηση των άμεσων αμοιβών: ο σκοπός του στην περίπτωση αυτή είναι να μάθει πώς να επιλέγει τέτοιο ώστε να μεγιστοποιεί μόνο r t + 1. Αν κάθε ενέργεια του πράκτορα γινόταν μόνο για να επηρεάσει την άμεση αμοιβή, και όχι και τις μελλοντικές, τότε ο «μυωπικός» πράκτορας θα μπορούσε να μεγιστοποιήσει, μεγιστοποιώντας ξεχωριστά κάθε άμεση αμοιβή. Γενικά όμως, το να ενεργεί για τη μεγιστοποίηση της άμεσης αμοιβής μπορεί να μειώσει την πρόσβαση στις μελλοντικές αμοιβές με τέτοιο τρόπο ώστε να μειωθεί τελικά η απόδοση. Όσο το γ πλησιάζει το 1, οι μελλοντικές αμοιβές λαμβάνονται περισσότερο υπόψη, ο πράκτορας γίνεται πιο «διορατικός».

2.4.3 Συναρτήσεις Αξίας Σχεδόν όλοι οι αλγόριθμοι ενισχυτικής μάθησης βασίζονται στην εκτίμηση συναρτήσεων αξίας (value functions) συναρτήσεις των καταστάσεων (ή ζευγαριών κατάστασης-ενέργειας) που υπολογίζουν πόσο καλό είναι για τον πράκτορα να είναι σε μία δεδομένη κατάσταση (ή πόσο καλό είναι να προβαίνει σε μία δεδομένη ενέργεια όταν βρίσκεται σε μία δεδομένη κατάσταση). Η έννοια του «πόσο καλό» εδώ ορίζεται αναφορικά με τις μελλοντικές αμοιβές που μπορούν να αναμένονται, ή, για να ακριβολογούμε, αναφορικά με την αναμενόμενη απόδοση. Φυσικά, οι αμοιβές που μπορεί να περιμένει ο πράκτορας μελλοντικά, εξαρτώνται από τις ενέργειές του. Ανάλογα, οι συναρτήσεις αξίας ορίζονται αναφορικά με συγκεκριμένες πολιτικές. Θυμηθείτε ότι μία πολιτική,, είναι μία αντιστοίχηση από κάθε κατάσταση, s S, και ενέργεια a A() s, στην πιθανότητα π (, sa) της λήψης ενέργειας α όταν βρισκόμαστε στην κατάσταση s. Άτυπα, η αξία μιας κατάστασης s κάτω από μία πολιτική π, που ορίζεται V π () s, είναι η αναμενόμενη απόδοση όταν ξεκινάμε στην s και ακολουθούμε την π από εκεί και πέρα. Για Markov διαδικασίες λήψης αποφάσεων (MDPs), μπορούμε να ορίσουμε επίσημα το V π () s ως { } t+ k+ 1 V π k () s = E R s = s = E r s = s (2.3) π t t π γ t k= 0 όπου E π {} υποδηλώνει την αναμενόμενη αξία δεδομένου ότι ο πράκτορας ακολουθεί πολιτική π, και t είναι κάθε χρονικό βήμα. Να σημειωθεί ότι η αξία της τερματικής κατάστασης, αν υπάρχει, είναι πάντα 0. Καλούμε τη συνάρτησηv π, συνάρτηση κατάστασηςαξίας για πολιτική (state-value function for policy ). Παρόμοια, ορίζουμε την αξία της ενέργειας στην κατάσταση s κάτω από μία πολιτική π, π με άλλα λόγ ιαq ( s, a), ως την αναμενόμενη απόδοση ξεκινώντας από το s, κάνοντας το α, και ακολουθώντας την πολιτική από κει και πέρα:

k { } t+ k+ 1 π t t t π γ t t = (2.4) k= 0 Q π (, sa ) = E Rs = sa, = a = E r s = sa, a Ονομάζουμε Q π τη συνάρτηση ενέργειας-αξίας για την πολιτική. Οι συναρτήσεις αξίας V π και Q π μπορούν να εκτιμηθούν με βάση την εμπειρία. 2.4.4 Συναρτήσεις βέλτιστης αξίας (Optimal Value Functions) Το να επιλύουμε ένα θέμα ενισχυτικής μάθησης σημαίνει, σε γενικές γραμμές, να βρίσκουμε μία πολιτική (policy) που επιφέρει υψηλή αμοιβή με την πάροδο του χρόνου. Για πεπερασμένες MDPs, μπορούμε να ορίσουμε ακριβώς μία βέλτιστη πολιτική με τον εξής τρόπο. Οι συναρτήσεις αξίας ορίζουν μια επιμέρους διάταξη στις πολιτικές. Μία πολιτική π ορίζεται ως καλύτερη ή ίση από μία άλλη π εάν η αναμενόμενη απόδοσή της είναι μεγαλύτερη ή ίση αυτήν της π για όλες τις καταστάσεις. Με άλλα λόγια, π π αν και μόνο αν π π ' V s V s () () για όλα τα s S. Υπάρχει πάντα τουλάχιστον μία πολιτική καλύτερη ή ισάξια όλων των άλλων. Αυτή είναι μία βέλτιστη πολιτική (optimal policy). Αν και μπορεί να υπάρχουν περισσότερες από μία, υποδηλώνουμε όλες τις βέλτιστες πολιτικές με π Μοιράζονται την ίδια συνάρτηση κατάστασης-αξίας (state-value), που ονομάζεται συνάρτηση βέλτιστης κατάστασης-αξίας (optimal state-value function), δηλώνεται ως V *, και ορίζεται ως *. για όλα τα s S. V * () s max V π = () s π (2.5) Οι βέλτιστες πολιτικές μοιράζονται επίσης την ίδια συνάρτηση βέλτιστης ενέργειας-αξίας (optimal action-value), που δηλώνεται ως Q *, και ορίζεται ως

* π Q (, s a) max Q (, s a) = (2.6) π για όλα τα s S και a A() s. Για το ζευγάρι κατάσταση-ενέργεια (s, α), η συνάρτηση αυτή δίνει την αναμενόμενη απόδοση για την ενέργεια α που έγινε σε κατάσταση s και για την βέλτιστη πολιτική που ακολουθήθηκε από κει και πέρα. Επομένως, μπορούμε να γράψουμε το Q * αναφορικά με το ως εξής: * { r t+ 1 +γ V ( st + 1) t t } Q* (, s a) E s s, a a = = = (2.7) 2.4.5 Περίληψη Ας συνοψίσουμε τα στοιχεία του προβλήματος ενισχυτικής μάθησης που παρουσιάσαμε σε αυτό το κεφάλαιο. Η ενισχυτική μάθηση έχει να κάνει με τη μάθηση μέσω αλληλεπίδρασης του πώς πρέπει να συμπεριφέρεται κάποιος ώστε να επιτύχει ένα στόχο. Ο πράκτορας ενισχυτικής μάθησης και το περιβάλλον του αλληλεπιδρούν μέσα από μία ακολουθία διακριτών χρονικών βημάτων. Ο προσδιορισμός της διασύνδεσής τους (Interface) ορίζει μία συγκεκριμένη εργασία: οι ενέργειες είναι οι επιλογές που γίνονται από τον πράκτορα; οι καταστάσεις είναι η βάση για τη λήψη των αποφάσεων; και οι αμοιβές είναι η βάση για την αξιολόγηση των επιλογών. Κάθε τι μέσα στον πράκτορα είναι πλήρως γνωστό και ελεγχόμενο από τον πράκτορα; οτιδήποτε έξω από αυτόν είναι πλήρως μη ελεγχόμενο αλλά μπορεί να είναι ή να μην είναι γνωστό. Μία πολιτική είναι ένας στοχαστικός κανόνας με τον οποίο ο πράκτορας επιλέγει ενέργειες συναρτήσει των καταστάσεων. Ο στόχος του πράκτορα είναι η μεγιστοποίηση της αμοιβής που λαμβάνει με τον καιρό. Η απόδοση είναι η συνάρτηση των μελλοντικών αμοιβών που επιζητά ο πράκτορας να μεγιστοποιήσει. Οι συναρτήσεις αξίας μιας πολιτικής αναθέτουν σε κάθε κατάσταση, ή ζευγάρι κατάστασηςενέργειας, την αναμενόμενη απόδοση από αυτή την κατάσταση, ή το ζεύγος κατάστασης-

ενέργειας, δεδομένου ότι ο πράκτορας χρησιμοποιεί αυτή την πολιτική. Οι συναρτήσεις βέλτιστης αξίας αναθέτουν σε κάθε κατάσταση, ή ζευγάρι κατάστασης-ενέργειας, τη μεγαλύτερη αναμενόμενη απόδοση που μπορεί να επιτευχθεί από οποιαδήποτε πολιτική. Μία πολιτική της οποίας οι συναρτήσεις αξίας είναι βέλτιστες είναι μία βέλτιστη πολιτική. 2.5 Μάθηση Χρονικών Διαφορών (Temporal-Difference Learning) Αν κάποιος έπρεπε να αναγνωρίσει μία ιδέα ως κεντρική και πρωτότυπη στην ενισχυτική μάθηση, αυτή θα ήταν αδιαμφισβήτητα η μάθηση χρονικών διαφορών (temporaldifference/td). Η TD μάθηση είναι ένας συνδυασμός από ιδέες Monte Carlo και δυναμικό προγραμματισμό (Dynamic Programming/DP). Όπως στις Monte Carlo μεθόδους, οι TD μέθοδοι μπορούν να μάθουν απευθείας από σκέτη εμπειρία, χωρίς μοντέλο της δυναμικής του περιβάλλοντος. Όπως οι DP, έτσι και οι TP μέθοδοι ανανεώνουν τις εκτιμήσεις τους με βάση, εν μέρει, άλλες εκτιμήσεις μάθησης, χωρίς να περιμένουν για τελικό αποτέλεσμα (bootstrap). Η σχέση μεταξύ των μεθόδων TD, DP και Monte Carlo, είναι ένα επαναλαμβανόμενο θέμα στη θεωρία της ενισχυτικής μάθησης. 2.5.1 TD Πρόβλεψη Και η ΤD αλλά και η Monte Carlo μέθοδος χρησιμοποιούν την εμπειρία για να λύσουν το πρόβλημα πρόβλεψης. Δεδομένης κάποιας εμπειρίας και ακολουθώντας μία πολιτική π, και οι δύο μέθοδοι ανανεώνουν την εκτίμησή τους V του V π. Εάν μεταβεί κάποιος πράκτορας σε μία μη τερματική κατάσταση s t στον χρόνο t, και οι δύο μέθοδοι ανανεώνουν την εκτίμηση V(s t ) με βάση του τι γίνεται μετά από αυτή τη μετάβαση. Γενικά, οι Monte Carlo μέθοδοι περιμένουν μέχρι να γίνει γνωστή η απόδοση (return) που ακολουθεί τη μετάβαση, και τότε τη χρησιμοποιούν ως στόχο για το V(s t ). Μία απλή every-visit Monte Carlo μέθοδος, που είναι κατάλληλη για κινούμενα (nonstationary) περιβάλλοντα είναι η εξής: [ ] V( s ) V( s ) + α R V( s ) t t t t (2.8)

όπου είναι η πραγματική απόδοση που ακολουθεί από το χρόνο t και είναι μία σταθερή παράμετρος μεγέθους-βήματος (step-size). Ας ονομάσουμε αυτή τη μέθοδο constant- MC. Ενώ οι Monte Carlo μέθοδοι πρέπει να περιμένουν μέχρι το τέλος του επεισοδίου για να καθορίσουν την αύξηση στο V( s ) (μόνο τότε είναι γνωστό το R ), οι TD μέθοδοι πρέπει να t περιμένουν μόνο μέχρι το επόμενο χρονικό βήμα. Στον χρόνο t+1 αμέσως σχηματίζουν έναν στόχο και κάνουν μία χρήσιμη ανανέωση χρησιμοποιώντας την αμοιβή r t t+1 που παρατηρήθηκε και την εκτίμησηv( s t + 1). Η απλούστερη TD μέθοδος, γνωστή ως TD(0), είναι η εξής: [ γ ] V( s ) V( s ) + α r + V( s ) V( s ) t t t+ 1 t+ 1 t (2.9) Στην ουσία, ο στόχος για την Monte Carlo ανανέωση είναι το ανανέωση είναι το t+ 1+ γ t( t+ 1). r V s, ενώ ο στόχος για την TD Αρχικοποίησε το V(s) τυχαία, το π στην πολιτική που αξιολογείται Επανέλαβε (για κάθε επεισόδιο): Αρχικοποίησε s Επανέλαβε (για κάθε βήμα του επεισοδίου): α ενέργεια που δίνεται από την π για s Κάνε το α; Παρατήρησε την αμοιβή r, και επόμενη κατάσταση, s V( s) V( s) + a[ r+ γv( s') V( s)] s s ' μέχρι το s να γίνει τερματικό Σχήμα 2.2: TD(0) για τον υπολογισμό V π. 2.5.2 Πλεονεκτήματα Μάθησης Χρονικών Διαφορών Οι μέθοδοι μάθησης χρονικών διαφορών (TD learning methods) είναι αυξητικές (incremental), με αποτέλεσμα η πολυπλοκότητα υπολογισμού τους να είναι μικρή. Η μάθηση

συντελείται μεταξύ διαδοχικών χρονικών στιγμών και όχι στο τέλος, όπως συμβαίνει με τις Monte Carlo μεθόδους. Επιπλέον, οι TD μέθοδοι χρησιμοποιούν πιο αποδοτικά την εμπειρία τους με αποτέλεσμα να συγκλίνουν ταχύτερα και να κάνουν καλύτερες προβλέψεις. Επίσης δεν χρειάζεται να γνωρίζουν το μοντέλο του περιβάλλοντος, όπως οι μέθοδοι Δυναμικού Προγραμματισμού. Μαθαίνουν κατευθείαν από την εμπειρία που έχουν σχετικά με μια συγκεκριμένη στρατηγική π και ανανεώνουν σε κάθε χρονική στιγμή τον υπολογισμό τους V για την V π. Στην πραγματικότητα οι TD μέθοδοι δεν χρησιμοποιούνται μόνο για τον υπολογισμό συναρτήσεων προσέγγισης. Αποτελούν γενικότερες μεθόδους για την μάθηση της δυνατότητας μακροπρόθεσμων προβλέψεων σε δυναμικά συστήματα. Για παράδειγμα μπορούν να χρησιμοποιηθούν για την πρόβλεψη οικονομικών δεδομένων, καιρικών προτύπων, τάσεων αγοράς, συμπεριφοράς ζώων, αναγνώριση φωνής... Και παρά το γεγονός ότι οι εφαρμογές τους είναι ήδη αρκετές αξίζει να σημειώσουμε πως οι δυνατότητες και η δυναμική των TD μεθόδων δεν έχει εξερευνηθεί ακόμη πλήρως. 2.5.3 Sarsa learning: Οn-policy TD control O αλγόριθμος του SARSA αποτελεί μια TD μέθοδο που μαθαίνει τις συναρτήσεις αξιολόγησης κινήσεων βάσει ενός μηχανισμού αυτοδύναμης εκκίνησης (bootstrapping mechanism), αυτό σημαίνει πως οι εκτιμήσεις που κάνει στηρίζονται σε προηγούμενες εκτιμήσεις. Σε κάθε βήμα, ο αλγόριθμος SARSA ανανεώνει τις εκτιμήσεις των συναρτήσεων αξιολόγησης Q(s,a) χρησιμοποιώντας την πεντάδα (s,a,r,s',a'), η οποία εξάλλου έδωσε και το όνομα του αλγορίθμου. Ο ψευδοκώδικας του αλγορίθμου SARSA είναι ο ακόλουθος: Αρχικοποίησε το Qsa (, ) τυχαία Επανέλαβε (για κάθε επεισόδιο): Αρχικοποίησε το s Επέλεξε το a από το s χρησιμοποιώντας την πολιτική που προκύπτει από Q (π.χ ε-greedy) Επανέλαβε (για κάθε βήμα του επεισοδίου): Κάνε το α, παρατήρησε το r, s Επέλεξε το α από s χρησιμοποιώντας την πολιτική που προκύπτει από Q (π.χ ε-greedy) Qsa (, ) Qsa (, ) + α[ r+ γ Qs ( ', a') Qsa (, )]

s s'; a a' ; Μέχρι το s να γίνει τερματικό Σχήμα 2.3: Sarsa: An on-policy TD control algorithm. 2.5.4 Q-learning: Off-Policy TD Control Μία από τις πιο σημαντικές εξελίξεις στην ενισχυτική μάθηση, ήταν και η ανάπτυξη ενός off-policy TD αλγορίθμου ελέγχου, γνωστού ως Q-learning (Watkins, 1989). H απλούστερη μορφή του, one-step Q-learning, ορίζεται ως εξής: Qs (, a) Qs (, a) + α[ r + γ max Qs (, a) Qs (, a)] t t t t t+ 1 t+ 1 t t a (2.10) Σε αυτή την περίπτωση, η συνάρτηση ενέργειας-αξίας, που μαθαίνεται, απευθείας πλησιάζει το, τη βέλτιστη συνάρτηση ενέργειας-αξίας, ανεξαρτήτως της πολιτικής που ακολουθείται. Αυτό απλοποιεί εντυπωσιακά την ανάλυσή του. H πολιτική έχει ακόμα μια επίδραση υπό την έννοια ότι καθορίζει ποια είναι τα ζευγάρια κατάστασης-ενέργειας στα οποία γίνεται μετάβαση και ανανέωση. Παρόλα αυτά, το μόνο που απαιτείται για σωστή σύγκλιση είναι τα ζευγάρια να συνεχίσουν να ανανεώνονται. Όπως παρατηρήσαμε στο κεφάλαιο 5, αυτή είναι η ελάχιστη προϋπόθεση, δηλαδή κάθε μέθοδος που εγγυάται ότι θα βρει τη βέλτιστη συμπεριφορά στη γενική περίπτωση πρέπει να το απαιτεί. Με αυτό το σκεπτικό, και μία παραλλαγή στις συνηθισμένες προϋποθέσεις στοχαστικής προσέγγισης πάνω στην ακολουθία των step-size παραμέτρων, το Q t έχει δείξει να συγκλίνει με πιθανότητα 1 προς Q *. Ο Q-learning αλγόριθμος παρουσιάζεται σε διαδικαστική μορφή στο σχήμα 2.4.

Αρχικοποίησε το Qsa (, ) τυχαία Επανέλαβε (για κάθε επεισόδιο): Αρχικοποίησε το s Επανέλαβε (για κάθε βήμα του επεισοδίου): Επέλεξε το a από το s χρησιμοποιώντας την πολιτική που προκύπτει από Q (π.χ ε-greedy) Κάνε το α, παρατήρησε το r, s Qsa (, ) Qsa (, ) + α[ r+ γ max Qs ( ', a') Qsa (, )] s s'; Μέχρι το s να γίνει τερματικό a' Σχήμα 2.4: Q-learning: An off-policy TD control algorithm.

ΚΕΦΑΛΑΙΟ 3 Η ΜΕΘΟΔΟΣ Q-Learning ΜΕΣΑ ΑΠΟ ΠΑΡΑΔΕΙΓΜΑΤΑ 3.1 Το πρόβλημα του λαβύρινθου Υποθέτουμε ότι έχουμε ένα σπίτι με 5 δωμάτια μέσα σε ένα κτίριο συνδεδεμένα με πόρτες όπως φαίνεται στο σχήμα 3.1 στην συνέχεια. Σε κάθε δωμάτιο δίνουμε ένα γράμμα από το Α ως το Ε. Τον χώρο εξωτερικά του σπιτιού τον θεωρούμε ένα ενιαίο χώρο (δωμάτιο) στον οποίο έχουμε δώσει το γράμμα F. Από το σχήμα φαίνεται ότι υπάρχουν δύο πόρτες που οδηγούν απευθείας στον χώρο F μέσα από τα δωμάτια Β και Ε. Σχήμα 3.1: Κάτοψη του σπιτιού. Τα δωμάτια και οι πόρτες μπορούν να παρασταθούν με ένα γράφο στον οποίο το κάθε δωμάτιο δηλώνεται σαν κόμβος και η κάθε πόρτα σαν μία ακμή από τον ένα κόμβο στον άλλο. Σχήμα 3.2: Η κάτοψη του σπιτιού σε γράφο.

Τοποθετούμε έναν πράκτορα σε οποιοδήποτε δωμάτιο (A-E) θέλοντας να βρεθεί στον εξωτερικό χώρο του σπιτιού (χώρος F). Με άλλα λόγια θέτουμε σαν δωμάτιο στόχο τον κόμβο F. Για να θέσουμε έναν τέτοιου είδους στόχο δίνουμε μια τιμή επιβράβευσης (reward value) σε κάθε πόρτα, σε κάθε κόμβο του γράφου δηλαδή. Στις πόρτες που οδηγούν απευθείας στο χώρο F (κόμβος-στόχος), θέτουμε reward value ίση με 100. Στις λοιπές πόρτες με τις οποίες δεν έχουμε άμεση πρόσβαση στο χώρο F, θέτουμε reward value ίση με 0. Επειδή από την μία πόρτα μπορείς να πας από το δωμάτιο Α στο δωμάτιο Ε, αλλά και ανάποδα (από το δωμάτιο Ε στο Α), ο προηγούμενος γράφος (3.2) μετασχηματίζεται σε ένα γράφο με διπλό τόξο ανάμεσα στους διασυνδεδεμένους κόμβους. Ο γράφος 3.2 λοιπόν γίνεται το διάγραμμα μεταβάσεων του σχήματος 3.3. Μία επιπλέον ακμή έχει τοποθετηθεί από τον κόμβο-στόχο F στον εαυτό του στην οποία έχει ανατεθεί reward value ίση με 100. Αυτό υποδηλώνει ότι μόλις ο πράκτορας φτάσει στον κόμβο-στόχο θα παραμείνει εκεί για πάντα. Σχήμα 3.3: Το διάγραμμα μεταβάσεων. Ο πράκτορας θεωρούμε ότι είναι ένα ρομπότ το οποίο μαθαίνει μέσα από την εμπειρία. Ο πράκτορας μπορεί να περάσει από το ένα δωμάτιο στον άλλο όμως δεν γνωρίζει καθόλου πληροφορίες σχετικά με το περιβάλλον, δεν γνωρίζει δηλαδή τη δεδομένη διασύνδεση δωματίων και έτσι δεν ξέρει ποια ακολουθία δωματίων πρέπει να ακολουθήσει ώστε να φτάσει στο χώρο F. Ας υποθέσουμε λοιπόν ότι τοποθετούμε τον πράκτορα στο χώρο C και επιθυμούμε να μάθει τον τρόπο με τον οποίο θα φτάσει στο χώρο-στόχο F (σχήμα 3.4.).

Σχήμα 3.4. Αρχική θέση του πράκτορα και χώρος στόχος. Προτού όμως ξεκινήσει η διαδικασία εκπαίδευσης του πράκτορα, θα δώσουμε τον ορισμό των όρων κατάσταση και ενέργεια, οι οποίες θα συζητηθούν στην πορεία. Το κάθε δωμάτιο του σπιτιού ακόμη και ο εξωτερικός χώρος F- ονομάζεται κατάσταση. Η κάθε κατάσταση αναπαρίσταται με έναν κόμβο ενώ η κάθε ενέργεια με ένα βέλος στο σχήμα του διαγράμματος καταστάσεως. Ας υποθέσουμε, λοιπόν, ότι ο πράκτορας είναι στην κατάσταση C. Από τη C μπορεί να πάει μόνο στην κατάσταση D, οι οποία είναι η μοναδική κατάσταση που συνδέεται με τη C. Από την D, ο πράκτορας μπορεί να πάει είτε στη B, είτε στην E, είτε πίσω στην C. Αν επιλέξει την E, τότε από εκεί έχει τρείς επιλογές. Να πάει στην κατάσταση A, ή στην κατάσταση F, ή στην κατάσταση D κ.ο.κ. Έτσι, από το διάγραμμα μεταβάσεων δημιουργείται ο ακόλουθος πίνακας της επιβράβευσης (reward table) ή αλλιώς πίνακας R. Στον πίνακα αυτόν, το σύμβολο - δηλώνει ότι δεν υπάρχει καμία δυνατή ενέργεια ανάμεσα στην κατάσταση της γραμμής προς την κατάσταση της στήλης. Ενέργεια προς κατάσταση Κατάσταση A B C D E F A - - - - 0 - B - - - 0-100 C - - - 0 - - D - 0 0-0 - E 0 - - 0-100 F - 0 - - 0 100 Πίνακας 3.1 Πίνακας reward (πίνακας R)

Μετά τον πίνακα R, ένας παρόμοιος πίνακας Q θα δημιουργηθεί, στον οποίο θα αποτυπώνεται όλη η γνώση που αποκόμισε ο πράκτορας μέσα από τη διαδικασία εκπαίδευσής του (learning process). Η γραμμή του πίνακα Q αναπαριστά την κατάσταση στην οποία βρίσκεται ο πράκτορας, ενώ η στήλη δείχνει την ενέργεια για να μεταβεί στην επόμενη κατάσταση. Αρχικά, ο πράκτορας έχει μηδενική γνώση και άρα ο πίνακας Q είναι ένας μηδενικός πίνακας. Ο κανόνας μετάβασης της μεθόδου Q-learning φαίνεται στην παρακάτω εξίσωση: Q( state, action) = R( state, action) + γ Max[ Q( next state, all actions)] Από την εξίσωση αυτή φαίνεται ότι η τιμή στον πίνακα Q (η τιμή για την μετάβαση από την μία κατάσταση σε μία άλλη), είναι ίση με την αντίστοιχη τιμή του πίνακα στον πίνακα R, στην οποία προστίθεται και μία τιμή που προκύπτει από τον πολλαπλασιασμό της παραμέτρου γ με τη μέγιστη τιμή ανάμεσα σε όλες τις ενέργειες της επόμενης κατάστασης. Η παράμετρος γ παίρνει τιμές από 0 έως 1 (0 γ < 1). Αν το γ είναι κοντά στο 0, ο πράκτορας θα λαμβάνει υπόψη μόνο την άμεση επιβράβευση. Αν το γ είναι πιο κοντά στο 1, ο πράκτορας θα λαμβάνει υπόψη τη μελλοντική επιβράβευση με μεγαλύτερο βάρος, πρόθυμος να καθυστερήσει την επιβράβευση. Ο πράκτοράς μας θα περιηγηθεί από κατάσταση σε κατάσταση μέχρι να φτάσει στον τελικό στόχο. Κάθε εξερεύνηση ονομάζεται επεισόδιο. Κάθε επεισόδιο τελειώνει όταν ο πράκτορας φτάσει στον κόμβο-στόχο και τότε ξεκινάει το επόμενο επεισόδιο. Ο αλγόριθμος του Q-learning παρατίθεται συνοπτικά στην συνέχεια: 1. Θέσε μία τιμή στην παράμετρο γ, και σχημάτισε τον πίνακα επιβράβευσης (reward matrix) R. 2. Αρχικοποίησε τον πίνακα Q σαν έναν μηδενικό πίνακα. 3. Για κάθε επεισόδιο: o Επέλεξε τυχαία μία αρχική κατάσταση. o Όσο δε φτάνεις στην κατάσταση στόχο Επέλεξε μία από τις δυνατές ενέργειες της τρέχουσας κατάστασης. Χρησιμοποιώντας αυτή τη δυνατή ενέργεια, θεώρησε ότι πηγαίνεις στην επόμενη κατάσταση.

Πάρε τη μέγιστη τιμή από τον πίνακα Q αυτής της επόμενης κατάστασης με βάσει όλες τις δυνατές ενέργειες. Υπολόγισε Q( state, action) = R( state, action) + γ Max[ Q( next state, all actions)] Θέσε την επόμενη κατάσταση ως τρέχουσα κατάσταση. o Τέλος όσο 4. Τέλος για Αλγόριθμος Q-learning Ο αλγόριθμος αυτός χρησιμοποιείται από τον πράκτορα για να εκπαιδευτεί. Κάθε επεισόδιο ισοδυναμεί με μία συνεδρία εκπαίδευσης. Σε κάθε συνεδρία εκπαίδευσης (επεισόδιο), ο πράκτορας εξερευνεί το περιβάλλον που αναπαριστάται από τον πίνακα R, και παίρνει ή όχι επιβράβευση μέχρι να φτάσει στην κατάσταση στόχο. Έτσι «χτίζεται» ο πίνακας Q. Όσο περισσότερη εκπαίδευση, τόσο καλύτερος πίνακας Q χτίζεται, ώστε ο πράκτορας να κινηθεί με τον βέλτιστο τρόπο. Μετά την εκπαίδευση του πράκτορα (ολοκλήρωση της δημιουργίας του πίνακα Q), ο πράκτορας θα βρίσκει πλέον τη συντομότερη διαδρομή προς την κατάσταση-στόχο. Ο πράκτορας, στη συνέχεια, χρησιμοποιώντας τον Q πίνακα εντοπίζει την ακολουθία των καταστάσεων από την αρχική κατάσταση έως την κατάσταση-στόχο, βρίσκοντας τη συντομότερη διαδρομή. Η διαδικασία εύρεσης της βέλτιστης διαδρομής συνοψίζεται ακολούθως: Είσοδος: πίνακας Q, αρχική κατάσταση 1. Θέσε τρέχουσα κατάσταση = αρχική κατάσταση 2. Για την τρέχουσα κατάσταση, βρες την ενέργεια που μεγιστοποιεί την τιμή της Q 3. Θέσε τρέχουσα κατάσταση = επόμενη κατάσταση 4. Πήγαινε στο βήμα 2 έως ότου τρέχουσα κατάσταση = κατάσταση στόχος Αλγόριθμος χρήσης του πίνακα Q

Ας εφαρμόσουμε λοιπόν τώρα τον αλγόριθμο Q-learning στο πρόβλημα του λαβυρίνθου μέσα από αριθμητικά παραδείγματα. Θέτουμε αρχικά την τιμή παραμέτρου μάθησης γ=0.8, την αρχική κατάσταση ίση με το δωμάτιο B, και αρχικοποιούμε τον πίνακα Q σαν μηδενικό πίνακα ενώ στον πίνακα ανταμοιβής R θέτουμε - εκεί όπου δεν υπάρχουν μεταβάσεις, 0 όπου υπάρχουν μεταβάσεις ανάμεσα στα δωμάτια και την τιμή 100 στις μεταβάσεις που οδηγούν απευθείας στο δωμάτιο-στόχο F. Ενέργεια προς κατάσταση Κατάσταση A B C D E F A 0 0 0 0 0 0 B 0 0 0 0 0 0 C 0 0 0 0 0 0 D 0 0 0 0 0 0 E 0 0 0 0 0 0 F 0 0 0 0 0 0 Πίνακας 3.2 Ο αρχικός πίνακας Q Ενέργεια προς κατάσταση Κατάσταση A B C D E F A - - - - 0 - B - - - 0-100 C - - - 0 - - D - 0 0-0 - E 0 - - 0-100 F - 0 - - 0 100 Πίνακας 3.3 Ο πίνακας R Κοιτώντας τον πίνακα R, υπάρχουν δύο πιθανές ενέργειες για την τρέχουσα κατάσταση Β, να πάει στην κατάσταση B ή να πάει στην κατάσταση F. Με τυχαία επιλογή διαλέγει την ενέργεια προς την F. Υποθέτουμε τώρα ότι βρισκόμαστε στην F. Από την F έχουμε τρείς πιθανές ενέργειες, να πάμε στη Β, στη D ή στην F. Έτσι, χρησιμοποιώντας την εξίσωση μετάβασης που προαναφέραμε, υπολογίζουμε: Q( state, action) = R( state, action) + γ Max[ Q( next state, all actions)] QBF (, ) = RBF (, ) + MaxQFB { (, ), QFE (, ), QFF (, )} = 100 + 0.8 0 = 100

Τώρα η τρέχουσα κατάσταση έχει γίνει η F, η οποία είναι και η κατάσταση στόχος. Συνεπώς το επεισόδιο αυτό έχει ολοκληρωθεί. Στον εγκέφαλο του πράκτορα, ο ανανεωμένος πίνακας Q περιέχει: Ενέργεια προς κατάσταση Κατάσταση A B C D E F A 0 0 0 0 0 0 B 0 0 0 0 0 100 C 0 0 0 0 0 0 D 0 0 0 0 0 0 E 0 0 0 0 0 0 F 0 0 0 0 0 0 Πίνακας 3.4 Ο ανανεωμένος πίνακας Q μετά την ολοκλήρωση του πρώτου επεισοδίου. Το επόμενο επεισόδιο ξεκινάει πάλι από μία τυχαία επιλεγμένη αρχική κατάσταση, έστω την D. Από την D υπάρχουν τρείς πιθανές ενέργειες, μία προς την κατάσταση B, μία προς την D και μία προς την E. Έστω ότι τυχαία επιλέγεται η μετάβαση στη B κατάσταση. Υποθέτοντας τώρα ότι είμαστε στην κατάσταση Β, βλέπουμε ότι υπάρχουν δύο πιθανές ενέργειες, η μία προς την κατάσταση D και η άλλη προς την κατάσταση F. Υπολογίζουμε τώρα την τιμή στον πίνακα Q ως εξής: Q( state, action) = R( state, action) + γ Max[ Q( next state, all actions)] QDB (, ) = RDB (, ) + 0.8 MaxQBD { (, ), QBF (, )} = 0 + 0.8 Max{0,100} = 80 Ο πίνακας Q ανανεώνεται τώρα ως εξής: Ενέργεια προς κατάσταση Κατάσταση A B C D E F A 0 0 0 0 0 0 B 0 0 0 0 0 100 C 0 0 0 0 0 0 D 0 80 0 0 0 0 E 0 0 0 0 0 0 F 0 0 0 0 0 0 Πίνακας 3.5 Ο ανανεωμένος πίνακας Q

Η επόμενη κατάσταση B γίνεται τώρα η τρέχουσα κατάσταση. Οι πιθανές ενέργειες από την κατάσταση Β (διαβάζοντας τον πίνακα R ή το διάγραμμα μεταβάσεωνκαταστάσεων) είναι η μετάβαση στην κατάσταση D ή στην F. Επιλέγεται τυχαία η F. Από την F, τρεις είναι η δυνατές ενέργειες, μετάβαση στη Β, στην Ε ή στην F. Υπολογίζουμε εκ νέου τον πίνακα Q και καθώς το F είναι η κατάσταση στόχος τελειώνει εδώ και το δεύτερο επεισόδιο. Q( state, action) = R( state, action) + γ Max[ Q( next state, all actions)] QBF (, ) = RBF (, ) + 0.8 MaxQFB { (, ), QFE (, ), QFF (, )} = 100 + 0.8 Max{0,0,0} = 100 Ο πίνακας Q ανανεώνεται τώρα ως εξής: Ενέργεια προς κατάσταση Κατάσταση A B C D E F A 0 0 0 0 0 0 B 0 0 0 0 0 100 C 0 0 0 0 0 0 D 0 80 0 0 0 0 E 0 0 0 0 0 0 F 0 0 0 0 0 0 Πίνακας 3.6 Ο ανανεωμένος πίνακας Q μετά την ολοκλήρωση του δεύτερου επεισοδίου. Μετά την εκπαίδευση του πράκτορα μέσα από πολλά επεισόδια, οι τιμές του πίνακα Q συγκλίνουν ως εξής: Ενέργεια προς κατάσταση Κατάσταση A B C D E F A - - - - 400 - B - - - 320-500 C - - - 320 - - D - 400 256-400 - E 320 - - 320-500 F - 400 - - 400 500 Πίνακας 3.7 Ο τελικός πίνακας Q.

Και μετά την κανονικοποίηση του τελικού Q προκύπτει: Ενέργεια προς κατάσταση Κατάσταση A B C D E F A - - - - 80 - B - - - 64-100 C - - - 64 - - D - 80 51-80 - E 64 - - 64-100 F - 80 - - 80 100 Πίνακας 3.8 Ο κανονικοποιημένος πίνακας Q. Έτσι μετά και τον υπολογισμό του κανονικοποιημένου πίνακα Q, ο πράκτορας μπορεί να φτάσει το στόχο με τον βέλτιστο τρόπο, εντοπίζοντας την ακολουθία των καταστάσεων η οποία δίνει τη μέγιστη τιμή του Q για τον συγκεκριμένο στόχο. Για παράδειγμα, από την αρχική κατάσταση C και χρησιμοποιώντας τον πίνακα Q προκύπτει: από τη C η μέγιστη τιμή του Q προκύπτει για την ενέργεια μετάβασης στην κατάσταση D. Από την D, το μέγιστο προκύπτει είτε για τη B είτε για την E. Τυχαία επιλέγεται η B. Από την κατάσταση B, το μέγιστο προκύπτει για την κατάσταση F (στόχος). Άρα η προκύπτουσα ακολουθία είναι η C- D-B-F. 3.2 Οι πύργοι του Hanoi Περιγραφή του προβλήματος: Έχουμε τρεις πύργους τους A, B και C και τρεις δίσκους διαφορετικού μεγέθους τον S (small), τον M (medium) και τον L (large). Στην αρχή όλοι οι δίσκοι είναι στον πύργο A (αρχική κατάσταση) και πρέπει να μετακινηθούν όλοι οι δίσκοι, ένας κάθε φορά, ώστε στο τέλος όλοι οι δίσκοι να βρίσκονται στον πύργο C (τελική κατάσταση). Ο μόνος περιορισμός είναι ότι ποτέ ένας μικρότερος δίσκος δεν μπορεί να βρίσκεται κάτω από ένα μεγαλύτερο δίσκο. Σκοπός είναι να φτάσει κάποιος στην τελική κατάσταση με τις λιγότερες κινήσεις. Σχήμα 3.5: Αρχική και τελική κατάσταση.

Λύση του προβλήματος: Όλοι οι πιθανοί συνδυασμοί των καταστάσεων (17 στο σύνολο) παρουσιάζονται σε γράφο (Σχ. 3.6). Για να λυθεί το πρόβλημα αυτό με την μέθοδο Q-learning μετατρέπουμε το γράφο καταστάσεων (Σχ. 3.6.) σε διάγραμμα καταστάσεων (Σχ. 3.7) με μηδενική τιμή ανταμοιβής σε όλες τις διασυνδέσεις εκτός από αυτές που οδηγούν στον κόμβο-στόχο. Στην συνέχεια, το διάγραμμα καταστάσεων μετασχηματίζεται στον πίνακα R και μετά από αλλεπάλληλα επεισόδια υπολογίζεται ο πίνακας Q ο οποίος και κανονικοποιείται για να προκύψει ο τελικός πίνακας Q (Πίνακας 3.10). Από τον πίνακα Q προκύπτει ότι η συντομότερη διαδρομή είναι η 1-3-5-7-9-14-16-17. Σχήμα 3.6: Γράφος καταστάσεων

Σχήμα 3.7: Διάγραμμα καταστάσεων Action to state State 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1-0 0 - - - - - - - - - - - - - - 2 0-0 0 - - - - - - - - - - - - - 3 0 0 - - 0 - - - - - - - - - - - - 4-0 - - - 0 - - - - - - - - - - - 5 - - 0 - - - 0 - - - - - - - - - - 6 - - - 0 - - 0 0 - - - - - - - - - 7 - - - - 0 0 - - 0 - - - - - - - - 8 - - - - - 0 - - - 0 0 - - - - - - 9 - - - - - - 0 - - - - 0-0 - - - 10 - - - - - - - 0 - - 0 - - - - - - 11 - - - - - - - 0-0 - - - - - - - 12 - - - - - - - - 0 - - - 0 - - - - 13 - - - - - - - - - - - 0 - - 0 - - 14 - - - - - - - - 0 - - - - - 0 0-15 - - - - - - - - - - - - 0 0 - - - 16 - - - - - - - - - - - - - 0 - - 100 17 - - - - - - - - - - - - - - 0 100 Πίνακας 3.9: Ο πίνακας R

Action to state Stat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 e 1-21 26 - - - - - - - - - - - - - - 2 21-26 26 - - - - - - - - - - - - - 3 21 21 - - 33 - - - - - - - - - - - - 4-21 - - - 33 - - - - - - - - - - - 5 - - 26 - - - 41 - - - - - - - - - - 6 - - - 26 - - 41 26 - - - - - - - - - 7 - - - - 33 33 - - 51 - - - - - - - - 8 - - - - - 33 - - - 21 21 - - - - - - 9 - - - - - - 41 - - - - 41-64 - - - 10 - - - - - - - 26 - - 21 - - - - - - 11 - - - - - - - 26-21 - - - - - - - 12 - - - - - - - - 51 - - - 41 - - - - 13 - - - - - - - - - - - 41 - - 51 - - 14 - - - - - - - - 51 - - - - - 51 80-15 - - - - - - - - - - - - 0 64 - - - 16 - - - - - - - - - - - - - 64 - - 100 17 - - - - - - - - - - - - - - 80 100 Πίνακας 3.10: Ο κανονικοποιημένος πίνακας Q Σχήμα 3.8: Τελικό διάγραμμα καταστάσεων βάσει του πίνακα Q.