Kafli 19: Markov ákvarðanaferli Markov Decision Processes (MDP) • Höfum skoðað hvernig hægt er að nota Markov keðjur til að lýsa kerfum • Í.

Download Report

Transcript Kafli 19: Markov ákvarðanaferli Markov Decision Processes (MDP) • Höfum skoðað hvernig hægt er að nota Markov keðjur til að lýsa kerfum • Í.

Kafli 19: Markov ákvarðanaferli
Markov Decision Processes (MDP)
• Höfum skoðað hvernig hægt er að nota Markov keðjur til
að lýsa kerfum
• Í tilteknu ástandi er etv. hægt að taka eina ákvörðun af
mörgum, þessi ákvörðun hefur áhrif á færslulíkur og
kostnað/hagnað til skamms tíma og langs tíma
• Viljum ákveða bestu ákvarðanir í tilteknu ástandi þegar
tekið er tillit til kostnaðar (skammtíma og langtíma),
notkun Markov keðja við slíka ákvarðanatöku og hönnun
kerfa kallast MDP
Slembin ferli og
ákvarðanafræði
Dæmi: Rekstur vélar
•
Fyrirtæki á eina vél sem gegnir lykilhlutverki í framleiðslukerfi. Ákveðinn
hlutur í vélinni eyðileggst fljótt, þ.a. Í lok hverrar viku er vélin vandlega
skoðuð og ásigkomulagi vélar lýst á eftirfarandi hátt
Ástand
Ásigkomulag
0
Góð sem ný
1
Virkar þokkalega
2
Virkar sæmilega
3
Óstarfhæf
0
•
Þróun ásigkomulags milli mánuða
Slembin ferli og
ákvarðanafræði
1
2
3
0 0 7 / 8 1 / 16 1 / 16
1 0 3 / 4 1 / 8 1 / 8 
2 0 0
1/ 2 1/ 2 


3 0 0
0
1 
Dæmi: Rekstur vélar
• Kostnaður:
– Ef vél er óstarfhæf þarf að bíða í 1 viku eftir viðgerð á íhlut. Töpuð
framleiðsla sem nemur $2000, viðgerðakostnaður=$4000, samtals $6000
– Kostnaður vegna gallaðrar framleiðslu er
Ástand
Væntanl. kostn. per galla
0
0
1
$1000
2
$3000
– Skoðum stefnu: Skipta út íhlut ef vél er óstarfhæf
Slembin ferli og
ákvarðanafræði
Dæmi: Rekstur vélar
• Aðrar viðhaldsstefnur:
– Til viðbótar því að skipta út íhlut, þá er hægt að fara út í viðhaldsaðgerðir
ef vél er í ástandi 2
– Eftirfarandi tafla sýnir kostnað þess að taka tiltekna ákvörðun í ákveðnu
ástandi
Ákvörðun
Ástand
Væntanl. kostn. v/
gallaðrar vöru
Viðhalds
kostnaður
Sölutap vegna
tapaðrar
framleiðslu
Samtals kostn.
á viku
1. Gera ekkert
0
0
0
0
0
1
1000
0
0
1000
2
3000
0
0
3000
2. Viðhald
2
0
2000
2000
4000
3. Skipta út
1,2,3
0
4000
2000
6000
• Hver er besta stefnan?
Slembin ferli og
ákvarðanafræði
MDP líkön
1.
Athuga hvert ástandið er i
2.
Tek eina ákvörðun k úr mengi K mögulegra ákvarðana (k=1,2,...K)
3.
Ef ákvörðun di=k er tekin í ástandi i þá kostar það Cik
4.
Ákvörðun di =k á ástandi i ákvarðar hvaða færslulíkur eru notaðar
pij(k) fyrir j=0,1,..,M
5.
Tilteknar ákvarðanir (d0, d1,.., dM) kallast stefna (policy)
6.
Markmiðið er að finna bestu stefnu (optimal policy) byggt á kostnaði
(t.d. lágmarka langtíma kostnað)
Slembin ferli og
ákvarðanafræði
Línuleg bestun og bestu stefnur
• Sérhverja stefnu er hægt að setja upp í fylki, þar sem Dik=1 ef
ákvörðun k er tekin í ástandi i, en 0 annars
1
0  D01
1  D11
:  :

M  DM 1
2
D02
D12
:
DM 2
....
K
.... D0 K 
.... D12 
:
: 

.... DMK 
• Deterministic stefna, Dik eru heiltölur
• Randomized stefna, Dik = P{ákvörðun=k|ástand=i} þar sem
(Di1,Di2,...,Dik) er líkindadreifing þess að vera í ástandi i
Slembin ferli og
ákvarðanafræði
Línuleg bestun og bestu stefnur
• Nokkur sambönd:
yik  P{ást and i og ákvörðun k}
yik   i Dik
K
 i   yik
k 1
Dik 
yik
K
y
k 1
K
y
k 1
ik
M
jk
K
  yik pij (k ) fyrir j  1,...,M
i  0 k 1
yik  0 fyriri  0,1,.., M og k  1,2,.., K
M
K
M
K
E[C ]    i Cik Dik   Cik yik
Slembin ferli ogi  0 k 1
ákvarðanafræði
i  0 k 1
Línuleg bestun og bestu stefnur
M
K
min Z   Cik yik
i  0 k 1
st :
M
K
 y
i  0 k 1
K
y
k 1
ik
1
M
jk
K
  yik pij ( k )  0 fyrir j  1,...,M
i  0 k 1
yik  0 fyriri  1,...,M og K  1,2,.., K
Slembin ferli og
ákvarðanafræði
Dæmi
• Birgðastýring fyrir eina vörutegund. Í upphafi hvers
tímabils þarf að ákvarða hversu margar einingar eigi að
framleiða á tímabilinu. Fastur kostnaður $10 og
breytilegur kostnaður $5 á einingu. Birgðahaldskostnaður
ef vara selst ekki er $4 og mest er hægt að geyma 2 hluti.
Eftirspurn hefur líkindadrefinguna P(D=0) = P(D=1) =
P(D=2)=1/3. Ef eftirsurn er meiri en birgðirþá tapast sala
og er $8 ef vöntun er 1 eining og $32 ef vöntun er 2
einingar.
• A) Skoða stefnuna að framleiða 2 einingar ef birgðastaða
er 0 og ekkert ef eitthvað er á lager
• B) Finnið allar leyfilegar stefnur
Slembin ferli og
ákvarðanafræði
Aðferðir
• Aðferð 1: Prófa einstakar stefnur og finna bestu stefnu með
því að prófa alla möguleika (exhaustive enumeration)
• Aðferð 2: Línuleg bestunarframsetning
• Aðferð 3: Stefnubætandi aðferð (Policy Improvement
Algorithm)
– Hægt að sýna fram á að fyrir gefna stefnu Rj eru til gildi g(R),
v0(R), v1(R),..,vM(R) sem uppfylla:
M
g ( R)  i ( R)  Cik   pij (k )v j ( R) fyriri  0,1,...,M
j 0
Slembin ferli og
ákvarðanafræði
Stefnubætandi aðferð
(Policy Improvement Algorithm)
Stefnubætandi aðferð (Policy improvement)
Núllstilling: Vel upphafsstefnu R1, set n=1
Ítrun n:
Skref 1: Value determination: Fyrir stefnu Rn, nota pij(k), Cik og vM(Rn)=0 til
að leysa kerfi M+1 jafna
M
g ( Rn )  Cik   pij (k )v j ( Rn ) vi ( Rn ) fyrir i  0,1,.., M
j 0
Skref 2: Policy improvement: Nota gildin sem fundin voru fyrir vi(Rn), finn
stefnu Rn+1 , þannig að fyrir sérhvert ástand i, di(Rn+1)=k er ákvörðun sem
lágmarkar
M
Minimize [Cik   pij (k )v j ( Rn ) vi ( Rn )]
j 0
k  1,2,...,K
Optimality test: Stefnan Rn+1 er besta stefna ef þessi stefna er sú sama og Rn,
STOP. Annars, lát n=n+1 og framkvæma aðra ítrun.
Slembin ferli og
ákvarðanafræði
Discounted cost criterion
• Hægt að taka tillit til tímagildis peninga, 0<a<1 þar sem
a=1/(1+i)
• Nú gildir
M
Vi ( R)  Cik  a  pij (k )V j ( R) fyrir i  0,1,..,M
j 0
• Vi(R) er væntanlegur afvaxtaður kostnaður ef ferli byrjar í
ástandi i og heldur áfram að eilífu, fáum M+1 jöfnur og
M+1 óþekktar
Slembin ferli og
ákvarðanafræði
Stefnubæting: Discounted cost criterion
Stefnubætandi aðferð með afvöxtun (Policy improvement discounted cost criterion)
Núllstilling: Vel upphafsstefnu R1, set n=1
Ítrun n:
Skref 1: Value determination: Fyrir stefnu Rn, nota pij(k) og Cik til að leysa kerfi M+1
M
jafna
Vi ( R)  Cik  a  pij (k )V j ( R) fyrir i  0,1,..,M
j 0
Skref 2: Policy improvement: Nota gildin sem fundin voru fyrir vi(Rn), finn stefnu
Rn+1 , þannig að fyrir sérhvert ástand i, di(Rn+1)=k er ákvörðun sem lágmarkar
M
Minimize [Cik  a  pij (k )V j ( Rn )]
j 0
k  1,2,.., K
Optimality test: Stefnan Rn+1 er besta stefna ef þessi stefna er sú sama og Rn, STOP.
Annars, lát n=n+1 og framkvæma aðra ítrun.
Slembin ferli og
ákvarðanafræði