08.02.2015 Views

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)

SHOW MORE
SHOW LESS

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 />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!