Microsoft PowerPoint - DA2_2019.pptx

Similar documents
Microsoft PowerPoint - DA2_2017.pptx

Microsoft PowerPoint - mp13-07.pptx

PowerPoint Presentation

Microsoft PowerPoint - DA2_2018.pptx

Microsoft PowerPoint - DA2_2017.pptx

離散数学

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

Microsoft PowerPoint - 13approx.pptx

Microsoft PowerPoint - ad11-09.pptx

Microsoft PowerPoint - DA2_2018.pptx

離散数学

学習指導要領

PowerPoint プレゼンテーション

計算幾何学入門 Introduction to Computational Geometry

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

2015年度 信州大・医系数学

Microsoft PowerPoint - ppt-7.pptx

ネットワークフロー入門

学習指導要領

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

Microsoft PowerPoint - mp11-02.pptx

グラフの探索 JAVA での実装

PowerPoint Presentation

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,

グラフ理論における偶奇性の現象

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

学習指導要領

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

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

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

Information Theory

14.Graph2

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

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

PowerPoint Presentation

2-1 / 語問題 項書換え系 4.0. 準備 (3.1. 項 代入 等価性 ) 定義 3.1.1: - シグネチャ (signature): 関数記号の集合 (Σ と書く ) - それぞれの関数記号は アリティ (arity) と呼ばれる自然数が定められている - Σ (n) : アリ

学習指導要領

航空機の運動方程式

学習指導要領

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

1 1. はじめに ポンスレの閉形定理 Jacobi の証明 June 5, 2013 Akio Arimoto ヤコビは [2] においてポンスレの閉形定理に初等幾何を用いた証明を与え ている 大小 2つの円があり 一方が他方を完全に含んでいるとする 大小 2 円の半径をそれぞれ Rr, とする

線積分.indd

umeda_1118web(2).pptx

算法の設計と評価

Microsoft Word - 201hyouka-tangen-1.doc

Microsoft Word - 町田・全 H30学力スタ 別紙1 1年 数学Ⅰ.doc

学習指導要領

Microsoft PowerPoint - mp11-06.pptx

レッスン15  行列とグラフ

学習指導要領

<4D F736F F D208C51985F82CD82B682DF82CC88EA95E A>

PowerPoint プレゼンテーション

学習指導要領

1. はじめに 二分木ヒープ 様々なアルゴリズムにおいて ある要素の集合またはリストから 最小 な要素を取り 出す必要がある そのような場合に使われる標準的データ構造が二分木ヒープ (binary heap) である あるオブジェクトO を考える そのオブジェクトは ラベル O. label と値

vecrot

オートマトンと言語

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

2014年度 信州大・医系数学

部分グラフ 与えられたグラフの一部分からなるグラフ 与えられたグラフ 経路 ( パス ) や全域木などは部分グラフ 部分グラフの例 部分グラフ列挙 与えられた条件を満たす部分グラフをすべて求める 例 : から までの 同じ頂点を通らない経路は? - 経路 (- パス ) 全域木 5 6 部分グラフ列

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

ファイナンスのための数学基礎 第1回 オリエンテーション、ベクトル

alg2015-6r3.ppt

Microsoft PowerPoint - 05.pptx

アルゴリズムとデータ構造

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

PowerPoint プレゼンテーション

2011年度 東京大・文系数学

Math-Aquarium 例題 図形と計量 図形と計量 1 直角三角形と三角比 P 木の先端を P, 根元を Q とする A 地点の目の位置 A' から 木の先端への仰角が 30,A から 7m 離れた AQB=90 と なる B 地点の目の位置 B' から木の先端への仰角が 45 であ るとき,

IPSJ SIG Technical Report Vol.2015-AL-152 No /3/3 1 1 Hayakawa Yuma 1 Asano Tetsuo 1 Abstract: Recently, finding a shortest path in a big graph

チェビシェフ多項式の2変数への拡張と公開鍵暗号(ElGamal暗号)への応用

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

2016年度 京都大・文系数学

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

学力スタンダード(様式1)

. 角の二等分線と調和平均 平面上に点 を端点とする線分 と を重ならないようにとる, とし とする の二等分線が線分 と交わる点を とし 点 から に垂直に引いた直線が線分 と交わる点 とする 線分 の長さを求めてみよう 点 から に垂直な直線と および との交点をそれぞれ, Dとする つの直角三

データ構造

2015-2017年度 2次数学セレクション(複素数)解答解説

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

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

戦略的行動と経済取引 (ゲーム理論入門)

cp-7. 配列

2014年度 千葉大・医系数学

論理と計算(2)

<8D828D5A838A817C A77425F91E6318FCD2E6D6364>

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

Microsoft PowerPoint - kyoto

Microsoft PowerPoint - DA1_2019.pptx

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

2017年度 金沢大・理系数学

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

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

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

学習指導要領

A Constructive Approach to Gene Expression Dynamics

20~22.prt

" 01 JJM 予選 4 番 # 四角形 の辺 上に点 があり, 直線 と は平行である.=,=, =5,=,= のとき, を求めよ. ただし,XY で線分 XY の長さを表すものとする. 辺 と辺 の延長線の交点を, 辺 と辺 の延長線の交点を G とする. 5 四角形 は直線 に関して線対称な

Microsoft PowerPoint - 4.pptx

2. データ構造ヒープに保存するデータは 番号付けられて保存される 従って リスト L として保存することとする 3. アルゴリズム 3.1. 要素の追加新しい要素の追加は リストの終端に置くことで開始する つまり 最下層の一番右 または新たに最下層を生成してその一番左となる この後 この要素を正し

2015年度 岡山大・理系数学

() () () F において, チェバの定理より, = F 5 F F 7 これと条件より, = よって, = すなわち F:F=7:0 F 7 F 0 FO F と直線 について, メネラウスの定理より, = F O 5 7 FO これと条件および () より, = 0 O FO よって, =

Transcription:

Johnon のアルゴリズム データ構造とアルゴリズム IⅠ 第 回最大フロー 疎なグラフ, 例えば E O( V lg V ) が仮定できる場合に向いている 隣接リスト表現を仮定する. 実行時間は O( V lg V + V E ). 上記の仮定の下で,Floyd-Warhall アルゴリズムよりも漸近的に高速 Johnon のアルゴリズム : アイデア (I) 辺重みが全部非負なら,Dikra のアルゴリズムをすべての点について実行すれば最短路が得られる. 負辺があるが, 負閉路を持たない場合は, 再重み付けを行って, 全部非負にする. すなわち, 各頂点 v に関して h(v) を定義し, w (u, v)=w(u, v) + h(u) - h(v) とする. h( ) は新しい重みが必ず非負になるように選ぶ. Johnon のアルゴリズム : アイデア (II) 各頂点 v に関して h(v) を定義し, w (u, v)=w(u, v) + h(u) - h(v) とする. u から v の,( 再重み付け後の ) ある経路の長さは, 本来の辺の重みの和 + h(u) h(v) となる : 途中の頂点の分はキャンセルされる よって, 再重み付けによって最短路は変化しない 新しい重みの元での最短経路長 δ (u, v) から, 元の問題の最短経路長は以下で与えられる : δ(u, v)=δ (u, v) - h(u) + h(v). Johnon のアルゴリズム 各頂点 v に関して, ダミーの始点 ( 各頂点とは重み の辺で結ばれる ) からの距離を求める. これを h(v) とする. 三角不等式により, 任意の v, u に関して, h(v) h(u)+w(u,v), よって w(u,v)+h(u)-h(v), これを新しい辺の重みとする. 新しい辺の重みのもとで,Dikra のアルゴリズムを各頂点を始点として適用. 9 Johnon のアルゴリズム Johnon(G) { compue G, where V[G ]=V[G] {} and E[G ]=E[G] {(,v):v V[G]}.. w(,v)=. if Bellman-Ford(G,w,)=Fale hen prin a neg-weigh cycle ele for each verex v V[G ] e h(v)= (,v) compued by Bellman-Ford algo. for each edge (u,v) E[G ] w (u,v)=w(u,v)+h(u)-h(v) for each verex u V[G] run Dijkra(G,w,u) o compue (u,v) for each v V[G] d uv = (u,v)-h(u)+h(v) reurn D }

- - - - - 三角不等式より,u, vに関して, h(u) + w(u, v) h(v), よって, w(u, v) + h(u) h(v). - - - 再重み付け - / 赤が最短経路. / /- /- / - - / / /- /- / -

Johnon のアルゴリズムの計算量 Bellman-Ford の実行は O( V E ). Dijkra を V 回実行. 凝ったヒープ (Fibonacci heap) を使えば総計 O( V log V + V E ). 普通の Binary heap だと, 総計 O( V E log V ). E が少なければ ( V lg V ),Floyd-Warhall より良い. 右のグラフに関して Johnon のアルゴリズムを適用せよ ( 最短経路は, からの経路のみを求めるのみで良い ) - h: - h: - h:- h: - h: h:- h: h: 9 h: h: h: - d: d: h: h: h: d: d: h:- d: d=d : h: h:- h: - d: d: d :- d : h: h: d=d : d: d :- -

. 最大フロー フローネットワーク フローネットワーク :G V, E は有向グラフで, 各辺 u, v Eには容量 c u, v が定義される (uとvの間に辺がなければc u, v = と仮定 ) 始点, 終点 v v 9 v v フロー 最大流量問題 フロー / 流量は関数 f: V V Rで定義され, 任意の u, vに関して以下の条件を満たす : 容量制限 : f u, v c u, v フロー保存則 : すべてのu V, に関して, f v, u f u, v が成立. f f, v f v, をフロー f の値と呼ぶ ( 絶対値とは無関係 ). フローの値が最大となる f を求める. f u, v /c u, v / / / v v / 9/ /9 / v v / / フローネットワーク / / 残余ネットワーク v / v / / /9 / v v / / v v v v 最大流量問題の応用事例 最大マッチング : 後で説明 物流のネットワーク解析 : 工場から消費地に製品を配送. 経路は複数存在し, 配送できる個数に制約が存在 画像処理 ( セグメンテーション ): 画像から人物を切り出す, 最小カット 増加可能パス

Ford-Fulkeron 法 増加可能パスが存在する限り, 残余ネットワークにフローを加え続ける. 増加可能パスがなければ終了. Ford-Fulkeron(G,,) { for each edge (u,v) E[G] do f[u,v] f[v,u] while pah p from o on G f do c f (p) min{c f (u,v):(u,v) i in p} for each (u,v) in p if (u, v) E[G] f[u,v] f[u,v]+ c f (p) ele f[v,u] f[u,v]-c f (p) reurn f } 9 (a) v v v 9 v (b) v v v v / v / v / v / v / /9 / /9 v / v / / v / v / (c) v v v v (d) 9 v v 9 v v / / v v / v 9 / v / / / / v v / v 9 / / v / /

(e) v v (f) v v 9 9 9 v v v v / v / v 9/ 9 / / v / v / 演習 : Ford-Fulkeron 以下のグラフの最大フローを求めよ 演習 : Ford-Fulkeron 以下のグラフの最大フローを求めよ 9 最大フローと最小カット フローネットワークG V, E のカット (cu) S, T は, VのSとTの分割で S 及び T を満たすもの. カット S, T とフロー fに関して, カットと交差する純フロー f S, T は以下で与えられる : f u, v f v, u. Cu S, T の容量 (Capaciy),c S, T は以下で与えられる : c u, v. ネットワークの最小カットは, このネットワークのすべてのカット中で容量が最小のもの. 9 f u, v /c u, v / / S Cu の例 / v v / / /9 / v v / / T c S, T c v,v c v,v =+=

補題. 任意のカット S, T とフロー f に関して, S, T と交差する純フローは, フローの流量 f に等しい. 補題. の証明 f u, v S v v v v T 系. フローネットワークの流量は任意のカットの容量で上から抑えられる. 証明 : 容量制限から明らか 最大フロー = 最小カット 定理.: 最大フロー最小カット定理 以下の条件は等価. f は G における最大フローである.. 残余ネットワーク G は増加可能経路を含まない.. G のあるカット S, T に関して f c S,T である. 証明 : だか でない, すなわち, 最大フローであるのに, 増加可能パスがあるとすると, 明らかに矛盾. : 残余ネットワークでは, から への経路が存在しない. から到達可能な頂点集合を S, 残りを T とすると, これはカットになっている. u S,v T に関して, u, v E なら, この辺は容量一杯まで流れているはず ( そうでないと残余ネットワークで v が から到達可能 ). また, v, u E なら, この辺のフローは のはず ( そうでないと残余ネットワークで v が から到達可能 ). 補題. より, S, T と交差する純フローは, フローの流量に等しい. : 系. より, すべてのフローの流量はカットの容量で上から抑えられる. よって, カットの容量に等しいことは, フローが最大であることの十分条件である. Ford-Fulkeron 法の計算量 増加可能パスを求める方法に依存する. 良くない方法を使うと停止しないこともある ( 辺容量が無理数の場合 ). 容量が整数なら有限の繰り返しで停止する. 幅優先探索を用いて, 最短経路の増加可能パスを求めた方が良い (Edmond-Karpアルゴリズムと呼ばれる ). この場合のフロー増加操作の総数は高々 O V E となる.

最短でない増加可能パス a - a b b - 二分グラフの最大マッチング (.) 二分グラフは, 頂点集合 V が L と R の二つの集合に分割され, 任意の辺 u, v は,L と R の頂点を結ぶ (L 間,R 間の辺は存在しない ). - a - 回繰返 b - - a b 二分グラフの例 マッチング すべての頂点 vに関して, vに接続する辺が高々一つしかない辺集合をマッチングと呼ぶ. 最大マッチングは, 要素数が最大のマッチングである. L R 9 マッチングの例 最大マッチングの例 L R L R

最大フローとしての表現 最大フローとしての表現 新しい頂点 と を導入 から左側の頂点に容量 の辺を張る 右側の頂点から に容量 の辺を張る L R 最大フロー = 最大マッチング 定期試験に関して 月 日 ( 火 )::-: 内容は 題ぐらい 最小全域木, 最短路, 最大フロー等 L R 9