Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ......

52
Tecniche Computazionali Avanzate Enza Messina A.A. 2007/08 Modelli Probabilistici per le Decisioni

Transcript of Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ......

Page 1: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Tecniche Computazionali

Avanzate

Enza MessinaA.A. 2007/08

Modelli Probabilistici per le Decisioni

Page 2: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Markov Decision Problem

Come utilizare la conoscenza dell’ambiente perprendere decisioni nel caso in cui il risultatodelle azioni sia incerto e il payoff dipende da unadelle azioni sia incerto e il payoff dipende da unasequenza di decisioni

Page 3: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

La soluzione

Problemi di decisioni sequenziali in condizionidi incertezza possono essere risolti calcolandouna politica che associa una decisione ottimauna politica che associa una decisione ottimaad ogni stato raggiungibile =>

Markov Decision Process (MDP)

Page 4: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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 muoversi ad angolo retto rispetto alla direzione prevista

� Vogliamo insegnare al robot come muoversi

� Problema di decisione sequenziale

Page 5: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore
Page 6: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Esempio

+13 0.8

Il mondo Le azioni hannoconseguenze incerte

-1

1

2

1 2 3 4

start

0.1 0.1

Page 7: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Markov decision model

� Gli ingredienti di un modello di decisione di Markov sono:

� Un insieme di possibili stati S� 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

Page 8: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Modelli di decisione sequenziali

� Stato iniziale� S0

� Modello di transizione� T (s, a, s’)

� Come si applica qui la proprietà Markoviana?� Come si applica qui la proprietà Markoviana?

� Incertezza possibile

� Funzione ricompensa � R(s)

� Finita per ogni stato

Page 9: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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,85 =0,32768 e c’e’ la possibilità di raggiungere l’obiettivo passando accidentalmente per un’altro percorso, con prob 0,14*0,8=0,00008, quindi la un’altro percorso, con prob 0,14*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

Page 10: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

� Specificare una soluzione per ogni stato iniziale� Costruire una politica che fornisca l’azione migliore per ogni stato

politica = π

Determinazione di una politica

� 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

Page 11: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Determinazione di una politica

Page 12: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Determinazione di una politica

Page 13: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Determinazione di una politica

Page 14: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Determinazione di una politica

Page 15: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Determinazione di una politica

Page 16: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Determinazione di una politica

Page 17: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Determinazione di una politica

Page 18: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Esempio: soluzione

- --

-

-

Page 19: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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

Page 20: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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� Caratteristica di molti problemi reali

� La costruzione di una politica ottima è difficile!

Page 21: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Attributi dell’ottimalità

� Vogliamo trovare una politica ottima che massimizzi l’utilità degli agenti durante un certo orizzonte temporale� Massimizzare U([s0, s1, s2, …, sn)]

� Quanto è lungo l’orizzonte temporale?� Orizzonte finito – Il numero di transizioni di stato è conosciuto e finito

� Dopo N passi non conta più nulla

� U([s0, s1, s2, …, sn)] = U([s0, s1, s2, …, sn, sn+1, sn+k)] per k>0

� Orizzonte infinito – possono sempre avvenire nuove transizioni di stato

Page 22: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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

Page 23: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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 � 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) + γ2R(c) + …� γ è il fattore di sconto, compreso tra 0 e 1

� Cosa vuol dire?

Page 24: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Valutazione con orizzonte infinito

� Come possiamo calcolare la somma con un orizzonte infinito?

� U[(a, b, c, …)] = R(a) + R(b) + R(c) + …� U[(a, b, c, …)] = R(a) + R(b) + R(c) + …

� Se il fattore di sconto γ è minore di 1

� Nota: Rmax è finito per definizione di MDP

Page 25: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

� Come possiamo calcolare la somma con un orizzonte infinito?

� Se è garantito che l’agente finisca in uno stato

Valutazione con orizzonte infinito

� Se è garantito che l’agente finisca in uno stato terminale allora

� Non dovremo mai confrontare sequenze infinite

� Possiamo permettere che γ sia 1

Page 26: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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 ricompense scontate calcolata su tutte le possibili sequenze di stati che potrebbero risultare dalla sua esecuzione

� Una politica ottima soddisfa:

Page 27: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Determinazione della politica ottima

g Iterazione dei valori

gCalcola l’utilità di tutti gli stati e la utilizzaper scegliere l’azione ottima in ogni statoper scegliere l’azione ottima in ogni stato

g Iterazione delle politiche

gCalcola il valore di una politica e cerca di“migliorarla”

Page 28: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

� 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

Determinazione di una politica

� 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

Page 29: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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à

)(*

sU π

Page 30: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Esempio

� Sia γ = 1 e R(s) = -0.04Nota:� L’utilità maggiore vicino all’obiettivo riflette che ci saranno meno termini -0.04 nella somma

Page 31: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Restating the policy

� Abbiamo detto di scegliere lo stato con utilità maggiore

� In realtà…� Andare nello stato con massima utilità attesa� 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

Page 32: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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

Page 33: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Perchè conviene

� Molto meno onerosa da valutare:

Invece di:� Invece di:

� Richard Bellman ha inventato la famosa equazione

� Bellman equation (1957)

Page 34: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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

Page 35: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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)stato)

� n equazioni e n incognite… si puo’ risolvere ?

�No, a causa della nonlinearità causata da argmax( )

�Puo’ essere utilizzata una procedura iterativa

Page 36: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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

Page 37: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Aggiornamento

� Aggiornamento iterativo

� Dopo infiniti aggiornamenti, si raggiunge un punto di equilibrio che risolve le equazioni di Bellmanequilibrio 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

Page 38: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Convergenza dell’iterazione dei valori

Page 39: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

� Quanto sono vicino alla politica ottima dopo iaggiornamenti?� Il libro mostra come

Convergenza dell’iterazione dei valori

� 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

Page 40: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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…

Page 41: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

� 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

Page 42: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

� Valutazione di una politicaNon conosciamo Ui(s’)

� n equazioni di Bellman nincognite

� Le equazioni sono lineari

Iterazione della politica

� Le equazioni sono lineari� Possiamo risolvere per n

incognite in un tempo pari a O(n3) utilizzando metodi standard dell’algebra lineare.

Page 43: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Iterazione della politica

)1,2(1,0)1,1(1,0)2,1(8,004,0)1,1( iiii UUUU +++−=

)2,1(2,0)3,1(8,004,0)2,1( iii UUU ++−=

……….

Page 44: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

� Valutazione di una politica� Ora conosciamo U(s) per ogni s

� Per ogni s, calcolare

Iterazione della politica

� Questa è l’azione migliore

� Se questa è differente dalla

politica, aggiornare la politica

Page 45: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

Policy Iteration Algorithm

function policy-iteration(MDP) returns a policylocal variables: U, a utility function, π, a policyrepeat

U← value-determination(π,U,MDP,R)unchanged? ← truefor each state s dofor each state s do

unchanged? ← falseend

until unchanged?return π

∑←/

)(),,()( //maxargsa

sUsasTsπ

thensUsssTsUsasTifssa

>∑∑

//

)()),(,()(),,( ////max π

Page 46: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

� Spesso l’approccio più efficiente� Richiede uno spazio degli stati O(n3)

� Sono possibili approssimazioni� Piuttosto che risolvere U esattamente, approssimare eseguendo un certo numero di iterazioni dei valori

Iterazione della politica

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”

Page 47: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

MDP parzialmente osservabili (POMDP)

� In un ambiente non accessibile, la percezione nonoffre informazione sufficiente per determinare lostato o la probabilità di transizione

� POMDP

� Funzione di transizione di stato: P(st+1 | st, at)

� Funzione osservazione: P(ot | st, at)� Funzione osservazione: P(ot | st, at)

� Funzione Ricompensa: E(rt | st, at)

� Approccio

� Calcolare una distribuzione di probabilità deipossibili stati date le percezioni precedenti ebasare la decisione su questa distribuzione

� Difficoltà

� Le azioni causano nuove percezioni che causanocambiamenti di “beliefs” molto complessi dadescrivere

Page 48: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

MDP parzialmente osservabili (POMDP)

� Distribuzione stato iniziale� P(S0)

� Modello di transizione� T (s, a, s’)� 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

Page 49: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

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=

Ricevi l’osservazione o

)(* bπ� Ricevi l’osservazione o

� Determina la nuova distribuzione di stati credenza e ripeti

∑=s

jjj sbsasTosOsb )(),,(),()( α

Page 50: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

MDP parzialmente osservabili (POMDP)

Page 51: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

MDP parzialmente osservabili (POMDP)

∑=s

jjj sbsasTosOsb )(),,(),()( α

Page 52: Tecniche Computazionali Avanzate - mind.disco.unimib.it · Valutazione di una politica ... Convergenza dell’iterazione dei valori calcolare l’errore al passo icome funzione dell’errore

MDP parzialmente osservabili (POMDP)