Dynamisk programmering. Hvilke problemer? Overlappende delproblemer. Optimalitetsprinsippet

Like dokumenter
Dynamisk programmering. Hvilke problemer? Overlappende delproblemer. Optimalitetsprinsippet

Dynamisk programmering. Hvilke problemer? Optimalitetsprinsippet. Overlappende delproblemer

Dynamisk programmering

Dynamisk programmering

Dynamisk programmering Undervises av Stein Krogdahl

Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist)

IT1105 Algoritmer og datastrukturer

MoD233 - Geir Hasle - Leksjon 10 2

MA1301 Tallteori Høsten 2014

Anvendelser. Kapittel 12. Minste kvadraters metode

Simpleksmetoden. Initiell basistabell Fase I for å skaffe initiell, brukbar løsning. Fase II: Iterativ prosess for å finne optimal løsning Pivotering

Balanserte søketrær. AVL-trær. AVL-trær. AVL-trær høyde AVL AVL. AVL-trær (Adelson-Velskii og Landis, 1962) Splay-trær (Sleator og Tarjan, 1985)

Geometriske operasjoner

EKSAMEN I FAG SIF5040 NUMERISKE METODER Tirsdag 15. mai 2001 Tid: 09:00 14:00

Sorterings- Algoritmer

Løsningsforslag øving 10 TMA4110 høsten 2018

Alternerende rekker og absolutt konvergens

Appendiks 1: Organisering av Riksdagsdata i SPSS. Sannerstedt- og Sjölins data er klargjort for logitanalyse i SPSS filen på følgende måte:

Forelesning nr.3 INF 1411 Elektroniske systemer. Parallelle og parallell-serielle kretser Kirchhoffs strømlov

Fast valutakurs, selvstendig rentepolitikk og frie kapitalbevegelser er ikke forenlig på samme tid

Eksamen i emne SIB8005 TRAFIKKREGULERING GRUNNKURS

Korteste-vei problemet Nettverksflyt med øvre begrensninger Maksimum-flyt problemet Teorem: Maksimum-flyt Minimum-kutt

Fleksibelt arbeidsliv. Befolkningsundersøkelse utført for Manpower September 2015

ØVINGER 2017 Løsninger til oppgaver

Geometriske operasjoner

Forelesning nr.3 INF 1410

Seleksjon og uttak av alderspensjon fra Folketrygden

Forelesning nr.3 INF 1411 Elektroniske systemer

TMA4265 Stokastiske prosesser

Illustrasjon av regel 5.19 om sentralgrenseteoremet og litt om heltallskorreksjon (som i eksempel 5.18).

Fourieranalyse. Fourierrekker på reell form. Eksempel La. TMA4135 Matematikk 4D. En funksjon sies å ha periode p > 0 dersom

TMA4240/4245 Statistikk Eksamen august 2016

TALLSVAR. Det anbefales at de 9 deloppgavene merket med A, B, teller likt uansett variasjon i vanskelighetsgrad. Svarene er gitt i << >>.

Statistikk og økonomi, våren 2017

TMA4265 Stokastiske prosesser

Veiledning til obligatorisk oppgave i ECON 3610/4610 høsten N. Vi skal bestemme den fordeling av denne gitte arbeidsstyrken som

C(s) + 2 H 2 (g) CH 4 (g) f H m = -74,85 kj/mol ( angir standardtilstand, m angir molar størrelse)

Sparing gir mulighet for å forskyve forbruk over tid; spesielt kan ujevne inntekter transformeres til jevnere forbruk.

Løsningsforslag ST2301 Øving 8

Innkalling til andelseiermøte

Forelesning 17 torsdag den 16. oktober

Tema for forelesningen var Carnot-sykel (Carnot-maskin) og entropibegrepet.

Oppgaver. Multiple regresjon. Forelesning 3 MET3592 Økonometri ved David Kreiberg Vår 2011

INF2310 Digital bildebehandling

Løsningsskisse til eksamen i TFY112 Elektromagnetisme,

Anvendelser. Plass og tid. INF2310 Digital bildebehandling. Eksempler: Plassbehov uten kompresjon. Forelesning 10. Kompresjon og koding I

(iii) Når 5 er blitt trukket ut, er det tre igjen som kan blir trukket ut til den siste plassen, altså:

EKSAMEN Løsningsforslag

TALLSVAR. Det anbefales at de 9 deloppgavene merket med A, B, teller likt uansett variasjon i vanskelighetsgrad. Svarene er gitt i <<< >>>.

EKSAMEN ny og utsatt løsningsforslag

UNIVERSITETET I OSLO

INF 2310 Digital bildebehandling

EKSAMEN I FAG SIF8052 VISUALISERING MANDAG 21. MAI 2001 KL LØSNINGSFORSLAG

Terrasser TRAPPER OG REKKVERK LAG DIN EGEN UTEPLASS! VÅRE PRODUKTER HAR LANG LEVETID OG DU VIL HA GLEDE I DET DU HAR BYGGET I MANGE ÅR FREMOVER

i kjemiske forbindelser 5. Hydrogen har oksidasjonstall Oksygen har oksidsjonstall -2

Eksamen ECON 2200, Sensorveiledning Våren Deriver følgende funksjoner. Deriver med hensyn på begge argumenter i e) og f).

Norske CO 2 -avgifter - differensiert eller uniform skatt?

Makroøkonomi - B1. Innledning. Begrep. Mundells trilemma 1 går ut på følgende:

X ijk = µ+α i +β j +γ ij +ǫ ijk ; k = 1,2; j = 1,2,3; i = 1,2,3; i=1 γ ij = 3. i=1 α i = 3. j=1 β j = 3. j=1 γ ij = 0.

STK1000 Innføring i anvendt statistikk Eksamensdag: Tirsdag 12. desember 2017

EKSAMEN Ny og utsatt Løsningsforslag

COLUMBUS. Lærerveiledning Norge og fylkene. ved Rolf Mikkelsen. Cappelen Damm

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Automatisk koplingspåsats Komfort Bruksanvisning

STK desember 2007

Auksjoner og miljø: Privat informasjon og kollektive goder. Eirik Romstad Handelshøyskolen Norges miljø- og biovitenskapelige universitet

Adaptivt lokalsøk for boolske optimeringsproblemer

2006/27 Notater 2006 Om samordning av utvalg ved bruk av PRN-tall

Magnetisk nivåregulering. Prosjektoppgave i faget TTK 4150 Ulineære systemer. Gruppe 4: Rune Haugom Pål-Jørgen Kyllesø Jon Kåre Solås Frode Efteland

Fleksibelt arbeidsliv. Befolkningsundersøkelse utført for Manpower September 2015

STK1100 våren 2015 P A B P B A. Betinget sannsynlighet. Vi trenger en definisjon av betinget sannsynlighet! Eksemplet motiverer definisjonen:

UNIVERSITETET I OSLO

Oppgave 3, SØK400 våren 2002, v/d. Lund

UNIVERSITETET I OSLO

TMA4300 Mod. stat. metoder

Løsningskisse for oppgaver til uke 15 ( april)

DEN NORSKE AKTUARFORENING

Studieprogramundersøkelsen 2013

Vekst i skjermet virksomhet: Er dette et problem? Trend mot større andel sysselsetting i skjermet

Alderseffekter i NVEs kostnadsnormer. - evaluering og analyser

En teoretisk studie av tv-markedets effisiens

Oppgaven består av 9 delspørsmål som anbefales å veie like mye, Kommentarer og tallsvar er skrevet inn mellom <<, >>, Oppgave 1

NA Dok. 52 Angivelse av måleusikkerhet ved kalibreringer

NOEN SANNSYNLIGHETER I BRIDGE Av Hans-Wilhelm Mørch.

Gradient-operatorer. 1D Laplace-operator. Laplace-operatoren. INF 2310 Digital bildebehandling. Laplace-operatoren er gitt ved:

DET KONGELIGE FISKERI- OG KYSTDEPARTEMENT. prisbestemmelsen

Forelesning 4 og 5 MET3592 Økonometri ved David Kreiberg Vår 2011

Kapittel og Appendix A, Bævre og Vislie (2007): Næringsstruktur, internasjonal handel og vekst

Hvordan får man data og modell til å passe sammen?

Rapportere kraftsystemdata i Fosweb

Sluttrapport. utprøvingen av

NÆRINGSSTRUKTUR OG INTERNASJONAL HANDEL

Arbeid og potensiell energi

Alvdal Royal kledning

Positive rekker. Forelest: 3. Sept, 2004

Randi Eggen, SVV Torunn Moltumyr, SVV Terje Giæver. Notat_fartspåvirkn_landeveg_SINTEFrapp.doc PROSJEKTNR. DATO SAKSBEARBEIDER/FORFATTER ANTALL SIDER

Notater. Marie Lillehammer. Usikkerhetsanalyse for utslipp av farlige stoffer 2009/30. Notater

Regler om normalfordelingen

TMA4240 Statistikk H2010

Transkript:

Dynamsk programmerng Hvlke problemer? Metoden ble formalsert av Rchard Bellmann (RAND Corporaton) på -tallet. Har ngen tng med programmerng å gøre. Dynamsk er et ord som kan aldr brukes negatvt. Skal v kunne løse et problem med dynamsk programmerng, må det kunne deles opp mndre og mndre bter helt tl v kommer tl et så lte delproblem at løsnngen lett kan fnnes. Løsnngene på delproblemene må så kunne kombneres tl løsnnger på større problemer. (Ofte må flere delproblemer kombneres, -- stykker kke uvanlg, flere er mulg.). Dynamsk programmerng brukes typsk tl å løse optmalserngs-problemer. (Problemer hvor det kan være mange løsnnger, og hvor v ønsker å fnne den beste.) Optmaltetsprnsppet Overlappende delproblemer Gtt et optmalserngsproblem, og en funkson combne (funksonen som kombnerer løsnnger på delproblemer tl løsnnger på større problemer), så ser v at Optmaltetsprnsppet holder hvs følgende alltd er sant: Hvs S = combne(s, S,, S m ), og S er en optmal løsnng på sn problemnstans, så er S, S,, S m optmale løsnnger på sne respektve problemnstanser. For at dynamsk programmerng skal være mer effektvt enn f.eks en rekursv dvde and conquer-algortme, må delproblemene være overlappende. Dvs. samme delproblem må forekomme som del flere større problemer. I dynamsk programmerng utnytter v det faktum at v allerede har løst delproblemer og lagret svaret, slk at dsse kke løses flere ganger. Hvs optmaltetsprnsppet holder, så er problemet egnet for løsnng med dynamsk programmerng. Da genereres bare optmale løsnnger på delproblemer. Hvs både optmaltetsprnsppet holder, og v har overlappende delproblemer, så er sannsynlgvs dynamsk programmerng måten å løse problemet på.

Fre enkle(?) steg Dynamsk programmerng vs. Dvde and conquer. Beskrv strukturen en optmal løsnng / strukturen problemet. Dynamsk programmerng Dvde and conquer. Defner rekursvt verden av en optmal løsnng.. Beregn verden tl en optmal løsnng, bottom up (lagr verden av optmale delløsnnger en tabell).. Konstruer en optmal løsnng ut fra beregnede verder. (Om v faktsk ønsker løsnngen, og kke bare nøyer oss med verden av en optmal løsnng.) Bottom up Best egnet når delproblemene er avhengge av hverandre. Løsnnger på alle delproblemer lagres en tabell og behøver kke re-beregnes. Irrelevante delproblemer løses Memoserng Top down (rekursvt kall) Best egnet når delproblemene er uavhengge av hverandre. Da reberegnes kke løsnnger på delproblemer. Kun relevante delproblemer løses. Qucksort V skal fnne korteste st mellom alle par av noder en graf G=(V,E). Kantene har lengde, men v antar at det kke fnnes negatve sykler.. En st p = <, v, > fra node tl node består av endenodene og, og nternnodene v. For alle par av noder,, ser v på korteste ster fra tl som består av nternnoder fra mengden {v }, og lar p være en av dsse.. La d (k) være lengden av korteste st fra tl med nternnoder fra mengden {v }. Når k = kan kke sten bestå av nternnoder det hele tatt og d () vl altså tlsvare lengden av kanten. (V bruker w for lengden av kanten.) En rekursv defnson av d (k) vl være som følger: Hvs v k er en nternnode p, består p av delstene p (fra tl v k ) og p (fra v k tl ). Delstene p og p er ster med nternnoder fra mengden {v - }; og p og p er korteste ster fra tl v k og fra v k tl, ellers vlle kke p vært en korteste st fra tl. Hvs k kke er en nternnode p, er p en korteste st fra tl med nternnoder fra mengden {v - }. (Optmaltetsprnsppet holder.) d ( k ) w = ( k ) ( k ) ( k ) mn{ d, dv + d k v k } v k kke med v k med sten hvs k = hvs k Matrsen D (n) = ( d (n) ), hvor n er antall noder grafen, vl nneholde lengden av de korteste stene mellom alle par av noder,. (Alle noder er nå lovlge mellomnoder.)

. functon FloydWarshall ( W ) n rows( W ) D () = W for k to n do for to n do for to n do d (k) mn( d (k-), d k (k-) + d k (k-) ) return(d (n) ) end NavStrngMatcher - - D () = - - D () = - - D () =

Strenger som lgner En streng P er en k-approksmason av en streng T dersom T kan konverteres tl P ved å utføre maksmalt k av følgende operasoner: Substtuson Et symbol T byttes ut med et annet. Tllegg Et nytt symbol legges tl T. Slettng Et symbol slettes fra T. Edt dstance, ED(P,T), mellom to strenger P og T er det mnste antall slke operasoner som trengs for å konvertere P tl T. Eks. logarthm alogarthm algarthm algorthm (+a, -o, a/o) Strenger som lgner V skal fnne edt dstance mellom to strenger T og P.. La D [n, m] = ED( P [:n ], T [:m] ). (Edt dstance mellom delstrenger) Hvs P [ ] = T [ ], så er D [, ] = D [-, -]. Hvs P [ ] T [ ], så må v se på en optmal sekvens av operasoner som transformerer T [: ] tl P [: ]. V antar UTAG at v først har endret på P [: -], T [: -] og at v gør sste operason for å få T [ ] = P [ ], dette kan være: Substtuson T sette T [ ] = P [ ]. Tllegg T legge tl symbol T på pos T [ ] slettng av P [ ]. Slettng T slettng symbol T på pos T [ ]. Hvs kke operasonene gort for å få T [:-] = P [:-] var optmale, så snakker v kke nå om en optmal sekvens av operasoner som gr T [: ] = P [: ]. (Optmaltetsprnsppet holder) Strenger som lgner. En rekursv defnson av, ] vl altså være som følger: Strenger som lgner. En rekursv defnson av, ] vl altså være som følger:, ], = mn{, ] +,, +,, ] + } substtuson tllegg T slettng T slettng P, ] =,, ] =, ] =. hvs P[ ] = T[ ellers, ], = mn{, ] +,, +,, ] + } substtuson tllegg T slettng T slettng P, ] =,, ] =, ] =. hvs P[ ] = T[ ellers - - - -...... - - - - +

Strenger som lgner Pat. functon EdtDstance ( P [:n ], T [:m ] ) for to n do, ] for to m do, ] for to n do for to m do If P [ ] = T [ ] then, ] -, -] endf, ] mn { -, -] +, -, +,, -] + } return( n, m ] ) end EdtDstance q Ann Ann p q Joe Joe p q Pat p q Ray Ray p q Gennomsnttlg søketd p + p + p + p + q + q + q + q + q For generelle søketrær får v følgende formel for gennomsnttlg antall sammenlknnger som gøres. T et tre med n nøkler (søkeord lagret nterne noder) K,, K n-. n+ bladnoder tlsvarer ntervaller I,, I n mellom nøklene. sannsynlghetsvektorer p og q for nøklene og ntervallene mellom dem, hhv. d er nvået tl nøkkel K, e er nvået tl bladnode som korresponderer med I. n A ( T, n, p, q) = p ( d + ) + n q e = = Hvs p -ene er lke og q -ene er lke, vl det komplette bnære søketreet være det optmale. Men noen ord kan være oftere søkt etter enn andre (p -ene ulke), derfor kan det lønne seg med skeve trær og deltrær, for å få ord som det ofte blr søkt etter så høyt som mulg opp treet. V ønsker å fnne det optmale bnære søketreet T over alle mulge, gtt søkesannsynlghetene (p -ene og q -ene). Dvs treet som mnmerer gennomsnttlg antall sammenlknnger A(T,n,p,q). mn A(T,n,p,q). T p -ene og q -ene er utgangspunktet sansynlgheter (tall ntervallet [,], som summerer tl ), men v kan slakke på kravet og anta at de er postve reele tall, det er uansett bare tall som sammenlknes. n La σ ( p, q) = + n p q = =

. Et bnært tre T for nøklene K, K n- består av en rot med nøkkel K, og to deltær L og R. L er del bnært tre for nøklene K, K -, R et tre for nøklene K +, K n. K Gennomsnttlg antall operasoner for et søketre T er gtt ved følgende formel: A(T,n,p,q) = A(L,,p,,p -,q,,q ) + A(R,n- +,p +,,p n-,q +,,q n ) + σ(p,q) For enkelthets skyld skrver v: A(T) = A(L) + A(R) + σ(p,q) (Optmaltetsprnsppet holder) L K,, K - p,, p - q,, q K +,, K n - p +,, p n - q +,, q n R. En rekursv formel kan lages som følger: La T være et søktre for nøklene K,, K,, n (T er det tomme treet om <.). En algortme kan nå enkelt lages ved å fylle ut en tabell med verdene for A(T ) som defnert av formelen: A(T ) = mn { A(T,k - ) + A(T k +, ) } + σ(,) k La σ (, ) = k = + p k + q k k = I tllegg tl verden A(T ) må også en representason av de aktuelle trærne vedlkeholdes, slk at v fnner selve treet. A(T ) = mn { A(T,k - ) + A(T k +, ) } + σ(,), k k