Avaliação de Política
Avaliação de política é um processo de determinação da função de valor de uma política dada.
A avaliação de política pode ser utilizada para estimar tanto a função de valor de estado quanto a função de valor de ação. Porém, para métodos de Programação Dinâmica, será utilizada a função de valor de estado.
Como você já sabe, a função de valor de estado de uma política pode ser determinada resolvendo uma equação de Bellman:
vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvπ(s′))Se você possui um modelo completo do ambiente (ou seja, probabilidades de transição conhecidas e recompensas esperadas para todos os pares de estado-ação), as únicas variáveis desconhecidas restantes na equação são os valores dos estados. Portanto, a equação acima pode ser reformulada como um sistema de ∣S∣ equações lineares com ∣S∣ incógnitas.
Por exemplo, se um MDP possui 2 estados (s1, s2) e 2 ações (mover para s1, mover para s2), a função de valor de estado pode ser definida assim:
{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))Isso pode ser resolvido utilizando técnicas padrão de álgebra linear.
Uma solução única para tal sistema linear é garantida se pelo menos uma das seguintes condições for satisfeita:
- O fator de desconto satisfaz γ<1;
- A política π, quando seguida a partir de qualquer estado s, garante que o episódio eventualmente termina.
Avaliação Iterativa de Política
A solução pode ser computada diretamente, mas uma abordagem iterativa é mais comumente utilizada devido à sua facilidade de implementação. Este método começa atribuindo valores arbitrários iniciais para todos os estados, exceto para os estados terminais, que são definidos como 0. Os valores são então atualizados iterativamente utilizando a equação de Bellman como regra de atualização:
vk+1(s)←a∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvk(s′))A função de valor de estado estimada vk eventualmente converge para a verdadeira função de valor de estado vπ à medida que k→∞, se vπ existir.
Estratégias de Backup de Valor
Ao atualizar as estimativas de valor, novas estimativas são calculadas com base nos valores anteriores. O processo de preservar estimativas anteriores é conhecido como backup. Existem duas estratégias comuns para realizar backups:
- Backup completo: este método envolve armazenar as novas estimativas em um array separado, distinto daquele que contém os valores anteriores (armazenados em backup). Consequentemente, são necessários dois arrays — um para manter as estimativas anteriores e outro para armazenar os novos valores calculados;
- Backup in-place: esta abordagem mantém todos os valores em um único array. Cada nova estimativa substitui imediatamente o valor anterior. Este método reduz o uso de memória, pois apenas um array é necessário.
Normalmente, o método de backup in-place é preferido porque requer menos memória e converge mais rapidamente, devido ao uso imediato das estimativas mais recentes.
Quando parar de atualizar?
Na avaliação iterativa de política, não existe um ponto exato em que o algoritmo deve ser interrompido. Embora a convergência seja garantida no limite, continuar os cálculos além de certo ponto é desnecessário na prática. Um critério de parada simples e eficaz é acompanhar a diferença absoluta entre as estimativas de valor consecutivas, ∣vk+1(s)−vk(s)∣, e compará-la a um pequeno limiar θ. Se, após um ciclo completo de atualização (em que os valores de todos os estados são atualizados), nenhuma alteração exceder θ, o processo pode ser encerrado com segurança.
Pseudocódigo
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain the difference between full backup and in-place backup in more detail?
How does the choice of the discount factor γ affect convergence?
Can you walk me through the pseudocode for iterative policy evaluation?
Awesome!
Completion rate improved to 2.7
Avaliação de Política
Deslize para mostrar o menu
Avaliação de política é um processo de determinação da função de valor de uma política dada.
A avaliação de política pode ser utilizada para estimar tanto a função de valor de estado quanto a função de valor de ação. Porém, para métodos de Programação Dinâmica, será utilizada a função de valor de estado.
Como você já sabe, a função de valor de estado de uma política pode ser determinada resolvendo uma equação de Bellman:
vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvπ(s′))Se você possui um modelo completo do ambiente (ou seja, probabilidades de transição conhecidas e recompensas esperadas para todos os pares de estado-ação), as únicas variáveis desconhecidas restantes na equação são os valores dos estados. Portanto, a equação acima pode ser reformulada como um sistema de ∣S∣ equações lineares com ∣S∣ incógnitas.
Por exemplo, se um MDP possui 2 estados (s1, s2) e 2 ações (mover para s1, mover para s2), a função de valor de estado pode ser definida assim:
{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))Isso pode ser resolvido utilizando técnicas padrão de álgebra linear.
Uma solução única para tal sistema linear é garantida se pelo menos uma das seguintes condições for satisfeita:
- O fator de desconto satisfaz γ<1;
- A política π, quando seguida a partir de qualquer estado s, garante que o episódio eventualmente termina.
Avaliação Iterativa de Política
A solução pode ser computada diretamente, mas uma abordagem iterativa é mais comumente utilizada devido à sua facilidade de implementação. Este método começa atribuindo valores arbitrários iniciais para todos os estados, exceto para os estados terminais, que são definidos como 0. Os valores são então atualizados iterativamente utilizando a equação de Bellman como regra de atualização:
vk+1(s)←a∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvk(s′))A função de valor de estado estimada vk eventualmente converge para a verdadeira função de valor de estado vπ à medida que k→∞, se vπ existir.
Estratégias de Backup de Valor
Ao atualizar as estimativas de valor, novas estimativas são calculadas com base nos valores anteriores. O processo de preservar estimativas anteriores é conhecido como backup. Existem duas estratégias comuns para realizar backups:
- Backup completo: este método envolve armazenar as novas estimativas em um array separado, distinto daquele que contém os valores anteriores (armazenados em backup). Consequentemente, são necessários dois arrays — um para manter as estimativas anteriores e outro para armazenar os novos valores calculados;
- Backup in-place: esta abordagem mantém todos os valores em um único array. Cada nova estimativa substitui imediatamente o valor anterior. Este método reduz o uso de memória, pois apenas um array é necessário.
Normalmente, o método de backup in-place é preferido porque requer menos memória e converge mais rapidamente, devido ao uso imediato das estimativas mais recentes.
Quando parar de atualizar?
Na avaliação iterativa de política, não existe um ponto exato em que o algoritmo deve ser interrompido. Embora a convergência seja garantida no limite, continuar os cálculos além de certo ponto é desnecessário na prática. Um critério de parada simples e eficaz é acompanhar a diferença absoluta entre as estimativas de valor consecutivas, ∣vk+1(s)−vk(s)∣, e compará-la a um pequeno limiar θ. Se, após um ciclo completo de atualização (em que os valores de todos os estados são atualizados), nenhuma alteração exceder θ, o processo pode ser encerrado com segurança.
Pseudocódigo
Obrigado pelo seu feedback!