¿Por qué siempre hay al menos una política que es mejor o igual a todas las demás políticas?


14

Aprendizaje de refuerzo: una introducción. Segunda edición, en progreso ., Richard S. Sutton y Andrew G. Barto (c) 2012, pp. 67-68.

Resolver una tarea de aprendizaje de refuerzo significa, más o menos, encontrar una política que logre muchas recompensas a largo plazo. Para MDP finitos, podemos definir con precisión una política óptima de la siguiente manera. Las funciones de valor definen un orden parcial sobre las políticas. Una política π se define como mejor o igual a una política π si su rendimiento esperado es mayor o igual que el de π , para todos los estados. En otras palabras, ππ si y solo si vπ(s)vπ(s) , para todos los sS .Siempre hay al menos una política que es mejor o igual que todas las demás políticas. Esta es una política óptima.

¿Por qué siempre hay al menos una política que es mejor o igual a todas las demás políticas?


Una prueba muy detallada (que usa el teorema del punto fijo de Banach) aparece en el capítulo 6.2 de "Procesos de decisión de Markov" de Puterman.
Toghs

Respuestas:


3

Justo después de la parte citada, el mismo párrafo le dice en realidad qué es esta política: es la que toma las mejores medidas en cada estado. En un MDP, la acción que tomamos en un estado no afecta las recompensas por las acciones tomadas en otros, por lo que simplemente podemos maximizar la política estado por estado.


¿No es esta respuesta completamente incorrecta? ¿Cómo puede decir que optimizar la política estado por estado conduce a una política óptima? Si optimizo sobre el estado St y me lleva St+1 y luego optimizar en St+1 conduce a una función de valor óptima Vt+1 pero hay otra política en la que St conduce subóptimamente a Sl y el óptimo La función de valor de Sl es mayor que Vt+1 . ¿Cómo puede descartar esto mediante un análisis tan superficial?
MiloMinderbinder

@MiloMinderbinder Si la política óptima en es elegir S t + 1 , entonces el valor de S t + 1 es mayor que el valor de S l . StSt+1St+1Sl
Don Reba

Culpa mía. Typo corrigió: '¿No es esta respuesta completamente incorrecta? ¿Cómo puede decir que optimizar la política estado por estado conduce a una política óptima? Si optimizo sobre el estado y me lleva a S t + 1 y luego optimizar en S t + 1 conduce a una función de valor óptima V t + 2 de S t + 2, pero hay otra política en la que S t aunque conduce subóptimamente a S l + 1 y, por lo tanto, la función de valor de S t + 1StSt+1St+1Vt+2St+2StSl+1St+1es mayor que pero la función de valor de S t + 2 es mayor bajo esta política que bajo la política encontrada al optimizar estado por estado. ¿Cómo es superado por usted? Vl+1St+2
MiloMinderbinder

Creo que la definición de evitará que esto suceda en primer lugar, ya que también debería tener en cuenta los rendimientos futuros. V
Flying_Banana

La pregunta sería: ¿por qué existe ? No se puede evitar el Teorema del punto fijo de Banach :-)q
Fabian Werner

10

La existencia de una política óptima no es obvia. Para ver por qué, tenga en cuenta que la función de valor proporciona solo un orden parcial sobre el espacio de las políticas. Esto significa:

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

Dado que esto es solo un pedido parcial, podría haber un caso en el que dos políticas, y π 2 , no sean comparables. En otras palabras, hay subconjuntos del espacio de estado, S 1 y S 2 de manera que:π1π2S1S2

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

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

In this case, we can't say that one policy is better than the other. But if we are dealing with finite MDPs with bounded value functions, then such a scenario never occurs. There is exactly one optimal value functions, though there might be multiple optimal policies.

For a proof of this, you need to understand the Banach Fixed Point theorem. For a detailed analysis, please refer.


7

Setting

We are considering in the setting of:

  • Discrete actions
  • Discrete states
  • Bounded rewards
  • 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. Derive the equivalency of defining optimal value function via Eq.(4) and via Eq.(2).

    (Note in fact we only need the necessity direction in the proof, because the sufficiency is obvious since we constructed Eq.(4) from Eq.(2).)

  3. Prove that there is a unique solution to Eq.(4).

  4. By step 2, we know that the solution obtained in step 3 is also a solution to Eq.(2), so it is an optimal value function.

  5. From an optimal value function, we can recover an optimal policy by choosing the maximizer action in Eq.(4) for each state.

Details of the steps

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 VπmaxaAQπ(s,a), we can choose a better policy by maximizing Q(s,a)=Qπ(s,a) over a.

2

(=>)

Follows by step 1.

(<=)

i.e. If V~ satisfies 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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.