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