Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
回路システム ― 最大フローアルゴリズム ― PowerPoint Presentation
Download Presentation
回路システム ― 最大フローアルゴリズム ―

回路システム ― 最大フローアルゴリズム ―

81 Views Download Presentation
Download Presentation

回路システム ― 最大フローアルゴリズム ―

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. 回路システム―最大フローアルゴリズム― 担当 本木 実

  2. ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0  最大フローアルゴリズム(ラベリング法) z u 0. 4 3 全てのノードが「ラベル付け未」 4 3 2 4 v t s 全ての経路のフローは0 3 y 3 2 2 2 4 4 w 2 x

  3. u(s+,4) z(u+,4) 4,0 ◎ルーチンB(フロー変更) 3,0 4,0 3,0 2,0 yにラベル(x+,ε(t))があれば: fxyを( fxy + ε(t) )に変更 s(-,ε(s) =∞) v(s+,4) y(u+,2) t 3,0 3,0 (x+,2) 2,0 2,0 yにラベル(x-,ε(t))があれば: fyxを( fyx - ε(t) )に変更 4,0 w(s+,4) 2,0 x(v+,2)  最大フローアルゴリズム(ラベリング法) (s+,4) (u+,4) z ◎ルーチンA(ラベル付け) u (a) 4,0 ラベル(x+,ε(y)):  経路に沿って節xから ε(y)だけ増加させられる。 ε(y)=min[ε(x),Cxy-fxy] 3,0 4,0 3,0 2,0 s (-,ε(s) =∞) 4,0 (s+,4) v (u+,3) y t 3,0 3,0 (x+,2) 2,0 2,0 2,0 4,0 4,0 ラベル(x-,ε(y)):  経路に沿って節xから ε(y)だけ減少させられる。 (s+,4) 2,0 w x (v+,2) 4,2 2,2 4,2

  4. u(s+,4) z(u+,4) 4,0 ◎ルーチンB(フロー変更) 3,0 4,0 3,0 2,0 yにラベル(x+,ε(t))があれば: fxyを( fxy + ε(t) )に変更 s(-,ε(s) =∞) 4,2 v(s+,2) y(u+,3) t 3,0 3,0 (x+,2) 2,0 2,0 yにラベル(x-,ε(t))があれば: fyxを( fyx - ε(t) )に変更 2,2 w(s+,4) x(w+,2)  最大フローアルゴリズム(ラベリング法) (s+,4) (u+,4) z ◎ルーチンA(ラベル付け) u (b) 4,0 ラベル(x+,ε(y)):  経路に沿って節xから ε(y)だけ増加させられる。 ε(y)=min[ε(x),Cxy-fxy] 3,0 4,0 3,0 2,0 (-,ε(s) =∞) s 4,2 (s+,2) v (u+,3) y t 3,0 3,0 (x+,2) 2,0 2,0 2,2 4,0 4,2 ラベル(x-,ε(y)):  経路に沿って節xから ε(y)だけ減少させられる。 (s+,4) 2,0 w (w+,2) x 4,2 4,4 2,2

  5. u(s+,4) z(u+,4) 4,0 ◎ルーチンB(フロー変更) 3,0 2,0 yにラベル(x+,ε(t))があれば: fxyを( fxy + ε(t) )に変更 s(-,ε(s) =∞) 4,2 v(s+,2) y(u+,3) t 3,0 (y+,3) 2,0 2,0 yにラベル(x-,ε(t))があれば: fyxを( fyx - ε(t) )に変更 2,2 4,2 4,4 w(s+,2) 2,2 x  最大フローアルゴリズム(ラベリング法) (s+,4) (u+,4) z ◎ルーチンA(ラベル付け) u (c) 4,0 ラベル(x+,ε(y)):  経路に沿って節xから ε(y)だけ増加させられる。 ε(y)=min[ε(x),Cxy-fxy] 3,0 4,0 3,0 2,0 s (-,ε(s) =∞) 4,2 (s+,2) v (u+,3) y t 3,0 3,0 (y+,3) 2,0 2,0 2,2 4,2 4,4 ラベル(x-,ε(y)):  経路に沿って節xから ε(y)だけ減少させられる。 (s+,2) 2,2 w x 4,3 3,3 3,3

  6. u(s+,1) z(u+,1) ◎ルーチンB(フロー変更) 3,3 2,0 yにラベル(x+,ε(t))があれば: fxyを( fxy + ε(t) )に変更 s(-,ε(s) =∞) 4,2 v(s+,2) y(v+,2) t 3,0 3,3 (z+,1) 2,0 2,0 yにラベル(x-,ε(t))があれば: fyxを( fyx - ε(t) )に変更 2,2 4,2 4,4 w(s+,2) 2,2 x  最大フローアルゴリズム(ラベリング法) (s+,1) (u+,1) z ◎ルーチンA(ラベル付け) u (d) 4,0 ラベル(x+,ε(y)):  経路に沿って節xから ε(y)だけ増加させられる。 ε(y)=min[ε(x),Cxy-fxy] 3,0 4,3 3,3 2,0 s (-,ε(s) =∞) 4,2 (s+,2) v (v+,2) y t 3,0 3,3 (z+,1) 2,0 2,0 2,2 4,2 4,4 ラベル(x-,ε(y)):  経路に沿って節xから ε(y)だけ減少させられる。 (s+,2) 2,2 w x 4,1 3,1 4,4

  7. u(y-,2) z(u+,2) ◎ルーチンB(フロー変更) 4,4 2,0 yにラベル(x+,ε(t))があれば: fxyを( fxy + ε(t) )に変更 s(-,ε(s) =∞) v(s+,2) y(v+,2) t 3,3 (z+,2) 2,0 2,0 yにラベル(x-,ε(t))があれば: fyxを( fyx - ε(t) )に変更 2,2 4,2 4,4 w(s+,2) 2,2 x  最大フローアルゴリズム(ラベリング法) (y-,2) (u+,2) z ◎ルーチンA(ラベル付け) u (e) 4,1 ラベル(x+,ε(y)):  経路に沿って節xから ε(y)だけ増加させられる。 ε(y)=min[ε(x),Cxy-fxy] 3,1 4,4 3,3 2,0 s (-,ε(s) =∞) 4,2 (s+,2) v (v+,2) y t 3,0 3,3 (z+,2) 2,0 2,0 ラベル(x-,ε(y)):  経路に沿って節xから ε(y)だけ減少させられる。 ε(y)=min[ε(x),fyx] 2,2 4,2 4,4 (s+,2) 2,2 w x 4,3 3,3 3,1 4,4 3,2

  8. u(y-,1) z(u+,1) 4,3 ◎最小カットを探す 3,3 4,4 3,1 _ 2,0 s(-,ε(s) =∞) XXが最小カット 4,4 v(w+,2) y(v+,1) t X={s,w,v,y,u,z} 3,2 3,3 _ X={x,t} 2,0 2,0 2,2 4,2 4,4 最大フローは   3+3+2+2=10 w(s+,2) 2,2 x  最大フローアルゴリズム(ラベリング法) 付けられず (y-,1) (u+,1) z ◎ルーチンA(ラベル付け) u (f) 4,3 ラベル(x+,ε(y)):  経路に沿って節xから ε(y)だけ増加させられる。 ε(y)=min[ε(x),Cxy-fxy] 3,3 4,4 3,1 2,0 s (-,ε(s) =∞) 4,4 (w+,2) v y (v+,1) t 3,2 3,3 2,0 2,0 ラベル(x-,ε(y)):  経路に沿って節xから ε(y)だけ減少させられる。 ε(y)=min[ε(x),fyx] 2,2 4,2 4,4 (s+,2) 2,2 w x ラベル付け未 ラベル付け未