Post on 31-Dec-2016
2-Introdução à Programação Dinâmica
IA 718 Tópicos em Sistemas Inteligentes
ProfFernandoGomide DCA-FEEC-Unicamp
1. Introdução2. Problema do caminho mínimo3. Solução com programação dinâmica4. Análise de complexidade5. Programação dinâmica forward6. Exemplos
Conteúdo
DCA-FEEC-Unicamp
1-Introdução
� Programação dinâmica– metodologia de otimização
– problemas que requerem decisões sequenciais interelacionadas
– decisão tem um custo imediato e afeta contexto decisões futuras
� Objetivo– como obter a sequência de decisões
– minimização custo total em um número de estágios
– compromisso entre custo imediato e futuro
DCA-FEEC-Unicamp
Processos de decisão multiestágios
� Decisão multiestágios– processo que pode ser desdobrado em um número de etapas
seqüenciais, ou estágios
� Estado– condição do processo num dado estágio é o estado neste estágio
� Decisões– opções que se tem em cada estágio
– cada decisão causa uma transição do estado
DCA-FEEC-Unicamp
� Estratégia (política)– uma seqüência de decisões
– uma decisão para cada estado do processo
� Retorno– custo, benefício, associado a cada estágio de decisão
– pode variar com o estágio e o estado
� Questão– determinar a política ótima (aquela que resulta no melhor retorno)
DCA-FEEC-Unicamp
Princípio de otimalidade de Bellman
Uma estratégia ótima apresenta a propriedade segundo a qual, a despeito das decisões tomadas para se atingir um estado particular num certo estágio, as decisões restantes a partir deste estado devem constituir uma estratégia ótima.
[Richard Bellman, 1957]
A
x1
G
1 n N
x2
DCA-FEEC-Unicamp
Qual é o caminho de menoresfôrço (tempo, custo, dis -tância, etc.) entre q e r ?
• 20 caminhos distinos• 5 adições por caminho• 19 comparações
2-Problema do caminho mínimo
q
r
d
e h
f il
g
k
j mo
n p
1
0
3
4
4
2 4
5 2
7 1 3
1 3
5
2 8 2
2 4 1
5 2 2
c
DCA-FEEC-Unicamp
vi melhor caminho de i até rvq = min {1+ vc , 0 +vd}
vc = min {5 + ve , 4 +vf}vd = min {7 + vf , 3 +vg}………………………..
vl = 5 + vo
vm= min {2 + vo , 8 +vp}vn = 4 + vp
vo = 2vp = 1
vr= 0
q
r
vc
d
e h
f il
g
k
j mo
n p
1
0
3
4
4
2 4
5 2
7 1 3
1 3
5
2 8 2
2 4 1
5 2 2
c
vd
va
3-Solução com programação dinâmica
DCA-FEEC-Unicamp
S estadoPS sucessor de Sno caminho ótimo de Saté r
24 adições9 comparações
q
r
vc
d
e h
f il
g
k
j mo
n p
1
0
3
4
4
2 4
5 2
7 1 3
1 3
5
2 8 2
2 4 1
5 2 2
c
vq=13
Po = r Pp = r
Pl = o Pm= o Pn = p
Ph = l Pi = m Pj = m Pk= n
Pe = i Pf = j Pg = j ou k
Pc = f Pd= g
Pq = c
Estratégia ótima
DCA-FEEC-Unicamp
� Função objetivo (custo, utilidade, etc.): aditivamente separável
� Ambientes estocásticos: sistemas Markovianos
� Enumeração exaustiva: O(|A|n)
– |A| número decisões (ações) em cada estágio (passo)
� Programação dinâmica: O(n|A||S|)
– |S| número de estados possíveis– n: número de estágios
4-Análise de complexidade
DCA-FEEC-Unicamp
5-Programação dinâmica forward
vi melhor caminho de q até i
q
r
vc
d
e h
f il
g
k
j mo
n p
1
0
3
4
4
2 4
5 2
7 1 3
1 3
5
2 8 2
2 4 1
5 2 2
c
vd
va
vr = min {2+ vo , 1 +vp}vo = min {5+ vl , 2 +vm}vm= min {4 + vi , 2 +vj}vl = min {3 + vh , 3 + vi}vn = min {2 + vj , 2 +vk}......................................ve = min {5 + vc}vf = min {4+ vc , 7 +vd}vg = min {3 + vd}
vd = 0vc = 1
vq = 0
DCA-FEEC-Unicamp
6-Exemplos
� Determinístico: caminho mínimo
rjv
Lj,iiI
Lj,ijI
jic
j,iL
Ι
j
j
i
ij
paradeocustomínim
)(quetalnósdeconjnto
)(quetalnósdeconjnto
paradecusto
)(arcosdeconjunto
nósdeconjunto
=
∈∃=
∈∃=
===
−
+ q
1
3
2
r
8
15
3
14
5
10
17
DCA-FEEC-Unicamp
Ii, vcminvminv jijIj
iij
∈∀+←+∈
)}(, {
� Equação de Bellman
� Solução iterativa
0151018264
0151018263
0151018302
015101001001
0100100100100
r321qIteração
custo do caminho a partir do nó
DCA-FEEC-Unicamp
� Algoritmo de Pape
fimsenão1passoentãoSederemover3
defimno}{entãose
entãose
v
2.
detopodonóremover1
candidatosdelista}{
0
i
φ≠∪=∉
=<
+=
∈∀
∈
=
=≠
=
+
C.Cj.
Ci;iCCCi
v̂vvv̂
vcˆ
Ij
CCj.
qC
rj
rjMv
iiii
jij
j
j
� Pape (e Djkstra) são instâncias do algoritmo geral
DCA-FEEC-Unicamp
� Algoritmo geral caminho mínimo
remover nó i da lista de candidatos C
para cada arco (i, j) ∈ L
se vj > vi + cij então
vj = vi + cij
adicionar j àV se j ∉ C
DCA-FEEC-Unicamp
Proposição:sejam v1, v2, ....,vN escalares satisfazendo
vj ≤ vi + cij ∀(i, j) ∈ L
e seja P um caminho iniciando em um nó i1 e terminando em um nó ik. Se
vj = vi + cij para todos arcos (i, j) de P
então P é menor caminho de i1 para ik.
Prova
Somando vj = vi + cij para arcos de P → valor de P = vik – vi1
Somando vj ≤ vi + cij para arcos de P ' → valor de P ' ≥ PLogo, P é o menor caminho.
DCA-FEEC-Unicamp
� Estocástico: atribuição dinâmica
=
=trabalhonodias#
oequipamenttipo
técnicolocalzação
a
a
a
at
3
2
1
Aatat
ta
RR
aA
at#R
∈==
=
)(
devaloresdosconjnto
atributocomécnicos
– atributos de um técnico
– conjunto de todos técnicos
DCA-FEEC-Unicamp
Bbtbt
tb
Bbtbt
tb
DD
tbD
D̂D̂
ttb#D̂
bB
b
∈
∈
==
=
−=
==
)(
instantenoinstaladoseratipooequipamenttotal
)(
serviço)(necessita1eentreinstaladostipoosequipament
devaloresdosconjunto
tipo)ão,(localizaçoequipamentumdeatributos
– demanda serviços técnicos
DCA-FEEC-Unicamp
– decisões
φ
φ
∪∪=
=
=
=∈
=
dDDD
d
D
Dd
D
DH
D
H
H
ecnicot'umcomnada"fazer"decisão
demandap/técncioenviandodecisõesconjnto
particularlocalumrepresenta
casap/técnicoenviandodecisõesconjunto
DCA-FEEC-Unicamp
– impacto decisões nos atributos: função transição
′==δ
=
′
+
contráriocaso0
)(se1)(
)(1
ad,aad,a
d,aaa
tM
ta
tM
t
– indicação das decisões tomadas
Dd,Aatadt
tad
xx
adx
∈∈==
)(
atributotécnicoaplicadaédecisãovezesnúmero
DCA-FEEC-Unicamp
– indicação das decisões tomadas
Dd,Aatdat
tda
cc
adc
∈∈==
)(
atributotécnicoaplicadaédecisãocusto
� Modelo míope
0≥
∈≤
=
∑
∑
∑ ∑
∈
∈
∈ ∈
tad
Dtb
Aatad
Ddtatad
Aa Ddatdatd
x
x
Dd,Dx
Rx.a.s
xcmin
d
t
DCA-FEEC-Unicamp
– Dinâmica do sistema
Db,t
Aatadb,tb,t
Aa Ddadata,t
Dd,D̂xDD
)d,a(xR
ddd∈+−=
′δ=
+∈
+
∈′ ∈′+
∑
∑ ∑
11
1
– Estado do sistema
)( ttt D,RS
DCA-FEEC-Unicamp
� Modelo atribuição dinâmica
))()(( 11 ++∈
γ+= tttttXx
t SEVx,SCminVtt
}0{ ≥∈≤== ∑∑∈∈
tadD
tbAa
tadDd
tatadtt x;Dd,Dx;Rx|xXd
DCA-FEEC-Unicamp
Este material refere-se às notas de aula do curso IA 718 Tópicos em Sistemas Inteligentes da Faculdade de Engenharia Elétrica e de Computação da Unicamp. Não substitui o livro texto, as referências recomendadas e nem as aulas expositivas. Este material não pode ser reproduzido sem autorização prévia dos autores. Quando autorizado, seu uso é exclusivo para atividades de ensino e pesquisa em instituições sem fins lucrativos.
Observação
DCA-FEEC-Unicamp