Dgen em: Kpiel : INF /. okoer 6 Mhinger i (ureee) grfer (mhing = prnnele) Fly i neverk (neverk = reee grfer me kpieer e.) Dgen em er krfig forune me konvekie, polyere me helllige hjørner e., og ee er mn nærmere på i Geir Dhl kur (INF-MAT/7). Vi går ikke inn på e her. Oligorik oppgve lir lg u ene i løpe v kommene helg Fri: Freg. okoer Forelening nee uke: Ankeligvi noe vluene om kpiel Mhing i generelle grfer (ege no lir lg u) Mhinger i ureee iprie grfer, kp.. Bipri grf = ofrgr grf = grf om ikke hr (like) oe løkker : Noemengen X, f.ek. hånverkere Knene: F.ek. hvem hr kompene il hvilken jo? Noemengen Y, f.ek. gen joer Vi klre å finne en perfek mhing, om lå gjør vi kn få ufør lle joene enne gen Anre ekempler: () Gruppelærere (X) om hr ønker il grupper (Y). Kn lle få hver in gruppe? () En kle kl nne lg me en gu og en jene, og læreren ve hvem om joer go mmen. S R Bok: R = Gmm(S) Til venre: En unermenge S v X er forune (re) me noemengen R i Y, og R hr færre noer enn S. D finne opplg ingen perfek mhing. Men ee gjeler ogå nre veien: Hll Teorem: De finne en perfek mhing hvi og re hvi e ikke finne noe uplukk S v X lik R hr færre noer enn S. Bevi en vnkelige veien: Den ungrke lgorime vil enen gi en perfek mhing, eller en vil komme opp me en lik S. Den nive lgorime virker ikke Prolem: Gi iprie uree grf. Finn, om mulig, en perfek mhing Gråighe-ilnærmele (lønner eg v og il, men ikke her): Se på knene i ilfelig rekkefølge, og en kn inn i mhingen om en ikke hr en felle noe me en kn om lleree er me i mhingen Ekempel på gråighe-ilnærmelen ikke virker: Gi en øvere grfen. Gråighe kn gi mhingen uner il venre. De finne opplg en mhing me re kner (uner il høyre), men en il venre kn ikke uvie ve enkel gråighe! I prene emerke: E e er gråighe fkik virker er når en vil finne e ynge pennree i en mmenhengene uree grf me vekee kner: Se på knene i rekkefølge v ynkene vek, og me e om ikke nner en løkke me e noene om lleree er plukke u (Krukl lgorime). Den ungrke lgorime for å finne en perfek mhing De vier eg imileri om vi, i ee for å lee eer hel leige kner, leer eer foreringveier, å vil vi hel ikker finne en lik en, erom en ørre mhing i e hele ekierer. Dee kn le vie ireke, men i g lir e re inireke En lik foreringvei er iple i enne figuren: Foreringvei: En lernerene vei (nnenhver kn er me og ikke me i mhingen) Begge enenoene er umhe (er ikke enenoe i en kn i mhingen) eller Vi ruker en foreringvei ve å ye kner i mhingen lng foreringveien: Dee må opplg føre il en ny mhing, om er én ørre. I vår ilfelle får vi enne:
Hvorn finne foreringveier? Den ungrke lgorime går u på å: re me en om mhing, å lee eer en foreringvei, å ruke enne il å få en ørre mhing, å finne ny foreringvei og ruke enne ov. il vi: enen hr en perfek mhing eller vi ikke finner noen ny foreringvei og vil iujonen forhåpenligvi vie o en unermenge S i X om er forune me mengen R= Gmm(S) i Y, og R er minre enn S (lik vi ve e ikke finne noen perfek mhing) De generelle ege i en ungrke lgorime går lå u på å: h en foreløpig (ikke-perfek) mhing M å prøve å finne en foreringvei om vi kn ruke il å lge en mhingen om er én kn ørre. Søke eer en lik foreringvei kn greie gjøre lik: Velg en umhe noe r i X. Den kl li roen v e re T vi kl ygge, er lle veier u fr roen kl være lernerene veier. Vi hr funne en forøkningvei erom en forgrening v ree kn få konk me en umhe noe i Y (e figur nee foil). Sege i en ungrke lgorime - Vi nr lå vi år me en ikke-perfek mhing M, og vil finne en foreringvei. I ren v reyggingen eår ree T re v ronoen r An vi generel hr ygge e re T u fr r, og vi vil uvie e. Vi er å eer kner u fr noer i T om er i X (røe) og ikke går il en noe om lleree er me i T. Om vi finner en lik kn vil en nre enen være i Y (lå). De er o ilfeller: Knen går il en umhe noe i Y, hr vi funne en foreringvei, og vi kn ruke enne (øker lå M), og re me e hel ny re, om vi ikke fikk en perfek mhing. Knen går il en mhe noe i Y, og r vi ogå me i T en ilhørene knen i M. Tree lir lå uvie. Tree T: Den lå er mhe. Vi r ogå me i T en ilhørene M-knen r Til noe i T. Bryr o ikke om like Umhe. Vi hr funne en foreringvei. Vi ruker enne, og får en ørre mhing Sege i en ungrke lgorime - Tree er grei og ryig u il høyre, men e kn elvfølgelig ogå egne inn i en iprie grfen. D r e eg lik u: z r x y Tree T voker Bryr o ikke om like Foreringvei funne Tree T: z Den lå er mhe. Vi r ogå me i T en ilhørene M-knen r x Til noe i T. Bryr o ikke om like y Umhe. Vi hr funne en foreringvei. Vi ruker enne, og får en ørre mhing Sege i en ungrke lgorime - An lgorimen opper fori vi ikke finner en kn fr en rø noe i T il en kn uenfor ree. D finner vi lå ingen foreringvei, og vi ønker å finne e evi på ingen perfek mhing finne: Ønker: En elmenge S v noene i X (røe) om er lik e noene R en er forune me i Y er færre enn i S. Som S velger vi re og le e røe noene i T. Av em er e én mer enn nll M-kner i ree. Vi lr å R være e lå noene i T. R hr opplg én noe færre enn S (like mnge om kner fr M i ree) Vi påår nå noene i S ikke hr kner il noen nre lå noer enn e i R. Begrunnele: Algorimen hr oppe neopp fori e ikke finne kner fr røe noer i ree il lå noer uenfor ree. r Derme er ogå Hll Teorem evi: Denne lgorimen kn kjøre på enhver ipri grf (me like ore X og Y), og en vil gi enen en perfek mhing eller en S lik Gmm(S) er minre enn S.
Vriner over prolemillingen Se på il nå: Finn en perfek mhing i en ipri grf (eller vi en lik ikke finne) E progrmkie v enne lgorimen er gi på ie / Anre pørmål: Finn en mhing me fle mulig kner (og ehøver ikke noemengene X og Y være like ore) Skl ere e på om gruppeoppgve nee uke Gi veker på knene: Finn en perfek mhing me ør mulig vek Sår i ok, men vi r en ikke me i penum (kp..) Generlieringer v e iprie mhing-proleme Gå over il generelle grfer (ikke iprie), og ill e ilvrene pørmål ngåene mhinger De uveiee ilfelle v ee kl vi e på i nee uke (ege no) Fly i neverk (er mhing-proleme for iprie grfer fremkommer om e peililfelle) Dee kl vi e på nå. Fly i neverk, kp.. Dee offe er ogå noe ekke i Wei-ok, å mn kn ogå lee er. A mn her ruker ore neverk (og ikke noe me grfer ) er re ren rijon. Grov e er neverk reee grfer me forkjellige kpieer, veker e. på knene (og ofe ogå på noene) Svær mnge prkike prolemer fller inn uner neverkprolemer, og peiel fly i neverk: Dne me fly v pkker, og kpie ( ånree ) Forkjellige yper rør-neverk, er væker flyer, og rørene hr kpie Vei-neverk, er iler flyer, og me forkjellige kpie på veiene De neverk vi kl uere her hr Kpieer på knene én kile-noe og én luk-noe, og oppgven er generel å pree å mye fly fr il om mulig. Fly i neverk, kp.. En fly f i e lik neverk er mmen v en fly f(e) på hver kn e, om er lik : Flykonervering-prinippe: I hver noe, ore fr i og, er ummen v fly inn il noen lik um v fly u v noen (efiner i forhol il knene rening). I neverk me kpieer: Hver kn e hr en vi kpie (e), og flyen f(e) må ligge mellom og (e). Forueer i enne fremilling: De går ikke kner inn i eller u v. vl(f) er ummen v flyen om går u v. Lemm: Summen v flyen om går inn i er ogå vl(f) Vie grov e ve ummering v flyen inn/u over lle noer 6 8 Noen egreper fr ok Bruke ikke i fremillingen på foilene, og eljene er erfor ikke penum Begreper e. ruk i ok, men om vi ikke nevner ireke i e følgene foilene: En emi-vei gjennom grfen = en vei fr il i en unerliggene ureee grfen Enhe-fly: Definer v en emi-vei er e er fly lik + på e knene om følger veien rening, og lik på e knene om går mo veireningen Lemm: To flyer om ummere kn for kn gir en ny lovlig fly. Lemm: Om hver kn-fly mulipliere me en gi konn får vi en ny lovlig fly. 6 8
Fly i neverk, me kpieer Hver kn e hr en vi kpie (e), og flyen f(e) gjennom knen e må ligge mellom og (e). Ønke: Gi e neverk me kpieer. Vi ønker å finne knflyer f(e) om holer eg innenfor kpieene ugjør en mkiml fly, lå en om gir en å or vl(f) om mulig Ekempele uner il venre, er e neverk me gie kpieer. Vi er inuiiv: Mkiml fly er her 7, og en lik fly er gi il høyre. 8 Ren gråighe virker ikke Den nive gråighe-lgorimen (om ikke virker!): Sege: Finn enkel flyøkningvei : Finn en ree vei fr il om er lik lle flyer f(e) er lvere enn (e) lng veien Øk flyen lng enne å mye om mulig (gi v en knen om hr min (e) f(e) lng veien) Gjen ee il ingen like veier finne. På figuren uner er kpieene ngi over knene (lle ) og flyen ngi uner knen (iniiel er en overl). Vi finner før en ilfelig lik enkel flyøkningvei, f.ek. -----. Lng enne kn vi øke flyen me, og vi får nee iujon uner. vl(f) er nå, men e er opplg vi kn oppnå vl(f)= MEN, e finne ingen enkel flyøkningvei v ypen efiner over om kn ringe o il en iujon me vl(f)= De f-vleee neverke N(f) De vi yeligvi ikke hr henyn il i en enkle erkningen me flyøkene veier, er vi ogå kn minke flyen i noen kner når vi vil gjøre en fornring og ve å henyn il e får vi fkik en fullgo lgorime For å få overik over fornring-muligheene på en enkele kn kn vi, u fr e gi neverk me kpieer (e) og en gi lovlig fly f(e), egne e f-vleee neverke eegne N f, Nf eller N(f). Vi ruker her N(f) (Merk her: nye kpieer if. forrige foil): Neverk me kpieer (over) og fly (uner) De f-vleee neverke (ngir mulige flyfornringer) Se ogå figur.8 i ok (ie ) f-foreringveier Smme figurer om på forrige foil, e opprinnelige neverke N il venre: Vi leer å eer veier fr il i e f-vleee neverke N(f) Slike veier klle f-foreringveier Vi kn for ekempel velge ---. Den mkimle flyfornringen lng enne er her (n generel h). Vi gjør å en ilvrene flyfornringen, ve å øke flyen me h i e knene i N er f-foreringveien går mme vei om i N minke flyen me h er knen i f-foreringveien går mo vei v i N Dee gir en nye flyen: U fr enne må vi å lge e ny f-vlee neverk N(f), ov
Ku i neverk E ku (Cu) i e neverk er re og le en oeling v noemengen i mengene X og Y. Her kl vi re e på ku er er i X og er i Y. X Y 7 6 7 Kpieen v e ku K=X,Y (krive p(k)) er ummen v kpieene på e knene om går fr X il Y (lå ikke e om går mo). I figuren over lir en lå +7= Lemm: Gi en lovlig fly f og e ku K=X,Y. D er vl(f) ikke ørre enn p(k). Vie grov e lik: Ve ummering v flyen inn/u over lle noer i X finner vi flyen over kue K (me opplg efinijon) må være lik vl(f). U fr hvorn kpieen på e ku er efiner, er vi p(k) er min like or om vl(f). Dee gir o en mulighe il å vie vi hr en mkiml fly: Om vi hr en fly f og e ku K lik vl(f) = p(k) å er flyen mkiml! ForFulkeron-lgorimen ForFulkeron-lgorimen går lik: Sr me null fly Sege (er vi ve ren hr en eller nnen lovlig fly f): Lg e f-vleee neverke N(f) (om ngir lle fornringmuligheer) Finn en f-foreringvei gjennom ee neverke, og finn mkiml økning for enne (eem v en knen lng veien me min fornringmulighe) Gjør en fornringen i flyen om ee ngir Gjen ege il vi ikke lenger kn finne en f-foreingvei fr il i N(f) Algorimen luer når e ikke er noen ree vei fr il i N(f). Bevi for vi hr en mk fly på nee foil. Se ogå progrmme på ie 8 Dere kl hångå enne lgorimen u fr figur.9 på gruppene nee uke Avluning v ForFulkeron-lgorimen Den luer lå me e ikke er noen forinele fr il i N(f). X Y X Y For å vie vi fkik hr en mkiml fly ønker vi å finne e ku K om hr nøykig mme kpie om flyen f, lå: p(k)=vl(f). De vier eg e lik er le å finne: L X være e noene om kn nåe i N(f) fr, og l Y være reen v noene. Noen er i Y, e figuren over. Sien ingen kner i N(f) går fr X il Y er e le å e Alle kner i N om går fr X il Y ruker hele in kpie (er mee ) Alle kner i N om går fr Y il X hr fly f =. U fr efenijonen v p(k) er vi en er lik flyen over K = vl(f) Deme ve vi flyen er mkiml, og vi hr vi evi følgene eorem: Teorem (Mx-fly min-ku): I e neverk me kpieer kn vi finne en fly f og e ku K lik vl(f)=p(k). D ve vi flyen er mkiml, og ine ku K hr minre kpie. Vriner v ForFulkeron-lgorimen ForFulkeron-lgorimen ier re mn kl velge en eller nnen foreringvei i forhol il kpieene og en nåværene flyen, ereer finne en mkimle flyøkningen vi kn gjøre lng enne, og å legge il enne flyen. Når vi ikke lenger kn finne noen lik foreringvei hr vi en mkiml fly (evi ve lgorimen gir o e ku me kpie = flyen) Om vi ikke legger på yerligere yring for vlg v foreringvei, gjeler: Om kpieene er helll, å kn nll eg li en mkimle flyen for neverke. Ekempel: Om kpieene er reelle ll kn lgorimen eoreik e gå i evig løkke (!?) Forering : Mn kn hele ien velge en foreringveien om gir ør forering (kn le finne me en lgorime nlog il en koree-vei-lgorime) Dee gir wor-e-i: O( m log(n) log( mk-fly ) ) (n= nll noer, m= nll kner) Forering : (Emon og Krp) Mn kn ogå hele ien velge en veien om er kore i nll kner (kn finne ve ree før øk) Dee gir wor-e-i: O(n m ) (lå uvhengig v mkiml fly!)
Vriner v proleme me mkiml fly For e føre finne lerniver il ForFulkeron Din hr eigne en Golerg n Trjn (preflow puh lgorihm) Vi kn ogå h ngi ogå en miniml fly på hver kn. D er e e ege prolem re å finne en mulig fly Men eer e kn mn foree om for ForFulkeron Mn kn h en pri på hver kn, for å ene fly på enne knen. Her finne en kjen opimliering-lgorime: Ou-of-kiler-lgorimen Mn kn h flere kiler og flere luk, me forkjellige krv il flyen inn og u v ie. Og e kn være flere forkjellige ing ( ommoiie ) om kl flye (uer, peroniler, ) og knene kn h forkjellige kpie for hver v ie (evenuel være perre for noen v em) Dee er e kiv forkningområe, for rfikkplnlegging, ruing i kommunikjonneverk e.