Föreläsning 3: Fler grafalgoritmer. Kortaste vägar mellan alla noder

Relevanta dokument
Algoritmer, datastrukturer och komplexitet

0.2. u u u u u 6. Eller anvand lemma 4.6 (\path length lemma"): W = 1:0 + 0:8 + 0:4 + 0:4 + 0:2 = 2:8.

Föreläsning 5: Dynamisk programmering

UNDERRUM. LINJÄRA KOMBINATIONER. BASER. LINJÄRT SPANN (eller linjärt hölje) Definition 1. (LINJÄR KOMBINATION) Exempel 1.

PROV 5 Skogars ekologi och användning

Följande uttryck används ofta i olika problem som leder till differentialekvationer: Formell beskrivning

Elektronik. Kapacitanser, induktanser, transienter. Översikt. Kapacitanser och induktanser. Plattekondensator

FÖRSVARSHÖGSKOLAN Beteckning :2060 Krigsvetenskapliga institutionen ChP T FÖRSVARSHÖGSKOLAN C-UPPSATS

Följande uttryck används ofta i olika problem som leder till differentialekvationer: Formell beskrivning

Föreläsningsanteckningar F6

Följande uttryck används ofta i olika problem som leder till differentialekvationer: A=kB. A= k (för ett tal k)

bättre säljprognoser med hjälp av matematiska prognosmodeller!

Elektronik. Kapacitanser, induktanser, transienter. Översikt. Kapacitanser och induktanser. Plattekondensator

Lektion 4 Lagerstyrning (LS) Rev NM

Lösningar till Matematisk analys IV,

Grafer MST Top. sortering Starkt samm. komponenter Kortaste avstånd. Grafalgoritmer 1. Douglas Wikström KTH Stockholm

VI HJÄLPER DIG ATT SKAPA FRAMGÅNGSRIKA MÖTEN. [ eskilstunaconvention.se ]

Föreläsning 2. Kortaste vägar i grafer.

Exempeltenta 3 SKRIV KLART OCH TYDLIGT! LYCKA TILL!

Laborationstillfälle 4 Numerisk lösning av ODE

FREDAGEN DEN 21 AUGUSTI 2015, KL Ansvarig lärare: Helene Lidestam, tfn Salarna besöks ca kl 15.30

1 av 12. (sys1) ELEMENTERA OPERATIONER Vi får göra följande elementära operationer med ekvationer utan att ändra systemets lösningsmängd:

FAQ. frequently asked questions

Truckar och trafik farligt för förare

Upphandlingar inom Sundsvalls kommun

Föreläsning 2: Grafer. Exempel på graf

Ordinära differentialekvationer,

Vi utvecklar för framtiden. Information [EVENTYTA]

Genom att uttrycka y-koordinaten i x ser vi att kurvan är funktionsgrafen till y = x 2. Lektion 2, Flervariabelanalys den 19 januari 2000

Kursens innehåll. Ekonomin på kort sikt: IS-LM modellen. Varumarknaden, penningmarknaden

Differentialekvationssystem

SIGNALER TILLÄMPAD FYSIK OCH ELEKTRONIK, UMEÅ UNIVERSITET 1

Föreläsning 5: Grafer Del 1

Objects First With Java A Practical Introduction Using BlueJ. 4. Grouping objects. Collections och iterators

l v k i a v PASS profilen Plus l s Metod H ä e t t i y or s n s a o v L i v KomiForm AB

1 Elektromagnetisk induktion

Tentamen på grundkursen EC1201: Makroteori med tillämpningar, 15 högskolepoäng, lördagen den 14 februari 2009 kl 9-14.

Räta linjer i 3D-rummet: Låt L vara den räta linjen genom som är parallell med r

DD1310/DD1314/DA3009 PROGRAMMERINGSTEKNIK

Föreläsning 7 Kap G71 Statistik B

ZA5773 Flash Eurobarometer 338 (Monitoring the Social Impact of the Crisis: Public Perceptions in the European Union, wave 6)

Ett hem för. bokälskare

BASiQ. BASiQ. Tryckoberoende elektronisk flödesregulator

Om exponentialfunktioner och logaritmer

AMatematiska institutionen avd matematisk statistik

Livförsäkringsmatematik II

Ansökan till den svenskspråkiga ämneslärarutbildningen för studerande vid Helsingfors universitet. Våren 2015

Föreläsning 2. Kortaste vägar i grafer.

(sys1) Definition1. Mängden av alla lösningar till ett ekvationssystem kallas systemets lösningsmängd.

3 Rörelse och krafter 1

Demodulering av digitalt modulerade signaler

TISDAGEN DEN 20 AUGUSTI 2013, KL Ansvarig lärare: Helene Lidestam, tfn Salarna besöks ca kl 9

Tunga lyft och lite skäll för den som fixar felen

Bygget är det roligaste vi gjort

Labora&v matema&k - En varierad undervisning

Texten " alt antagna leverantörer" i Adminstrativa föreskrifter, kap 1 punkt 9 utgår.

Många risker när bilen mals till plåt

8.4 De i kärnan ingående partiklarnas massa är

3D vattenanimering Joakim Julin Department of Computer Science Åbo Akademi University, FIN Åbo, Finland

{ ( )} = X s. ( ) /< t. Stabilitet för energifria LTI-system. L{ } e(t) i 0 (t) E(s) I 0 (s) ( ) ( )e st 0. Kretsberäkningar, linjära RLMC-nät

Biomekanik, 5 poäng Kinetik Härledda lagar

9. Diskreta fouriertransformen (DFT)

Trafikplats Danderyds kyrka

Glada barnröster kan bli för höga

Ha kul på jobbet är också arbetsmiljö

Arvika 2019_243 Stömne Bertil Persson Betongteknik AB DECIBEL - Huvudresultat Beräkning: VKV SWE99TM VKV typ Ljuddata

Hur simuleras Differential-Algebraiska Ekvationer?

TENTAMEN HF1006 och HF1008

2 Laboration 2. Positionsmätning

Lektion 3 Projektplanering (PP) Fast position Projektplanering. Uppgift PP1.1. Uppgift PP1.2. Uppgift PP2.3. Nivå 1. Nivå 2

FORD ST _ST_Range_V2_ MY.indd FC1-FC3 27/06/ :24:01

Om exponentialfunktioner och logaritmer

Skillnaden mellan KPI och KPIX

Perspektiv på produktionsekonomi - en introduktion till ämnet

v p ORTOGONALT KOMPLEMENT TILL ETT UNDERRUM

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

{ } = F(s). Efter lång tid blir hastigheten lika med mg. SVAR: Föremålets hastighet efter lång tid är mg. Modul 2. y 1

Jag klarar mig inte utan en rostfri bänk. Matkreatören Hannu Sarenström:

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

Skattning av respirationshastighet (R) och syreöverföring (K LA ) i en aktivslamprocess Projektförslag

OM DU ANVÄNDER HEROIN ÄR DU I RISKZONEN

Välkommen till. och. hedersvåld försvara ungdomarnas rättigheter. agera mot. Illustration: juno blom

KONTROLLSKRIVNING 3. Kurs: HF1012 Matematisk statistik Lärare: Armin Halilovic

Aerodynamik och kompressibel strömning

Spa. När Lotta Hellman ska förklara vad hon menar med sinnlighet. reslust tema spa

Ingen återvändo TioHundra är inne på rätt spår men behöver styrning

LOA ca, lokalyta: 2223 m2 ger ca 12,8 m2/arbetsplats BAU

TENTAMENSSKRIVNING ENDIMENSIONELL ANALYS DELKURS B2/A , arctan x x 2 +1

ByggeboNytt. Kenth. i hyresgästernas tjänst. Getingplåga Arbetsförmedlingen på plats i Alvarsberg. Nr Byggebo AB, Box 34, Oskarshamn

Damm och buller när avfall blir el

AMatematiska institutionen avd matematisk statistik

Rättningstiden är i normalfall 15 arbetsdagar, annars är det detta datum som gäller:

Finansiering. Föreläsning 2 Nuvärdeberäkningar BMA: Kap. 2. Jonas Råsbrant

Särskild utbildning för vuxna

Diskussion om rörelse på banan (ändras hastigheten, behövs någon kraft för att upprätthålla hastigheten, spelar massan på skytteln någon roll?

Kvalitativ analys av differentialekvationer

KOORDINATVEKTORER. BASBYTESMATRIS

Kvinnors arbetsmiljö. Rapport 2012:11. Tillsynsaktivitet 2012 inom regeringsuppdraget om kvinnors arbetsmiljö. Delrapport

Transkript:

Föreläning 3: Fler grafalgorimer Korae vägar mellan alla noder Maximal flöde i graf Bipari machning Korae vägar mellan alla noder Dijkra och Bellman-Ford algorimer beräknar korae avånd från en nod ill alla andra noder. Om man vill beräkna korae avånd mellan alla par av noder kräv mera arbee. En möjlighe är a ara Dijkra algorim n gånger medvarochenavden noderna om arnod. De kräver oal O(n 3 ) operaioner. Om man har negaiva viker kan man använda Bellman-Ford algorim iälle. Då kräv O(n ) operaioner. Floyd-Warhall algorim E mer omyck alernaiv är Floyd-Warhall algorim: Give en graf G = (V,E) med viker w ij på kanerna. Om (v i,v j ) E är w ij =. Beäm korae avånden mellan varje par av hörn i G! Lå d[i, j, k] vara korae avånde mellan v i och v j inkränk ill igar där bara hörnen v 1,...,v k förekommer (uöver v i och v j ). Då är d[i, j, 0] = w ij om i j och d[i, i, 0] = 0. Sedan gäller följande rekurionamband: d[i, j, k] =min{d[i, j, k 1],d[i, k, k 1] + d[k, j, k 1]} för k 1. De korae avånden vi är ue efer varar mo d[i, j, n] där n är anale noder. Följande algorim beräknar alla d-värden: Floyd-Warhall(G = V,E, W ) (1) n dim(w ) (2) for i 1 o n (3) for j 1 o n () d[i, j, 0] w ij (5) for k 1 o n (6) for i 1 o n (7) for j 1 o n (8) d[i, j, k] min(d[i, j, k 1],d[i, k, k 1] + d[k, j, k 1]) (9) reurn d Algorimen arbear i id O( V 3 ). De kan verka om om algorimen på amma id om Bellman-Ford algorim klarar av a beräkna alla avånd. Men lägg märke ill a BF arbear i id O( V E ) vilke för glea grafer är mindre. Negaiva cykler kan hia genom a man ear om d[i, i, k] < 0 för några i, k.

Maximal flöde i graf ViharenrikadgrafG med al c(u, v) definiera för varje par av noder å a 0 c(u, v). Om(u, v) / E måe c(u, v) =0.Viharenkälla och en änka. Exempel: 12 16 20 10 9 7 13 1 Med f(u, v) menar vi e flöde om kicka mellan u och v. För flöde kall följande gälla: 1.f(u, v) c(u, v) för alla u, v 2.f(u, v) = f(v, u) för alla u, v 3. v V f(u, v) =0 för alla u uom, Vi kallar f = v f(, v) för orleken på flöde. Lie noaion: Om X V,Y V å är f(x, Y )= x y f(x, y). Om x, å är f(x, V )=0. Deuom gäller f = f(, V ). De går lä a via a f = f(v,). Bevi: f = f(, V ). FörvarjedelmängdX gäller f(x, X) =0.Vifårf(, V )= f(v,v ) f(v, V )= f(v, V )=f(v,v ) f(v,)+f(v,v ) = f(v,). Hur hiar man maxflöde? Idé (Ford-Fulkeron): Om flöde ine är maximal å hiar vi en ig om de går a öka läng. Öka edan. Men hur hiar man ådana igar? Reidualgraf Give grafen G och e flöde f å äer vi c f (u, v) =c(u, v) f(u, v). " Kapacieen"c f (u, v) är e må på möjligheen a ändra flöde. Även om c(u, v) =0kan c f (u, v) > 0 om f(u, v) < 0. Menc f (u, v) 0 för alla u, v. Vi låer kanerna E f = {(u, v) :c f (u, v) > 0} bilda kanerna i reidualgrafen G f om har kapacieerna c f.

Exempel: Flöde av värde 3 i grafen 5 1 3 7 3 3 ger reflöde 5 1 3 3 Reidualgrafen G f anger hur mycke flöde kan ändra på de olika kanerna. Uökande ig En uökande ig p är en ig i G f.låδ p = min{c f (u, v) där (u, v) är kaner i p}. p f är en ändring i flöde om ge av δ p om(u, v) p p f(u, v) = δ p om(v, u) p 0 annar Vi bildar ny flöde genom a äa f (u, v) =f(u, v) + p f(u, v). Deger f = f + δ p. Ford-Fulkeron algorim Ford-Fulkeron(G = V,E,c) (1) foreach (u, v) E (2) f(u, v) 0 (3) f(v, u) 0 () while de finn väg p ådan a i G f (5) δ min{c f (u, v) :(u, v) p} (6) foreach (u, v) p (7) f(u, v) f(u, v)+δ (8) f(v, u) f(u, v)

Om uökande ig finn är f ine maximal. De omvända gäller : Om de ine finn uökande ig är f maximal. Hur viar man de? Sni E ni är en pariion av V i vå dijunka delar X och Y ådana a X och Y. Kapacieen C(X, Y ) är definierad om x X y Y c(x, y). Vikig olikhe: f C(X, Y ) för alla ni X, Y. Bevi: Vi har f = f(, V )=f(, V )+f(x, V )=f(x, V )=f(x, X)+ f(x, Y )=f(x, Y ).Menf(X, Y )= x y f(x, y) x y c(x, y) =C(X, Y ). Anag a f ine har någon uökande ig. Sä X f = {v å a de finn en ig v i G f }.SäY f = V X f.dåär (X f,y f ) e ni. Om u X f och v Y f och (u, v) E måe f(u, v) =c(u, v). Om (v, u) E måe f(v, u) =0. Vi har därför f = C(X f,y f ) Vi iner ockå a C(X f,y f ) måe vara e ni av minimal orlek. Ford-Fulkeron a: Värde på de maximala flöde i en graf är lika med värde på de minimala nie. Effekivare flödealgorimer De finn grafer för vilka Ford-Fulkeron algorim fungerar dålig: 1000 1000 1000 1000 1 Edmond och Karp hiade följade förbäring: Öka allid flöde läng den korae igen i reidualgrafen (hia med BFS). Hög V E ieraioner behöv. Dea ger idkomplexieen O( V E 2 ) O( V 5 ) eferom uppdaering av flöde ar id O( E ). Den bäa kända algorimen för probleme har idkomplexieen O (min( V 2/3, E 1/2 ) E ) (Goldberg och Rao, 1997). f(n) O (g(n)) om f(n) O(g(n)log k n) för någo k. Machning I en bipai graf G med V = X Y är en machning e urval av kaner å a inga kaner har gemenamma noder. Om m är machningen orlek och m = X har vi en fulländig machning X Y.Omm = X = Y har vi en perfek machning.

En beeckning: Om A X å är Γ(A) Y de noder om är förbundna med noder i A. P. Hall a: De finn en fulländig machning X Y om och enda om A Γ(A) för alla A X. Bevi: Enda om går lä a e. Vi viar de finn en fulländig machning om villkore är uppfyll. Vi anar a A Γ(A) allid gäller. Använd indukion över orleken på X. Om X =1å finn de förå machning. Fall1: A < Γ(A) gäller för alla A X. Väljx 1 X. Γ(x 1 ) > 1. Macha x 1 med någon granne y 1.SäX = X x 1, Y = Y y 1.LåΓ beeckna grannmängder i nya grafen. Lå A X. Villkore A Γ (A ) måe då gälla eferom A < Γ(A ) Enlig indukionanagande kan X macha in i Y. Fall2: De finn A å a A = Γ(A). Enlig indukionen kan A macha med en mängd Y A Y.SäX = X A, Y = Y Y A.LåA X. Vi vill via a A Γ (A ) Vi ve a Γ(A A) A + A. Γ (A A) =Γ(A ) Γ(A). Γ (A ) = Γ(A A) Γ(A) A A A = A. Indukionen viar a X kan macha in i Y. Maximal machning om flödeproblem Probleme a hia en maximal bipari machning (d.v.. maximal anal ingående kaner) kan löa genom a bilda e flödeproblem och edan löa de: Alla kaner har kapacie 1 rikad å höger. Konruera e maxflöde. Sa:Om alla kaner i en graf G har helalkapacieer å kommer maxflödealgorimen a ge e flöde om har helalvärde i alla kaner. I vår graf kommer kanerna a få flöde 0 eller 1. Lå M vara mängden av kaner om har flöde 1. Då kommer M a bilda en maximal machning.