Pourquoi y a-t-il toujours au moins une politique meilleure ou égale à toutes les autres politiques?

15

Apprentissage par renforcement: une introduction. Deuxième édition, en cours ., Richard S. Sutton et Andrew G. Barto (c) 2012, pp. 67-68.

Résoudre une tâche d'apprentissage par renforcement signifie, en gros, trouver une politique qui obtient beaucoup de récompenses à long terme. Pour les MDP finis, nous pouvons définir précisément une politique optimale de la manière suivante. Les fonctions de valeur définissent un ordre partiel sur les stratégies. Une politique π est définie comme étant supérieure ou égale à une politique π si son rendement attendu est supérieur ou égal à celui de π , pour tous les États. En d'autres termes, ππ si et seulement si vπ(s)vπ(s) , pour tout sS . Il existe toujours au moins une stratégie meilleure ou égale à toutes les autres stratégies. Il s'agit d'une politique optimale.

Pourquoi y a-t-il toujours au moins une politique meilleure ou égale à toutes les autres politiques?

sh1ng
la source
Une preuve très détaillée (qui utilise le théorème du point fixe de Banach) apparaît dans le chapitre 6.2 de "Markov Decision Processes" de Puterman.
Toghs

Réponses:

3

Juste après la partie citée, le même paragraphe vous dit en fait quelle est cette politique: c'est celle qui prend la meilleure action dans chaque état. Dans un MDP, l'action que nous entreprenons dans un État n'affecte pas les récompenses pour les actions entreprises dans d'autres, nous pouvons donc simplement maximiser la politique État par État.

Don Reba
la source
Cette réponse n'est-elle pas complètement fausse? Comment pouvez-vous dire que l'optimisation de la politique état par état conduit à une politique optimale. Si j'optimise sur l'état et cela me prend S t + 1 , puis l'optimisation à S t + 1 conduit à une fonction de valeur optimale V t + 1 mais il existe une autre politique dans laquelle S t conduit de manière sous-optimale à S l et l'optimal la fonction de valeur de S l est supérieure à V t + 1 . Comment pouvez-vous exclure cela par une analyse aussi rapide?StSt+1St+1Vt+1StSlSlVt+1
MiloMinderbinder
@MiloMinderbinder Si la politique optimale à est de choisir S t + 1 , alors la valeur de S t + 1 est supérieure à la valeur de S l . StSt+1St+1Sl
Don Reba
Ma faute. Correction de faute de frappe: «Cette réponse n'est-elle pas complètement fausse? Comment pouvez-vous dire que l'optimisation de la politique état par état conduit à une politique optimale? Si j'optimise sur l'état et cela m'amène à S t + 1 , puis l'optimisation à S t + 1 conduit à une fonction de valeur optimale V t + 2 de S t + 2 mais il existe une autre politique dans laquelle S t bien que conduit de manière sous-optimale à S l + 1 et donc la fonction de valeur de S t + 1StSt+1St+1Vt+2St+2StSl+1St+1est supérieur à mais la fonction valeur de S t + 2 est plus élevée dans cette politique que dans la politique trouvée en optimisant état par état. Comment est-ce que vous l'ignorez? Vl+1St+2
MiloMinderbinder
Je pense que la définition de empêchera cela de se produire en premier lieu, car elle devrait également tenir compte des rendements futurs. V
Flying_Banana
La question serait alors: pourquoi existe-t-il? Vous ne pouvez pas contourner le théorème du point fixe de Banach :-)q
Fabian Werner
10

L'existence d'une politique optimale n'est pas évidente. Pour voir pourquoi, notez que la fonction de valeur ne fournit qu'un ordre partiel sur l'espace des stratégies. Ça signifie:

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

Comme il ne s'agit que d'un ordre partiel, il pourrait y avoir un cas où deux politiques, et π 2 , ne sont pas comparables. En d'autres termes, il existe des sous-ensembles de l'espace d'état, S 1 et S 2 tels que:π1π2S1S2

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

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

Dans ce cas, nous ne pouvons pas dire qu'une politique est meilleure que l'autre. Mais si nous avons affaire à des MDP finis avec des fonctions de valeur bornées, un tel scénario ne se produit jamais. Il existe exactement une fonction de valeur optimale, bien qu'il puisse exister plusieurs politiques optimales.

Pour en avoir la preuve, vous devez comprendre le théorème du point fixe de Banach. Pour une analyse détaillée, veuillez vous référer .

Karthik Thiagarajan
la source
8

Réglage

Nous envisageons dans le cadre de:

  • Actions discrètes
  • États discrets
  • Récompenses illimitées
  • Politique stationnaire
  • Horizon infini

La politique optimale est définie comme: et la fonction de valeur optimale est: V = max π V π ( s ) , s S Il peut y avoir un ensemble des politiques qui atteignent le maximum. Mais il n'y a qu'une seule fonction de valeur optimale: V = V π

(1)πargmaxπVπ(s),sS
(2)V=maxπVπ(s),sS
(3)V=Vπ

La question

Comment prouver qu'il existe au moins un qui satisfait (1) simultanément pour tout s S ?πsS

Aperçu de la preuve

  1. Construire l' équation optimale à utiliser comme définition de substitution temporaire de la fonction de valeur optimale, dont nous prouverons à l'étape 2 qu'elle est équivalente à la définition via l'équation (2).

    (4)V(s)=maxaA[R(s,a)+γsST(s,a,s)V(s)]
  2. Dérivez l'équivalence de la définition de la fonction de valeur optimale via l'équation (4) et via l'équation (2).

    (Notez en fait que nous n'avons besoin que de la direction de nécessité dans la preuve, car la suffisance est évidente puisque nous avons construit l'équation (4) à partir de l'équation (2).)

  3. Démontrer qu'il existe une solution unique à l'équation (4).

  4. Par l'étape 2, nous savons que la solution obtenue à l'étape 3 est également une solution à l'équation (2), c'est donc une fonction de valeur optimale.

  5. À partir d'une fonction de valeur optimale, nous pouvons récupérer une politique optimale en choisissant l'action de maximisation dans l'équation (4) pour chaque état.

Détails des étapes

1

Puisque , nous avons V π ( s ) max a A Q π ( s , a ) . Et s'il y a des ˜ s tels que V π max a V(s)=Vπ(s)=Ea[Qπ(s,a)]Vπ(s)maxaAQπ(s,a)s~VπmaxaAQπ(s,a)Q(s,a)=Qπ(s,a)a

2

(=>)

Suit l'étape 1.

(<=)

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

LoveIris
la source