Teknillinen Korkeakoulu / Ssteemianalsin laboratorio Mat-2.42 Optimointiopin seminaari / Referaatti esitelmästä Sami Mllmäki Dnaaminen ohjelmointi ja vaikutuskaaviot
OHDANTO Dnaamiset ohjelmointitehtävät ratkaistaan leensä rekursiivisten htälöien avulla, jolloin itse tehtävän mmärtäminen saattaa heikentä monimutkaisten matemaattisten formulointien takia. Tämän vuoksi on naamisille ongelmille pritt kehittämään mahollisimman havainnollista esitstapaa siten, että saataisiin esille tehtävän luonne ilman matemaattisten lausekkeien eksplisiittistä esittämistä. Motivaationa havainnollisuuen kehittämiselle voiaan pitää niitä useita naamiseen ohjelmoitiin perustuvia päätöksenteko-ongelmia, joissa itse päätöksentekijät eivät välttämättä hallitse prosessiin liittviä matemaattisia operaatioita. Esitelmässä, jonka pohjalta tämä referaatti on kirjoitettu, käsiteltiin sellaisten naamisten ongelmien havainnollistamista, joien arvofunktiot ovat separoituvia. Havainnollistaminen tehään muokkaamalla perinteistä vaikutuskaaviota siten, että arvofunktion separoituvaa luonnetta voiaan kättää hväksi. Tällaisen vaikutuskaavion muoostamismenetelmät on esitett kappaleessa 2. Samaisessa kappaleessa on määritelt mös arvofunktion separoituvuus. Kappaleessa 3 on kät läpi muoostetun vaikutuskaavion ratkaisemiseen tarvittavat säännöt. Varsinainen ratkaisualgoritmi on nähtävissä joko lähteestä [] tai aiheesta pietn esitelmän kalvoista. Viimeisenä on hteenveto sekä joitakin pohintoja ja sovelluksia kseiseen aiheeseen liitten. Esitelmän ja siten mös tämän referaatin lähteenä on kätett oseph A. Tatmanin ja Ross D. Shachterin artikkelia Dnamic Programming an Influence Diagrams []. 2 VAIKUTUSKAAVION MUODOSTAMINEN SUPERARVOSOLMUEN AVULLA Vaikutuskaaviota muoostettaessa on oletettu, että kätetllä arvofunktiolla on separoituva luonne. Tässä esitelt vaikutuskaaviomalli ei siis päe leisesti naamisiin ohjelmointitehtäviin, vaan ainoastaan silloin, kun separoituvuus on voimassa. Arvofunktio g() on separoituva, jos se voiaan esittää summana tai tulona seuraavasti: q g( ) = g i ( i ) tai g( ) = g i ( i ). () i= q i= Kun arvofunktio on separoituva, voiaan kokonaisarvo esittää usean arvosolmun avulla, jolloin kokonaisarvo on näien arvosolmuista saatavien arvojen summa (tai tulo). otta separoituvuus voiaan esittää eksplisiittisesti vaikutuskaaviossa, on määriteltävä seuraavat arvosolmut:. Summasolmu: os arvosolmun r, jonka eeltäjiä ovat arvosolmut r, r 2,, r n, arvo voiaan esittää muoossa [ r r,..., rn ] = g( r,..., rn ) = r +... rn E +, (2) niin r on summasolmu. 2. Tulosolmu: os arvosolmun r, jonka eeltäjiä ovat arvosolmut r, r 2,, r n, arvo voiaan esittää muoossa E [ r r,..., rn ] = h( r,..., rn ) = r... rn, (3)
niin r on tulosolmu. Näitä arvosolmuja kutsutaan leisesti nimellä superarvosolmut (super value noes). Superarvosolmun eeltäjät ovat siis aina joko tavallisia arvosolmuja tai superarvosolmuja. Superarvosolmujen avulla voiaan arvofunktion separoituva luonne esittää vaikutuskaaviossa. Tästä on piirrett esimerkki kuvaan. [,,, ] = E[ u, ] + E[ r ] E[ s ] E, u w u Σ s Π w r Σ Kuva. Separoituvan arvofunktion esittäminen vaikutuskaaviossa superarvosolmujen avulla. os tehtävän arvofunktio on separoituva, voiaan tämä ominaisuus siis esittää vaikutuskaaviossa superarvosolmuilla. Tällöin on mös olemassa menetelmä vaikutuskaavion ratkaisemiseksi. Vaikutuskaavion ratkaisumenetelmä solmujen poistamissääntöineen on esitelt seuraavassa kappaleessa. 3 VAIKUTUSKAAVION RATKAISUMENETELMÄ Superarvosolmuja sisältävälle vaikutuskaaviolle voiaan muoostaa sellainen ratkaisualgoritmi, että tehtävä saaaan aina reusoitua hestä arvosolmusta muoostuvaksi vaikutuskaavioksi. Tätä varten on seuraavassa esitett ne oletukset ja lauseet, jotka tarvitaan algoritmin muoostamiseen. Lauseien toistukset on ohitettu. (Lauseet toistuksineen ovat lähteessä [].) Oletetaan, että ratkaistava vaikutuskaavio toteuttaa ns. no forgetting ehon, mikä tarkoittaa sitä, että jokaisen päätössolmun suorina seuraajina ovat kaikki muut päätössolmut: tehtjä päätöksiä ei siis unoheta. Lisäksi oletetaan arvofunktiolle separoituva luonne.
Reusointilauseet. Kahen sattumasolmun välisen kaaren suunnan kääntäminen: Sattumasolmujen välinen kaari voiaan kääntää, jolloin molemmat solmut perivät toistensa eeltäjät. 2. Loppuarvoon vaikuttamattomien solmujen poistaminen: Sellaiset sattuma- ja päätössolmut, joilla ei ole seuraajia voiaan poistaa vaikutuskaaviosta. 3. Yksinkertainen sattumasolmun poistaminen: os on sattumasolmu, loppuarvosolmu ja on eeltäjä vain arvosolmulle r (eikä millekään muulle), voiaan poistaa vaikutuskaaviosta kättämällä sen ootusarvoa r:n arvon määräämisessä. 4. Yksinkertainen päätössolmun poistaminen: os on sellaisen vaikutuskaavion päätössolmu, jonka loppuarvosolmuna on ja joka toteuttaa seuraavat ehot: - Kaikkien arvosolmujen arvot ovat einegatiiviset - on vain arvosolmun r suora eeltäjä (eikä minkään muun) - r:n kaikki eholliset eeltäjät, paitsi, ovat :n informatiivisia eeltäjiä Tällöin voiaan poistaa vaikutuskaaviosta maksimoimalla r :n suhteen. Lauseille 3 ja 4 voiaan johtaa mös leiset muoot:. Sattumasolmun poistaminen: os on sattumasolmu, jolla ei ole päätössolmuseuraajia, niin voiaan poistaa. 2. Päätössolmun poistaminen: os lauseen 4 ehot toteutuvat ja lisäksi kaikki polut :stä loppuarvosolmuun sisältävät arvosolmun r, niin voiaan poistaa vaikutuskaaviosta poistamalla ensin ne arvosolmut, jotka kuuluvat joukkoon C in (r) V (missä C in (r) tarkoittaa r:n epäsuoria eeltäjiä ja V arvosolmujen joukkoa) ja maksimoimalla sitten r :n suhteen. Lisäksi seuraavassa on esitett menetelmä arvosolmurakenteen reusoimiseksi: 3. Subset rule: os arvosolmuilla r ja r 2 on sama seuraaja, superarvosolmu r, ja C(r ) sisält C(r 2 ):een, ei ko. arvosolmujen poistaminen lisää vaikutuskaavion ratkaisemiseen tarvittavien operaatioien kokonaismäärää. Eellä mainittujen oletusten ja lauseien avulla voiaan muoostaa sellainen algoritmi [], jolla voiaan reusoia vaikutuskaavio hteen arvosolmuun. 4 YHTEENVETO Superarvosolmujen avulla voiaan muoostaa vaikutuskaavio sellaiselle naamiselle tehtävälle, jonka arvofunktiolla on separoituva luonne. Kaavion muoostamisen tarkoituksena on tehä kseisestä tehtävästä mahollisimman havainnollinen, kuitenkaan tehokkuuen näkökulmaa unohtamatta. Saausta
vaikutuskaaviosta nähään helposti eri solmujen eholliset riippuvuuet, ja algoritmi huolehtii riippuvuuksien päivittämisestä prosessin eri vaiheissa. Lisäksi rekursiivisten kaavojen eksplisiittisestä esittämisestä voiaan luopua. Tässä esitettä superarvosolmuihin perustuvaa vaikutuskaaviota sekä sen ratkaisemista voiaan soveltaa mm. erilaisiin päätöksentekotehtäviin, kuten Markovin päätösprosesseihin. Arvofunktion separoituvan luonteen vaatimus rajoittaa kuitenkin menetelmän kättämistä laajemmin. [] IEEE Transactions on Sstem, Man. An Cbernetics, Vol 20, No. 2, March/April 990