F oltsmmnn (onntvty) RFR nln: oltsmmnnn rr (Kpttl 9.6.2) Å nn l-nor (rtulton ponts) vsluttn om rå lortmr Humn-kon (Kpttl 10.1.2) Fur 9.60, s 357 MW ynmsk prormmrn Floys lortm or kortst v ll-tl-ll (Kpttl 10.3.4) Prmr or lortmsn rk 1 v 28 n oltsmmnnn r r n r som ortstt r smmnnn slv om n vlkårl no lr jrnt r rn tt r n vkt nskp mn nttvrk (som strøm-, v-, t- o ntrntt) Forlsnn 23.10.2006 Forlsnn 23.10.2006 rk 2 v 28 Smmnnn rr som kk r oltsmmnnn, må mnst n «l-no» ( rtulton pont ), vs. n no v kk kn jrn utn å jør rn kk-smmnnn ksmpl (. 9.62 MW): n y-ørst trvrsrn v rn lkskorsk ornn sr slk ut: Hltrukn lnjr vsr vnl rkursv kll som nnr t spnntr or rn Stpl lnjr vsr «kovrkll», vs. orsøk på kll v mrk nor ss klls kovrkntr rn Hr r v to l-nor: o V sr t v å jrn mstr sn ornls tl rn, o v å jrn, år v to smmnnskomponntr, {,,, o {, F Forlsnn 23.10.2006 rk 3 v 28 Forlsnn 23.10.2006 rk 4 v 28
F F F lortm or å nn l-nor Forutstnn: V r n smmnnn r jør t y-ørst søk o vr no v t søksnummr Nr(v) (prx-ornn) V r nå t spnntr T or (m kovrkntr) vor Nr(v) økr når v år novr T For vr no v T nrr v Lv(v) som n lvst nummrrt no som kn nås r v v å å null llr lr kntr utovr T o tl slutt mulns tlk lns én kovrknt Mr prsst r Lv(v) nrt som mnmum v Nr(v) Mnst Nr(w) r (v, w) r kovrknt (vs. n knt \ T) Mnst Lv(w) r (v, w) r knt T Mrk t t v r r m v, kjnnr v Lv(v) slk t v år mrkt non m Lv(v) postx-orn Forlsnn 23.10.2006 rk 5 v 28 Fr vrn v Nr(v) o Lv(v) kn v nå vjør vlk v non T som r l-nor V r to tlllr: Rotnon r n l-no vs, o r vs, n r mr nn tt rn Øvr nor v r l-nor vs, o r vs, v r t rn w m Lv(w) Nr(v) Rotnon tlrsstllr llt t nr krtrt, så n må nls spslt Mrk t v r trnr én trvrsrn or å utør l lortmn, så tsornn lr O( V + ) t øln ksmplt vsr vorn o voror lortmn vrkr Forlsnn 23.10.2006 rk 6 v 28 6 / 4 4 / 1 2 / 1 1 / 1 5 / 4 3 / 1 7 / 7 V utørr lortmn o mrkr vr no v m Nr(v)/Lv(v) 6 / 4 5 / 4 4 / 1 3 / 1 2 / 1 7 / 7 1 / 1 V sr på to tllln: Hvs rotn r lr rn, kn v kk jrn rotn utn å spltt rn t r kk tlll r V sr t no r t rn m Lv() Nr() t tyr t v kk kn komm r tl non no v m lvr nummr nn utn å å jnnom ltså r n l-no Tlsvrn r no t rn m Lv() Nr() ltså r oså n l-no S oså ur 9.64 på s 361 MW Forlsnn 23.10.2006 rk 7 v 28 Forlsnn 23.10.2006 rk 8 v 28
Kon v tn t nns mn stnrr or kon v tn Non v vktst r: Hollrt 12-ts ullkortko rukt på mknsk tmsknr ør lktronsk vr oppunnt (nry o ml) 4-ts ko rukt v IM tl kon v sml sr ( l oså rukt om 6-ts tn på non tl tmsknr) I (xtn nry o ml Intrn o) IMs 8-ts utvls v tl ullt tnstt SII (mrn (Ntonl) Stnr o or Inormton Intrn) 7-ts (snr 8-ts) tn Uno 16-ts tn (ntl vrlt 8 32 t) ISO-stnr or ll tn ll språk Humn-kon Motvsjon Stor tkstlr tr stor plss, o t tr ln t å ovrør m ovr nttt Tlr vr SII o I rån stnrn rukt 8-ts tnkor (SII rukt 7-ts ko + prttst) tt l nstt som sløsn m plss Uno rukr (stort stt) 16-ts kor, mn 32-ts kor lr oså rukt Uno r 17 2 16 = 1 114 112 mul tn Slv stor tkstlr lr r non å v ss rukt Uno r mnst olt så stor lr som SII Konklusjon t r ov or tkomprsjon Forlsnn 23.10.2006 rk 9 v 28 Forlsnn 23.10.2006 rk 10 v 28 lortm Ié o rlr Hové: Ot orkommn tn skl kort kor, mns sjln tn kn ln kor Rl 1: Hvrt tn som orkommr ln, skl sn n nty ko Rl 2: Inn ko r prks n nnn ko ksmpl på rl 2: rsom 011001 r (nær)ko or t tn, kn vrkn 0, 01, 011, 0110 llr 01100 vær ko or no tn L n rkvnstll or ll tn som orkommr tln trkt vrt tn som n no, o l m nn n prorttskø P m rkvnsn som vkt Mns P r mr nn tt lmnt T ut to mnst non r P m n lls orlrno m vkt lk summn v to nons vktr L orlrnon nn P Humnkon tl t tn (lno) år v v å å r rotn o n 0 når v år tl vnstr o 1 når v år tl øyr Rsulttln står v to lr: n tll ovr Humnkor m tlørn tn n Humnko tln Forlsnn 23.10.2006 rk 11 v 28 Forlsnn 23.10.2006 rk 12 v 28
4 T 4 6 5 3 ksmpl Intll prorttskø: Så år o ut. rsttts v T3: 3 1 3 1 8 to mnst (sjlnst orkommn) non r o. ss ts ut o rsttts m T1: Så rsttts o m T4: 1 8 3 0 T 1 8 T 1 1 3 rnst rsttts T1 o m T2: rnst T2 o m T5: 3 0 4 1 1 8 T 1 1 3 Forlsnn 23.10.2006 rk 13 v 28 Forlsnn 23.10.2006 rk 14 v 28 Så ytts sp o T3 ut m T6: t r kotrt sr slk ut: T 6 T 6 3 0 4 1 T T 9 T 8 Så o T4 m T7: T 6 4 1 T 6 4 6 6 2 T 1 Så T5 o T6 m T8: 6 2 T 8 8 7 T 8 T 6 nl ts T7 o T8 ut v køn. ss lr rn v rotnon T9: T 9 T 8 t r nn kotlln: 1011 1110 010 100 10100 1111 00 10101 011 sp 110 Forlsnn 23.10.2006 rk 15 v 28 Forlsnn 23.10.2006 rk 16 v 28
ksmpl: Kotll 1011 1110 010 100 10100 1111 00 10101 011 sp 110 r øln Humnko: 10100101 10000101 01011110 11111011 00000111 10010001 10101011 10111110 11100011001100 V rukt ltså 10 yt på 26 tn m tt 10-tns ltt konstll 00 10101 010 1011 011 110 sp 100 1110 10100 1111 Forlsnn 23.10.2006 rk 17 v 28 ynmsk prormmrn ruks ørst o rmst når v ønskr optml løsnnr Må kunn l t lol prolmt lprolmr ss løss typsk kk-rkursvt v å lr l-løsnnn n tll n optml løsnn på t lol prolmt må vær n smmnstnn v optml løsnnr på (non v) lprolmn V skl s på tt ksmpl: Floys lortm or å nn kortst v ll-tl-ll n rttt r Forlsnn 23.10.2006 rk 18 v 28 Kortst v ll-tl-ll (Floy) V ønskr å rn n kortst vn mllom tvrt pr v nor n rttt, vktt r runnln é: Hvs t år n v r no tl no k m ln k, o n v r no k tl no j m ln k j, så år t n v r no tl no j m ln k + k j Floys lortm: nn trktnnn jntå n systmtsk måt or ll trplr, k o j: Intlt: vstnn r no tl no k stts lk vktn på kntn r tl k, unl vs t kk år non knt r tl k Trnn 0: S ttr mul orrnr v å vl no 0 som mllomno ttr trnn k: vstnn mllom to nor r n kortst vn som r rukr non 0, 1,..., k som mllomnor Forlsnn 23.10.2006 rk 19 v 28 Floys lortm pul stt vo kortstvlltlll(nt[ ][ ] no, nt[ ][ ] vstn, nt[ ][ ] v) { nt n = vstn.lnt; // Intlsrn: or (nt = 0; < n; ++) { or (nt j = 0; j < n; j++) { // Forutstnn: // rryn r kvrtsk // m smm mnsjon vstn[][j] = no[][j]; v[][j] = -1; // Inn v orløp or (nt k = 0; k < n; k++) { or (nt = 0; < n; ++) { or (nt j = 0; j < n; j++) { (vstn[][k] + vstn[k][j] < vstn[][j]) { // Kortr v r tl j unnt v k vstn[][j] = vstn[][k] + vstn[k][j]; v[][j] = k; Tsorrukt r åpnrt O(n 3 ) Forlsnn 23.10.2006 rk 20 v 28
Hvorn tolk rsulttt v Floy Hvoror vrkr Floy? Floy-nvrntn: vstn[][ j] vl vær lk lnn v n kortst vn r no tl no j som r ll sn nr nor nlt FØR: 2 (,j)=16 (,k)=5 (k,j)=8 1 7 4 3 TTR: (,j)=13...... k nl nor 2 j V strt nnolr no[][ j] lnn v kntn r tl j, vs t kk r non knt Floy lr no vær unrt o lr rsulttt vstn o v vstn[][ j] r lnn v kortst v r tl j, vs t kk r non v v sr v som r n kortst vn k 1 = v[][ j] r n størst vr v k slk t k lr på n kortst vn r tl j k 2 = v[][k 1 ] r n størst vr v k slk t k lr på n kortst vn r tl k 1 osv. Når v[][k m ] = 1, r (, k m ) n ørst kntn kortst v r tl j Forlsnn 23.10.2006 rk 21 v 28 Forlsnn 23.10.2006 rk 22 v 28 Hv jør Floy ynmsk? Hovløkkn Floy sr slk ut: or (nt k = 0; k < n; k++) { or (nt = 0; < n; ++) { or (nt j = 0; j < n; j++) { (vstn[][k] + vstn[k][j] < vstn[][j]) { // Kortr v r tl j unnt v k vstn[][j] = vstn[][k] + vstn[k][j]; v[][j] = k; lortmnvrntn orutsttr t o j løkkn ullørs ør k vrn øks I-tstn skrr t or n tt k kn vrkn vstn[][k] llr vstn[k][ j] l nrt o j løkkn rm r o j løkkn uvn v vrnr o kn prllllsrs ( r lprolmr som kn løss uvn v vrnr) Prmr or lortmsn Hr ølr n oppsummrn v tr vkt prmr or lortmsn som v jør ruk v tt kurst: Spltt o rsk rå lortmr ynmsk prormmrn tt r nsjonn på ynmsk prormmrn Forlsnn 23.10.2006 rk 23 v 28 Forlsnn 23.10.2006 rk 24 v 28
rå lortmr Spltt o rsk tt r n nrll mto som rukr rkursjon tl å sn ktv lortmr n år ut på å l t tt prolm opp mnr lprolmr, o så rkursvt løs vrt lprolm Rkursjonn stopps når prolmt r så lt t løsnnn r trvll Tl slutt stts løsnnn v lprolmn smmn tl n løsnn v t opprnnl prolmt ksmplr: nærsøkn Quk-sort Mr-sort tt r n mto som rukå optmlsrnsprolmr n år ut på å løs prolmt v å ort n rkk vl I vrt trnn jør v t vlt som øylkkt sr ut tl å rn oss nærmst mul løsnnn Mrk: Mton vrkr kk llt V sr t prolmr mton vrkr på, r «råtsnskpn»: n rkk lokl optmlsrnr vl ør tl t lolt optmum ksmplr: jkstrs lortm Prms lortm Kruskls lortm Humn-kon Forlsnn 23.10.2006 rk 25 v 28 Forlsnn 23.10.2006 rk 26 v 28 Ltt trmnolo knyttt tl ynmsk prormmrn: ynmsk prormmrn tt r n nnn mto som ruks på optmlsrnsprolmr Mton r no vnsklr å orstå nn «Spltt o rsk» o «rå lortmr» Mton ør rukå prolmr som sr ut tl trn ksponnsll kskvrnst ynmsk prormmrn r llt lortmr som r polynomsk t, o ss lortmn r vnlvs nkl å prormmr For t mton skl vrk, må prolmt n vss struktur som v kn utnytt or å oppnå nn nkl løsnnn nkl lprolmr: t må nns n måt å l prolmt opp lprolmr som r nkl å skrv lprolm-optmlsrn: n optml løsnn på t lol prolmt må kunn stts smmn v optml løsnnr på lprolmn Ovrlpp v lprolmr: Optml løsnnr v urltrt prolmr kn nnol lls lprolmr ksmplr: Floys lortm rnn v ln mtrsprouktr 0-1 ryskkpkkn Lnst lls lskvns Forlsnn 23.10.2006 rk 27 v 28 Forlsnn 23.10.2006 rk 28 v 28