Perché esiste sempre almeno una politica migliore o uguale a tutte le altre politiche?


14

Apprendimento per rinforzo: un'introduzione. Seconda edizione, in corso ., Richard S. Sutton e Andrew G. Barto (c) 2012, pp. 67-68.

Risolvere un compito di apprendimento di rinforzo significa, approssimativamente, trovare una politica che ottenga molti premi nel lungo periodo. Per gli MDP finiti, possiamo definire con precisione una politica ottimale nel modo seguente. Le funzioni di valore definiscono un ordinamento parziale rispetto alle politiche. Una politica π è definito per essere maggiore o uguale ad una politica π se rendimento atteso è maggiore o uguale a quella di π , per tutti gli stati. In altre parole, ππ se e solo se vπ(s)vπ(s) , per tutte le sS . Esiste sempre almeno una politica migliore o uguale a tutte le altre politiche. Questa è una politica ottimale.

Perché esiste sempre almeno una politica migliore o uguale a tutte le altre politiche?


Una prova molto dettagliata (che utilizza il teorema del punto fisso di Banach) appare nel capitolo 6.2 di "Processi decisionali di Markov" di Puterman.
Togh

Risposte:


3

Appena passato la parte citata, lo stesso paragrafo in realtà ti dice qual è questa politica: è quella che prende la migliore azione in ogni stato. In un MDP, l'azione che intraprendiamo in uno stato non influenza i premi per le azioni intraprese in altri, quindi possiamo semplicemente massimizzare la politica stato per stato.


Questa risposta non è completamente sbagliata? Come si può dire che l'ottimizzazione della politica stato per stato porta a una politica ottimale. Se ottimizzo sopra lo stato St e mi ci vuole St+1 e quindi l'ottimizzazione a St+1 porta a una funzione di valore ottimale Vt+1 ma c'è un'altra politica in cui St conduce in modo subottimale a Sl e l'ottimale la funzione valore di Sl è maggiore di Vt+1 . Come puoi escluderlo da un'analisi così superficiale?
MiloMinderbinder

@MiloMinderbinder Se la politica ottimale in St è scegliere St+1 , il valore di St+1 è superiore al valore di Sl .
Don Reba,

Colpa mia. Errore di battitura corretto: 'Non è questa risposta completamente sbagliata? Come si può dire che l'ottimizzazione della politica stato per stato porta a una politica ottimale? Se ottimizzo sullo stato St e mi porta a St+1 e quindi l'ottimizzazione a St+1 porta a una funzione di valore ottimale Vt+2 di St+2 ma c'è un'altra politica in cui St conduce subottimamente a Sl+1 e quindi la funzione valore di St+1 è maggiore di Vl+1 ma la funzione del valore di è maggiore in questa politica rispetto alla politica trovata ottimizzando stato per stato. Come viene escluso da te? St+2
MiloMinderbinder,

Penso che la definizione di impedirà che ciò accada in primo luogo, poiché dovrebbe tenere conto anche dei rendimenti futuri. V
Flying_Banana,

La domanda sarebbe quindi: perché esiste ? Non è possibile aggirare il teorema del punto fisso di Banach :-)q
Fabian Werner

10

L'esistenza di una politica ottimale non è evidente. Per capire perché, nota che la funzione valore fornisce solo un ordinamento parziale nello spazio delle politiche. Questo significa:

ππvπ(s)vπ(s),sS

Poiché questo è solo un ordinamento parziale, potrebbe esserci un caso in cui due politiche, e π 2 , non sono comparabili. In altre parole, ci sono sottoinsiemi dello spazio degli stati, S 1 e S 2 tali che:π1π2S1S2

vπ(s)vπ(s),sS1

vπ(s)vπ(s),sS2

In questo caso, non possiamo dire che una politica sia migliore dell'altra. Ma se abbiamo a che fare con MDP finiti con funzioni a valore limitato, allora tale scenario non si verifica mai. Esiste esattamente una funzione di valore ottimale, sebbene possano esserci più politiche ottimali.

Per una prova di questo, è necessario comprendere il teorema del punto fisso di Banach. Per un'analisi dettagliata, fare riferimento .


7

Ambientazione

Stiamo considerando nella cornice di:

  • Azioni discrete
  • Stati discreti
  • Ricompense limitate
  • Stationary policy
  • Infinite horizon

The optimal policy is defined as:

(1)πargmaxπVπ(s),sS
and the optimal value function is:
(2)V=maxπVπ(s),sS
There can be a set of policies which achieve the maximum. But there is only one optimal value function:
(3)V=Vπ

The question

How to prove that there exists at least one π which satisfies (1) simultaneously for all sS ?

Outline of proof

  1. Construct the optimal equation to be used as a temporary surrogate definition of optimal value function, which we will prove in step 2 that it is equivalent to the definition via Eq.(2).

    (4)V(s)=maxaA[R(s,a)+γsST(s,a,s)V(s)]
  2. Deriva l'equivalenza della definizione della funzione di valore ottimale tramite l'Eq. (4) e tramite l'Eq. (2).

    (Notate infatti abbiamo solo bisogno della direzione della necessità nella dimostrazione, perché la sufficienza è ovvia poiché abbiamo costruito l'Eq. (4) dall'Eq. (2).)

  3. Prova che esiste una soluzione unica all'Eq. (4).

  4. Dal passaggio 2, sappiamo che la soluzione ottenuta nel passaggio 3 è anche una soluzione all'equazione (2), quindi è una funzione di valore ottimale.

  5. Da una funzione di valore ottimale, possiamo recuperare una politica ottimale scegliendo l'azione del massimizzatore nell'Eq. (4) per ogni stato.

Dettagli dei passaggi

1

Since V(s)=Vπ(s)=Ea[Qπ(s,a)], we have Vπ(s)maxaAQπ(s,a). And if there is any s~ such that , possiamo scegliere una politica migliore massimizzandoQ (s,a)=Q π (s,a)suunVπmaxaAQπ(s,a)Q(s,a)=Qπ(s,a)a .

2

(=>)

Segue il passaggio 1.

(<=)

cioè se soddisfa ˜ V ( s ) = max a A [ R ( s , a ) + γV~V~(s)=maxaA[R(s,a)+γsST(s,a,s)V~(s)], then V~(s)=V(s)=maxπVπ(s),sS.

Define the optimal Bellman operator as

(5)TV(s)=maxaA[R(s,a)+γsST(s,a,s)V(s)]
So our goal is to prove that if V~=TV~, then V~=V. We show this by combining two results, following Puterman[1]:

a) If V~TV~, then V~V.

b) If V~TV~, then V~V.

Proof:

a)

For any π=(d1,d2,...),

V~TV~=maxd[Rd+γPdV~]Rd1+γPd1V~
Here d is the decision rule(action profile at specific time), Rd is the vector representation of immediate reward induced from d and Pd is transition matrix induced from d.

By induction, for any n,

V~Rd1+i=1n1γiPπiRdi+1+γnPπnV~
where Pπj represents the j-step transition matrix under π.

Since

Vπ=Rd1+i=1γiPπiRdi+1
we have
V~VπγnPπnV~i=nγiPπiRdi+10 as n
So we have V~Vπ. And since this holds for any π, we conclude that
V~maxπVπ=V
b)

Follows from step 1.

3

The optimal Bellman operator is a contraction in L norm, cf. [2].

Proof: For any s,

|TV1(s)TV2(s)|=|maxaA[R(s,a)+γsST(s,a,s)V1(s)]maxaA[R(s,a)+γsST(s,a,s)V(s)]|()|maxaA[γsST(s,a,s)(V1(s)V2(s))]|γV1V2
where in (*) we used the fact that
maxaf(a)maxag(a)maxa[f(a)g(a)]

Thus by Banach fixed point theorum it follows that T has a unique fixed point.

References

[1] Puterman, Martin L.. “Markov Decision Processes : Discrete Stochastic Dynamic Programming.” (2016).

[2] A. Lazaric. http://researchers.lille.inria.fr/~lazaric/Webpage/MVA-RL_Course14_files/slides-lecture-02-handout.pdf


-1

The policy a=π(s) gives the best action a to execute in state s according to policy π, i.e. the value function vπ(s)=maxaAqπ(s,a) is highest for action a in state s.

There is always at least one policy that is better than or equal to all other policies.

Thus there is always a policy π which gives equal or higher expected rewards than policy π. Note that this implies that π could be an/the optimal policy (π) itself.


3
How does this answer the question? You're basically repeating statements written in the quote.
nbro
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.