Dynaaminen ohjelmointi ja vaikutuskaaviot

Samankaltaiset tiedostot
Dynaaminen ohjelmointi ja vaikutuskaaviot

monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof.

Diskreettiaikainen dynaaminen optimointi

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

811312A Tietorakenteet ja algoritmit II Perustietorakenteet

Gaussinen vaikutuskaavio Tommi Gustafsson 45434f Tfy IV

Algoritmit 2. Luento 5 Ti Timo Männikkö

Investointimahdollisuudet ja niiden ajoitus

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Esteet, hyppyprosessit ja dynaaminen ohjelmointi

Algoritmit 1. Luento 7 Ti Timo Männikkö

Algoritmit 1. Luento 4 Ke Timo Männikkö

10. Painotetut graafit

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

b) Määritä/Laske (ei tarvitse tehdä määritelmän kautta). (2p)

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot

Numeeriset menetelmät

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Algoritmi on periaatteellisella tasolla seuraava:

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 5 Ti Timo Männikkö

2 Funktion derivaatta

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 5 Ti Timo Männikkö

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Algoritmit 2. Luento 10 To Timo Männikkö

Matematiikan peruskurssi 2

Algoritmit 1. Luento 13 Ti Timo Männikkö

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Johdatus graafiteoriaan

Markov-kustannusmallit ja kulkuajat

Esimerkki 1: Kahviautomaatti.

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Eräs tyypillinen virhe monitavoitteisessa portfoliopäätösanalyysissa + esimerkkitapaus

T : Max-flow / min-cut -ongelmat

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

1. Määritä funktion f : [ 1, 3], f (x)= x 3 3x, suurin ja pienin arvo.

Ratkaisu. Tulkitaan de Bruijnin jonon etsimiseksi aakkostossa S := {0, 1} sanapituudelle n = 4. Neljän pituisia sanoja on N = 2 n = 16 kpl.

Eloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2009 TIETOTEKNIIKAN LAITOS. Eloisuusanalyysi.

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin.

Numeeriset menetelmät

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

811312A Tietorakenteet ja algoritmit, VI Algoritmien suunnitteluparadigmoja

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

815338A Ohjelmointikielten periaatteet Harjoitus 7 Vastaukset

Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja

Olkoon S(n) kutsun merge-sort(a, p, q) tilavaativuus kun p q + 1 = n. Oletetaan merge toteutetuksi vakiotyötilassa (ei-triviaalia mutta mahdollista).

Päätöksentekomenetelmät

Yhteistyötä sisältämätön peliteoria jatkuu

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

Referenssipiste- ja referenssisuuntamenetelmät

Olkoon R X Y. Sen käänteisrelaatio R 1 on joukosta Y joukkoon X määritelty relaatio, jonka laki on. yr 1 x xry.

Olkoon R X Y. Sen käänteisrelaatio R 1 on joukosta Y joukkoon X määritelty relaatio, jonka laki on. yr 1 x xry.

Tarkennamme geneeristä painamiskorotusalgoritmia

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

Java-kielen perusteita

Luento 2: Viivan toteutus

Päätöksentekomenetelmät

Ratkaise tehtävä 1 ilman teknisiä apuvälineitä! 1. a) Yhdistä oikea funktio oikeaan kuvaajaan. (2p)

Algoritmit 1. Luento 10 Ke Timo Männikkö

Kuvaus. Määritelmä. LM2, Kesä /160

13 Lyhimmät painotetut polut

Sanomme, että kuvaus f : X Y on injektio, jos. x 1 x 2 f (x 1 ) f (x 2 ) eli f (x 1 ) = f (x 2 ) x 1 = x 2.

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Demot Timo Männikkö

Markov-ketjut pitkällä aikavälillä

(a) Kyllä. Jokainen lähtöjoukon alkio kuvautuu täsmälleen yhteen maalijoukon alkioon.

Investointimahdollisuudet ja investoinnin ajoittaminen

Johdatus f90/95 ohjelmointiin. H, R & R luvut 1-3

Analyysi 1. Harjoituksia lukuihin 4 7 / Syksy Tutki funktion f(x) = x 2 + x 2 jatkuvuutta pisteissä x = 0 ja x = 1.

811312A Tietorakenteet ja algoritmit, , Harjoitus 7, ratkaisu

4. Joukkojen käsittely

Projektin arvon aleneminen

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Fysiikan matematiikka P

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

9. Tila-avaruusmallit

Algoritmit 2. Luento 2 To Timo Männikkö

Bifurkaatiot dierentiaaliyhtälöissä. Systeemianalyysin. Antti Toppila laboratorio. Teknillinen korkeakoulu

MS-A0107 Differentiaali- ja integraalilaskenta 1 (CHEM)

MS-A0104 Differentiaali- ja integraalilaskenta 1 (ELEC2) MS-A0106 Differentiaali- ja integraalilaskenta 1 (ENG2)

Vektorianalyysi II (MAT21020), syksy 2018

Numeerinen integrointi

13. Ratkaisu. Kirjoitetaan tehtävän DY hieman eri muodossa: = 1 + y x + ( y ) 2 (y )

TIE Tietorakenteet ja algoritmit 261

Ohjelmoinnin perusteet Y Python

Algoritmit 1. Luento 13 Ma Timo Männikkö

Johdatus verkkoteoriaan luento Netspace

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Matematiikan tukikurssi

, c) x = 0 tai x = 2. = x 3. 9 = 2 3, = eli kun x = 5 tai x = 1. Näistä

13. Loogiset operaatiot 13.1

Martingaalit ja informaatioprosessit

Transkriptio:

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