Por que sempre há pelo menos uma política que é melhor que ou igual a todas as outras políticas?


13

Aprendizado por Reforço: Uma Introdução. Segunda edição, em andamento ., Richard S. Sutton e Andrew G. Barto (c) 2012, pp. 67-68.

Resolver uma tarefa de aprendizado por reforço significa, basicamente, encontrar uma política que obtenha muitas recompensas a longo prazo. Para MDPs finitos, podemos definir com precisão uma política ideal da seguinte maneira. As funções de valor definem uma ordem parcial sobre as políticas. Uma política de π é definido como sendo melhor do que ou igual a uma política π se o seu retorno esperado é maior ou igual ao de π , para todos os estados. Em outras palavras, ππ se e somente se vπ(s)vπ(s) , para todos os sS . Sempre há pelo menos uma política que é melhor que ou igual a todas as outras políticas. Esta é uma política ideal.

Por que sempre há pelo menos uma política que é melhor que ou igual a todas as outras políticas?


Uma prova muito detalhada (que usa o teorema do ponto fixo de Banach) aparece no capítulo 6.2 de "Processos de decisão de Markov", de Puterman.
Toghs

Respostas:


3

Depois da parte citada, o mesmo parágrafo realmente diz qual é essa política: é a que executa as melhores ações em todos os estados. Em um MDP, a ação que realizamos em um estado não afeta as recompensas por ações realizadas em outros, portanto, podemos simplesmente maximizar a política estado a estado.


Esta resposta não está completamente errada? Como você pode dizer que otimizar um estado de política por estado leva a uma política ideal. Se eu otimizar sobre o estado St e levar St+1 e, em seguida, otimizar em St+1 conduz a uma função de valor ideal Vt+1 mas há outra política na qual St leva subótimamente a Sl e o ideal função de valor de Sl é maior que Vt+1 . Como você pode descartar isso com uma análise tão superficial?
MiloMinderbinder

@MiloMinderbinder Se a política ideal em St é escolher St+1 , o valor de St+1 é maior que o valor de Sl .
Don Reba

Foi mal. Erro de digitação corrigido: 'Esta resposta não está completamente errada? Como você pode dizer que a otimização de cada estado de política leva a uma política ideal? Se eu otimizar sobre o estado St e levar-me a St+1 e, em seguida, otimizar em St+1 conduz a uma função de valor ideal Vt+2 de St+2 mas há outra política na qual St leva subótimamente para Sl+1 e, portanto, a função de valor de St+1é maior que Vl+1 mas a função de valor de St+2 é maior nesta política do que na política encontrada pela otimização de estado por estado. Como isso é ofendido por você?
MiloMinderbinder 15/11/19

Penso que a definição de V impedirá que isso aconteça em primeiro lugar, uma vez que também deve dar conta de retornos futuros.
Flying_Banana

A questão seria então: por que existe? Você não pode contornar o Teorema do ponto fixo de Banach :-)q
Fabian Werner

10

A existência de uma política ótima não é óbvia. Para ver o porquê, observe que a função value fornece apenas uma ordem parcial no espaço de políticas. Isso significa:

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

Como essa é apenas uma ordem parcial, pode haver um caso em que duas políticas, e π 2 , não sejam comparáveis. Em outras palavras, existem subconjuntos do espaço de estados, S 1 e S 2, de modo que:π1π2S1S2

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

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

Nesse caso, não podemos dizer que uma política é melhor que a outra. Mas, se estamos lidando com MDPs finitos com funções de valor limitado, esse cenário nunca ocorre. Há exatamente uma função de valor ideal, embora possa haver várias políticas ideais.

Para uma prova disso, você precisa entender o teorema de Banach Fixed Point. Para uma análise detalhada, consulte .


7

Configuração

Estamos considerando no cenário de:

  • Ações discretas
  • Estados discretos
  • Recompensas limitadas
  • Política estacionária
  • Horizonte infinito

A política óptimo é definido como: e a função de um valor óptimo é: V * = max π V π ( s ) , s S Pode haver um conjunto de políticas que atingem o máximo. Mas existe apenas uma função de valor ideal: V = V π

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

A questão

Como para demonstrar que existe, pelo menos, um que satisfaz (1) simultaneamente para todos s S ?πsS

Esboço da prova

  1. Construa a equação ótima a ser usada como uma definição substituta temporária da função de valor ótimo, o que provaremos na etapa 2 que é equivalente à definição via Eq. (2).

    (4)V(s)=maxaA[R(s,a)+γsST(s,a,s)V(s)]
  2. Derive a equivalência da definição da função de valor ótimo via Eq. (4) e via Eq. (2).

    (Observe que, de fato, precisamos apenas da direção da necessidade na prova, porque a suficiência é óbvia, pois construímos a Eq. (4) da Eq. (2).)

  3. Prove que existe uma solução exclusiva para a Eq. (4).

  4. Na etapa 2, sabemos que a solução obtida na etapa 3 também é uma solução para a Eq. (2), portanto é uma função de valor ideal.

  5. A partir de uma função de valor ideal, podemos recuperar uma política ideal escolhendo a ação maximizadora na Eq. (4) para cada estado.

Detalhes das etapas

1

Como , temos V π ( s ) max a A Q π ( s , a ) . E se houver qualquer ~ s tais que V π *max uma 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

(=>)

Segue o passo 1.

(<=)

V~V~(s)=maxaA[R(s,a)+γsST(s,a,s)V~(s)]V~(s)=V(s)=maxπVπ(s),sS

Defina o operador Bellman ideal como

(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
Como isso responde à pergunta? Você está basicamente repetindo declarações escritas na citação.
Nll
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.