Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilStanislava Bártová
1
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 1 / 35 TOKY V SÍTÍCH Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2013/2014, Lekce 10 https://edux.fit.cvut.cz/courses/BI-GRA Doc. Josef Kolář (ČVUT)Toky v sítích II
2
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 2 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 2 / 35 Výsledky midtermu Po + UT 1 x 4b + 1 x 7b + 1 x 12 + 4 x 14b
3
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 3 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 3 / 35 Toky v sítích Seznámíme se s následujícími pojmy: síť, kapacita hran, tok v síti, velikost toku maximální tok, řez sítě, kapacita řezu, zlepšující cesta algoritmus Forda-Fulkersona, sítě s omezeným tokem párování, maximální párování, přiřazovací úloha Skripta kap. 8, str. 148 – 155
4
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 4 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 4 / 35 Síť S = G,q,s,t G = H, U je orientovaný graf q: H N je kapacita hran, q(u,v) = q uv s U je zdroj sítě S, t U je spotřebič sítě S Definice sítě (Přípustným) tokem v síti S je přiřazení f: H Z splňující podmínky: 0 f(u,v) q(u,v) pro všechny hrany (u,v) H (u,v) H f(u,v) - (v,u) H f(v,u) = 0 pro všechny uzly u U, u s,t Velikost |f| toku f je rozdíl (s,v) H f(s,v) - (v,s) H f(v,s) = (v,t) H f(v,t) - (t,v) H f(t,v) 0 t
5
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 5 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 5 / 35 Jaká je maximální velikost s t toku v síti? Jak se maximální velikost toku určí? Jak je maximální tok rozložen do jednotlivých hran? zdroje spotřebiče st Variantní zadání: sítě s více zdroji a spotřebiči sítě s omezenou kapacitou uzlů sítě s omezeným minimálním tokem (ukážeme později) 0 r(u,v) f(u,v) q(u,v) sítě s oceněným tokem c(f) = f(u,v). c(u,v) ( (u,v) H) cena toku hledá se (přípustná) cirkulace s minimální cenou Základní úlohy na síti
6
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 6 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 6 / 35 Řez sítě - hranový řez, který odděluje zdroj s od spotřebiče t {U s, U t } - odpovídající rozklad množiny uzlů H(U s U t ) - hranový řez určený rozkladem uzlů V: Pro libovolný tok f a řez sítě H(U s U t ) platí |f| q(U s U t ) Kapacita řezu sítě: q(U s U t ) = q(u,v) přes hrany (u,v), u U s, v U t UsUs UtUt Maximální tok a řezy sítě
7
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 7 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 7 / 35 Velikost toku tedy nepřekročí kapacitu (žádného) řezu sítě. Jak poznáme, že daný tok je maximální? ++ ++ -- -- ++ V: Tok f je maximálním tokem v síti S=G, q, s, t neexistuje (neorientovaná) cesta (tzv. zlepšující cesta) P=u 0,u 1,...,u n , u 0 =s, u n =t taková, že platí: f(u i, u i+1 ) < q(u i, u i+1 ) pro hrany (u i, u i+1 )H (s t) f(u i+1, u i ) > 0 pro hrany (u i+1, u i )H (s t) Zvýšení toku podél zlepšující cesty: a = min(q(u i, u i+1 ) - f(u i, u i+1 )) b = min(f(u i+1, u i )) = min ( a, b ) Řešení základní úlohy
8
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 8 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 8 / 35 Algoritmus Forda-Fulkersona V: (max flow - min cut) Velikost maximálního toku sítě je rovna kapacitě jejího minimálního řezu. Ford-Fulkerson (S) 1for ( Edge (u,v) in H(G) ) f(u,v) = 0; 2while ( NajdiCestu(S) ) ZvyšTok(S); 3 return f;
9
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 9 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 9 / 35 boolean NajdiCestu (Node s) { 1 for ( Node u in U(G) ) stav[u]=FRESH; 2 p[s] = +s; d[s] = ; stav[s] = OPEN; 3 do { u = "libovolný otevřený uzel"; 4 stav[u] = CLOSED; 5 for ( Node v in (u) ) { 6 if ( (stav[v]==FRESH) && (f(u,v)<q(u,v)) ) { 7 stav[v]=OPEN; p[v]=+u; d[v]=min(d[u],q(u,v)-f(u,v)); 8 } } 9 for ( Node v in -1 (u) ) { 10 if (stav[v]==FRESH) && (f(v,u)>0) ) { 11 stav[v]=OPEN; p[v]=-u; d[v]=min(d[u],f(v,u)); 12 } } 11 } while ( ( "neexistuje otevřený uzel" ) || (u == t) ); 12 return (u == t); 13 } NajdiCestu hledá zlepšující cestu prohledáváním sítě d[u] průběžně počítané , stav[u], p[u] (+ pro , - pro ) Algoritmus Forda-Fulkersona
10
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 10 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 10 / 35 void ZvyšTok (Node s) { 1 x = t; = d[t]; 2 do { v = x; sgn = p[v]; u = abs(sgn); 3 if (sgn>0) f(u,v) += ; 4 else f(v,u) -= ; 5 x = u; 6 } while ( v==s ); } ? Složitost ? NajdiCestu... O(|U|+|H|)ZvyšTok... O(|U|) ? Celý algoritmus ? O(|U|. |H|**2), O(|U|**2. |H|), O(|U|**3) Další zrychlení pro speciální případy (planární sítě) O(|U| 2 )... až na O(|U|. lg|U|) Algoritmus Forda-Fulkersona ts x=vu ++ u -- u ++
11
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 11 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 11 / 35 Příklad 3 z kontrolní otázky 10.1 4 8 6 2 5 4 3 4 44 2 8 4 1086 9 s2 t1 t2 s1 s t 9
12
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 12 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 12 / 35 4/4 8/4 6/4 2 5 4 3 4 44 2 8 1086 9 10/4 s2 t1 t2 s1 s t Příklad 3 z kontrolní otázky 10.1
13
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 13 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 13 / 35 Příklad 3 z kontrolní otázky 10.1 4/4 8/4 6/4 2 5 4 3 4 44 2 8 4 10/68/66/6 9/6 10/4 s2 t1 t2 s1 s t
14
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 14 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 14 / 35 4/4 8/7 6/4 2 5 /3 4 3 4 /3 44 2 8 10/68/66/6 9/9 10/7 s2 t1 t2 s1 s t Příklad 3 z kontrolní otázky 10.1
15
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 15 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 15 / 35 4/4 8/8 6/5 2 5 /4 4 3 4 /3 44 2 8 10/68/66/6 9/9 10/8 s2 t1 t2 s1 s t Příklad 3 z kontrolní otázky 10.1
16
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 16 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 16 / 35 4/4 8/8 6/5 2 5 /4 4 3 4 /3 44 2 8 10/68/66/6 9/9 10/8 s2 t1 t2 s1 s t Příklad 3 z kontrolní otázky 10.1
17
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 17 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 17 / 35 4/4 8/8 6/5 2 5 /5 4 3/1 4 /3 44 2 8 10/68/66/6 9/9 10/8 s2 t1 t2 s1 s t Příklad 3 z kontrolní otázky 10.1
18
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 18 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 18 / 35 4/4 8/8 6/5 2 5 /5 4 3/3 4 /1 44 2 8 4 /3 10/68/86/6 9/9 10/8 s2/ 13 t1/ 8 t2/ 9 s1/ 4 s t q(H s x H t )=17 Příklad 3 z kontrolní otázky 10.1
19
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 19 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 19 / 35 Přípustný tok hranou (u,v) musí splňovat podmínku 0 ≤ r(u,v) ≤ f(u,v) ≤ q(u,v) Metoda řešení: převod na základní úlohu s t r1/q1 r2/q2 r3/q3 r4/q4 r1 r4 r1 r3 r2 q1-r1 q2-r2 q3-r3 q4-r4 r4 r3 s's't't' Sítě s omezeným minimálním tokem
20
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 20 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 20 / 35 ? Co dál ? Nalezneme maximální tok s' t'. ?Nasycuje nově přidané hrany? ANO – vrátíme se do původní sítě, kde už máme přípustný tok a zlepšujeme jej standardně podél zlepšujících cest (ale nesmí klesnout pod hodnotu omezení ve hranách, kde to je požadováno!!!) NE - úloha nemá řešení Sítě s omezeným minimálním tokem Max flow – min cut teorém platí, pokud upravíme definici kapacity hranového řezu (odečítají se minima toku ve směru t s) q(U s U t ) = q(u,v) - r(x,y), kde (u,v) U s U t, (x,y) U t U s
21
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 21 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 21 / 35 Sítě se zápornými toky: r(u,v)<0 nebo i q(u,v)<0 pro r(u,v) q(u,v) 0 obrátíme orientaci hrany (u,v) na (v,u) a určíme meze 0 -q(v,u) -r(v,u) pro r(u,v) < 0 < q(u,v) přidáme opačně orientovanou hranu (v,u) s kapacitou q(v,u) = -r(u,v), minimum v obou hranách bude 0 Tok v neorientované síti: předp. nulový minimální tok neorientovanou hranu nahradíme dvojicí opačně orientovaných hran se stejnou kapacitou q(u,v) = q(v,u) výsledný tok je rozdílem toků a má směr většího ze dvou Další varianty sítě -3 / -11 / 3-3 / 22 3 3 3 3
22
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 22 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 22 / 35 Cirkulace splňuje podmínku (u,v) H f(u,v) - (v,u) H f(v,u) = 0 pro všechny uzly u U (předpokládáme síť s omezením 0 r(u,v) f(u,v) q(u,v) ) Cirkulace v síti Základní otázka – KDY existuje přípustná cirkulace? Právě tehdy, když každý hranový řez má nezápornou kapacitu q(U1 U2) = (u,v) U1 U2 q(u,v) - (x,y) U2 U1 r(x,y) 0, Interpretace: "může odtéct aspoň tolik, kolik musí přitéct" pro konkrétní tok (cirkulaci) je pochopitelně f(u,v) - f(x,y) = 0 u
23
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 23 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 23 / 35 Algoritmus určení přípustné cirkulace Vstup: síť S s omezeními r (minimální tok) a q (kapacita), f je libovolná cirkulace v síti (např. nulová) 1.Najdeme hranu (u,v) s nepřípustným tokem, pokud neexistuje, cirkulace je přípustná - STOP. 2.a) je-li f(u,v) < r(u,v), položíme =r(u,v)-f(u,v) b) hledáme zlepšující cestu C(v u), pokud neexistuje, pak přípustná cirkulace neexistuje - STOP c) zvýšíme cirkulaci kružnicí C (u,v) pro (u,v) uvažujeme kapacitu , pokračujeme krokem 1. 3.a) je-li f(u,v) > q(u,v), položíme =f(u,v)-q(u,v) b) hledáme zlepšující cestu C(u v), pokud neexistuje, pak přípustná cirkulace neexistuje - STOP c) zvýšíme cirkulaci kružnicí C (v,u) pro (v,u) uvažujeme kapacitu , pokračujeme krokem 1. Určení nějaké přípustné cirkulace
24
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 24 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 24 / 35 Hledání přípustné cirkulace - ilustrace Situace podle bodu 2: tok f(u,v) pod dolní mezí r(u,v), f(u,v) < r(u,v) tok hranou (u,v) zvyšujeme o hodnotu =r(u,v)-f(u,v) >0 u v Situace podle bodu 3: tok f(u,v) nad kapacitou q(u,v) f(u,v) > q(u,v) tok hranou (u,v) snižujeme o hodnotu =f(u,v)-q(u,v) > 0 u v orientace zvýšení cirkulace
25
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 25 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 25 / 35 Opět: převodem na základní úlohu Variantní určení přípustné cirkulace 1/5 3/5 4/6 2/6 4/6 2/6 1/4 2/4 (4+2)-(1+3)= 2 > 0 (1+2)-(4+2)= -3 < 0 s t 2 3 Spočteme rozdíly dolních mezí toku vystupující minus vstupující hrany Kladné uzly napojíme na t, do záporných vedeme z s
26
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 26 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 26 / 35 Opět: převodem na základní úlohu Variantní určení přípustné cirkulace 1/5 3/5 4/6 2/6 4/6 2/6 1/4 2/4 s t 2 3 Určíme nové kapacity q’(u,v) = q(u,v)-r(u,v) Opakujeme pro všechny uzly i hrany 4 2 2 4 2 4 3 2 Nalezneme maximální s t tok
27
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 27 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 27 / 35 Variantní určení přípustné cirkulace 1/5 3/5 4/6 2/6 4/6 2/6 1/4 2/4 s t 2 3 Dostali jsme maximální tok, který saturuje přidané hrany? 3 2 0 3 1 1 3 2 Nalezneme maximální s t tok
28
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 28 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 28 / 35 Variantní určení přípustné cirkulace 1/5 3/5 4/6 2/6 4/6 2/6 1/4 2/4 s t 2 3 Určíme nový tok přičtením dolní meze toku f’(u,v) = f(u,v)+r(u,v) Provedeme pro všechny hrany 3+1 2+3 0+4 3+2 1+4 1+2 3+1 2+2 Odstraníme s, t a všechny přidané hrany
29
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 29 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 29 / 35 Variantní určení přípustné cirkulace 1/5 3/5 4/6 2/6 4/6 2/6 1/4 2/4 4 5 4 5 5 3 4 4 Získali jsme přípustnou cirkulaci
30
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 30 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 30 / 35 Nejlevnější cirkulace S – síť s kapacitou q, dolní mezí toku r a jednotkovou cenou toku c: H Z (cena může být i záporná) Cena cirkulace f:C(f) = (u,v) H f(u,v).c(u,v) Zlepšující kružnice – definuje se analogicky jako zlepšující cesta: má jednu ze dvou možných orientací hrany ve směru (vpřed) musí mít rezervu q(u,v) – f(u,v) > 0 hrany proti směru (vzad) musí mít rezervu f(u,v) – r(u,v) > 0 hrana vpřed hrana vzad
31
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 31 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 31 / 35 Nejlevnější cirkulace Cena zlepšující kružnice – je rovna součtu jednotkových cen hran vpřed minus součet jednotkových cen hran vzad. Je-li cena zlepšující kružnice p a změníme-li tok podle ní o hodnotu , pak celková cena cirkulace vzroste o hodnotu .p. Věta Přípustná cirkulace f je nejlevnější cirkulací v síti S právě tehdy, když v síti S neexistuje vzhledem k cirkulaci f žádná zlepšující kružnice se zápornou cenou. Přírůstková síť S f vzhledem k toku f má stejné uzly jako S a hrany H' pro (u,v) H: f(u,v) < q(u,v) je (u,v) H' a má kapacitu q’(u,v) = q(u,v) - f(u,v) pro (u,v) H: f(u,v) > r(u,v) je (v,u) H' a má kapacitu q’(v,u) = f(u,v) - r(u,v) Zlepšující cesta (kružnice) v S = orientovaná cesta (cylus) v S'
32
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 32 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 32 / 35 Algoritmus nalezení nejlevnější cirkulace 1.Nalezneme přípustnou cirkulaci f v síti S, pokud neexistuje, končíme. 2.Sestrojíme přírůstkovou síť S f vzhledem k cirkulaci f. 3.Jednotkové ceny považujeme za délky hran v síti S f a najdeme zde cyklus se zápornou délkou. Pokud neexistuje, f je nejlevnější cirkulace. 4.V síti S sestrojíme zlepšující kružnici odpovídající nalezenému cyklu, provedeme úpravu cirkulace podél této kružnice a pokračujeme krokem 2.
33
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 33 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 33 / 35 Aplikace toků - maximální párování Párování v grafu - "nezávislá" podmnožina hran (žádné dvě nemají společný uzel). Perfektní párování pokrývá všechny uzly. Maximální párování pokrývá co nejvíce uzlů. Při ohodnocených hranách můžeme hledat nejlevnější maximální párování. Nejdražší párování má největší součet cen.
34
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 34 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 34 / 35 Přiřazovací úloha - určit nejlevnější perfektní párování v úplném bipartitním grafu K n,n. Příklad na maximální párování v neorientovaném bipartitním grafu G s rozkladem uzlů U = X Y X Y původní graf Nalezneme maximální tok pomocí algoritmu Ford-Fulkerson – získáme maximální párování (hrany s nenulovým tokem). s 1 1 1 1 t 1 1 1 1 1 Úlohy na párování
35
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 35 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 35 / 35 Kontrolní otázky 10.1Určete maximální tok ze zdrojů do spotřebičů v sítích G 1 až G 3. Dvojitě vytažené uzly v síti G 3 mají kapacitu omezenu uvedenou hodnotou.
36
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 36 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 36 / 35 Kontrolní otázky 10.2Předpokládejte, že síť má tvar kořenového stromu, zdroj sítě je umístěn v kořeni s. Navrhněte efektivní algoritmus, který pro každý list u i stromu uvažovaný jako jediný spotřebič určí maximální tok s u i. 10.3 Předpokládejte, že síť má tvar kořenového stromu, zdroj sítě je umístěn v kořeni s. Navrhněte efektivní algoritmus pro určení takových minimálních kapacit jednotlivých hran, které zajistí, že do všech listů {u i } stromu lze současně dopravit maximální tok velikosti 1.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.