Introdução ao algoritmo  Iteração de Política        Daniel Baptista Dias     Grupo de Planejamento, IME / USP          05...
O algoritmo•   Dado um Processo de Decisão Markoviano (MDP, do inglês Markov    Decision Process), este algoritmo tenta en...
Processo de Decisão Markoviano•   Para resolver um Processo de Decisão Markoviano, consideramos a    seguinte estrutura de...
Etapas do algoritmoO algoritmo possui as seguintes etapas:1. Atribui 𝑖 = 0 e seleciona uma política inicial aleatória 𝜋0 ;...
Exemplo•   Problema: Robô Vigilante     o Um robô deve permanecer em um corredor de um prédio vigiando,       porém sem at...
Exemplo•   Características do problema:     o 𝛾 = 0.9     o S = 𝑒𝑠𝑞, 𝑚𝑒𝑖𝑜, 𝑑𝑖𝑟     o A = 𝑝𝑒𝑟𝑚𝑎𝑛𝑒𝑐𝑒𝑟, 𝑝𝑎𝑟𝑎𝑒𝑠𝑞, 𝑝𝑎𝑟𝑎𝑑𝑖𝑟     ...
Execução do algoritmoPrimeira iteração:•   Passo 1:     o 𝑖=0     o 𝜋 𝑖 𝑒𝑠𝑞 = 𝑝𝑒𝑟𝑚𝑎𝑛𝑒𝑐𝑒𝑟     o 𝜋 𝑖 𝑚𝑒𝑖𝑜 = 𝑝𝑒𝑟𝑚𝑎𝑛𝑒𝑐𝑒𝑟     o...
Execução do algoritmo•   Passo 2 (cont):     o transformando em números:          𝑉0 𝑒𝑠𝑞 = −1 + 0.9 1 × 𝑉0 𝑒𝑠𝑞 + 0 × 𝑉0 𝑚...
Execução do algoritmo•   Passo 3 (cont):     o executando arg max 𝑎∈𝐴 para 𝜋1 𝑒𝑠𝑞 :          𝑝𝑒𝑟𝑚𝑎𝑛𝑒𝑐𝑒𝑟, −1 + 0.9 1 × 𝑉0 ...
Execução do algoritmo•   Passo 4     o verifica se 𝜋1 = 𝜋0          negativo, então incrementa 𝑖 para 1 e retorna ao pass...
Upcoming SlideShare
Loading in …5
×

Iteração de política

414 views
331 views

Published on

Slides de apresentação do algoritmo Iteração de Política

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
414
On SlideShare
0
From Embeds
0
Number of Embeds
95
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Iteração de política

  1. 1. Introdução ao algoritmo Iteração de Política Daniel Baptista Dias Grupo de Planejamento, IME / USP 05 de outubro de 2012
  2. 2. O algoritmo• Dado um Processo de Decisão Markoviano (MDP, do inglês Markov Decision Process), este algoritmo tenta encontrar uma política ótima uma aproximação no espaço de políticas• Ele se baseia na estrutura de um MDP para encontrar esta política ótima• Resolve problemas de horizonte infinito• Serve de inspiração para uma série de outros algoritmos que tentam encontrar uma política ótima através da melhoria de uma política existente
  3. 3. Processo de Decisão Markoviano• Para resolver um Processo de Decisão Markoviano, consideramos a seguinte estrutura de tupla 𝑀 = 𝑆, 𝐴, 𝑃, 𝑅 , onde: o 𝑆 é o conjunto finito de estados possíveis do problema o 𝐴 é o conjunto finito de ações executáveis no ambiente do problema o 𝑃 ∶ 𝑆 × 𝐴 × 𝑆 ↦ [0,1] é uma função de transição de estados probabilística o 𝑅 ∶ 𝑆 × 𝐴 ↦ ℜ é uma função que associa uma recompensa a uma ação aplicada em um determinado estado• Uma solução para um MDP pode ser dada pela função 𝜋 ∶ 𝑆 ↦ 𝐴, que define qual ação será tomada dado um estado. Esta função é chamada de política de um MDP.
  4. 4. Etapas do algoritmoO algoritmo possui as seguintes etapas:1. Atribui 𝑖 = 0 e seleciona uma política inicial aleatória 𝜋0 ;2. (Avaliação da política) Dado a política aleatória 𝜋 𝑖 , resolve o sistema de equações abaixo, identificando os valores da função 𝑉𝑖 : 𝑉𝑖 𝑠 = 𝑅 𝑠, 𝜋 𝑠 + 𝛾 𝑠′∈𝑆 𝑃 𝑠 ′ 𝑠, 𝜋 𝑠 𝑉𝑖 (𝑠 ′ ), para todo 𝑠 ∈ 𝑆3. (Melhora da política) Escolhe uma política 𝜋 𝑖+1 seguindo o seguinte critério: 𝜋 𝑖+1 𝑠 ∈ arg max 𝑅 𝑠, 𝑎 + 𝛾 𝑃 𝑠 ′ 𝑠, 𝑎 𝑉𝑖 (𝑠 ′ ) 𝑎∈𝐴 𝑠′∈𝑆4. Caso 𝜋 𝑖+1 = 𝜋 𝑖 , encerra as iterações. Caso contrário, incrementa 𝑖 em 1 e volta para o passo 2.
  5. 5. Exemplo• Problema: Robô Vigilante o Um robô deve permanecer em um corredor de um prédio vigiando, porém sem atrapalhar o fluxo de pessoas no corredor. o Como as pessoas vêm da salas de reunião e trafegam a esquerda, o robô deve dar prioridade a se locomover a direita. o Ao tentar mudar de lugar no corredor, existe uma probabilidade de o robô não conseguir se mover e se manter no mesmo lugar.
  6. 6. Exemplo• Características do problema: o 𝛾 = 0.9 o S = 𝑒𝑠𝑞, 𝑚𝑒𝑖𝑜, 𝑑𝑖𝑟 o A = 𝑝𝑒𝑟𝑚𝑎𝑛𝑒𝑐𝑒𝑟, 𝑝𝑎𝑟𝑎𝑒𝑠𝑞, 𝑝𝑎𝑟𝑎𝑑𝑖𝑟 o R esq,∙ = −1, R meio,∙ = 0 , R dir,∙ = 4 o 𝑃, conforme a figura abaixo:
  7. 7. Execução do algoritmoPrimeira iteração:• Passo 1: o 𝑖=0 o 𝜋 𝑖 𝑒𝑠𝑞 = 𝑝𝑒𝑟𝑚𝑎𝑛𝑒𝑐𝑒𝑟 o 𝜋 𝑖 𝑚𝑒𝑖𝑜 = 𝑝𝑒𝑟𝑚𝑎𝑛𝑒𝑐𝑒𝑟 o 𝜋 𝑖 𝑑𝑖𝑟 = 𝑝𝑒𝑟𝑚𝑎𝑛𝑒𝑐𝑒𝑟• Passo 2 (avaliação da política): o resolver:  𝑉0 𝑒𝑠𝑞 = 𝑅 𝑒𝑠𝑞, 𝜋 𝑒𝑠𝑞 + 𝛾 𝑠′∈𝑆 𝑃 𝑠 ′ 𝑒𝑠𝑞, 𝜋 𝑒𝑠𝑞 𝑉0 (𝑠 ′ )  𝑉0 𝑚𝑒𝑖𝑜 = 𝑅 𝑚𝑒𝑖𝑜, 𝜋 𝑚𝑒𝑖𝑜 + 𝛾 𝑠′∈𝑆 𝑃 𝑠 ′ 𝑚𝑒𝑖𝑜, 𝜋 𝑚𝑒𝑖𝑜 𝑉0 (𝑠 ′ ) ′  𝑉0 𝑑𝑖𝑟 = 𝑅 𝑑𝑖𝑟, 𝜋 𝑑𝑖𝑟 + 𝛾 𝑠′∈𝑆 𝑃 𝑠 𝑑𝑖𝑟, 𝜋 𝑑𝑖𝑟 𝑉0 (𝑠 ′ )
  8. 8. Execução do algoritmo• Passo 2 (cont): o transformando em números:  𝑉0 𝑒𝑠𝑞 = −1 + 0.9 1 × 𝑉0 𝑒𝑠𝑞 + 0 × 𝑉0 𝑚𝑒𝑖𝑜 + 0 × 𝑉0 𝑑𝑖𝑟  𝑉0 𝑚𝑒𝑖𝑜 = 0 + 0.9 0 × 𝑉0 𝑒𝑠𝑞 + 1 × 𝑉0 𝑚𝑒𝑖𝑜 + 0 × 𝑉0 𝑑𝑖𝑟  𝑉0 𝑑𝑖𝑟 = 4 + 0.9 0 × 𝑉0 𝑒𝑠𝑞 + 0 × 𝑉0 𝑚𝑒𝑖𝑜 + 1 × 𝑉0 𝑑𝑖𝑟 o resultando em:  𝑉0 𝑒𝑠𝑞 = −10, 𝑉0 𝑚𝑒𝑖𝑜 = 0 e 𝑉0 𝑑𝑖𝑟 = 40• Passo 3 (melhoria da política): o resolução para cada estado de:  𝜋1 𝑒𝑠𝑞 ∈ arg max 𝑅 𝑒𝑠𝑞, 𝑎 + 𝛾 𝑠 ′ ∈𝑆 𝑃 𝑠 ′ 𝑒𝑠𝑞, 𝑎 𝑉0 𝑠 ′ 𝑎∈𝐴  𝜋1 𝑚𝑒𝑖𝑜 ∈ arg max 𝑅 𝑚𝑒𝑖𝑜, 𝑎 + 𝛾 𝑠′∈𝑆 𝑃 𝑠 ′ 𝑚𝑒𝑖𝑜, 𝑎 𝑉0 (𝑠 ′ ) 𝑎∈𝐴  𝜋1 𝑑𝑖𝑟 ∈ arg max 𝑅 𝑑𝑖𝑟, 𝑎 + 𝛾 𝑠′∈𝑆 𝑃 𝑠 ′ 𝑑𝑖𝑟, 𝑎 𝑉0 (𝑠 ′ ) 𝑎∈𝐴
  9. 9. Execução do algoritmo• Passo 3 (cont): o executando arg max 𝑎∈𝐴 para 𝜋1 𝑒𝑠𝑞 :  𝑝𝑒𝑟𝑚𝑎𝑛𝑒𝑐𝑒𝑟, −1 + 0.9 1 × 𝑉0 𝑒𝑠𝑞  𝑝𝑎𝑟𝑎𝑒𝑠𝑞, −1 + 0.9 1 × 𝑉0 𝑒𝑠𝑞  𝑝𝑎𝑟𝑎𝑑𝑖𝑟, −1 + 0.9 0.3 × 𝑉0 𝑒𝑠𝑞 + 0.7 × 𝑉0 𝑑𝑖𝑟 o resultando em:  𝑝𝑒𝑟𝑚𝑎𝑛𝑒𝑐𝑒𝑟, −10  𝑝𝑎𝑟𝑎𝑒𝑠𝑞, −10  𝒑𝒂𝒓𝒂𝒅𝒊𝒓, 21.5 o assim teremos 𝜋1 𝑒𝑠𝑞 = 𝑝𝑎𝑟𝑎𝑑𝑖𝑟 o Executando para os outros estados e ações, teremos:  𝜋1 𝑒𝑠𝑞 = 𝑝𝑎𝑟𝑎𝑑𝑖𝑟, 𝜋1 meio = 𝑝𝑎𝑟𝑎𝑑𝑖𝑟 e 𝜋1 dir = permanece
  10. 10. Execução do algoritmo• Passo 4 o verifica se 𝜋1 = 𝜋0  negativo, então incrementa 𝑖 para 1 e retorna ao passo 2• Executando mais uma iteração teremos: o 𝜋2 𝑒𝑠𝑞 = 𝑝𝑎𝑟𝑎𝑑𝑖𝑟, 𝜋2 meio = 𝑝𝑎𝑟𝑎𝑑𝑖𝑟 e 𝜋2 dir = permanece o como 𝜋2 = 𝜋1 , o algoritmo encerrará e considerará 𝜋 ∗ = 𝜋2

×