Tecniche Computazionali Avanzate Modelli Probabilistici per le Decisioni A.A. 2007/08 Enza Messina
Markov Decision Problem Come utilizare la conoscenza dell ambiente per prendere decisioni nel caso in cui il risultato delle azioni sia incerto e il payoff dipende da una sequenza di decisioni
La soluzione Problemi di decisioni sequenziali in condizioni di incertezza possono essere risolti calcolando una politica che associa una decisione ottima ad ogni stato raggiungibile => Markov Decision Process (MDP)
Robot Example Si immagini un robot con solo un sensore locale Che deve andare da A a B Le azioni hanno un risultato incerto può muoversi ad angolo retto rispetto alla direzione prevista Vogliamo insegnare al robot come muoversi Problema di decisione sequenziale
Esempio Il mondo Le azioni hanno conseguenze incerte 3 +1 0.8 2-1 0.1 0.1 1 start 1 2 3 4
Markov decision model Gli ingredienti di un modello di decisione di Markov sono: Un insieme di possibili stati S Un insieme di possibili azioni A Una funzione di ricompensa R(s,a) Una descrizione T degli effetti di un azione in ogni stato
Modelli di decisione sequenziali Stato iniziale S 0 Modello di transizione T (s, a, s ) Come si applica qui la proprietà Markoviana? Incertezza possibile Funzione ricompensa R(s) Finita per ogni stato
Determinazione di una politica Che aspetto ha la soluzione a tale problema? Qualsiasi sequenza di azioni potrebbe fallire La prob che la sequenza Su Su Destra Destra Destra porti il robot al traguardo e 0,8 5 =0,32768 e c e la possibilità di raggiungere l obiettivo passando accidentalmente per un altro percorso, con prob 0,1 4 *0,8=0,00008, quindi la prob di raggiungere l obiettivo è 0,32776 Bisogna evitare strade senza uscita Bisogna evitare ripetizioni inutili La soluzione dovrà specificare quello che l agente deve fare in ogni stato potenzialmente raggiungibile
Determinazione di una politica Specificare una soluzione per ogni stato iniziale Costruire una politica che fornisca l azione migliore per ogni stato politica = π Politica nello stato s = π(s) Politica completa copre tutti i possibili stati di input Politica ottima, π*, fornisce l utilità attesa più alta Perchè attesa? Le transizioni sono stocastiche
Determinazione di una politica
Determinazione di una politica
Determinazione di una politica
Determinazione di una politica
Determinazione di una politica
Determinazione di una politica
Determinazione di una politica
Esempio: soluzione - - - -
Utilizzo di una politica Un agente nello stato s s è la percezione disponibile all agente π*(s) un azione che massimizza l utilità attesa La politica è la descrizione di un semplice riflesso
Bilanciare rischi e ricompense Diverse politiche dimostrano un bilanciamento tra rischi e ricompense Caratteristica interessante solo negli ambienti stocastici (non deterministici) Caratteristica di molti problemi reali La costruzione di una politica ottima è difficile!
Attributi dell ottimalità Vogliamo trovare una politica ottima che massimizzi l utilità degli agenti durante un certo orizzonte temporale Massimizzare U([s 0, s 1, s 2,, s n )] Quanto è lungo l orizzonte temporale? Orizzonte finito Il numero di transizioni di stato è conosciuto e finito Dopo N passi non conta più nulla U([s 0, s 1, s 2,, s n )] = U([s 0, s 1, s 2,, s n, s n+1, s n+k )] per k>0 Orizzonte infinito possono sempre avvenire nuove transizioni di stato
Orizzonte temporale Posizione di partenza (3,1) Orizzonte N = 3 Orizzonte N = 8 Orizzonte N = 20 Orizzonte N = inf π* cambia? Politica ottima non stazionaria con orizzonte finito
Valutazione di una sequenza di stati Assunzione Se dico che preferirò lo stato a allo stato b domani devo anche dire che preferisco lo stato a allo stato b oggi Le preferenze sono stazionarie Ci sono due modi possibili di assegnare utilità alle sequenze: Ricompensa additiva U[(a, b, c, )] = R(a) + R(b) + R(c) + Ricompensa scontata U[(a, b, c, )] = R(a) + γr(b) + γ 2 R(c) + γ è il fattore di sconto, compreso tra 0 e 1 Cosa vuol dire?
Valutazione con orizzonte infinito Come possiamo calcolare la somma con un orizzonte infinito? U[(a, b, c, )] = R(a) + R(b) + R(c) + Se il fattore di sconto γ è minore di 1 Nota: R max è finito per definizione di MDP
Valutazione con orizzonte infinito Come possiamo calcolare la somma con un orizzonte infinito? Se è garantito che l agente finisca in uno stato terminale allora Non dovremo mai confrontare sequenze infinite Possiamo permettere che γ sia 1
Valutazione di una politica Ogni politica π genera sequenze multiple di stati La funzione di transizione T(s, a, s ) è stocastica Il valore di una politica è la somma attesa delle ricompense scontate calcolata su tutte le possibili sequenze di stati che potrebbero risultare dalla sua esecuzione Una politica ottima soddisfa:
Determinazione della politica ottima g Iterazione dei valori gcalcola l utilità di tutti gli stati e la utilizza per scegliere l azione ottima in ogni stato g Iterazione delle politiche gcalcola il valore di una politica e cerca di migliorarla
Determinazione di una politica Iterazione dei valori Calcolare l utilità di ogni stato Utilizzare l utilità dello stato per selezionare l azione ottima in ogni stato La politica è semplice andare nello stato con utilità maggiore L utilità dello stato deve essere accurata Attraverso un processo iterativo si possono assegnare i valori corretti ai valori di utilità degli stati
Utilità degli stati L utilità di uno stato s è Il valore atteso di utilità della sequenza di stati che possono seguirlo La conseguente sequenza di stati è funzione di π(s) L utilità di uno stato data la politica π è La vera utilità di uno stato sarà U π * ( s )
Esempio Sia γ = 1 e R(s) = -0.04 Nota: L utilità maggiore vicino all obiettivo riflette che ci saranno meno termini -0.04 nella somma
Restating the policy Abbiamo detto di scegliere lo stato con utilità maggiore In realtà Andare nello stato con massima utilità attesa Gli stati raggiungibili con maggiore utilità possono avere probabilità minore di essere raggiunti Dipende dalle azioni disponibili, dalla funzione di transizione, dagli stati risultanti Massimizza l utilità attesa degli stati successivi
Mettiamo insieme i pezzi Abbiamo detto che l utilità di uno stato è: La politica è massimizzare l utilità attesa Quindi, l utilità di uno stato è la ricompensa immediata per lo stato più l utilità attesa del prossimo stato
Perchè conviene Molto meno onerosa da valutare: Invece di: Richard Bellman ha inventato la famosa equazione Bellman equation (1957)
Esempio di Equazione di Bellman Riprendiamo l esempio 4x3 Utilità della cella (1, 1) Consideriamo gli outcome di tutte le possibili azioni per selezionare l azione ottima e assegnare la sua utilità attesa al valore del prossimo stato nell equazione di Bellman
L eq. di Bellman per risolvere MDPs Si consideri un particolare MDP n possibili stati n equazioni di Bellman (una per ogni stato) n equazioni con n incognite (U(s) per ogni stato) n equazioni e n incognite si puo risolvere? No, a causa della nonlinearità causata da argmax( ) Puo essere utilizzata una procedura iterativa
Soluzione iterativa Si parte con valori arbitrari di utilità degli stati Aggiornare l utilità di ogni stato in funzione dei suoi vicini Ripetere fino a che non si raggiunge un equilibrio
Aggiornamento Aggiornamento iterativo Dopo infiniti aggiornamenti, si raggiunge un punto di equilibrio che risolve le equazioni di Bellman Le soluzioni sono uniche La politica corrispondente è ottimale L utilità degli stati vicino all obiettivo convergerà velocemente e di conseguenza converceranno i vicini. L informazione viene propagata nello spazio degli stati attraverso aggiornamenti locali
Convergenza dell iterazione dei valori
Convergenza dell iterazione dei valori Quanto sono vicino alla politica ottima dopo i aggiornamenti? Il libro mostra come calcolare l errore al passo i come funzione dell errore al passo i 1 e del fattore di sconto γ Matematicamente rigoroso dovuto alle funzioni di contrazione
Iterazione delle politiche Immaginiamo che qualcuno ci dia una politica. Quanto è buona? Assumiamo di conoscere γ e R A occhio? Provare qualche passo In modo più preciso
Iterazione della politica Valutazione di una politica Per iniziare, calcoliamo un utilità di ogni stato secondo l equazione di Bellman (per questa particolare iterazione i)
Iterazione della politica Valutazione di una politica Non conosciamo U i (s ) n equazioni di Bellman n incognite Le equazioni sono lineari Possiamo risolvere per n incognite in un tempo pari a O(n3) utilizzando metodi standard dell algebra lineare.
Iterazione della politica U i ( 1,1) = 0,04 + 0,8U i (1,2) + 0,1U i (1,1) + 0,1U i (2,1) U i ( 1,2) = 0,04 + 0,8U i (1,3) + 0,2U i (1,2).
Iterazione della politica Valutazione di una politica Ora conosciamo U(s) per ogni s Per ogni s, calcolare Questa è l azione migliore Se questa è differente dalla politica, aggiornare la politica
Policy Iteration Algorithm function policy-iteration(mdp) returns a policy local variables: U, a utility function, π, a policy repeat U value-determination(π,u,mdp,r) unchanged? true for each state s do if max a / / T ( s, a, s ) U ( s ) / / s π ( s) argmax unchanged? false end until unchanged? return π a > s T ( s, π ( s), s s / T ( s, a, s / ) U ( s / / ) U ( s ) then / )
Iterazione della politica Spesso l approccio più efficiente Richiede uno spazio degli stati O(n 3 ) Sono possibili approssimazioni Piuttosto che risolvere U esattamente, approssimare eseguendo un certo numero di iterazioni dei valori (semplificati perchè la politica è fissata) Esplorare (aggiornare la politica) solo di un sottoinsieme di stati Non ci si cura di aggiornare gli stati che crediamo cattivi
MDP parzialmente osservabili (POMDP) In un ambiente non accessibile, la percezione non offre informazione sufficiente per determinare lo stato o la probabilità di transizione POMDP Funzione di transizione di stato: P(s t+1 s t, a t ) Funzione osservazione: P(o t s t, a t ) Funzione Ricompensa: E(r t s t, a t ) Approccio Calcolare una distribuzione di probabilità dei possibili stati date le percezioni precedenti e basare la decisione su questa distribuzione Difficoltà Le azioni causano nuove percezioni che causano cambiamenti di beliefs molto complessi da descrivere
MDP parzialmente osservabili (POMDP) Distribuzione stato iniziale P(S0) Modello di transizione T (s, a, s ) Funzione ricompensa R(s) Finita per ogni stato Modello delle osservazioni O(s,o) prob di percepire o nello stato s
MDP parzialmente osservabili L azione ottima dipende dallo stato credenza corrente La politica ottima può essere descritta specificando la corrispondenza tra stati credenza e azioni Quindi il ciclo di decisione è: Dato lo stato credenza corrente b esegui l azione a= π * ( b ) Ricevi l osservazione o Determina la nuova distribuzione di stati credenza e ripeti b ( s ) = αo( s, o) T ( s, a, s ) b( s) j j s j
MDP parzialmente osservabili (POMDP)
MDP parzialmente osservabili (POMDP) b ( s ) = αo( s, o) T ( s, a, s ) b( s) j j s j
MDP parzialmente osservabili (POMDP)