Μάθημα 2: Μαρκοβιανές Διαδικασίες Απόφασης και Δυναμικός Προγραμματισμός Ν. Καλουπτσίδης
Μαρκοβιανές διαδικασίες απόφασης: Μία μονάδα Yπολογιστική μονάδα παρατηρεί πλήρως το περιβάλλον. t: χρονική στιγμή, t=1,2, T T: χρονικός ορίζοντας (επεισόδιο) x t κατάσταση τη στιγμή t; ανήκει στο X (καταστατικός χώρος) a t ενέργεια, ανήκει στο A το οποίο μπορεί να εξαρτάται απο τη κατάσταση, A(x), δηλώνει πιθανούς περιορισμούς στις ενέργειες ανάλογα με την κατάσταση. Καταστατική εξέλιξη: x t+1 = f t+1 (x t, a t, w t ), w t i.i.d θόρυβος, ή P(x x,a):=p[x t+1 = x x t =x, a t =a]
Δενδρική δομή του καταστατικού μοντέλου x a1 a2 a3 a4 x1 x2 x3 x1 x2 x3
MDPs: πεπερασμενος ορίζοντας Ντιτερμινιστικοί Μαρκοβιανοί κανόνες απόφασης: a t =µ t (x t ), µ t : X A, t = 0,1,, T 1 Επαρκούν για τη περίπτωση μιας υπολογιστικής μονάδας, αντίθετα οι στοχαστικοί κανόνες απόφασης ειναι αναγκαίοι στις πολλαπλές μονάδες Πολιτική π = (µ 0, µ 1,..., µ Τ 1 ) Αξία της πολιτικής π, δηλώνει τη συνολική ανταμειβή που προκύπτει για κάθε κατάσταση οταν ακολουθείται η π. V π x = E[β T r T x T + T 1 t=0 β T r t x t, µ t (x t ),w t ] r t στιγμιαία ανταμειβή, τελική υπολείπουσα αξία β T r T x T Συνάρτηση αξίας (value function) V x = max V π(x) π Βέλτιστη πολιτική π arg max π V π(x)
Αρχή της αριστότητας Αν π = (µ 0, µ 1,..., µ Τ 1 ) βέλτιστη πολιτική τότε για κάθε t, η πολιτική (µ t, µ t+1,..., µ Τ 1 ) είναι επίσης βέλτιστη για το υποπρόβλημα που ξεκινά την t. Αν η ταχύτερη διαδρομή απο την Αθήνα στη Θεσσαλονίκη περνά απο τη Λαμία, τοτε το τμήμα απο τη Λαμία στη Θεσσαλονίκη είναι επίσης το ταχύτερο.
Δυναμικός προγραμματισμός Αντίστροφη στο χρόνο (backward) αναδρομική σχέση: Αρχική συνθήκη V T x = β T r T x V t x = max a A E[βt r t (x, a, w) + V t+1 f t x, a, w ], t=t-1, T-2,, 0 (*) ή με τον πινακα μετάβασης V t x = max P x x, a [β t (x, a, x ) + V a A x t+1 (x rt )] Οδηγεί στη συνάρτηση αξίας υστερα απο Τ βήματα V 0 x = V(x) Επιπλέον, η πολιτική που μεγιστοποιεί το δεξιό μέλος της (*) καθορίζει τη βέλτιστη πολιτική
Εφαρμογή 1: Διαχείριση εμπορευμάτων αποθήκης (inventory management) Σημαντικό πρόβλημα στην εφοδιαστική αλυσίδα Ενα εμπόρευμα, μια αποθήκη Κατάσταση x t : εμπορεύματα στην αποθήκη Ενέργειες a t : Παραγγελίες Τυχαιότητα w t : στοχαστική ζήτηση για εμπορεύματα Ανταμειβή=κόστος=κόστος αποθήκης r(x t )+κόστος αγοράς ca t εμπορεύματος Υπερβάλλουσα ζήτηση είτε (1) εξυπηρετείται όταν υπάρξει διαθεσιμότητα με νέες παραλαβές, είτε (2) χάνεται
Διαχείριση εμπορευμάτων αποθήκης περίπτωση (1) x t+1 = x t + a t w t περίπτωση (2) x t+1 = max(0, x t + a t w t ) Γενικεύσεις: παραδόσεις με υστέρηση, συνεκτίμηση εσόδων και συνεπώς κερδών, ζήτηση με χρονική συσχέτιση, πολλά προιόντα Χωρητικότητα αποθήκης 2 (πχ τόννοι, αυτοκίνητα) x t + a t 2.Μικρός ακέραιος για την διευκόλυνση των υπολογισμών με το χέρι. Μοναδιαίο κόστος εμπορευματος c=1. Τετραγωνικό κόστος αποθήκης (x t +a t w t ) 2, συνολικό κόστος a + (x t + a t w t ) 2
Διαχείριση εμπορευμάτων αποθήκης Αναλυτικοί υπολογισμοί D. Bertsekas vol I pages 23-27. Συμπέρασμα. Η βέλτιστη πολιτική είναι ή ιδια σε κάθε χρονική στιγμή. Είναι φθίνουσα συνάρτηση της κατάστασης Ασκηση. Επαλήθευσε τους υπολογισμούς στο python. Εξέτασε μεγαλύτερες χωρητικότητες. QuantEcon.py/quantecon/markov/ddp.py
Επαλήθευση στο python Λίστα αποδεκτων ζευγαριών κατάστασης και ενέργειας (x,a) (σε αυτο το παράδειγμα x s (για τη καλλίτερη μελέτη του κώδικα DiscreteDP): SA=[[0,0], [1,0],[2,0],[0,1],[1,1],[0,2]] Εστω L= SA =6. Πράγματι προκύπτει απο το σχήμα (Bertsekas vol. 1, pp 24, επόμενη διαφάνεια) Λίστα ανταμειβής στα αποδεκτά ζευγάρια def f(s,a): return a+(.1)*(s+a)**2+(.7)*(s+a-1)**2+(.2)*(s+a-2)**2
Επαλήθευση στο python Αρα R=[-1.5, -0.3, -1.1, -1.3, -2.1, -3.1] Πίνακας μετάβασης εκφράζεται ως L X array Q=[[1,0,0],[.9,.1,0],[.2,.7,.1],[.9,.1,0],[.2,.7,.1],[.2,.7,.1]] Καταστατικοί δείκτες και δείκτες ενεργειών (απαιτούνται απο τη βασική εντολή s_indices=[0,1,2,0,1,0] a_indices=[0,0,0,1,1,2] beta=.95
Επαλήθευση στο python import numpy as np import matplotlib.pyplot as plt %matplotlib inline import quantecon as qe import scipy.sparse as sparse from quantecon import compute_fixed_point from quantecon.markov import DiscreteDP ddp = DiscreteDP(R, Q, beta, s_indices, a_indices) # ορίζει τη βασική κλάση με χαρακτηριστικά τα πρωταρχικά στοιχεία του προβλήματος
Επαλήθευση στο python Για να εφαρμόσουμε το δυναμικό προγραμματισμό σε πεπερασμένο χρονικό ορίζοντα χρησιμοποιούμε την συνάρτηση (μέθοδο) def backward_induction(ddp, T, v_term=none): μέσα στο DiscreteDP για τη κλάση ddp που ορίσαμε, Τ=3 (χρονικός ορίζοντας) και τερματική ανταμειβή 0 και θέτοντας res=backward_induction(ddp, T=3) προκύπτει Res (array([[-3.523, -2.523, -2.678045], [-2.44, -1.44, -1.651 ], [-1.3, -0.3, -1.1 ], [ 0., 0., 0. ]]), array([[1, 0, 0], [1, 0, 0], [1, 0, 0]])) Το πρώτο array δίνει τις αξίες για κάθε κατάσταση (η τελευταία σειρά είναι η αρχική μηδενική συνθήκη) και το δεύτερο array τη στασιμη πολιτική (συμφωνεί με το παράδειγμα του βιβλίου!) Επαναλάβετε για μεγαλυτερα Τ.
Εφαρμογή 2:Υποδείγματα του ληστή (multiarmed bandit problems) Κ διακριτές Μαρκοβιανές διαδικασίες απόφασης. Η μονάδα παρατηρεί τις καταστάσεις x t k των Κ MDPs Επιλέγει μια απο αυτές, εστω a=k, και λαμβάνει ανταμειβή r k (x t k ) Η επιλεγείσα διαδικασία αλλάζει κατάσταση ενώ οι άλλες MDPs παραμένουν στις ίδιες καταστάσεις. Εφαρμογές: Επιλογή project, στοιχήματα (gambling), τυχαία αναζήτηση, χορηγηση δοκιμαστικής θεραπείας σε ακολουθιακές κλινικές δοκιμές, δρομολόγηση εργασιών.
Επιλογή project Επιλογή ενός απο Κ projects (μελέτη ενός απο διάφορα μαθήματα, απάντηση σε emails, γυμναστήριο/ασκηση, διασκέδαση). Κάθε φορά επιλέγεται και εκτελείται ένα μόνο project. Η κατάσταση ενός project αναπαριστά το βαθμο ολοκλήρωσης ή το στάδιο στο οποίο βρίσκεται. Η επόμενη κατάσταση ειναι εν γένει τυχαία. Τερματική κατάσταση S; Ανταμειβή μόνο με την ολοκλήρωση, οπότε r k (x t k )=R k P k (S x t k )
Ακολουθιακές κλινικές δοκιμές Ελεγχόμενες κλινικές δοκιμές νέας θεραπείας Σύγκριση νέας θεραπείας με άγνωστες ιδιότητες με υπαρχουσα θεραπεια με γνωστές ιδίότητες ή ανενεργή θεραπεία (placebo) Διαδοχικά υποκείμενα υπόκεινται σε μια απο τις δύο θεραπείες Τα αποτελέσματα μπορούν άμεσα να αξιολογηθούν πριν απο την επόμενη δοκιμή. MDP1 Νεα θεραπεία, πιθανότητα επιτυχίας q 1 ; Άγνωστη MDP 2 Υπαρχουσα θεραπεία πιθανότητα επιτυχίας q 2 ; Άγνωστη με γνωστή prior κατανομή Ανταμειβή για επιτυχή θεραπεία (ΘΑ ΣΥΝΕΧΙΣΤΕΙ)
Εφαρμογή 3:Ελεγχος συστημάτων ουρών αναμονής Admission control Service rate control (ΘΑ ΣΥΝΕΧΙΣΤΕΙ)
Εφαρμογή 4:Προγραμματισμός εργασιών/λειτουργιών Για τη παραγωγή προιόντος πρέπει να εκτελεστούν σταδιακά 4 λειτουργίες A,B,C,D. H B προυποθέτει την ολοκλήρωση της Α H D προυποθέτει την ολοκλήρωση της C Ετσι, ABCD αποδεκτή, BADC μη αποδεκτή Υποχρεωτικά αρχικές επιλογές A, C. Κόστος εγκατάστασης (setup cost) της n μετά την m: C mn Κόστος έναρξης λειτουργίας (startup cost) S A, S C Κόστος (ABCD)=S A +C AB +C BC +C CD Ενέργεια σε κάθε στάδιο: Επιλογή εργασίας Κατάσταση στο στάδιο t: η ακολουθία εργασιών που έχουν τελειώσει. Τεχνητή αρχική κατάσταση δηλώνει την ένάρξη των αποφάσεων.
Προγραμματισμός εργασιών/λειτουργιών
Εφαρμογη 6: Κρυφές αλυσίδες Markov, αλγόριθμος Viterbi Μαρκοβιανή αλυσίδα: Διαδικασία Markov με πεπερασμένο αριθμό καταστάσεων Πιθανότητες μετάβασης: p ij (γνωστές στο πρόβλημα εκτίμησης/αποκωδικοποίησης) Η κατάσταση σε κάθε χρονική στιγμή, x t, άγνωστη (κρυφή) Κάθε καταστατική μετάβαση προκαλεί τη παρατήρηση y t+1 με πιθανότητες q ij x = P(y t+1 = y x t = i, x t+1 = j] x 1:T = [x 0, x 1,, x T ] καταστατική τροχιά y 1:T = [y 1, y 2,, y T ] διάνυσμα παρατήρησης
Κρυφές αλυσίδες Markov, αλγόριθμος Viterbi Εκτίμηση καταστατικής τροχιάς: Υπολόγισε x 1:T με βάση το y 1:T Η εκτίμηση συγκεκριμένης κατάστασης, x t για t<t, t=t, t=t+1, ονομάζεται εξομάλυνση, φιλτράρισμα και πρόβλεψη αντίστοιχα) Εκτίμηση μέγιστης πιθανόφανειας: max P x 1:T y 1:T, οπου P x 1:T y 1:T = P(x 1:T,y 1:T ) x 1:T P(y 1:T ) P(x 1:T, y 1:T ) = P(x T, x 1:T 1, y T, y 1:T 1 ) = P(y T y 1:T 1, x T, x 1:T 1 )P(y 1:T 1, x T, x 1:T 1 ) = P(y T x T, x T 1 )P(x T y 1:T 1, x 1:T 1 )P(x 1:T 1, y 1:T 1 ) = Py T x T, x T 1 ) P(x T x T 1 )P(x 1:T 1, y 1:T 1 )
Κρυφές αλυσίδες Markov, αλγόριθμος Viterbi Διαδοχικές αντικαταστάσεις και εφαρμογή του λογαρίθμου οδηγούν στη μεγιστοποίηση της λογαριθμικής συνάρτησης πιθανοφάνειας T ln(p(x 0 ))+ t=1 ln(p( y t x t, x t 1 p(x t x t 1 ) Μονοπάτι μικρότερου μήκους στο διάγραμμα trellis Ο αλγόριθμος δυναμικού προγραμματισμού οδηγεί στον αλγόριθμο Viterbi
Εφαρμογή 7:Συγκεραστικοί κώδικες Κωδικοποιητής FIR ρυθμού 1/2 και μνήμης 3 Μια είσοδος, δύο έξοδοι Καταχωρητής μήκους 3 (3 μονάδες καθυστέρησης) 2 αθροιστές mod2 (4 XOR) συνιστούν γραμμικές πράξεις 10/5/2016 Kalouptsidis 24
Διάγραμμα trellis/καταστατική αναπαράσταση Κάθε συγκεραστικός κωδικοποιητής μπορεί να περιγραφεί ισοδύναμα με τη καταστατική περιγραφή και το διάγραμμα trellis: σ l+1 = f(σ l, u l ) v l = g(σ l, u l ) Για κώδικες ρυθμού 1/n κατάσταση είναι Για ρυθμό k/n, η κατάσταση αποτελείται από το περιεχόμενο των k καταχωρητών Παράδειγμα:FIR συγκεραστικός κωδικοποιητής: 10/5/2016 Kalouptsidis 25
Διάγραμμα trellis Μήκος πληροφοριακής aκολουθίας h μνήμη m=2 χρονικές στιγμές: 0:7 h+m+1=8 10/5/2016 Kalouptsidis 26
Διάγραμμα trellis Οι κόμβοι (καταστάσεις) διατάσσονται σε επίπεδα. Ακμές μόνο μεταξύ κόμβων γειτονικών επιπέδων. Εναρξη και τερματισμός στο 0=S_0. Εκτός απο τα πρώτα και τελευταία m επίπεδα, κάθε επίπεδο περιέχει όλες τις δυνατές καταστάσεις 10/5/2016 Kalouptsidis 27
Αλγόριθμος Viterbi Μπλοκ αποκωδικοποίηση μέγιστης πιθανοφάνειας DMC κανάλι v=argmax v C logp(r v) Μετρική μονοπατιού M(r v)=logp(r v) Μετρική κλαδιού = Μετρική bit 10/5/2016 Kalouptsidis 28
Αλγόριθμος Viterbi Βήμα 1. Αρχισε τη στιγμή t=m. Γιά κάθε κατάσταση (κόμβο) x υπολόγισε τη μετρική του μοναδικού μονοπατιού απο το 0 στο x, M(x). Αποθήκευσε το μονοπάτι και τη μετρική Βήμα 2. t t + 1. Γιά κάθε κατάσταση x τη στιγμή t+1 και για κάθε κατάσταση x τη στιγμή t που συνδέεται με την x (υπάρχουν 2^k) πρόσθεσε τις αντίστοιχες μετρικές κλαδιών στην μετρική του x, M(x) και θέσε M x = max{m x + m x, x : x γονεας του x } Αποθήκευσε το μονοπάτι που επιβιώνει, τη μετρική του και διέγραψε όλα τα υπόλοιπα. Σταμάτησε όταν t=h+m, οπότε εμφανίζεται μόνο το 0 ως τελική κατάσταση και το μοναδικό μονοπάτι που επιβιώνει 10/5/2016 Kalouptsidis 29
Απειρος χρονικός ορίζοντας Ο νόμος της κίνησης και η συνάρτηση ανταμειβής δεν αλλάζουν στο χρόνο. Θα αγνοήσουμε λεπτά τεχνικά σημεία οπως η εναλλαγή μέσης τιμής και ορίου. Εξετάζουμε τι συμβαίνει στην αναδρομή του δυναμικού προγραμματισμού όταν ο ορίζοντας μεγαλώνει Τ Αρχική συνθήκη V T x = β T V 0 x, V 0 x οποιαδήποτε (φραγμένη) συνάρτηση. V Τ t x = max a A E[βT t r (x, a, w) + V Τ t+1 f x, a, w ], t=1,2,...,τ-1 H εξαγωγή του β T t έξω απο το max και η V Τ t x /β T t V t (x) Οδηγεί στην αναδρομή V t+1 x = max a A E[r (x, a, w) + βv t f x, a, w ] (**)
Επισκόπηση βασικών αποτελεσμάτων 1. Εστω μηδενική υπολείπουσα αξία: V 0 x = 0. Λογικό να εικάσουμε οτι όταν Τ το όριο στη σχέση (**) αν υπάρχει ικανοποιεί την εξίσωση Bellman V x = max a A η Type equation here. E[r ( x, a, w) + βv f x, a, w ] (BE) V x = max a A x P x x, a [r (x, a, x ) + V(x )] Εμμεση (implicit) μη γραμμική αλγεβρική εξίσωση.
Επισκόπηση βασικών αποτελεσμάτων Για πεπερασμένες καταστάσεις, η (ΒΕ) αποτελεί ένα σύστημα μη γραμμικών εξισώσεων. 2. Τα παραπάνω ισχύουν για κάθε φραγμένη αρχική συνάρτηση γιατί β T V 0 x 0 3. Αν ο κανόνας απόφασης μ(x) επιτυγχάνει το μέγιστο στο δεξιό μέλος της (ΒΕ) μ(x)=argmax P x x, a [r (x, a, x ) + V(x )] greedy(v)(x) a A x τότε προκυπτει βέλτιστη στατική πολιτική π = (μ, μ, )
Σταθερό σημείο Δυο διαδεδομένοι τρόποι επίλυσης είναι 1. προσδιορισμός σταθερού σημείου T(V)=V Με τον αλγόριθμο V t+1 =T(V t ) Οπου T(V)(x)=max a A x P x x, a [r (x, a, x ) + V(x )]
Σταθερό σημείο Αποδεικνύεται οτι η Τ είναι απεικόνιση συστολής (contraction map) T V T V < L V V, 0<L<1 με L=β. Οπότε απο το θεώρημα Banach έχει μοναδικό σταθερό σημείο (βέλτιστη αξία) V και ο αλγόριθμος σταθερού σημείου συγκλίνει σε αυτό με ταχύτητα που καθορίζεται απο το β. Ο αλγόριθμoς σταθερού σημείου V t+1 x = max a x P x x, a [r (x, a, x ) + V t (x )] (VI) ή V t+1 (x) = max E[r ( x, a, w) + βv t f x, a, w ] a A
Αλγόριθμος επανάληψης αξίας Ονομάζεται επανάληψη αξίας (value iteration). Η επανάληψη αξίας δίνει στο όριο την (βέλτιστη) αξία V και η βέλτιστη πολιτική υπολογίζεται απο την μ x =argmax a A x P x x, a [r (x, a, x ) + V(x )] greedy(v)(x) 2. Ενας δεύτερος τρόπος υπολογισμού του σταθερού σημείου είναι με τη μέθοδο Gauss και τη μετατροπή σε πρόβλημα ελαχιστοποίησης. Εστω G(V)=T(V)-V Τότε η V είναι σταθερό σημείο της Τ αν είναι ρίζα (σημείο μηδενισμού) της G. Το τελευταίο μπορεί να βρεθεί με λύση του min V G(V) 2 Μη περιορισμένο (unconstrained) πρόβλημα μαθηματικού (ή μη γραμμικού) προγραμματισμού
Λύση με γραμμικό προγραμματισμό Απο την εξίσωση Bellman προκύπτει οτι η (βέλτιστη) συνάρτηση αξίας ικανοποιεί A X γραμμικές ανισότητες V x r x, a + β x p x x, a V(x ) x in X, a in A (LI) Αντίστροφα, κάθε διάνυσμα v(x) που ικανοποιεί την (LI), είναι άνω φράγμα της αξίας: v(x) V(x) Πράγματι έστω μ(x) η βέλτιστη πολιτική. Τότε v x r x, μ x + β x p x x, μ x v x = V(x)
Λύση με γραμμικό προγραμματισμό Αρα είναι φυσικό να αναζητήσουμε το μικρότερο v που ικανοποιεί την (LI). Καταλήγουμε σε πρόβλημα γραμμικού προγραμματισμού (LP): min x q x v(x) v subject to v(x) r x, a + β x p x x, a v(x ), x in X, a in A Τα βάρη q(x) είναι αυθαίρετα, αρκεί να είναι θετικά και να αθροίζουν στη μονάδα, π.χ q(x)=1/ X (μπορούν να ερμηνευθούν ως πιθανότητες εμφάνισης των καταστάσεων).
Γραμμικός προγραμματισμός Ελαχιστοποίηση/Μεγιστοποιηση γραμμικής συναρτησης με γραμμικούς ανισοτικούς και ισοτικούς περιορισμούς min c x x subject to a i x b i a i x b i a i x = b i x i 0 x i 0
Γραμμικός προγραμματισμός Πιο οικονομική αλλά ισοδύναμη περιγραφή min c x x subject to a i x b i και σε μορφή πινάκων min c x x subject to Αx b
Δυικότητα: Συνέπεια της μεθόδου των πολλαπλασιαστών Lagrange Πρωτεύον πρόβλημα min c x x subject to Αx b Πρωτεύον για τη συνάρτηση αξίας min x q x v(x) v subject to v(x) r x, a + β x p x x, a v(x ), x X, a A Δυικό πρόβλημα max z b z subject to z Α = b, z 0 Δυικό για τη συναρτηση αξίας max x,a r x, a z(x, a) : z x,a[δ x, x
Αξία και βέλτιστη πολιτική ως λύσεις του LP Ισχύουν τα εξής 1. Το πρωτεύον και το δυικό πρόβλημα έχουν βέλτιστες λύσεις. 2. Η βέλτιστη λύση του πρωτεύοντος δίνει τη βέλτιστη συνάρτηση αξίας (μοναδική) 3. Εστω z(x,a) βέλτιστη λύση του δυικού προβλήματος. Τότε μετά την κανονικοποίηση, η στοχαστική πολιτική z(x,a) μ x, a = a z(x,a) συνιστά βέλτιστη πολιτική.
Υπολογισμός αξίας πολιτικής Διανυσματική περιγραφή Εστω π=(μ,μ,..., ) δοθείσα στάσιμη πολιτική. Η στιγμιαία ανταμειβή r x, μ x r π x η a r(x, a)μ(x a) P π (x x) P(x x, μ x ) r π διάνυσμα με συνιστώσες r π x : διάνυσμα ανταμειβής P π πίνακας με στοιχεία P π (x x): πίνακας μετάβασης της αλυσίδας Με επαγωγή προκύπτει οτι σε t βήματα P π x t+1 = x x 0 = x = P t π, (t δύναμη) Υπολογισμός μέσης τιμής μιάς συνάρτησης v(x t ), οταν x 0 = x E v x t x 0 = x = x P π x t = x x 0 = x v x = P t 1 π,x v Οπου P t 1 t π,x είναι η x- γραμμή του P π
Υπoλογισμός αξίας μιας πολιτικής V π = t=0 β t P t π r π = ( t=0 η ισοδύναμα V π = r π + βp π r π + βp π 2 r π + β t P π t )r π = (I βp π ) 1 r π V π = r π + βp π V π Ο πίνακας I βp π ειναι αντιστρεψιμος, γιατί ιδιοτιμές 1-βλ, λ <=1. Αρα ο υπολογισμός της V π μπορει να γίνει με την επίλυση συστήματος γραμμικών εξισώσεων I βp π V = r π. Εναλλακτικά με επαναληπτικη μέθοδο παρατηρώντας οτι η V π είναι σταθερό σημείο για την απεικόνιση V r π + βp π V η οποία είναι συστολή
Επανάληψη πολιτικής Δίνεται πολιτική μ t Βήμα 1. Αποτίμηση πολιτικής (policy evaluation). Υπολόγισε την αξία της πολιτικής μ t, V μt απο τη λύση του γραμμικού συστήματος I βp π V = r π. Βήμα 2. Βελτίωση πολιτικής (policy improvement). Υπολόγισε νέα πολιτική απο την σχέση (άπληστη πολιτική για την αξία,v μt ) μ t+1 (x) arg max a r x, a + β x P(x x, a)v μt (x ) Επανέλαβε μέχρι, V μt+1 = V μt
Επανάληψη πολιτικής Ισχύει V μt+1 V μt Πράγματι r μt+1 + βp μt+1 V μt r μt + βp μt V μt = V μt Άρα r μt+1 Ι βp μt+1 V μt η Ι βp μt+1 1 rμt+1 = V μt+1 V μt Για πεπερασμένα σύνολα καταστάσεων και ενεργειών ο αλγόριθμος τερματίζει εγγυημένα.
Τροποποιημένες και ασύγχρονες εκδοχές Πεπερασμένο πληθος καταστασεων 1,2,...,n Επανάληψη αξίας με τη μέθοδο Gauss Seidel: Η αξία στη κατάσταση i στο βήμα t+1 χρησιμοποιεί τις αξίες του βήματος t+1 για τις καταστάσεις 1,2,..., i-1 (αντί αυτών του βήματος t) Ασύγχρονη επανάληψη αξίας Σε κάθε βήμα t+1 επιλέγεται μία κατάσταση, έστω i, ενημερώνεται η αξία της κατάσταση i ενώ οι αξίες των άλλων καταστάσεων παραμένουν οι ίδιες. Τροποποιημένη επανάληψη πολιτικής (modified policy iteration) Το βήμα της αποτιμήσης πολιτικής εκτελείται με τον αλγόριθμό σταθερού σημείου και μάλιστα με τη χρήση πεπερασμένου αριθμού επαναλήψεων Ασύγχρονη επανάληψη πολιτικής: παρόμοια προσαρμογή των παραπάνω
Διαχείριση εμπορευμάτων αποθήκης # Επανάληψη πολιτικής resinfty = ddp.solve(method='policy_iteration', v_init=[0, 0,0]) resinfty.sigma Out[112]: array([1, 0, 0]) # βέλτιστη πολιτική (οπως και στον πεπερασμένο ορίζοντα) resinfty.v # Συνάρτηση αξίας Out[115]: array([-24.1, -23.1, -23.24917127]) resinfty.num_iter # αριθμός επανήψεων Out[119]: 1
Διαχείριση εμπορευμάτων αποθήκης Επανάληψη αξίας resinf = ddp.solve(method='value_iteration', v_init=[0, 0,0],epsilon=.01) resinf.sigma Out[126]: array([1, 0, 0]) # βέλτιστη πολιτική resinf.v # συνάρτηση αξίας Out[127]: array([-24.09518795, -23.09518795, -23.24435923]) resinf.num_iter # αριθμός επαναλήψεων Out[129]: 166