Valutazione della Policy
Scorri per mostrare il menu
Valutazione della policy è un processo per determinare la funzione di valore di una data policy.
La valutazione della policy può essere utilizzata per stimare sia la funzione di valore dello stato sia la funzione di valore dell'azione. Tuttavia, per i metodi DP, verrà utilizzata la funzione di valore dello stato.
Come noto, una funzione di valore dello stato di una data policy può essere determinata risolvendo un'equazione di Bellman:
vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvπ(s′))Se si dispone di un modello completo dell'ambiente (cioè, probabilità di transizione e ricompense attese note per tutte le coppie stato-azione), le uniche variabili sconosciute che rimangono nell'equazione sono i valori degli stati. Pertanto, l'equazione sopra può essere riformulata come un sistema di ∣S∣ equazioni lineari con ∣S∣ incognite.
Ad esempio, se un MDP ha 2 stati (s1, s2) e 2 azioni (move to s1, move to s2), la funzione di valore dello stato potrebbe essere definita così:
{V(s1)=0.5⋅(5+0.9⋅V(s1))+0.5⋅(10+0.9⋅V(s2))V(s2)=0.7⋅(2+0.9⋅V(s1))+0.3⋅(0+0.9⋅V(s2))Questo può essere risolto utilizzando tecniche standard di algebra lineare.
Una soluzione unica per tale sistema lineare è garantita se almeno una delle seguenti condizioni è soddisfatta:
- Il fattore di sconto soddisfa γ<1;
- La politica π, se seguita da qualsiasi stato s, garantisce che l'episodio termini eventualmente.
Valutazione Iterativa della Politica
La soluzione può essere calcolata direttamente, ma un approccio iterativo è più comunemente utilizzato per la sua facilità di implementazione. Questo metodo inizia assegnando valori iniziali arbitrari a tutti gli stati, eccetto per gli stati terminali, che vengono impostati a 0. I valori vengono poi aggiornati iterativamente utilizzando l'equazione di Bellman come regola di aggiornamento:
vk+1(s)←a∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvk(s′))La funzione di valore di stato stimata vk converge infine alla vera funzione di valore di stato vπ quando k→∞ se vπ esiste.
Strategie di backup del valore
Durante l'aggiornamento delle stime di valore, le nuove stime vengono calcolate sulla base dei valori precedenti. Il processo di conservazione delle stime precedenti è noto come backup. Esistono due strategie comuni per eseguire i backup:
- Backup completo: questo metodo prevede la memorizzazione delle nuove stime in un array separato, distinto da quello che contiene i valori precedenti (di backup). Di conseguenza, sono necessari due array: uno per mantenere le stime precedenti e un altro per memorizzare i nuovi valori calcolati;
- Backup in-place: questo approccio mantiene tutti i valori all'interno di un unico array. Ogni nuova stima sostituisce immediatamente il valore precedente. Questo metodo riduce l'utilizzo della memoria, poiché è necessario un solo array.
Generalmente, il metodo del backup in-place è preferito perché richiede meno memoria e converge più rapidamente, grazie all'utilizzo immediato delle stime più recenti.
Quando interrompere l'aggiornamento?
Nella valutazione iterativa della policy, non esiste un punto esatto in cui l'algoritmo dovrebbe fermarsi. Sebbene la convergenza sia garantita al limite, continuare i calcoli oltre un certo punto è inutile nella pratica. Un criterio di arresto semplice ed efficace consiste nel monitorare la differenza assoluta tra le stime di valore consecutive, ∣vk+1(s)−vk(s)∣, e confrontarla con una soglia piccola θ. Se, dopo un ciclo completo di aggiornamento (in cui i valori di tutti gli stati vengono aggiornati), nessuna variazione supera θ, il processo può essere terminato in sicurezza.
Pseudocodice
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Valutazione della Policy
Valutazione della policy è un processo per determinare la funzione di valore di una data policy.
La valutazione della policy può essere utilizzata per stimare sia la funzione di valore dello stato sia la funzione di valore dell'azione. Tuttavia, per i metodi DP, verrà utilizzata la funzione di valore dello stato.
Come noto, una funzione di valore dello stato di una data policy può essere determinata risolvendo un'equazione di Bellman:
vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvπ(s′))Se si dispone di un modello completo dell'ambiente (cioè, probabilità di transizione e ricompense attese note per tutte le coppie stato-azione), le uniche variabili sconosciute che rimangono nell'equazione sono i valori degli stati. Pertanto, l'equazione sopra può essere riformulata come un sistema di ∣S∣ equazioni lineari con ∣S∣ incognite.
Ad esempio, se un MDP ha 2 stati (s1, s2) e 2 azioni (move to s1, move to s2), la funzione di valore dello stato potrebbe essere definita così:
{V(s1)=0.5⋅(5+0.9⋅V(s1))+0.5⋅(10+0.9⋅V(s2))V(s2)=0.7⋅(2+0.9⋅V(s1))+0.3⋅(0+0.9⋅V(s2))Questo può essere risolto utilizzando tecniche standard di algebra lineare.
Una soluzione unica per tale sistema lineare è garantita se almeno una delle seguenti condizioni è soddisfatta:
- Il fattore di sconto soddisfa γ<1;
- La politica π, se seguita da qualsiasi stato s, garantisce che l'episodio termini eventualmente.
Valutazione Iterativa della Politica
La soluzione può essere calcolata direttamente, ma un approccio iterativo è più comunemente utilizzato per la sua facilità di implementazione. Questo metodo inizia assegnando valori iniziali arbitrari a tutti gli stati, eccetto per gli stati terminali, che vengono impostati a 0. I valori vengono poi aggiornati iterativamente utilizzando l'equazione di Bellman come regola di aggiornamento:
vk+1(s)←a∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvk(s′))La funzione di valore di stato stimata vk converge infine alla vera funzione di valore di stato vπ quando k→∞ se vπ esiste.
Strategie di backup del valore
Durante l'aggiornamento delle stime di valore, le nuove stime vengono calcolate sulla base dei valori precedenti. Il processo di conservazione delle stime precedenti è noto come backup. Esistono due strategie comuni per eseguire i backup:
- Backup completo: questo metodo prevede la memorizzazione delle nuove stime in un array separato, distinto da quello che contiene i valori precedenti (di backup). Di conseguenza, sono necessari due array: uno per mantenere le stime precedenti e un altro per memorizzare i nuovi valori calcolati;
- Backup in-place: questo approccio mantiene tutti i valori all'interno di un unico array. Ogni nuova stima sostituisce immediatamente il valore precedente. Questo metodo riduce l'utilizzo della memoria, poiché è necessario un solo array.
Generalmente, il metodo del backup in-place è preferito perché richiede meno memoria e converge più rapidamente, grazie all'utilizzo immediato delle stime più recenti.
Quando interrompere l'aggiornamento?
Nella valutazione iterativa della policy, non esiste un punto esatto in cui l'algoritmo dovrebbe fermarsi. Sebbene la convergenza sia garantita al limite, continuare i calcoli oltre un certo punto è inutile nella pratica. Un criterio di arresto semplice ed efficace consiste nel monitorare la differenza assoluta tra le stime di valore consecutive, ∣vk+1(s)−vk(s)∣, e confrontarla con una soglia piccola θ. Se, dopo un ciclo completo di aggiornamento (in cui i valori di tutti gli stati vengono aggiornati), nessuna variazione supera θ, il processo può essere terminato in sicurezza.
Pseudocodice
Grazie per i tuoi commenti!