Dynaaminen ohjelmointi ja vaikutuskaaviot. Taustaa 2. Vaikutuskaaviot ja superarvosolmut 3. Vaikutuskaavion ratkaiseminen 4. Vaikutuskaavio ja dynaaminen ohjelmointi: 5. Yhteenveto Esitelmän sisältö Optimointiopin seminaari - Syksy 999 / Optimointiopin seminaari - Syksy 999 / 2 Taustaa Dynaamisten ohjelmointitehtävien havainnollistaminen Onnistumisen avaimet: superarvosolmut (super value nodes) ja arvofunktion separoituvuus (separable) Tehtävät tehokkaiksi ja havainnollisiksi Vaikutuskaavio ja superarvosolmut Tarkoitus: Esittää yhden arvosolmun arvo usealla arvosolmulla Edellytys: Arvofunktion separoituva luonne Määr.: Arvofunktio g(x) on separoituva, jos g( x) = q i= g i ( x i ) tai g( x) = q i= g i ( x i ) Optimointiopin seminaari - Syksy 999 / 3 Optimointiopin seminaari - Syksy 999 / 4 Superarvosolmut Superarvosolmut Määr.: Summasolmu r, jonka edeltäjiä ovat r, r 2,, r n, on arvosolmu, jonka arvo voidaan esittää muodossa: [ r ] = g( ) = + r2 +... rn E + Määr.: Tulosolmu r, jonka edeltäjiä ovat r, r 2,, r n, on arvosolmu, jonka arvo on muotoa: E [ r ] = h( ) = r2... rn Määr.: Superarvosolmu on joko summasolmu tai tulosolmu, jonka edeltäjinä on ainoastaan arvosolmuja. Määr.: Suunnatussa vaikutuskaaviossa on täsmälleen yksi loppuarvosolmu, jolla ei ole seuraajia. So. terminal value node. Optimointiopin seminaari - Syksy 999 / 5 Optimointiopin seminaari - Syksy 999 / 6
z y d [ d, x, y, z] = E[ u y, z] + E[ r x] E[ s d y] E, x y z u y x z d u w d s x Π w r Separoitavan arvofunktion ominaisuuksia. Olkoon superarvosolmu r arvosolmujen r 0, r,, r n summasolmu ja x sattumasolmu s.e. C(r)={r 0,r,,r n } ja C(r) S f (x)=r n. Tällöin r:n arvon odotusarvo x:n suhteen on sama kuin r n :n odotusarvo x:n suhteen. 2. Vastaavasti, jos r on tulosolmu. Optimointiopin seminaari - Syksy 999 / 7 Optimointiopin seminaari - Syksy 999 / 8 Vaikutuskaavion ratkaiseminen 3. Olkoon superarvosolmu r arvosolmujen r 0,r,,r n summasolmu ja d päätössolmu s.e. C(r)={r 0,r,,r n } ja S ind (d) C(r)=r n. Tällöin r:n arvon maksimointi d:n suhteen on sama kuin r n :n maksimointi d:n suhteen. 4. Vastaavasti, jos r on tulosolmu. Tällöin on kuitenkin oltava voimassa: C(r i ) 0 i. Kertausta Yhden arvosolmun sisältävän vaikutuskaavion redusointi neljän pääsäännön avulla:. Kaaren suunnan kääntäminen 2. Sellaisen sattumasolmun (tai jonkin muun solmun) poistaminen, jolla ei ole seuraajia 3. Sattumasolmun poistaminen odotusarvon avulla 4. Päätössolmun poistaminen maksimoinnin avulla Optimointiopin seminaari - Syksy 999 / 9 Optimointiopin seminaari - Syksy 999 / 0 Vaikutuskaavion redusointi Kaksi ensimmäistä pääsääntöä eivät vaikuta arvosolmuun, joten arvosolmun korvaaminen usealla arvosolmulla ei vaikuta redusointiin. Kaksi viimeistä sääntöä vaikuttavat arvosolmuihin, joten ne eivät päde sellaisenaan vaikutuskaavioon, jossa on useita arvosolmuja. Redusointilauseet. Yksinkertainen sattumasolmun poistaminen: os x on sattumasolmu, loppuarvosolmu ja x edeltäjä vain arvosolmulle r, voidaan x poistaa käyttämällä sen odotusarvoa r:n arvon määräämisessä. 2. Sattumasolmun poistaminen: os x on sattumasolmu, jolla ei ole seuraajina päätössolmuja, voidaan x poistaa. Optimointiopin seminaari - Syksy 999 / Optimointiopin seminaari - Syksy 999 / 2 2
3. Yksinkertainen päätössolmun poistaminen: os d on sellaisen vaikutuskaavion päätössolmu, jonka loppuarvosolmu on siten, että Kaikkien arvosolmujen arvot ovat ei-negatiivisia d on arvosolmun r suora edeltäjä, eikä minkään muun r:n kaikki ehdolliset edeltäjät, paitsi d, ovat d:n informatiivisia edeltäjiä (eli C(r)\{d} sisältyy I(d):hen) tällöin d voidaan poistaa vaikutuskaaviosta maksimoimalla r d:n suhteen. (Nyt r:n edeltäjinä ovat C(r)\{d}.) 4. Päätössolmun poistaminen: os d on vaikutuskaavion päätössolmu siten, että Kaikkien arvosolmujen arvot ovat ei-negatiivisia Kaikki d:n seuraajat ovat arvosolmuja On olemassa sellainen arvosolmu s, että C f (s) sisältyy joukkoon C ind (s) {d} Kaikki polut d:stä loppuarvosolmuun sisältävät arvosolmun s tällöin d voidaan poistaa vaikutuskaaviosta poistamalla ensin C ind (s) V ja maksimoimalla sitten s d:n suhteen. Optimointiopin seminaari - Syksy 999 / 3 Optimointiopin seminaari - Syksy 999 / 4 Arvosolmurakenteen redusointi 5. Arvosolmujen yhdistäminen: Olkoon r, r 0,,r n arvosolmuja siten, että r on summasolmu tai tulosolmu ja C(r)={r,r 2,,r m,r m+,,r n }. Tällöin arvosolmut r,,r m voidaan yhdistää yhdeksi uudeksi arvosolmuksi s, joka on samaa tyyppiä kuin r. HUOM! Vaikutuskaaviossa on niin kauan poistettavia solmuja, kunnes on jäljellä ainoastaan yksi arvosolmu Subset rule: os arvosolmuilla r ja r 2 on sama seuraaja, superarvosolmu r, ja C(r ) sisältyy C(r 2 ):een, ei ko. arvosolmujen poistaminen (joko liittämällä ne r:ään tai yhdistämällä ne yhdeksi arvosolmuksi s) lisää vaikutuskaavion ratkaisemiseen tarvittavien operaatioiden lukumäärää. Optimointiopin seminaari - Syksy 999 / 5 Optimointiopin seminaari - Syksy 999 / 6 Ratkaisualgoritmi Lisää no forgetting -kaaret Poista (sattuma)solmut, joilla ei ole seuraajia WHILE C() DO IF subset rule:a voidaan käyttää jollekin arvosolmujoukolle THEN poista nämä arvosolmut (mahd. lisäämällä tulo- tai summasolmu) ELSE IF on poistettavia päätössolmuja THEN poista päätössolmu ja tarvittavat arvosolmut poista mahdollisesti syntyvät solmut, joilla ei ole seuraajia ELSE täytyy olla olemassa poistettava sattumasolmu: poista se ja tarvittavat arvosolmut END IF END IF END WHILE Optimointiopin seminaari - Syksy 999 / 7 Vaikutuskaavio ja dynaaminen ohjelmointi Useita arvosolmuja sisältäviä vaikutuskaavioita on sovellettu useissa dynaamisissa ohjelmointitehtävissä, mm. erilaisissa Markovin päätösprosesseissa (MDP), inventointiennustuksissa ja päätöksenteko sovelluksissa. Optimointiopin seminaari - Syksy 999 / 8 3
: Standardi Markovin päätösprosessi x3 Vrt. Yksinkertainen sattumasolmun poistaminen r0 r2 v3 r0 r2 v3 Optimointiopin seminaari - Syksy 999 / 9 Optimointiopin seminaari - Syksy 999 / 20 Vrt. Yksinkertainen päätössolmun poistaminen r0 d0 d ne... r0 r0 r2 v3 Vrt. Arvosolmujen yhdistäminen & subset rule Optimointiopin seminaari - Syksy 999 / 2 Optimointiopin seminaari - Syksy 999 / 22 2 Yhteenveto RR S RC Con B Research AP Flight R RP C Bud Pow Rel Cos Surv Supersolmujen avulla voidaan separoituva arvofunktio esittää vaikutuskaaviona havainnollisesti ja tehokkaasti Esitetty menetelmä tekee mahdolliseksi vaikutuskaavion käytön dynaamisessa ohjelmoinnissa Vaikutuskaavion avulla päästään eroon dynaamisen ohjelmoinnin rekursiivisista yhtälöistä (eksplisiittisesti) Menetelmä huolehtii ehdollisista riippuvuuksista Value Optimointiopin seminaari - Syksy 999 / 23 Optimointiopin seminaari - Syksy 999 / 24 4
Kotitehtävä Ratkaise perustellen ao. vaikutuskaavio ( MDP with time lag ) x3 r0 r2 v3 Optimointiopin seminaari - Syksy 999 / 25 5