Programação Linear (e rudimentos de otimização não-linear)
Programação Linear (e rudimentos de otimização não-linear)
Programação Linear (e rudimentos de otimização não-linear)
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
notas <strong>de</strong> aula – versão 64 - Jerônimo C. Pellegrini<br />
134 CAPÍTULO 9. CONTROLE DISCRETO<br />
longo do tempo (a minimização <strong>de</strong> uma função). Esta é uma instância <strong>de</strong><br />
um problema mais geral, chamado <strong>de</strong> processo Markoviano <strong>de</strong> <strong>de</strong>cisão.<br />
s (novo estado)<br />
ambiente<br />
política<br />
a (ação executada)<br />
Definição 9.2 (Processo Markoviano <strong>de</strong> Decisão). Um processo Markoviano<br />
<strong>de</strong> <strong>de</strong>cisão consiste <strong>de</strong> um sistema com estado interno, um agente<br />
controlador, uma função <strong>de</strong> transição para o próximo estado e uma função<br />
que dá a recompensa para cada estado. Define-se o processo Markoviano<br />
<strong>de</strong> <strong>de</strong>cisão, então, por (S, A, T, R), on<strong>de</strong> S é o conjunto <strong>de</strong> possíveis<br />
estados do sistema; A é o conjunto <strong>de</strong> possíveis ações (ou “controles”);<br />
T : S × A × S → [0, 1] é a função <strong>de</strong> transição: T(s, a, s ′ ) dá a probabilida<strong>de</strong><br />
do sistema passar ao estado s ′ dado que estava no estado s e a ação a foi<br />
executada; R : S → R é a função recompensa: R(s) é a recompensa por<br />
estar no estado s.<br />
Também se <strong>de</strong>ve associar ao problema um horizonte h, que consiste no<br />
número <strong>de</strong> <strong>de</strong>cisões a serem tomadas e um critério <strong>de</strong> otimalida<strong>de</strong>, que<br />
<strong>de</strong>termina o que se quer otimizar ao longo das épocas <strong>de</strong> <strong>de</strong>cisão. <br />
Este processo <strong>de</strong> <strong>de</strong>cisões em sequência é chamado <strong>de</strong> Markoviano<br />
porque a <strong>de</strong>cisão tomada em um dado momento <strong>de</strong>pen<strong>de</strong> apenas do estado<br />
do sistema naquele momento, e não das <strong>de</strong>cisões ou estados anteriores<br />
– esta é a proprieda<strong>de</strong> <strong>de</strong> Markov.<br />
Ao <strong>de</strong>finirmos um critério <strong>de</strong> otimalida<strong>de</strong>, <strong>de</strong>finimos um valor para<br />
cada estado s em cada época <strong>de</strong> <strong>de</strong>cisão k, que <strong>de</strong>notamos v k (s), <strong>de</strong> forma<br />
que em cada <strong>de</strong>cisão a melhor ação é aquela que maximiza o critério <strong>de</strong><br />
otimalida<strong>de</strong>. Por exemplo, po<strong>de</strong>mos <strong>de</strong>cidir maximizar a recompensa média<br />
nas épocas <strong>de</strong> <strong>de</strong>cisão (1/z ∑ t V t(s)) – ou a recompensa total, ∑ t V t(s),<br />
e neste último caso os valores <strong>de</strong> cada estado serão ótimos quando<br />
V t (s) = max<br />
Versão Preliminar<br />
a∈A<br />
{<br />
R(s) + ∑ s ′ ∈S<br />
T(s, a, s ′ )V t+1 (s ′ )<br />
Note que esta equação po<strong>de</strong> ser usada diretamente na elaboração <strong>de</strong> um<br />
algoritmo recursivo para a solução do problema: parte-se <strong>de</strong> v z (s) e calculase<br />
os valores da época anterior, até chegar à primeira época.<br />
}