Buscar

IA718IntroducaoProgramacaoDinamica_2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

2-Introdução à Programação 
Dinâmica
IA 718 Tópicos em Sistemas Inteligentes
ProfFernandoGomide DCA-FEEC-Unicamp
1. Introdução
2. Problema do caminho mínimo
3. Solução com programação dinâmica
4. Análise de complexidade
5. Programação dinâmica forward
6. 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 menor
esfô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 i l
g
k
j m
o
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é r
vq= 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= 2
vp= 1
vr= 0
q
r
vc
d
e h
f i l
g
k
j m
o
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 estado
PS sucessor de S no caminho ótimo de S até r
24 adições
9 comparações
q
r
vc
d
e h
f i l
g
k
j m
o
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 i l
g
k
j m
o
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= 0
vc = 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 jij
Ij
ii
j
∈∀+←
+∈
)}(, { 
� 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
rjM
v
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 ' ≥ P
Logo, 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
t
M
ta
t
M
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
D
tb
Aa
tad
Dd
tatad
Aa Dd
atdatd
x
x
Dd,Dx
Rx.a.s
xcmin
d
t
DCA-FEEC-Unicamp
– Dinâmica do sistema
D
b,t
Aa
tadb,tb,t
Aa Dd
adata,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 ++
∈
γ+= ttttt
Xx
t SEVx,SCminV
tt
}0{ ≥∈≤== ∑∑
∈∈
tad
D
tb
Aa
tad
Dd
tatadtt x;Dd,Dx;Rx|xX d
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

Outros materiais