Microsoft PowerPoint - mp13-07.pptx

Similar documents
Microsoft PowerPoint - mp11-06.pptx

Microsoft PowerPoint - ad11-09.pptx

離散数学

Microsoft PowerPoint - DA2_2019.pptx

PowerPoint Presentation

Microsoft PowerPoint - mp11-02.pptx

ネットワークフローとその代表的な問題

情報システム評価学 ー整数計画法ー

Microsoft PowerPoint - DA2_2017.pptx

Microsoft PowerPoint - 13approx.pptx

Microsoft PowerPoint - no1_17

Microsoft PowerPoint - no1_19.pptx

Microsoft PowerPoint - DA2_2018.pptx

PowerPoint プレゼンテーション

離散数学

Microsoft PowerPoint - DA2_2017.pptx

データ構造

AHPを用いた大相撲の新しい番付編成

Microsoft PowerPoint - DA2_2018.pptx

Microsoft PowerPoint - 06graph3.ppt [互換モード]

三者ミーティング

umeda_1118web(2).pptx

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦 正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語

Microsoft PowerPoint - 13基礎演習C_ITプランナー_2StableMatching.pptx

Microsoft PowerPoint - algo ppt [互換モード]

Microsoft Word ã‡»ã…«ã‡ªã…¼ã…‹ã…žã…‹ã…³ã†¨åłºæœ›å•¤(佒芤喋çfl�)

14.Graph2

人工知能入門

Microsoft PowerPoint SIGAL.ppt

スライド タイトルなし

Microsoft PowerPoint - 09-search.ppt [互換モード]

様々なミクロ計量モデル†

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

例 e 指数関数的に減衰する信号を h( a < + a a すると, それらのラプラス変換は, H ( ) { e } e インパルス応答が h( a < ( ただし a >, U( ) { } となるシステムにステップ信号 ( y( のラプラス変換 Y () は, Y ( ) H ( ) X (

学習指導要領

4 段階推定法とは 予測に使うモデルの紹介 4 段階推定法の課題 2

Microsoft PowerPoint - ca ppt [互換モード]

memo

Information Theory

Microsoft PowerPoint - H20第10回最短経路問題-掲示用.ppt

Microsoft PowerPoint - 05DecisionTree-print.ppt

Microsoft PowerPoint - 05.pptx

計算幾何学入門 Introduction to Computational Geometry

<4D F736F F D E4F8E9F82C982A882AF82E98D7397F1>

特殊なケースでの定式化技法

オートマトン 形式言語及び演習 4. 正規言語の性質 酒井正彦 正規言語の性質 反復補題正規言語が満たす性質 ある与えられた言語が正規言語でないことを証明するために その言語が正規言語であると

平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム A 札幌医科大学 年 P ab, を正の定数とする 平面上において ( a, を中心とする円 Q 4 C と (, b を中心とする円 C が 原点 O で外接している また P を円 C 上の点と

memo

DVIOUT-SS_Ma

Microsoft PowerPoint - 5.ppt [互換モード]

オートマトンと言語

学習指導要領

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ


Microsoft PowerPoint - stat-2014-[9] pptx

Microsoft PowerPoint - lec4.ppt

コンピュータグラフィックス第8回

学習指導要領

Microsoft PowerPoint - algo ppt [互換モード]

計算機シミュレーション

Microsoft Word - 微分入門.doc

混沌系工学特論 #5

ネットワークフロー入門

Microsoft Word - 201hyouka-tangen-1.doc

1999年度 センター試験・数学ⅡB

Microsoft PowerPoint - 応用数学8回目.pptx

大気環境シミュレーション

nlp1-04a.key

Microsoft PowerPoint - 06.pptx

中学 3 年数学 ( 東京書籍 ) 単元別コンテンツ一覧 単元ドリル教材解説教材 確認問題ライブラリ (OP) プリント教材 教材数 :17 問題数 : 基本 145, 標準 145, 挑戦 145 多項式と単項式の乗法 除法 式の展開 乗法公式などの問題を収録 解説教材 :6 確認問題 :6 単項

Microsoft PowerPoint - H20第10回最短経路問題-掲示用.ppt

始めに, 最下位共通先祖を求めるための関数 LcaDFS( int v ) の処理を記述する. この関数は値を返さない再帰的な void 関数で, 点 v を根とする木 T の部分木を深さ優先探索する. 整数の引数 v は, 木 T の点を示す点番号で, 配列 NodeSpace[ ] へのカーソル

NLMIXED プロシジャを用いた生存時間解析 伊藤要二アストラゼネカ株式会社臨床統計 プログラミング グループグルプ Survival analysis using PROC NLMIXED Yohji Itoh Clinical Statistics & Programming Group, A

PowerPoint Presentation

パソコンシミュレータの現状

Microsoft PowerPoint - 13.ppt [互換モード]

情報量と符号化

Microsoft PowerPoint - qcomp.ppt [互換モード]

学習指導要領

Microsoft PowerPoint - ppt-7.pptx

論理と計算(2)

頻出問題の解法 4. 絶対値を含む関数 4.1 絶対値を含む関数 絶対値を含む関数の扱い方関数 X = { X ( X 0 のとき ) X ( X <0 のとき ) であるから, 絶対値の 中身 の符号の変わり目で変数の範囲を場合分けし, 絶対値記号をはずす 例 y= x 2 2 x = x ( x

Microsoft Word - no11.docx

Taro-最大値探索法の開発(公開版

学習指導要領

2013年度 九州大・理系数学

行列、ベクトル

前期募集 令和 2 年度山梨大学大学院医工農学総合教育部修士課程工学専攻 入学試験問題 No.1/2 コース等 メカトロニクス工学コース 試験科目 数学 問 1 図 1 は, 原点 O の直交座標系 x,y,z に関して, 線分 OA,OB,OC を 3 辺にもつ平行六面体を示す. ここで, 点 A

2 α 2 A α 1 α 5 α 3 α 4 1.2: A 3 π n 4 n 3 n = 3 n 3 n = 2 1 α A 4π α/2π A = 4π α 2π = 2α n = 2 α α 1.3: 2 n = 3,, R 3 α, β, γ S 2,, R,, R 2, R 2 T T

Autodesk Inventor Skill Builders Autodesk Inventor 2010 構造解析の精度改良 メッシュリファインメントによる収束計算 予想作業時間:15 分 対象のバージョン:Inventor 2010 もしくはそれ以降のバージョン シミュレーションを設定する際

PowerPoint Presentation

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

Microsoft PowerPoint - H22制御工学I-2回.ppt

弾性定数の対称性について

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

Microsoft Word - NumericalComputation.docx

関数の定義域を制限する 関数のコマンドを入力バーに打つことにより 関数の定義域を制限することが出来ます Function[ < 関数 >, <x の開始値 >, <x の終了値 > ] 例えば f(x) = x 2 2x + 1 ( 1 < x < 4) のグラフを描くには Function[ x^

Microsoft PowerPoint - 4.pptx

Transcription:

数理計画法 ( 数理最適化 ) 第 7 回 ネットワーク最適化 最大流問題と増加路アルゴリズム 担当 : 塩浦昭義 ( 情報科学研究科准教授 ) hiour@di.i.ohoku.c.jp

ネットワーク最適化問題 ( 無向, 有向 ) グラフ 頂点 (verex, 接点, 点 ) が枝 (edge, 辺, 線 ) で結ばれたもの ネットワーク 頂点や枝に数値データ ( 距離, コストなど ) が付加されたもの ネットワーク最適化問題 ネットワークを使って表現される数理計画問題 無向グラフ B A 8 6 E 有向グラフ B 5 6 A E 8 9 C D 7 4 C D

ネットワーク最適化問題の例 ネットワーク に関する数理計画問題 最小木問題 (minimum pnning ree pro.) 最短路問題 (hore ph pro.) 最大流問題 (mximum flow pro.) 最小費用流問題 (minimum co flow pro.) 割当問題 (ignmen pro.) 他の講義で扱う アルゴリズムとデータ構造 情報数学 この授業で扱う

最大流問題の定義 ( その ) 入力 : 有向グラフ G = (V, E) ソース ( 供給点 ) V, シンク ( 需要点 ) V 各枝 (i, j) V の容量 u ij 0 ソース 5 4 c 6 d 9 シンク 枝の容量

最大流問題の定義 ( その ) 目的 : ソースからシンクに向けて, 枝と頂点を経由して もの を出来るだけたくさん流す 条件 ( 容量条件 ): 0 各枝を流れる もの の量 枝の容量条件 ( 流量保存条件 ): 頂点から流れ出す もの の量 = 流れ込む もの の量 5/5 0/4 c / 実行可能解の例 0/ 5/6 / / d / 4/9

最大流問題の定式化 : 変数, 目的関数と容量条件 変数 x ij : フロー = 枝 (i, j) を流れる もの の量変数 f: 総流量 = シンクに流れ込む もの の総量 = ソースから流れ出す もの の総量 目的 : ソースからシンクに もの を出来るだけ多く流したい 最大化 f 容量条件 :0 各枝を流れる もの の量 枝の容量 0 x ij u ij ( (i,j) E ) 最大化 f 容量条件 : 0 x 5, 0 x, 0 x 6, 0 x c 4, 0 x c,

最大流問題の定式化 : 流量保存条件 流量保存条件 : ( 頂点から流れ出す もの の量 ) - ( 流れ込む もの の量 ) = 0 {x kj 枝 (k,j) は頂点 k から出る } - {x ik 枝 (i,k) は頂点 k に入る } = 0 (k V {, }) ソースとシンクに関する条件 : {x j (,j) は から出る } - {x i (i,) は に入る } = f {x j (,j) は から出る } - {x i (i,) は に入る } = - f 流量保存条件の例 : x c + x x = 0 x c + x d x x = 0 x c + x cd x c x c = 0 x d x cd x d = 0 x + x = f, - x c x d = - f

最大流問題の定式化 : まとめ 最大化 f 条件 0 x ij u ij ( (i,j) E ) {x kj (k,j) は k から出る } - {x ik (i,k) は k に入る } = 0 (k:, 以外の頂点 ) {x j (,j) は から出る } - {x i (i,) は に入る } = f {x j (,j) は から出る }- {x i (i,) は に入る } = - f この問題の実行可能解 x ij --- 実行可能フロー総流量が最大の実行可能フロー --- 最大フロー

最大流問題の応用例 物流 シーズン途中でのプロ野球チームの優勝可能性判定 残り試合全勝しても優勝の可能性がないかどうか? 画像処理における物体の切り出し 画像内の物体のみ取り出す その他多数

最大流問題の解法 最大流問題は線形計画問題の特殊ケース 単体法で解くことが可能 最大流問題は良い ( 数学的な ) 構造をもつ この問題専用の解法 ( 増加路アルゴリズムなど ) を使うと, より簡単 & より高速に解くことが可能

最大フローの判定 問題の例 フロー例 : 最大? 最大ではない フロー例 : 最大? 最大ではない 0 0 0+ + 0 + 最大フローであることの判定を - 効率よく行うには? 残余ネットワークを利用 0 +

残余ネットワークの定義 残余ネットワークの作り方 /4 / / 0/ / 問題例とフロー各枝のデータは ( フロー量 / 容量 ) 枝 (,) において さらに 4-= だけフローを流せる 残余ネットワークに容量 の枝 (,) を加える 現在のフロー を逆流させて 0 にすることが出来る 容量 の枝 (,) を加える

残余ネットワークの定義 残余ネットワークの作り方 /4 / / 0/ / 問題例とフロー 同様の操作を各枝に行う 残余ネットワークの完成

残余ネットワークの定義 ( まとめ ) x = (x ij (i,j) E): 現在のフロー フロー x に関する残余ネットワーク G x = (V, E x ) E x = F x R x i j x ij < u ij 順向きの枝集合 F x = { (i, j) (i, j) E, x ij < u ij } i j 各枝の容量 u x ij = u ij x ij 容量 u ij -x ij 逆向きの枝集合 R x = { (j, i) (i, j) E, x ij > 0} 各枝の容量 u x ji = x ij i x ij > 0 j i 容量 x ij 注意!: 現在のフローが変わると残余ネットワークも変わる j

残余ネットワークに関する定理 増加路 : 残余ネットワークでのソース からシンク へのパス ( 路 みち ) 定理 : 残余ネットワークに増加路が存在する 現在のフローの総流量は増加可能 定理 : 残余ネットワークに増加路が存在しない 現在のフローは最大フロー

定理 の例 定理 : 残余ネットワークに増加路が存在する 現在のフローの総流量は増加可能 証明 : 増加路 (- パス ) を使うと, 本当に総流量を増加できる 現在のフロー x 残余ネットワーク 新しいフロー x 0/ 0/ 0/ 0/ 0/4 4 0 0 0 0+ 0+ 増加路が存在 総流量が 増えた

定理 の例 現在のフロー x 残余ネットワーク 新しいフロー x 0/ 0/ 0/ / /4 / / 0/ / /4 0+ 0+ + - + 0+

定理 の例 定理 : 残余ネットワークに - パスが存在しない 現在のフローは最大フロー 証明は次回 与えられた問題現在のフロー残余ネットワーク 4 - パスがない 現在のフローは最適!

増加路アルゴリズム 最大フローを求めるアルゴリズム ステップ0: 初期の実行可能フローとして, 全ての枝のフロー量を0とするステップ: 現在のフローに関する残余ネットワークを作るステップ: 残余ネットワークに増加路が存在しない 終了ステップ: 残余ネットワークの増加路をひとつ求め, それを用いて現在のフローを更新するステップ4: ステップへ戻る

増加路アルゴリズムの計算時間 各枝の容量は整数と仮定 U = 容量の最大値 m = 枝の数, n = 頂点の数 各反復において総流量が 以上増加 反復回数 総流量の最大値 m U 各反復での計算時間 = 残余ネットワークの増加路を求める時間 深さ優先探索, 幅優先探索などを使うと O(m + n) 時間 計算時間は O((m+n) m U) ( 入力サイズは m + n + log U なので, 指数時間 )

増加路アルゴリズムの改良 反復回数を少なくしたい 各反復での増加路の選び方を工夫する ( 改良法 ) 各反復での総流量の増加量を大きくする 各反復で容量最大の増加路を選ぶ 反復回数 O(m log (n U)), 計算時間 O(m log (n U)) ( 改良法 ) 各反復で最短 ( 枝数最小 ) の増加路を選ぶ 反復回数 O(m n), 計算時間 O(m n) この他にも, 増加路アルゴリズムの計算時間を短縮するための様々なテクニックが存在全く違うアイディアのアルゴリズム : プリフロー を利用

カット フローを流すとき, ネットワークのボトルネックはどこ? カット (S, T): S, T は頂点集合 Vの分割 ( ) S はソース を含む,Tはシンク を含むカット (S, T) の容量 C(S,T) = SからTへ向かう枝の容量の和 5 4 c 最小カット : 容量が最小のカット 6 d 9 S T C(S,T)=5++9=6

カットの性質 ( その ) 性質 : 任意のカット (S, T) と任意の実行可能フロー (x ij (i,j) E) に対し SからTへの枝のフローの和 x(s,t) ー TからSへの枝のフローの和 x(t,s) = フローの総流量 f 5/5 0/4 c / f = + 4 = 5 x(s, T) = 5 + + 4 = 5/6 0/ / / d / 4/9 S T x(t, S) = 5 + = 6 f = 6 = 5

レポート問題 問 : 次の つの最大流問題に対する定式化を書きなさい 問 : 次の つの最大流問題に対して, 増加路アルゴリズムで最大流を求めよ ( 各反復での残余ネットワークやフローを省略せずに書くこと ) 問 : つのグラフの最小カット ( と思われるカット ) を求めよ ( 頑張って探してみてください ) 提出締切 : 次回講義 (/5) () 4 5 () c d