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
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.
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.
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.
= 𝜋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