1 Markov Decision Process finiti
Transcript
1 Markov Decision Process finiti
1 Markov Decision Process finiti 1.1 Definizione: I Markov Decision Process (MDP) finiti permettono di modellizzare un processo decisionale sequenziale in un contesto stocastico. Un MDP finito può essere definito partendo dalle seguenti quantità: • S è l’insieme finito degli stati in cui si può trovare il sistema. Il fatto che l’insieme degli stati sia finito rende più facile la trattazione della teoria e soprattutto la definizione di algoritmi. Tuttavia, gran parte della teoria che illustreremo può essere estesa al caso in cui l’insieme degli stati non è né finito, né discreto (si può guardare ad esempio Puterman (1994)). • A è l’insieme finito delle azioni che il controllore può compiere • T : S × A → P(S) è la funzione che regola la dinamica del processo. Questa funzione di transizione associa ad ogni coppia (s, a) ∈ S × A una distribuzione di probabilità sull’insieme degli stati. La distribuzione T (s, a) descrive la probabilità di essere in un certo stato ad certo istante dopo che il sistema si trovava, nell’istante precedente, nello stato s e il controllore ha eseguito l’azione a. Per semplificare le notazioni, introduciamo la funzione τ (s, a, s0 ) = T (s, a)(s0 ) = P (St+1 = s0 | St = s, At = a). Per come abbiamo definito la dinamica del processo lo stato del sistema attuale dipende solo dallo stato e dall’azione all’istante precedente: queste proprietà è detta markov property. Inoltre, visto che le probabilità di transizione non dipendono dall’istante t in cui si trova il sistema, il processo di markov sottostante è detto omogeneo. • R : S × A × S → R è detta funzione premio e associa ad ogni transizione (St = s, At = a) → St+1 = s0 un premio pari a R(s, a, s0 ). Nel seguito, sarà sufficiente rappresentare la funzione P premio in maniera più succinta attraverso la funzione r(s, a) = E [R(s, a, St+1 ) | St = s, At = a] = s0 τ (s, a, s0 )R(s, a, s0 ) Data la 4-tupla (S, A, T , R), l’evoluzione del sistema è composta da N ≤ ∞ passi discreti. Ogni singolo passo è cosı̀ definito: • Il sistema si trova nello stato s ∈ S • Il controllore esegue un’azione a ∈ A • Il controllore ottiene un premio pari a r(s, a) • Il sistema si sposta nello stato s0 ∈ S con probabilità τ (s, a, s0 ) Una volta terminato il processo decisionale, per ogni istante t = 1, . . . , N indichiamo con st e at , rispettivamente, lo stato in cui si trova il sistema al tempo t e l’azione eseguita dal controllare al tempo t. Una sequenza (s0 , a0 , s1 , a1 . . . , sN −1 , aN −1 , sN ), con st ∈ S e at ∈ A, è detta traiettoria e indichiamo con H N l’insieme di tutte le traiettorie ammissibili per il processo considerato. Una traiettoria di lunghezza t è chiamata storia ed è denotata da ht = (s0 , a0 , s1 , a1 . . . st−1 , at−1 , st ) e con H t denotiamo l’insieme di tutte le storie di lunghezza t. Se N < ∞ il processo considerato viene detto a orizzonte finito, altrimenti il processo viene detto a orizzonte infinito Lo scopo di queste note è presentare alcuni semplici tecniche algoritmiche per scegliere la sequenza di azioni (a0 , . . . , aN −1 ) ottimale che il controllore dovrebbe eseguire (definiremo nel seguito cosa intendiamo per scelta di azioni ottimale). Per definire il modo in cui il controllore agisce sul sistema, introduciamo il concetto di decision rule. Questa funzione, che indicheremo, generalmente, con d, prende in ingresso tutta o una parte della storia del sistema fino ad un certo istante t e fornisce in uscita l’azione at+1 che il controllore deve compiere per far progredire il sistema. A seconda dei dati forniti in ingresso e al tipo di valore fornito in uscita, possiamo definire quattro tipi diversi di decision rule: 1 • Dipendente dalla storia e randomizzata (SR): la decision rule è una funzione d : H t → P(A), dove P(A) è l’insieme delle distribuzioni di probabilità sull’insieme delle azioni. Ad ogni istante t il controllore sceglie in maniera casuale l’azione at seguendo la distribuzione d(ht ), dove ht è la storia del processo sino all’istante considerato. Per semplificare le notazioni, quando d sarà del tipo SR definiremo la funzione δ(ht , a) = d(ht )(a) = P (At = a | Ht = ht ) • Dipendente dalla storia e deterministica (SD): la decision rule è una funzione d : H t → A. Ad ogni istante il controllore esegue l’azione d(ht ), dove ht è la storia del processo sino all’istante considerato. • Markoviana e randomizzata (MR): la decision rule è una funzione d : S → P(A). Ad ogni istante il controllore sceglie in maniera casuale l’azione at seguendo la distribuzione d(st ), dove st è lo stato attuale. Per semplificare le notazioni, quando d sarà del tipo MR definiremo la funzione δ(st , a) = d(st )(a) = P (At = a | St = st ). • Markoviana e deterministica(MD): la decision rule è una funzione d : S → A. Ad ogni istante il controllore esegue l’azione d(st ), dove st è lo stato attuale. Per semplificare le notazioni, indichiamo con DSR (risp. DSD , DM R , DM D ) l’insieme delle decision rule del tipo SR (risp. SD, MR, MD). Una policy φ = (d0 , d1 , . . . , dt , . . . , dN −1 ) è una sequenza di decision rule della stessa tipologia. Indichiamo con ΦSR (risp. ΦSD , ΦM R , ΦM D ) l’insieme delle policy ammissibili composte da decision rule del tipo SR (risp. SD, MR, MD). Sarà utile per il seguito notare che ΦM D ⊆ ΦM R e ΦSD , ΦM R , ΦM D ⊆ ΦSR . Infine, se la policy è tale che di = dj per ogni i, j = 1, . . . , N la policy è detta stazionaria. Dati un MDP finito, una policy φ e una distribuzione π sullo stato iniziale, è possibile definire un processo stocastico che descrive l’evoluzione del processo decisionale. Indichiamo questo processo con (S0 , A0 ), (S1 , A1 ), . . . , (St , At ), . . . dove le variabili casuali St e At descrivono, rispettivamente, lo stato del sistema al tempo t e l’azione scelta dal controllore al tempo t. Indicata con Pφ la probabilità associata a questo processo stocastico, è possibile definire facilmente le distribuzioni finito-dimensionali. Ad esempio, se φ ∈ ΦM R (i.e. la policy è markoviana e randomizzata), si ha: Pφ (s0 , a0 , s1 , a1 . . . , st−1 , at−1 , st ) = π(s0 )δ0 (s0 , a0 )p(s1 | s0 , a0 ) . . . δt−1 (st−1 , at−1 )p(st | st−1 , at−1 ) Visto che le distribuzioni finito-dimensionali sono compatibili, per il teorema di estensione di Kolmogorov, Pφ è ben definita. Le funzioni R(s, a, s0 ) e r(s, a), che descrivono il premio immediato ottenuto dal controllare eseguendo l’azione a, aiutano a guidare le decisioni del controllore. Tuttavia, una strategia proficua sul lungo periodo non deve tenere conto solo del premio immediato (per massimizzare il quale sarebbe sufficiente individuare l’azione a che massimizza r(s, a) per ogni stato s ∈ S), ma, in generale, l’obbiettivo finale del controllore è quello di ottenere l’equilibrio ottimale tra il premio immediato e il premio che potrà essere ottenuto in futuro. Di conseguenza, per valutare la bontà di una policy sull’orizzonte temporale t = 0, . . . , N introduciamo la funzione: "N −1 # X t VN (φ) = Eφ ω r(St , At ) t=0 Il parametro ω ∈ [0, 1] è detto discount factor e più ω è piccolo meno i premi ottenuti nel futuro incideranno nella valutazione della bontà di una policy. Se ω = 1, il problema studiato è detto undiscounted. Affinché questa funzione assuma valori finiti anche quando stiamo considerando un processo a orizzonte infinito (i.e. N = ∞) è sufficiente che ω < 1 e maxs,a | r(s, a) |= M < ∞. Infatti, se valgono queste assunzioni: "∞ # ∞ ∞ X X X M t Eφ ω r(St , At ) ≤ Eφ ω t r(St , At ) | ≤ M ωt ≤ 1 −ω t=0 t=0 t=0 2 L’analisi dei MDP che approfondiremo in queste note ha lo scopo di individuare dei metodi efficienti per ottenere una policy φ∗ per cui: # "N −1 X VN (φ∗ ) = max Eφ ω t r(St , At ) φ∈ΦSR t=0 Nel seguito, con VN (s0 , φ) indichiamo il valore VN (φ) ottenuto dal processo che parte dallo stato s0 (i.e. la distribuzione π dello stato iniziale è tutta concentrata in s0 ). Un primo aiuto nella ricerca di una policy ottima è fornito dal seguente lemma e dal suo corollario: (1) (2) (k) Lemma 1.1. Data una distribuzione sullo stato iniziale π, una successione di Ppolicy φ , φ ,∗. . . , φM R, . . . e una successione di coefficienti non negativi {p1 , p2 , . . . , pk , . . . } tali che k pk = 1, esiste φ ∈ Φ per cui: X Pφ∗ (St = s, At = a) = pk Pφ(k) (St = s, At = a) per ogni s ∈ S, a ∈ A, t = 1, . . . , N k ∗ Dimostrazione. Definiamo φ = (d∗1 , d∗2 , . . . ) in modo che, per ogni s ∈ S, a ∈ A, t = 1, . . . , N : P pk Pφ(k) (St = s, At = a) ∗ δt (s, a) = k P k pk Pφ(k) (St = s) Dimostriamo la tesi per induzione su t. Poniamo t = 0 e scegliamo s ∈ S e a ∈ A in maniera arbitraria. Visto che π(s) corrisponde alla probabilità dell’evento {S0 = s} qualsiasi sia la policy, abbiamo: Pφ∗ (S0 = s) = π(s) X X X pk Pφ(k) (S0 = s) = pk π(s) = π(s) pk = π(s) k k k . Se π(s) = 0, visto che l’evento {S0 = s} ha probabilità nulla qualsiasi sia la policy, abbiamo: X Pφ∗ (S0 = s, A0 = a) = pk Pφ(k) (S0 = s, A0 = a) = 0 k Nel caso contrario, grazie alla definizione di φ∗ si ha: X pk Pφ(k) (S0 = s, A0 = a) = k X P pk Pφ(k) (S0 = s) k k pk Pφ(k) (S0 = s, A0 = a) P k pk Pφ(k) (S0 = s) = π(s)δ0∗ (s, a) = Pφ∗ (S0 = s, A0 = a) Dimostrato il caso base, passiamo al caso induttivo. Assumiamo che la tesi valga per t = n e dimostriamo che vale per t = n + 1. Per ottenere questo risultato, notiamo che, per la legge delle probabilità totali e per l’ipotesi induttiva, vale: X Pφ∗ (Sn+1 = s) = Pφ∗ (Sn = s0 , An = a0 )Pφ∗ (Sn+1 = s | Sn = s0 , An = a0 ) s0 ,a0 = X Pφ∗ (Sn = s0 , An = a0 )τ (s, a, s0 ) s0 ,a0 = X pk Pφ(k) (Sn = s0 , An = a0 )τ (s, a, s0 ) k,s0 ,a0 = X k pk X Pφ(k) (Sn = s0 , An = a0 )τ (s, a, s0 ) = s0 ,a0 X k 3 pk Pφ(k) (Sn+1 = s) Ora, come nel caso base, consideriamo due casi. Se Pφ∗ (Sn+1 = s) = 0, per la catena di uguaglianza precedente abbiamo: X Pφ∗ (Sn+1 = s, An+1 = a) = pk Pφ(k) (Sn+1 = s, An+1 = a) = 0 k Altrimenti, se Pφ∗ (Sn+1 = s) 6= 0, utilizzando la definizione di φ∗ , otteniamo: X ∗ ∗ Pφ∗ (Sn+1 = s, An+1 = a) = δn+1 (s, a)Pφ∗ (Sn+1 = s) = δn+1 (s, a) pk Pφ(k) (Sn+1 = s) k P = X X k pk Pφ(k) (Sn+1 = s, An+1 = a) P pk Pφ(k) (Sn+1 = s) = pk Pφ(k) (Sn+1 = s, An+1 = a) k pk Pφ(k) (Sn+1 = s) k k Corollario 1.2. Per ogni φ ∈ ΦSR , esiste φ̃ ∈ ΦM R tale che: Pφ̃ (St = s, At = a) = Pφ (St = s, At = a) per ogni s ∈ S, a ∈ A, t = 1, . . . , N 1.2 MDP a orizzonte finito Se concentriamo la nostra analisi sui processi a orizzonte finito (i.e. N < ∞), è possibile mostrare che la ricerca della policy ottima può essere limitata all’insieme ΦM D (i.e. policy markoviane e deterministiche). Per mostrare questo, introduciamo le funzioni Ut : S → R e la policy φ∗ = (d∗1 , d∗2 , . . . , d∗N ) ∈ ΦM D definite, ricorsivamente: s∈S UN (s) = 0 ( r(s, d∗t (s)) + ω X ) τ (s, d∗t (s), s0 )Ut+1 (s0 ) = max r(s, a) + ω a s0 Ut (s) = r(s, d∗t (s)) + ω X X τ (s, a, s0 )Ut+1 (s0 ) s ∈ S, t = 0, . . . , N − 1 s0 τ (s, d∗t (s), s0 )Ut+1 (s0 ) s ∈ S, t = 0, . . . , N − 1 s0 Lemma 1.3. La policy φ∗ ottenuta dalle precedenti equazioni è ottima e U0 (s0 ) = VN (s0 , φ∗ ) Dimostrazione. Consideriamo una qualsiasi policy φ̃ = (d˜1 , d˜2 , . . . , d˜N ) ∈ ΦSR e mostriamo la tesi per induzione su N . Se N = 1, utilizzando la definizione di V0 e quella di φ∗ e dato che s0 è lo stato iniziale, abbiamo: X X V1 (s0 , φ̃) = r(s, a)Pφ̃ (S0 = s, A0 = a) = r(s0 , a)d˜0 (s0 , a) ≤ max r(s0 , a) = V1 (s0 , φ∗ ) = U0 (s0 ) s,a a∈A a Assumiamo che la tesi valga per N = t dimostriamo che vale anche per N = t + 1. Innanzitutto, grazie al corollario (1.2) sappiamo che esiste una policy φ ∈ ΦM R tale che Vt+1 (s0 , φ̃) = Vt+1 (s0 , φ). Dalla policy φ = (d0 , d1 , . . . , dt ) (definita sull’orizzonte temporale N = t + 1) otteniamo la policy φ̂ = (dˆ0 , dˆ1 , . . . , dˆt−1 ) (definita sull’orizzonte temporale N = t) in modo che dˆk = dk+1 per ogni k = 0, . . . , t − 1. Per induzione, dall’arbitrarietà con la quale è stato scelto s0 e per come è definita φ̂ abbiamo che: Vt (s, φ̂) ≤ Vt (s, φ∗ ) = U1 (s) s ∈ S L’ultima uguaglianza è valida perchè stiamo considerando che le funzioni Uk siano calcolate su un orizzonte temporale N = t + 1: la funzione U0 ottenuta sull’orizzonte temporale N = t coincide con la funzione U1 4 ottenuta sull’orizzonte temporale N = t + 1. Dalla catena di (dis)uguaglianze appena introdotta possiamo osservare che: " # X X 0 0 d0 (s0 , a) r(s0 , a) + ω τ (s0 , a, s )Vt (s , φ̂) Vt+1 (s0 , φ̃) = Vt+1 (s0 , φ) = s0 a " ≤ X # d0 (s0 , a) r(s0 , a) + ω X τ (s0 , a, s0 )U1 (s0 ) s0 a # " ≤ max r(s0 , a) + ω a X 0 0 τ (s0 , a, s )U1 (s ) = U0 (s0 ) s0 Inoltre: U0 (s0 ) = r(s0 , d∗0 (s0 )) + ω X τ (s0 , d∗0 (s0 ), s1 )U1 (s1 ) s1 " = r(s0 , d∗0 (s0 )) +ω X τ (s0 , d∗0 (s0 ), s1 ) # r(s1 , d∗0 (s1 ) s1 " = Eφ∗ t X +ω X τ (s1 , d∗0 (s1 ), s2 )U2 (s2 ) = ... s2 # ω r(St , At ) = Vt+1 (s0 , φ∗ ) k k=0 Utilizzando le ultime due catene di uguaglianze otteniamo: Vt+1 (s0 , φ̃) ≤ U0 (s0 ) = Vt+1 (s0 , φ∗ ) Dalla dimostrazione del precedente teorema è evidente il ruolo svolta dalla funzione Ut (s): essa coincide con la somma dei premi che è possibile ancora ottenere controllando in maniera ottimale il processo, considerando che dopo t passi il sistema si trova nello stato s. Dalle due ultime equazioni del teorema precedente è facile estrarre un algoritmo che in N passi di aggiornamento permette di ottenere U0 (s0 ) = VN (s0 , φ∗ ): ) ( X 0 0 τ (s, a, s )Ut+1 (s ) s ∈ S, t = N − 1, . . . , 0 (1) Ut (s) = max r(s, a) + ω a s0 Quindi,visto che UN (s) = 0 per ogni s ∈ S, possiamo ottenere in maniera iterativa UN (s), UN −1 (s), . . . , U0 (s) = VN (s, φ∗ ) per ogni s ∈ S. Memorizzando, ad ogni passo t e per ogni stato s, qual è l’azione a∗ per la quale si ottiene il massimo, è possibile ottenere una policy ottimale φ∗ ∈ ΦM D . Questo algoritmo viene generalmente chiamato in letteratura value iteration. 1.2.1 Semplici estensioni del modello Per semplificare la trattazione, abbiamo semplificato il più possibile la definizione di Markov Decision Process, tuttavia per aumentare le capacità descrittive del modello è possibile facilmente introdurre due estensioni che risulteranno utili nell’esempio successivo. La prima estensione riguarda la non omogeneità delle funzioni di transizione e di premio: invece di avere un’unica funzione di transizione T (s, a) o τt (s, a, s0 ) (risp. funzione premio R(s, a, s0 ) o r(s, a)), si hanno più funzioni di transizione diverse Tt (s, a) o τt (s, a, s0 ) (risp. funzioni di premio diverse Rt (s, a, s0 ) o rt (s, a)), una per ogni istante di tempo t nel quale la decisione viene effettuata. Inoltre, spesso nella definizione di modelli che utilizzano i Markov Decision Process, risulta utile associare un premio g(s) allo stato finale s in cui il sistema si viene trovare alla fine del processo decisionale. Queste due estensioni possono essere facilmente introdotte nei risultati ottenuti in precedenza per il modello più 5 semplice. Ad esempio, le regole di aggiornamento per l’algoritmo value iteration possono gestire queste due estensione effettuando delle piccole modifiche: ) ( X τt (s, a, s0 )Ut+1 (s0 ) s ∈ S, t = N − 1, . . . , 0 (2) Ut (s) = max ω t rt (s, a) + a s0 UN (s) = g(s) 1.2.2 (3) Esempio: il problema della segretaria Il problema che vogliamo modellare è il seguente: un datore di lavoro deve assumere una segretaria, per far questo deve scegliere una delle N candidate che hanno risposto all’annuncio di lavoro. Le candidate vengono intervistate in maniera sequenziale dal datore di lavoro, alla fine del colloquio il datore di lavoro deve scegliere se assumere la segretaria con cui ha appena parlato o continuare il suo processo di selezione con la candidata successiva, perdendo la possibilità di assumere la candidata appena analizzata. In questo processo assumiamo che il datore di lavoro voglia massimizzare la probabilità di assumere la migliore segretaria tra le N candidate e che sia in grado di capire se la candidata che ha intervistato è la migliore tra tutte quelle che ha intervistato sino a quel momento. Più formalmente, il problema può essere descritto utilizzando una sequenza di N elementi (w1 , w2 , . . . , wN ) e associando all’elemento w1 la migliore segretaria, a w2 la seconda migliore segretaria e cosı̀ via fino a wN che corrisponderà alla peggiore segretaria. Il decisore osserva gli N elementi nell’ordine casuale (wp(1) , wp(2) , . . . , wp(N ) ) dove p è una permutazione scelta utilizzando una distribuzione uniforme e ad ogni passo t il decisore riesce a capire se p(t) = mini=1,...,t p(i) ma non riesce a capire se p(t) = 1 senza aver osservato tutti gli elementi. Visto che non può tornare indietro rispetto alle scelte fatte, il decisore vuole massimizzare la probabilità di fermarsi scegliendo l’elemento migliore. Per modellare questo problema utilizziamo il seguente Markov Decision Process: • stati : S = {0, 1, ∆}, dove lo stato 1 descrive il fatto che l’elemento correntemente analizzato è il migliore tra tutti gli elementi analizzati sinora, lo stato 0 rappresenta il fatto che l’elemento correntemente analizzato non è il migliore tra gli elementi analizzati e, infine, lo stato ∆ rappresenta la fine del processo decisionale, cioè lo stato in cui il decisore ha effettuato la sua scelta. Lo stato ∆ è uno stato absorbing nel senso che, qualsiasi azione il controllore decida di eseguire sul sistema che si trova nello stato ∆, il sistema rimane in ∆ senza fornire al controllore alcun premio; • azioni : A = {C, Q}, dove C descrive la scelta del decisore di continuare il processo di selezione, mentre Q descrive la scelta di fermarsi e scegliere l’elemento correntemente analizzato; • funzioni di transizione: la probabilità che, osservati t + 1 elementi, l’ultimo osservato sia l’elemento 1 visto che la permutazione p viene scelta con una distribuzione migliore tra tutti i precedenti è pari a t+1 1 t uniforme, di conseguenza: τt (0, C, 1) = τt (1, C, 1) = t+1 , τt (0, C, 0) = τt (1, C, 0) = t+1 , τt (0, Q, ∆) = τt (1, Q, ∆) = 1 e il valore della funzione di transizione è nulla per i casi rimanenti; • funzioni premio: supponiamo che abbiamo analizzato t elementi e che sappiamo che l’ultimo elemento è il migliore tra quelli analizzati; la probabilità p che questo elemento sia anche il migliore fra tutti gli elementi candidati (compresi quelli non ancora analizzati) è uguale al rapporto tra il numero di sottoinsiemi di A = {1, . . . , N } con cardinalità t che contengono un particolare elemento, (nel nostro caso l’elemnto 1), e il numero di tutti i sottoinsieme di A di cardinalità t, quindi: N −1 t t−1 p = N = N t Ottenuta questa probabilità, possiamo definire le funzioni premio: rt (1, Q) = rt (1, C) = rt (∆, C) = rt (∆, Q) = 0. 6 t N e rt (0, Q) = rt (0, C) = Analizzando il problema in maniera analitica (si può vedere ad esempio Puterman (1994)), quello che risulta è che la policy ottima può essere descritta dal valore T (n), che ha la seguente proprietà: se un elemento è il migliore tra quelli già analizzati e sono stati analizzati almeno T (N ) elementi scegli l’elemento ) = 1e . correntemente analizzato, altrimenti continua l’analisi. L’andamento di T (N ) è tale che limN →∞ T (N N Utilizzando l’algoritmo di value iteration si può verificare questa proprietà: la figura 1 mostra i risultati ottenuti con lo script di matlab ScriptSecretary.m Figura 1: Andamento della funzione 1.3 T (N ) N al crescere di N e asintoto 1 e MDP a orizzonte infinito Ricordiamo che quando il modello non è a orizzonte finito, per garantire che V∞ (s0 , φ) sia ben definita ci limitamo al caso in cui ω ∈ [0, 1) (i.e. escludiamo il caso in cui ω = 1) e in cui il premio massimo sia finito (i.e. maxs,a | r(s, a) |= M < ∞). Per semplificare le notazioni nel seguito, dato un MDP ad orizzonte finito e un decision rule d ∈ DM R , introduciamo il vettore dei premi rd e la matrice di transizione Pd , entrambi indicizzati sull’insieme degli stati S: X rd (s) = d(s, a)r(s, a) a∈A Pd (s, t) = X d(s, a)τ (s, a, t) a∈A Nel seguito, quando scriveremo V ≤ W (dove V e W sono due vettori indicizzati su S) intenderemo l’ordinamento parziale V (s) ≤ W (s) per ogni s ∈ S, con la notazione ||V || intenderemo l’utilizzo della norma φ∗ `∞ (i.e. ||V || = maxs∈S | V (s) |) e definiremo V ∗ in modo che V ∗ = V∞ dove φ∗ è una policy ottima. La matrice Pφ è stocastica. Inoltre utilizzando la sua definizione, data una policy φ = (d0 , d1 , . . . , ..) ∈ ΦM R , è possibile ottenere la matrice di transizione a t passi: Pφt (s0 , st ) = Pd0 Pd1 . . . Pdk−1 (s0 , st ) = Pφ (St = st | S0 = s0 ) 7 φ φ Introducendo il vettore V∞ in modo che V∞ (s) = V∞ (s, φ), possiamo valutare in forma compatta il comportamento della policy φ: ∞ X φ V∞ = ω t Pφt rdt t=0 φ V∞ , Espandendo la definizione matriciale di φ V∞ = ∞ X otteniamo: 0 φ ω t Pφt rdt = rd0 + ωPd0 rd1 + ω 2 Pd0 Pd1 rd2 + · · · = rd0 + ωPd0 (rd1 + ωPd1 rd2 + . . . ) = rd0 + ωPd0 V∞ t=0 Dove φ0 è ottenuta da φ shiftando di una posizione a destra le decision rule che la compongono: φ0 = (d1 , d2 , . . . , ..). L’equazione precedente viene ulteriormente semplificata se si considera un policy stazionaria ˜ d, ˜ . . . , ..): φ̃ = (d, φ̃ φ̃ V∞ = rd˜ + ωPd˜V∞ (4) φ̃ φ̃ Introducendo la funzione lineare fφ̃ (v) = rd˜ + ωPd˜v, possiamo riscrivere la (4) come V∞ = fφ̃ (V∞ ) e notare φ̃ che il vettore V∞ non è niente altro che un punto fisso di f φ̃ (v). φ̃ si ottiene partendo dalla sua definizione come prodotto di una serie Un ulteriore modo per riscrivere V∞ geometrica di matrici con il vettore dei premi: "∞ # X φ̃ = (ωPd˜)t rd˜ V∞ t=0 Pd˜ è una matrice stocastica e, di conseguenza, il suo P raggio spettrale, che indichiamo con ρ(Pd˜), è uguale ad ∞ 1. Quindi, visto che ρ(ωPd˜) < 1, la serie geometrica t=0 (ωPd˜)t è convergente. Di conseguenza, la matrice (I − ωPd˜) è invertibile e possiamo scrivere: φ̃ V∞ = (I − ωPd˜)−1 rd˜ Le equazioni seguenti, conosciute come le equazioni di Bellman sono utilizzate per l’individuazione della policy ottima di un MDP a orizzonte infinito: ( ) X V (s) = max r(s, a) + ωτ (s, a, s0 )V (s0 ) a∈A s0 ∈S Le stesse in forma matriciale diventano: V = max {rd + ωPd V } d∈D M D (5) E’ facile vedere che la soluzione di queste equazioni è tale per cui V (s) corrisponde al massimo premio che si può ottenere in un processo a orizzonte infinito utilizzando una policy markoviana, deterministica e stazionaria. Nel seguito mostreremo che la policy stazionaria φ ∈ ΦM D ottenuta dalla soluzione di queste equazioni è anche una policy ottima per il processo considerato. E’ possibile ottenere un’ulteriore semplificazione delle equazione (5) introducendo la funzione non-lineare: f˜(V ) = max {rd + ωPd V } d∈D M D In questo modo possiamo scrivere le equazioni di bellman come V = f˜(V ) e notare che la soluzione di questa equazione è un punto fisso della funzione f˜. Per dimostrare che la soluzione dell’equazione di bellman permette di ottenere la policy ottima, iniziamo a enunciare una serie di lemmi utilizzati nel seguito. Il primo di questi lemmi mostra che non si perde niente in ottimalità se nella ricerca delle decision rule che soddisfano le equazioni di Bellman ci concentriamo solo sulle decision rule deterministiche e markoviane. 8 Lemma 1.4. Dato un qualsiasi vettore V : max {rd + ωPd V } = max {rd + ωPφ V } d∈D M D d∈D M R Dimostrazione. Dall’inclusione DM D ⊂ DM R segue che: max {rφ + ωPd V } ≤ max {rd + ωPd V } d∈D M D d∈D M R Per ottenere la disuguaglianza inversa, Notiamo innanzitutto che, guardandole componente per componente, le quantità considerate possono essere riscritte come: ( ) ) ( X X 0 0 0 0 ωPd (s, s )V (s ) = max r(s, a) + ωτ (s, a, s )V (s ) per ogni s ∈ S max rd (s) + d∈D M D a∈A s0 ( max {rd + ωPd V } = max q∈∆A d∈D M R s0 " X #) q(a) r(s, a) + X ωτ (s, a, s0 )V (s0 ) per ogni s ∈ S s0 a∈A Dove ∆A è l’insieme di tutte le distribuzione discrete su A. Ora è facile mostrare che per ogni q ∈ ∆A si ha: ( ) " # X X X 0 0 0 0 max r(s, a) + ωPφ (s, s )V (s ) ≥ q(a) r(s, a) + ωP (s, s )φ V (s ) a∈A s0 s0 a∈A Il seguente lemma mostra che un vettore V che soddisfa le equazioni di Bellman è uguale al vettore dei premi associato a un processo che utilizza una policy ottima: Lemma 1.5. Sia V un qualsiasi vettore indicizzato sull’insieme S, allora: 1. V ≥ f˜(V ) implica V ≥ V ∗ 2. V ≤ f˜(V ) implica V ≤ V ∗ 3. V = f˜(V ) implica V = V ∗ Dimostrazione. Incominciamo a mostrare la tesi 1. Consideriamo una policy φ = (d0 , d1 , . . . , dt , . . . ) ∈ ΦSR . Utilizzando l’ipotesi e la definizione di f˜, otteniamo: V ≥ max {rd + ωPd V } d∈D M D E, quindi, valgono le seguenti disuguaglianze: V ≥ rd0 + ωPd0 V ≥ rd0 + ωPd0 (rd1 + ωPd1 V ) = rd0 + ωPd0 rd1 + ω 2 Pd0 Pd1 V Reiterando lo stesso procedimento, per ogni t ≥ 1, otteniamo: V ≥ rd0 + ωPd0 rd1 + ω 2 Pd0 Pd1 rd2 + · · · + ω t Pφt V Se sottraiamo sia a sinistra che a destra Vφ∞ (i.e. il vettore dei valori attesi associati a φ): V − Vφ∞ ≥ ω t Pφt V − ∞ X k=t 9 ω k Pφk rdk (6) Siccome Pφt è stocastica si ha che ω t Pφt V ≤ ω t ||V ||, e scegliendo un qualsiasi > 0, visto che ω < 1, esiste t ≥ 0 per cui: −(/2)e ≤ ω t Pφt V ≤ (/2)e (7) Dove e è il vettore con tutte le componenti uguali ad 1. Visto che stiamo assumendo maxs,a | r(s, a) |= M < ∞ possiamo scrivere: ∞ X ω k Pφk rφk ≤ k=t ∞ X ω k Pφk M e = k=t ∞ X ωk M e = M e k=t 1 1 − ωt ωt − Me = Me 1−ω 1−ω 1−ω Anche in questo caso, scegliendo appropriatamente t ≥ 0, possiamo ottenere: (−/2)e ≤ ∞ X ω k Pφk rφk ≤ (/2)e (8) k=t Di conseguenza, scegliendo in t in modo da soddisfare (13) e (14) e utilizzando la (6), otteniamo: V ≥ Vφ∞ + ω t Pφt V − ∞ X ω k Pφk rφk = Vφ∞ − e k=t Dato che e φ sono state scelte in maniera arbitraria vale V ≥ V ∗ . Per mostrare la tesi 2, incominciamo a notare che V ≤ f˜(V ) implica che per ogni > 0 esiste d ∈ DM D per cui: V ≤ rd + ωPd V + e Possiamo riscrivere questa disuguaglianza come: rd + e − (I − ωPd )V ≥ 0 Siccome ρ(ωPd ) < 1, P∞ t t=0 (ωPd ) = (I − ωPd )−1 e Pd è non negativa, otteniamo: (I − ωPd )−1 (rd + e − (I − ωPd )V ) = ∞ X (ωPd )t (rd + e − (I − ωPd )V ) ≥ ωPd (rd + e − (I − ωPd )V ) ≥ 0 t=0 Considerando il primo e l’ultimo termine di questa catena di disuguaglianze, otteniamo: (I − ωPd )−1 rd + (I − ωPd )−1 e − V ≥ 0 Infine, visto che (I − ωPd )−1 rd = Vφ∞ , otteniamo: V ≤ Vφ∞ + (I − ωPd )−1 e E dato che è stato scelto in maniera arbitraria abbiamo che V ≤ V ∗ . La tesi 3 segue dalla combinazione della 1 e della 2. Per mostrare che le equazioni di bellman hanno una ed una sola soluzione è necessario notare che l’insieme dei vettori indicizzati sull’insieme S insieme alla norma ||V || introdotta in precedenza definiscono uno spazio di Banach che indicheremo con V. Inoltre, come vedremo nel seguito, tornerà utile il concetto di contrazione su uno spazio di Banach: una funzione h : V → V si dice contrazione se esiste λ ∈ [0, 1) per cui data una qualsiasi coppia V, U ∈ V si ha: ||h(V ) − h(U )|| ≤ λ ||h(V ) − h(U )|| . Lemma 1.6. La funzione f˜(V ) = maxd∈DM D {rd + ωPd V } è una contrazione 10 Dimostrazione. Consideriamo due vettori qualsiasi V, U ∈ V e definiamo Ṽ = f˜(V ) e Ũ = f˜(U ). Scegliamo s ∈ S in maniera arbitraria, assumiamo inizialmente che Ṽ (s) ≥ Ũ (s) e definiamo: ) ( X ∗ 0 0 as = arg max r(s, a) + ωτ (s, a, s )V (s ) a∈A s0 ∈S Di conseguenza, applicando la definizione di f˜ otteniamo: X Ṽ (s) = r(s, a∗s ) + ωτ (s, a∗s , s0 )V (s0 ) s0 ∈S Ũ (s) ≥ r(s, a∗s ) + X ωτ (s, a∗s , s0 )U (s0 ) s0 ∈S Utilizzando queste due relazioni e l’assunzione Ṽ (s) ≥ Ũ (s) otteniamo: X X 0 ≤ Ṽ (s) − Ũ (s) ≤ r(s, a∗s ) + ωτ (s, a∗s , s0 )V (s0 ) − r(s, a∗s ) − ωτ (s, a∗s , s0 )U (s0 ) s0 ∈S = X ωτ (s, a∗s , s0 )(V (s0 ) − U (s0 )) ≤ s0 ∈S = X s0 ∈S X ωτ (s, a∗s , s0 ) max (V (s00 ) − U (s00 )) 00 s0 ∈S s ∈S ωτ (s, a∗s , s0 ) ||V − U || = ω ||V − U || s0 ∈S Lo stesso ragionamento può essere utilizzato assumendo che Ũ (s) ≥ Ṽ (s) e quindi otteniamo: | Ṽ (s) − Ũ (s) |≤ ω ||V − U || Visto che s è stato scelto in maniera arbitraria dalla precedente disuguaglianza otteniamo max | Ṽ (s) − Ũ (s) |= Ṽ − Ũ ≤ ω ||V − U || s∈S Il seguente teorema detto del punto fisso (che non dimostriamo) è lo strumento principale che permette di mostrare l’esistenza e l’unicità della soluzione delle equazioni di Bellman: Teorema 1.7. Sia V uno spazio di Banach e sia h : V → V una contrazione allora: • Esiste un unico V ∗ ∈ V tale che h(V ∗ ) = V ∗ (i.e. V ∗ è punto fisso di h) • Dato un arbitrario V0 ∈ V, la sequenza Vn = h(Vn−1 ) per ogni n ≥ 1 converge al punto fisso V ∗ Utilizzando il teorema appena enunciato è immediato mostrare che le equazioni di Bellman hanno una ed una sola soluzione: Lemma 1.8. La funzione f˜ : V → V ha uno ed un solo punto fisso VF e VF = V ∗ Dimostrazione. La prima parte del lemma viene dimostrata semplicemente utilizzando il teorema del punto fisso (1.7) visto che con il lemma (1.6) abbiamo mostrato che f˜ è una contrazione. Applicando il lemma (1.5) è immediato anche mostrare la seconda parte del lemma Lemma 1.9. Una policy φ ∈ ΦSR è ottima se e solo se Vφ∞ è una soluzione delle equazioni di Bellman Dimostrazione. Supponiamo che φ sia ottima: abbiamo Vφ∞ = V ∗ e per il lemma 1.8, f˜(Vφ∞ ) = Vφ∞ . Supponiamo che f˜(Vφ∞ ) = Vφ∞ : per il lemma 1.5 Vφ∞ = V ∗ 11 Il seguente lemma permette di concentrare le ricerche di policy ottime sull’insieme delle policies markoviane deterministiche e stazionarie: Lemma 1.10. Esiste una decision rule d∗ ∈ ΦM D tale che V ∗ = rd∗ +ωPd∗ V ∗ . Inoltre, la policy stazionaria φ∗ = (d∗ , d∗ , . . . ) è ottima. Dimostrazione. Dal lemma 1.8 sappiamo che V ∗ è l’unica soluzione delle equazioni di Bellman, e quindi la decision rule cercata è quella per cui il massimo in queste equazioni viene raggiunto: V ∗ = f˜(V ∗ ) = max {rd + ωPd V ∗ } = rd∗ + ωPd∗ V ∗ d∈D M D Di conseguenza visto che V ∗ = rd∗ + ωPd∗ V ∗ e che Vφ∞∗ è la soluzione dell’equazione 4 abbiamo che Vφ∞∗ = V ∗. Di conseguenza, l’algoritmo, chiamato anch’esso value iteration,viene inizializzato con un arbitrario vettore V0 , e calcola la sequenza di vettori ottenuti dalla seguente regola di aggiornamento: Vt+1 = max {rd + ωPd Vt } d∈D M D Visto che f˜ è una contrazione e V ∗ è il suo unico punto fisso, la successione {Vt } converge verso V ∗ . Inoltre, è possibile mostrare che, se l’algoritmo viene arrestato alla più piccola iterazione T per cui ||VT − VT −1 || ≤ ∗ 1−ω 2ω si ottiente che ||VT − V || ≤ /2. 1.4 Gestione di un autonoleggio Una persona deve gestire per conto di una compagnia di autonoleggio nazionale due punti da cui è possibile prendere una macchina a noleggio e riconsegnarla dopo averla utilizzata. I clienti dell’autonoleggio possono prendere e riconsegnare la macchina in qualsiasi punto della rete nazionale. Il gestore dei due punti di noleggio deve decidere in che modo spostare le macchine tra le due località. Se un cliente vuole nolegiare una macchina alla località l e in questa località è presente almeno una macchina, il gestore può noleggiare la macchina e ottiene una ricompensa dalla compagnia nazionale, altrimenti il cliente non può noleggiare una macchina e il gestore non ottiene niente dalla compagnia nazionale. Durante la notte il gestore può decidere quante macchine spostare, fino ad un massimo di A, da una località all’altra. Assumiamo che: • Il gestore ottiene dalla compagnia nazionale cN euro per ogni macchina che riesce a noleggiare; • Il costo che deve pagare il gestore per spostare una macchina è pari a cM euro; • Il numero di richieste per una macchina a noleggio in un giorno per la prima località (risp. seconda − località) segue una distribuzione di Poisson con parametro λ− 1 (risp. λ2 ) e il numero di macchine che vengono riportate alla prima località (risp. seconda località) segue una distribuzione di Poisson con + parametro λ+ 1 (risp. λ2 ). Tutte e quattro le variabili casuali sono indipendenti tra loro; • Una località puo contenere al più M macchine; le macchine eccedenti vengono recuperate gratuitamente dalla compagnia di autonoleggio nazionale che provvederà a ridistribuirle sul territorio; • Le macchine restituite all’autonoleggio diventano disponibili solo all’inizio del giorno successivo alla data di consegna. Lo scopo del gestore dei due punti di autonoleggio è individuare il modo ottimale di spostare le macchine tra le due località, in modo da massimizzare i profitti. Per risolvere questo problema possiamo utilizzare il seguente Markov Decision Process a orizzonte infinito: • Stati : S = {(i, j) | i, j = 0, . . . , M }, dove lo stato (i, j) descrive la situazione in cui ci sono i macchine nella prima località e j macchine nella seconda località; 12 • Azioni : A = {−A, −A + 1, . . . , 0, 1, . . . , A − 1, A} dove l’esecuzione dell’azione a comporta lo spostamento di | a | macchine dalla prima localita alla seconda località (risp. dalla seconda località alla prima località) se a >= 0 (risp. se a < 0); • Funzione di transizione: introduciamo le quattro variabili casuali R1+ , R1− ,R2+ ,R2− che descrivono rispettivamente, il numero di macchine riportate e richieste alla prima e alla seconda località. Se a ≥ 0 (il caso a < 0 è simile), otteniamo: τ (i, j), a, (i, j) =P min max max [i − a, 0] − R1− , 0 + R1+ , M = i × P min max min [j + a, M ] − R2− , 0 + R2+ , M = j Dal punto di vista computazionale queste probabilità possono essere facilmente ottenute enumerando tutti i valori che le variabili casuali R1+ , R1− ,R2+ ,R2− possono assumere e calcolando le probabilità con cui assumono questi valori. Questo processo di enumerazione non può essere eseguito completamente visto che il supporto della distribuzione di Poisson non è finito. Tuttavia, la probabilità che una delle + − − variabili casuali assuma un valore molto più grande dei parametri λ+ 1 , λ2 , λ1 , λ2 è molto bassa e quindi l’enumerazione può essere troncata. • funzioni premio: la funzione premio può essere definita nel seguente modo: r((i, j), a) = cN ∞ ∞ X X min [k, i] P (R1− = k) + cN min [k, j] P (R2− = k) + CM | a | k=0 k=0 Per valutare questo valore atteso è possibile utilizzare la stessa tecnica utilizzata per valutare la funzione di transizione τ . Applicando l’algoritmo di value iteration a questo markov decision problem, fissando i parametri A = + − − 5, M = 10, cM = 2, cN = 10, λ+ 1 = 3, λ2 = 4, λ1 = 3, λ2 = 2 si ottengono i risultati mostrati in figura (2). Figura 2: Policy ottima (sinistra) e Value Function (destra) ottenute per il problema dell’autonoleggio 2 Partially Observable Markov Decision Processes I Partially Observable Markov Decision Process (POMDP) sono un’estensione dei Markov Decision Process studiati in precedenza. Questo nuovo modello decisionale è adatto ad analizzare processi in cui il controllore non è in grado di sapere con certezza in che stato si trova il sistema controllato. Nella definizione dei 13 POMDP sono ancora presenti gli insiemi S, A e le funzioni T e R. In più, viene introdotto l’insieme finito dei messaggi O. Ogni volta che il sistema arriva in un nuovo stato s ∈ S, fornisce al controllore, che ha appena eseguito un’azione a ∈ A, un messaggio o ∈ O che, in generale, non permette di identificare con certezza lo stato in cui si trova il sistema. Tuttavia, gli stati e i messaggi generati dal sistema sono correlati: questa correlazione viene formalizzata dalla funzione M : A × S → P(Θ), la quale dato uno stato s e l’azione a che ha portato il sistema in s, fornisce la distribuzione M(a, s) secondo la quale il sistema genererà il nuovo messaggio. Come fatto per la funzione T , per semplificare le notazioni, introduciamo la funzione ρ(a, s, o) = P (Ot = o | At = a, St+1 = s). Volendo avere una funzione di premio R il più generica possibile, definiamo questa funzione su un dominio più ampio rispetto a quanto fatto per i processi completamente osservabili: R:S ×A×S ×O →R Quando il sistema passa dallo stato s1 ∈ S allo stato s2 ∈ S, dopo aver eseguito l’azione a ∈ A e dopo aver generato il messaggio o ∈ O, il premio ottenuto dal controllore è R(s1 , a, s2 , o). La più sintetica funzione r(s, a) può essere ancora definita, solo che, in questo caso, è necessario calcolare il valore atteso anche sul messaggio generato, non solo sullo stato successivo: XX r(s, a) = E [R(St , At , St+1 , Ot+1 ) | St = s, At = a] = τ (s, a, s0 )ρ(a, s0 , o)R(s, a, s0 , o) s0 ∈S o∈O Data la 6-upla (S, A, T , R, O, M), l’evoluzione del sistema è composta da N ≤ ∞ passi. Ogni singolo passo è cosı̀ definito • Il sistema si trova nello stato s1 ∈ S • Il controllore esegue un’azione a ∈ A • Il sistema si sposta nello stato s2 ∈ S con probabilità τ (s1 , a, s2 ) • Il controllore non conosce lo stato in cui si trova il sistema ma osserva il messaggio o ∈ O con probabilità ρ(a, s2 , o) • Il controllore ottiene un ricompensa pari a r(s1 , a) Terminato il processo decisionale, per ogni istante t = 1, . . . , N indichiamo con st , at e ot , rispettivamente, lo stato in cui si trovava il sistema al tempo t, l’azione eseguita dal controllare al tempo t e il messaggio fornito al controllore al tempo t. Una sequenza (s0 , a0 , o0 , s1 , a1 . . . , oN −1 , sN −1 , aN −1 , oN , sN ), con st ∈ S, at ∈ A e ot ∈ O, è detta traiettoria e indichiamo con H N l’insieme di tutte le traiettorie ammissibili per il processo considerato. Una traiettoria di lunghezza t è chiamata storia ed è denotata da ht = (s0 , a0 , o1 , s1 , a1 . . . ot−1 , st−1 , at−1 , ot , st ) e con H t denotiamo l’insieme di tutte le storie di lunghezza t. Se N < ∞ il processo considerato viene detto a orizzonte finito, altrimenti viene detto a orizzonte infinito. Un controllore non sa mai con certezza in che stato si trova il sistema. Di conseguenza, per modellare il processo decisionale, introduciamo il concetto di storia osservabile: una storia osservabile di lunghezza t è la proiezione di una storia ht sulle azioni e sui messaggi, kt = (a0 , o1 , a1 . . . ot−1 , at−1 , ot ). L’insieme di tutte le storie osservabili di lunghezza t definisce l’insieme Kt . Una decision rule all’istante t è una funzione d : Kt → P(A) e una policy φ è definita partendo dalle decision rule: φ = (d0 , d1 , . . . , dt , . . . , dN −1 ). A differenza di quanto visto con i processi completamente osservabili, è possibile mostrare che nella ricerca di policy ottime per i POMDP non possiamo soffermarci su decision rule che tengono conto soltanto di una parte della storia osservata fino all’istante della decisione. Quindi policy composte da decision rule del tipo d : O → A o d : O → P(A) possono risultare sub-ottimali. Questa proprietà crea problemi nell’implementazione corretta di un controllore: è necessario che il controllore memorizzi una sequenza molto lunga di azioni e osservazioni. Per evitare la necessità di memorizzare tutta la storia vt osservata nel passato è possibile introdurre la statistica chiamata belief state, definita come Bt (s) = P (St = s | Kt ) per ogni s ∈ S. Il valore di questa statistica, che per semplicità indicheremo con bt ∈ P(S), sintetizza tutta l’informazione associata alla storia osservata sino alla ricezione del messaggio ot . 14 Lemma 2.1. Bt−1 è una statistica sufficiente del campione Kt−1 per la stima di bt Dimostrazione. Per definizione di belief state, sappiamo che: Bt (s) = P (St = s | Kt ) Innanzitutto, osserviamo che Kt può essere definito in maniera induttiva come Kt = (Kt−1 , At , Ot ) e assumendo che Ot = o, At = a e Kt = k in maniera arbitraria, possiamo riscrivere: Bt (s) = P (St = s | At = a, Ot = o, Kt−1 = k) Utilizzando la definizione di probabilità condizionata, otteniamo: Bt (s) = P (St = s, At = a, Ot = o, Kt−1 = k) P (At = a, Ot = o, Kt−1 = k) Decomponendo il numeratore e il denominatore utilizzando la chain rule, otteniamo: Bt (s) = P (Ot = o | St = s, At = a, Kt−1 = k)P (St = s | At = a, Kt−1 = k)P (At = a, Kt−1 = k) P (Ot = o | At = a, Kt−1 = k)P (At = a, Kt−1 = k) Semplificando i termini P (At = a, Kt−1 = k) al numeratore e al denominatore e tenendo conto che, dati St e At , la v.c. Ot non dipende da Kt−1 , otteniamo: Bt (s) = P (Ot = o | St = s, At = a)P (St = s | At = a, Kt−1 = k) P (Ot = o | At = a, Kt−1 = k) Ora decomponendo il denominatore utilizzando le v.c. St e St−1 , otteniamo: P (Ot = o | St = s, At = a)P (St = s | At = a, Kt−1 = k) 0 00 0 00 P (O = o | A t t = a, Kt−1 = k, St = s , St−1 = s )P (St = s , St−1 = s | At = a, Kt−1 = k) s0 ,s00 Bt (s) = P Tenendo conto che date At e St , la v.c. Ot non dipende da Kt−1 e St−1 e fattorizzando ulteriormente il terzo fattore del denominatore, otteniamo: P (Ot = o | St = s, At = a)P (St = s | At = a, Kt−1 = k) P (O = o | A = a, St = s0 )P (St = s0 | St−1 = s00 , At = a, Kt−1 = k)P (St−1 = s00 | At = a, Kt−1 = k) t t s0 ,s00 Bt (s) = P Possiamo decomporre anche il secondo fattore del numeratore, utilizzando la v.c. St−1 : P P (Ot = o | St = s, At = a) s00 [P (St = s | St−1 = s00 , At = a, Kt−1 = k)P (St−1 = s00 | At = a, Kt−1 = k)] Bt (s) = P 0 0 00 00 s0 ,s00 P (Ot = o | At = a, St = s )P (St = s | St−1 = s , At = a, Kt−1 = k)P (St−1 = s | At = a, Kt−1 = k) A questo punto, tenendo conto che, date St−1 e At , St non dipende da Kt−1 , e St−1 non dipende da At , visto che sappiamo che l’azione è decisa in maniera arbitraria dal controllore e quindi non fornisce informazioni sullo stato passato. Utilizzando, inoltre, le semplificazioni notazionali P (Ot = o | St = s, At = a) = ρ(s, a, o) e P (St = s | St−1 = s00 , At = a) = τ (s00 , a, s) otteniamo: P ρ(s, a, o) s00 [τ (s00 , a, s)P (St−1 = s00 | Kt−1 = k)] Bt (s) = P 0 00 0 00 s0 ,s00 ρ(s , a, o)τ (s , a, s )P (St−1 = s | Kt−1 = k) Infine, utilizzando la definizione di Bt−1 (s), otteniamo la seguente regola di aggiornamento: P ρ(s, a, o) s00 [τ (s00 , a, s)Bt−1 (s00 )] Bt (s) = P 0 00 0 00 s0 ,s00 ρ(s , a, o)τ (s , a, s )Bt−1 (s ) Quest’ultima uguaglianza mostra che per calcolare Bt (s), dopo che abbiamo eseguito la mossa At = a e ricevuto il messaggio Ot = o, è sufficiente conoscere Bt−1 (s) e non è necessario utilizzare tutta la storia osservata Kt−1 = k. 15 Dall’ultima uguaglianza del teorema precedente definiamo la funzione di transizione da bt−1 a bt : bt = z(bt−1 , a, o) Questa funzione, trasforma bt−1 in bt in modo tale che: P ρ(s, a, o) s00 [τ (s00 , a, s)bt−1 (s00 )] bt (s) = σ(bt−1 , a, o) (9) P Nella definizione precedente abbiamo introdotto la definizione σ(b, a, o) = s,s0 ρ(s, a, o)τ (s0 , a, s)b(s0 ) che ha l’interessante interpretazione di essere la probabilità di ricevere il messaggio o al tempo t, dopo aver eseguito l’azione a dato che il belief state al tempo t − 1 era b. Da questa transizione è possibile definire un MDP continuo sui belief state che è equivalente al POMDP considerato. Come abbiamo visto per definire un Markov Decision Process occorre definire l’insieme degli stati, l’insieme delle azioni, la funzione di transizione e la funzione premio. In questo caso, l’insieme degli stati è l’insieme non finito dei belief state P(S), che per brevità indicheremo con B, le azioni A corrispondono con le azioni del POMDP considerato, la funzione di transizione è definita in forma compatta dalla funzione z(b, a, o) definita in precedenza e la funzione di premioP semplificata (i.e. quella denotata con r(s, a) nella sezione sui MDP) è definita dalla funzione w(b, a) = s∈S b(s)r(s, a) (nota che in questa caso r(s, a) si riferisce alla funzione premio dei POMDP). A questo punto, è interessante notare che pur essendo l’insieme degli stati del Markov Decision Process appena definito non finito, l’insieme delle possibili transizioni da uno stato ai suoi successivi rimane finito: l’insieme delle azioni A è finito, l’insieme dei messaggi O è finito e di conseguenza i possibili belief state ottenibili applicando a b ∈ B la funzione z sono finiti. Nel seguito indicheremo con B(b, a) = {z(b, a, o) | o ∈ O} l’insieme dei belief state ottenibili eseguendo l’azione a partendo dal belief state b. Visto che abbiamo ridotto il nostro problema su un processo parzialmente osservabile (con stati finiti) ad un processo completamente osservabile (con stati infiniti) e visto che gran parte dell’analisi fatta per i Markov Decision Process (ad es. la possibilità di limitarci a policy markoviane vedi Puterman (1994)) a stati finiti si estende anche al caso in cui l’insieme degli stati non è finito, nella successiva analisi dei Partially Observable Markov Decision Process considereremo solo policy costruite a partire da decision rule markoviane d : P(S) → A, l’insieme di queste policy verrà indicato, per semplicità, con Φ. Inoltre, dato un belief state iniziale b0 e una policy φ = (d0 , d1 , . . . ) è possibile definire un processo stocastico che descrive il processo di decisione, denotato da (S0 , A0 , O1 , S1 , A1 , . . . ). Indicando con Pφ la probabilità associata a questo processo stocastico, è possibile definire facilmente le distribuzioni finito-dimensionali: Pφ (s0 , a0 , o1 , s1 . . . , st−1 , at−1 , ot , st ) = b0 (s0 )δ(φ0 (b0 ), a0 )b1 (s1 )ρ(s1 , a0 , o1 ) . . . δ(φt−1 (st−1 ), at−1 )bt (st )ρ(s1 , a0 , ot ) Dove δ(a1 , a2 ) = 1 se a1 = a2 ( δ(a1 , a2 ) = 0 altrimenti) e bk = z(bk−1 , ak−1 , ok ) per ogni k = 1, . . . , t. Visto che le distribuzioni finito-dimensionali sono compatibili, per il teorema di estensione di Kolmogorov, Pφ è ben definita. Come per i MDP, il problema che vogliamo risolvere nel seguito sarà quello di trovare una policy che massimizza i premi ottenuti dal controllore. Per valutare la bontà di una policy sull’orizzonte temporale t = 0, . . . , N , introduciamo la funzione: "N −1 # X t VN (φ) = Eφ ω r(Xt , At ) t=0 Anche per i POMDP, il parametro ω ∈ [0, 1] è detto discount factor e più ω è piccolo meno i premi ottenuti nel futuro incideranno nella valutazione della bontà di una policy. Se ω = 1 il problema considerato è detto undiscounted. Quindi, l’analisi del POMDP che consideriamo in queste note ha lo scopo di trovare dei metodi per individuare una policy φ∗ per cui: "N −1 # X ∗ t VN (φ ) = max Eφ ω r(Xt , At ) φ∈Φ t=0 16 2.1 POMDP a orizzonte finito In questa sezione analizziamo i POMDP a orizzonte finito (N < ∞). Come abbiamo fatto per i MDP a orizzonte finito, introduciamo le funzioni Ut : P(S) → R, in modo che Ut (b) è il valore massimo dei premi che si possono ancora ottenere dopo che l’esecuzione di t passi ha portato il sistema ad essere nel belief state b. Di conseguenza, VN (b0 , φ∗ ) = U0 (b0 ). In questo modo è possibile estendere le regole di aggiornamento (1) al caso dei POMDP: X Ut (b) = max w(b, a) + ω P (Bt+1 = b0 | Bt = b, At = a)Ut+1 (b0 ) b ∈ P(S), t = 0, . . . , N − 1 a 0 b ∈B(b,a) Visto che ogni elemento di B(b, a) è associato ad un elemento di o ∈ O, possiamo trasformare la sommatoria nell’equazione precedente in un sommatoria su O: ( ) X Ut (b) = max w(b, a) + ω σ(b, a, o)Ut+1 (z(b, a, o)) b ∈ P(S), t = 0, . . . , N − 1 a o∈O Espandendo le definizioni di w e σ, è possibile riscrivere l’equazione mettendo in risalto le quantità di base che definiscono un POMDP: X X b(s)r(s, a) + ω Ut (b) = max ρ(s, a, o)τ (s0 , a, s)b(s0 )Ut+1 (z(b, a, o)) b ∈ P(S), t = 0, . . . , N − 1 a 0 s s,s ,o Per rendere più semplice l’esposizione delle proprietà di Ut (b), introduciamo due nuove famiglie di funzioni che aiutano a decomporre Ut (b): Ut (b)a,o = 1 w(b, a) + ωσ(b, a, o)Ut+1 (z(b, a, o)) a ∈ A, o ∈ O, b ∈ P(S), t = 0, . . . , N − 1 |O| X Ut (b)a = Ut (b)a,o a ∈ A, b ∈ P(S), t = 0, . . . , N − 1 (10) o∈O In questo modo, è possibile riscrivere Ut (b) in maniera più sintetica: Ut (b) = max Ut (b)a a La proprietà fondamentale della funzione Ut (b), che permette di analizzare esattamente il processo studiato, nonostante questo sia definito sull’insieme di stati non finito B, è che questa funzione è piece-wise linear e convessa. Nel seguito enunceremo una serie di teoremi sulle funzioni piece-wise linear convesse che serviranno a mostrare questa proprietà (per la prima volta enunciata in Smallwood and Sondik (1973)). Definizione 2.2. Una funzione f : D → R con D ⊆ Rn si dice piece-wise linear se esiste una partizione di D in L sottoinsiemi {D1 , D2 , . . . , DL } e un insieme di L vettori {α1 , α2 , . . . , αL } e di L scalari {β1 , β2 , . . . , βL } per cui: f (x) = αiT x + βi se x ∈ Di Definizione 2.3. Una funzione f : D → R con D ⊆ Rn si dice convessa se per ogni x1 , x2 ∈ D e λ ∈ [0, 1] vale: f (λx1 + (1 − λ)x2 ) ≤ λf (x1 ) + (1 − λ)f (x2 ) Lemma 2.4. Una funzione piece-wise linear f : D → R, con D ⊆ Rn convesso, è convessa se e solo se, dati i parametri {αi }i=1,...,L e {βi }i=1,...,L , vale l’uguaglianza: f (x) = max αiT x + βi (11) i=1,...,L 17 Dimostrazione. Dal momento che il massimo punto a punto di un insieme di funzioni convessa è convessa (si può vedere ad esempio Boyd and Vandenberghe (2004)), segue facilmente che se f (x) = maxi=1,...,L αiT x + βi allora f (x) è convessa. Ora mostriamo che se f è convessa allora vale l’uguaglianza (11): poniamo per assurdo che esistano p, q ∈ {1, . . . , L} con p 6= q e x ∈ Dp per cui f (x) = αpT x + βp < αqT x + βq , allora scegliamo y ∈ int(Dq ) e λ ∈ [0, 1] in modo che x̃ = (λx + (1 − λ)y) ∈ int(Dq ), valutando f in x̃ otteniamo: f (x̃) = αqT (λx + (1 − λ)y) + βq = λ(αqT x + βq ) + (1 − λ)(αqT y + βq ) > λf (x) + (1 − λ)f (y) Corollario 2.5. La somma di due funzioni piece-wise linear e convesse è una funzione piece-wise linear e convessa Corollario 2.6. Date N funzioni f1 , . . . , fN : D → R, con D ⊆ Rn convesso, che sono piece-wise linear e convesse, la funzione: f (x) = max fi (x) i=1,...,N E’ piece-wise linear e convessa. Corollario 2.7. Per ogni t = 0, 1, . . . , N , se le funzioni Uta,o sono piece-wise linear e convesse per ogni a ∈ A e o ∈ O allora le funzioni Uta sono convesse per ogni a ∈ A e anche la funzione Ut (b) è piece-wise linear e convessa. Utilizzando queste relazioni passiamo alla dimostrazioni del fatto che Ut (b) è piece-wise linear e convessa: Lemma 2.8. Per ogni t = 0, 1, . . . , N , la funzione Ut (b) è piece-wise linear e convessa. Di conseguenza, esiste un insieme di vettori Γ per cui: Ut (b) = max γ T b γ∈Γ Dimostrazione. Procediamo per induzione su t, partendo da N e decrementando t sino a 0. Il caso base t = N è immediato visto che UN (b) = 0 qualsiasi sia b ∈ P(s). Anche il caso t = N − 1 è immediato, infatti abbiamo che: 1 X a,o b(s)r(s, a) per ogni a ∈ A, o ∈ O, b ∈ P(S) UN −1 (b) = |O| s a,o E quindi per il lemma 2.4 le funzioni UN −1 (b) sono piece-wise linear e convesse e per il corollario 2.7 anche UN −1 (b) è piece-wise linear e convessa. Induttivamente, assumiamo che la funzione Ut+1 (b) è piece-wise linear convessa e mostriamo che anche Ut (b) è piece-wise linear convessa. Dall’assunzione appena fatta e dal lemma 2.4, sappiamo che esiste un insieme di vettori Γt+1 per cui: Ut+1 (b) = max γ T b γ∈Γt+1 Per semplificare le notazioni introduciamo la funzione: χt+1 (b) = arg max γ T b γ∈Γt+1 In questo modo possiamo riscrivere Ut+1 (b): Ut+1 (b) = χt+1 (b)T b Inserendo quest’ultima espressione nell’equazione (10), otteniamo: Ut (b)a,o = 1 w(b, a) + ωσ(b, a, o)[χt+1 (z(b, a, o))T z(b, a, o)] |O| 18 (12) Espandendo la definizione delle funzione w e σ e raccogliendo b(s), otteniamo: ) ( X X 1 τ (s, a, s0 )ρ(a, s0 , o)χt+1 (z(b, a, o), s0 ) Ut (b)a,o = b(s) r(s, a) + ω | O | 0 s s a,o Dove χt+1 (z(b, a, o), s0 ) denota la componente s0 del vettore χt+1 (z(b, a, o)). Introduciamo il vettore νt,b (s) indicizzato su S: ( ) X 1 a,o νt,b (s) = τ (s, a, s0 )ρ(a, s0 , o)χt+1 (z(b, a, o), s0 ) r(s, a) + ω |O| 0 s Allora è possibile riscrivere Ut (b)a,o , come: a,o Ut (b)a,o = bT νt,b a,o Visto che i valori che può assumere νt,b sono limitati dai valori che χt+1 (b) può assumere la funzione Ut (b)a,o è piece-wise linear. Per mostrare che Ut (b)a,o è convessa consideriamo due belief state b1 , b2 ∈ P(S) e λ ∈ [0, 1] e valutiamo Ut (b)a,o in b̃ = λb1 + (1 − λ)b2 , utilizzando la definizione (12): 1 w(λb1 + (1 − λ)b2 , a) + ωσ(λb1 + (1 − λ)b2 , a, o)[χt+1 (z(b̃, a, o))T z(b̃, a, o)] |O| 1 =λ w(b1 , a) + ωσ(b1 , a, o)[χt+1 (z(b̃, a, o))T z(b̃, a, o)] |O| 1 w(b2 , a) + ωσ(b2 , a, o)[χt+1 (z(b̃, a, o))T z(b̃, a, o)] + (1 − λ) |O| Ut (b̃)a,o = Visto che per entrambi i bi , i = 1, 2, per come è definita la funzione χt+1 (b), si ha che: χt+1 (z(b̃, a, o))T z(b̃, a, o) ≤ χt+1 (z(bi , a, o))T z(bi , a, o) Otteniamo: Ut (b̃)a,o ≤ λUt (b1 )a,o + (1 − λ)Ut (b2 )a,o Di conseguenza, le funzioni Ut (b)a,o sono piece-wise linear e convesse. Inoltre, per il lemma 2.7 anche la funzione Ut (b) è piece-wise linear e convessa. Nel seguito, continueremo ad utilizzare il simbolo Γt per denotare l’insieme di vettori che definiscono la funzione Ut (b) = maxγ∈Γ γ T b. Un algoritmo per sfruttare questa particolare struttura della funzione Ut (b) è stato proposto sempre in Smallwood and Sondik (1973). L’algoritmo proposto è di tipo iterativo: 1. Inizializza t = N e ΓN = ∅ 2. Aggiorna t = t − 1 e ottieni dall’insieme Γt+1 l’insieme Γt 3. Se t = 0 STOP, altrimenti ritorna al passo 2 Per eseguire il punto 2, cio’è individuare Γt da Γt+1 , l’algoritmo inizia con un belief state arbitrario b0 e individua un vettore γ ∈ Γt per cui Ut (b0 ) = γ T b0 . Contemporaneamente, l’algoritmo individua un poliedro R(γ, Γt ) ⊆ B per cui Ut (b) = γ T b per ogni b ∈ R(γ, Γt ). Una volta individuata questa regione, l’algoritmo individua un punto b1 sul suo bordo e calcola il vettore γ 0 6= γ ∈ Γt per cui Ut (b1 ) = γ 0T b1 e il poliedro R(γ 0 , Γt ) per cui Ut (b) = γ 0T b per ogni b ∈ R(γ 0 , Γt ). Questo procedimento viene ripetuto in maniera iterativa fino a quando tutto l’insieme B è stato esplorato: siccome l’insieme dei vettori in Γt è finito il procedimento termina. 19 Tuttavia, si possono mostrare casi in cui il numero di vettori necessari a definire Ut (b) cresce in maniera esponenziale al crescere di N . Nonostante nel tempo siano stati proposti approcci alternativi per risolvere questo problema (si veda ad esempio, Lovejoy (1991) e Cassandra (1998)), nessuno è ancora riuscito a sviluppare un approccio efficiente per l’analisi esatta dei Partially Observable Markov Decision Process. Il punto cruciale dell’algoritmo di Sondik è la risoluzione del problema che richiede, dato un punto b0 ∈ B, di individuare il vettore γ ∈ Γt per cui Ut (b) = γ T b, il poliedro R(γ, Γt ) e, infine, il punto b00 appartenente al bordo di R(γ, Γt ). Per individuare il poliedro R(γ, Γt ), l’algoritmo definisce un insieme di vincoli che se rispettati da b implicano che b ∈ R(γ, ΓT ). Il procedimento utilizzato dall’algoritmo è riassunto del seguente schema: • Per quanto visto nella dimostrazione del lemma 2.8, possiamo riscrivere la funzione Ut (b) come: ) ( X XX 0 0 0 max τ (s, a, s )ρ(a, s , o)χt+1 (z(b, a, o), s ) b(s) r(s, a) + ω a∈A s s0 o Allora, per individuare il vettore γ a cui è associato il belief state b calcoliamo al variare di a ∈ A i vettori: XX τ (s, a, s0 )ρ(a, s0 , o)χt+1 (z(b, a, o), s0 ) γa (s) = r(s, a) + ω o s0 Visto che supponiamo di conoscere Γt+1 il calcolo di questi vettori è immediato. Allora individuata l’azione a∗ = arg max γaT b0 , il vettore cercato è γ = γa∗ . • Un motivo per cui il generico belief state b ∈ B è tale per cui il vettore γ ad esso associato è diverso da γa∗ è il fatto che, dato un messaggio o ∈ O, il vettore γ̃ ∗ = χt+1 (b0 , a∗ , o) non è più l’unico vettore per cui Ut+1 (z(b, a∗ , o)) = γ̃ ∗T z(b, a∗ , o). Di conseguenza, esiste γ̃ ∈ Γt+1 \ γ̃ ∗ per cui: γ̃ ∗T z(b, a∗ , o) ≤ γ̃ T z(b, a∗ , o) Conseguentemente, visto che le componenti del vettore z(b, a∗ , o) sono facilmente calcolabili partendo dai dati del problema (basta utilizzare l’equazione 9), il belief state b, per rimanere all’interno della regione R(γa∗ , Γt ), deve rispettare la seguente famiglia di vincoli lineari: z(b, a∗ , o)T (γ̃ − γ̃ ∗ ) ≤ 0 o ∈ O, γ̃ ∈ Γt+1 \ γ̃ ∗ (13) • Un altra famiglia di vincoli utilizzati per garantire che b non esca da R(γa∗ , Γt ) si ottiene richiedendo che, anche nel caso in cui l’azione scelta al passo t sia a 6= a∗ , il premio dal passo t + 1 in poi sia ancora definito da γ̃a = χt+1 (b0 , a, o) (i.e. Ut+1 (z(b0 , a, o)) = γ̃aT z(b0 , a, o)). Quindi, seguendo il ragionamento utilizzato al punto precedente e definendo, per ogni o ∈ O, i vettori γ̃a = χ(b̃, a, o), il vettore b deve rispettare la seguente famiglia di vincoli lineari: z(b, a, o)T (γ̃ − γ̃a ) ≤ 0 a ∈ A \ {a∗ } , o ∈ O, γ̃ ∈ Γt+1 \ γ̃a (14) • L’ultima famiglia di vincoli utilizzati da Sondik per garantire l’appartenenza di b a R(γa∗ , Γt ) ha lo scopo di garantire che, nel caso in cui χ(b, a, o) è uguale a χ(b0 , a, o) per ogni a ∈ A, o ∈ O (e questo è garantito dalle due precedenti famiglie di vincoli), allora γa∗ continua ad essere il vettore che descrive la funzione Ut (b). E’ possibile garantire questa proprietà con la seguente famiglia di vincoli lineari: bt (γa − γa∗ ) ≤ 0 a ∈ A \ {a∗ } (15) Di conseguenza, l’algoritmo di Sondik, per definire le regioni R(γa∗ , Γt ), utilizza i vincoli (13,14,15) insieme ai vincoli necessari per garantire che b sia un belief state ammissibile: X b(s) = 1 (16) s∈S 20 b(s) ≥ 0 s ∈ S E’ interessante notare che la definizione della regione ammissibile utilizzata dall’algoritmo di Sondik è conservativa: non è detto che la regione ammissibile coincida con R(γa∗ , Γt ), in generale si ottiene una regione R ⊆ R(γa∗ , Γt ), tuttavia si può comunque mostrare che i poliedri generati dall’algoritmo, in un numero finito di passi, riescono a coprire B. 2.2 Gestione ottimale della manutenzione in un impianto di produzione Il problema che vogliamo risolvere in quest’esempio è quello di controllare in maniera ottimale un processo produttivo basato sull’attività di un macchina composta da due componenti identiche che agiscono in serie. Le due componenti sono facilmente soggette a guasti: entrambe le componenti si possono guastare ad ogni ciclo del processo produttivo, in maniera indipendente l’una dall’altra, con probabilità pari a 0.1. Tuttavia, anche nel caso in cui una o entrambe le componenti non funzionano correttamente, la probabilità di produrre un oggetto fallato non è nulla; più precisamente la probabilità che una componente produca un oggetto senza difetti nonostante sia guasta è pari a 0.5. Per definire in maniera precisa il processo di produzione, assumiamo che l’eventuale guasto di una delle componenti durante un ciclo di produzione precede le sue operazioni sul prodotto. Ad ogni istante del processo decisionale, il gestore della manutenzione può agire in quattro modi diversi: 1. Continuare la produzione; 2. Esaminare il prodotto appena fabbricato e fabbricare un altro prodotto. Il costo per esaminare il prodotto è pari 0.25 e dall’analisi abbiamo come risultato due possibili output: 0 se il prodotto è difettoso e 1 se il prodotto non presenta difetti. 3. il processo produttivo viene interotto per un ciclo di produzione, entrambe le componenti vengono controllate al costo di 0.5 ciascuna e, se è il caso, vengono sostituite al costo di 1 per ciascuna; 4. il processo produttivo viene interotto per un ciclo di produzione, entrambe le componenti vengono sostituite, senza controlli preventivi. Il premio per aver prodotto un oggetto esente da difetti è 1, mentre non si riceve nessun premio per aver prodotto un oggetto fallato La strategia migliore per controllare questo processo di manutenzione può essere individuata utilizzando il seguente POMDP a orizzonte infinito: • Stati :S = {0, 1, 2} dove il valore degli stati coincide con il numero di componenti guaste; • Azioni:A = {P, E, C, S} che descrivono, rispettivamente, la scelta di continuare la produzione; di esaminare e continuare la produzione; di bloccare la produzione, analizzare le due componenti e sostituire quelle guaste; sostituire le due componenti senza fare nessuna analisi preventiva • Funzione di transizione: per ogni singola 1 τ (st , st+1 , P) = 0.1 0.01 1 τ (st , st+1 , E) = 0.1 0.01 azione abbiamo le seguenti transizioni tra stati: 0 0 0 0 1 0.9 0 τ (st , st+1 , C) = 0 0 1 0.18 0.81 0 0 1 0 0 0 0 1 0.9 0 τ (st , st+1 , S) = 0 0 1 0.18 0.81 0 0 1 • Funzione premio: per ogni singola azione abbiamo i seguenti premi al variare degli stati: 0.25 0 −2.5 −2 R(st , P) = 0.475 R(st , E) = 0.225 R(st , C) = −1.5 R(st , S) = −2 0.9025 0.6525 −0.5 −2 21 • Funzioni messaggi : per ogni singolo stato e per ogni singola azione abbiamo le seguenti probabilità di generazione dei messaggi: 0 1 0.75 0.25 0 1 0 1 ρ(st , P) = 0 1 ρ(st , E) = 0.5 0.5 ρ(st , C) = 0 1 ρ(st , S) = 0 1 0 1 0 1 0 1 0 1 Utilizzando l’algoritmo di Sondik si possono ottenere le definizioni delle funzioni Ut (b), la figura ?? mostra la struttura della funzione U1 2(b). 2.3 POMDP a orizzonte infinito Nonostante VN (b, φ∗ ), al variare di b, sia piecewise linear e convessa e: lim ||VN (b, φ∗ ) − V∞ (b, φ∗ )|| = 0 N →∞ La funzione V∞ (b, φ∗ ), al variare di b, pur rimanendo convessa, non è detto che sia piecewise linear: esistono casi in cui questo non avviene (si può vedere, ad esempio, Sondik (1978)). Questa proprietà della funzione V∞ (b, φ∗ ) porta all’impossibilità di rappresentarla in maniera compatta, ugualmente a quanto fatto per i POMDP a orizzonte finito. Tuttavia, dal punto di vista applicativo, quello che è ancora possibile ottenere con questo tipo di problemi, è quello di approssimare con precisione arbitraria la funzione V∞ (b, φ∗ ) attraverso la successione di funzioni piecewise linear e convesse {Vt (b, φ∗ )}t . Riferimenti bibliografici Stephen Boyd and Lieven Vandenberghe. Convex Optimization. Cambridge University Press, March 2004. ISBN 0521833787. Anthony R. Cassandra. Exact and Approximate Algorithms for Partially Observable Markov Decision Processes. PhD thesis, Brown University, Providence, RI, 1998. 22 W S Lovejoy. A survey of algorithmic methods for partially observed markov decision processes. Annals of Operations Research, 28(1):47–65, 1991. M.L. Puterman. Markov decision processes: discrete stochastic dynamic programming. Wiley series in probability and statistics. Wiley-Interscience, 1994. R. D. Smallwood and E. J. Sondik. The optimal control of partially observable processes over a finite horizon. Operations Research, 21:1071–1088, 1973. E J Sondik. The optimal control of partially observable markov processes over the infinite horizon: Discounted costs. Operations Research, 26(2):282–304, 1978. URL http://or.journal.informs.org/cgi/doi/10.1287/opre.26.2.282. 23