凸関数じゃないですか (最大値/最小値を求める問題) 目的関数を固定する (最大値/最小値を最小/最大化する問題)

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

0章 数学基礎.
J: Magical Switches JAG 模擬地区予選 2013 原案:保坂 解答:保坂・楠本 解説:保坂.
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
2009/12/4 グラフ (2) 第10講: 平成21年12月4日 (金) 4限 E252教室 コンピュータアルゴリズム.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
    有限幾何学        第8回.
5個の数字0,1,2,3,4から異なる3個を選んで3桁の整数を作る。
基礎プログラミングおよび演習 第9回
An Algorithm for Enumerating Maximal Matchings of a Graph
組合せ最適化 輪講 第1回 ERATO研究員 川原 純.
Approximation of k-Set Cover by Semi-Local Optimization
    有限幾何学        第12回.
 Combinations(2)        古川 勇輔.
模擬国内予選2014 Problem C 壊れた暗号生成器
9.NP完全問題とNP困難問題.
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
最大最小性, 双対性 min-max property duality
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
5.5 The Linear Arboricity of Graphs (グラフの線形樹化数)
Selfish Routing and the Price of Anarchy 第2回
計算量理論輪講 岩間研究室 照山順一.
第11回 整列 ~ シェルソート,クイックソート ~
情報学研究科 通信情報システム専攻 小野寺研究室 M1 奥村 佳弘
割当て問題 • 割当問題の記法・定式化 • 拡張 • 特殊ケース(マッチング) • 3種類のものを割当てる問題.
Googleのページランク 基本的な仕組は数学的 グラフの行列による表現 隣接行列(推移行列、遷移行列) 固有値と固有ベクトル W大学
k 個のミスマッチを許した点集合マッチング・アルゴリズム
シャノンのスイッチングゲームにおけるペアリング戦略について
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
離散数学 08. グラフの探索 五島.
Probabilistic Method 2007/11/02 岩間研究室M1 市場孝之.
7.4 Two General Settings D3 杉原堅也.
独立成分分析 5 アルゴリズムの安定性と効率 2007/10/24   名雪 勲.
Basic Tools B4  八田 直樹.
アルゴリズムとデータ構造 第3章 ヒープ 6月10日分
25. Randomized Algorithms
b f c a d e g h a b c d e f g 図1 図2 2012年度 有限幾何学 期末試験
計算量理論輪講 chap5-3 M1 高井唯史.
A First Course in Combinatorial Optimization Chapter
First Course in Combinatorial Optimization
離散数学 07. 木 五島.
情報生命科学特別講義III (13) 固定パラメータアルゴリズムと 部分k木
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
プログラム理解におけるThin sliceの 統計的調査による有用性評価
7 Calculating in Two Ways: Fubini’s Principle
First Course in Combinatorial Optimization
5 Recursions 朴大地.
九州大学大学院 情報学専攻特別講義 (6) 固定パラメータアルゴリズムと 部分k木
14. The Basic Method M1 太田圭亮 14.3 Spaces of polynomials
ベイジアンネットワーク概説 Loopy Belief Propagation 茨城大学工学部 佐々木稔
4. システムの安定性.
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
情報知能学科「アルゴリズムとデータ構造」
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
5.3, 5.4 D2 岡本 和也.
Max Cut and the Smallest Eigenvalue 論文紹介
情報工学概論 (アルゴリズムとデータ構造)
2009/11/27 グラフ (1) 第9講: 平成21年11月27日 (金) 4限 E252教室 コンピュータアルゴリズム.
ヒープソート.
生命情報学特論 (6) 固定パラメータアルゴリズムと 部分k木
Chapter5 Systems of Distinct Representatives
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
問2 次の問に答えよ. (ただし,握手補題,オイラーの定理,Oreの定理 は授業で紹介したものとする) (1) 握手補題を書け.
岡圭吾(東京大学) 稲葉直貴(タイムインターメディア) 飯野玲(日本評論社)
Speaker: Kazuhiro Inaba Paper Introduction from WSDM 2015
13.近似アルゴリズム.
生物情報ソフトウェア特論 (10)固定パラメータアルゴリズムと 部分k木
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
京都大学 情報学研究科 通信情報システム専攻 高田智史 joint work with 伊藤大雄 中村義作
Presentation transcript:

凸関数じゃないですか (最大値/最小値を求める問題) 目的関数を固定する (最大値/最小値を最小/最大化する問題) 全探索を忘れるな まずは何をさておき「全通り試す」計算の計算量を確認 凸関数じゃないですか (最大値/最小値を求める問題) 最大値/最小値は凸関数なら賢さ不要で数値的に三分探索できる 目的関数を固定する (最大値/最小値を最小/最大化する問題) 「最小値 x にできる?」という問題なら簡単に yes/no 答えられる? ならば x を全探索。単調ならば二分探索。 前から順に固定する (辞書順最小を求める問題) 「1文字目をaにしたら解がある?ない?」を繰返し1文字ずつ決める 黙ってグラフにしてみよう 探索→状態空間がグラフ。グループ分け→最小カット。整数→mod N で N 点グラフ 二部グラフではないですか 特に二部グラフにならないか注意深く観察しよう。チェス盤白黒など 条件反転してみよう 「○○を満たす物は何個?」 → 「○○を満たさないものは何個?」 期待値ならば線形性 問題を分解 E(aX+bY) = aE(X) + bE(Y) 小さいところで規則を探す (数学ゲー) 小さい入力を全探索して眺める 巨大なメモ化はmapにしない! 配列にすると20倍は速い 無根拠決めつけ全探索 実はこのケースだけ考えれば十分なのでは?と決めつけ突撃 するときは、計算時間の許す限り他のケースも調べるコードを書く n4 604 ≒ 1300万 1304/4!≒1000万 n5 255 ≒ 1000万 705/5!≒1400万 Σ nk Σ<404≒2000万 ≒ nk+1 / k+1 3n 315 ≒ 1500万 2nC n 26C13 ≒ 1000万 ≒ 2n / √n

二部グラフ ツリー n次元グリッドの縦横隣接関係 2次元グリッドのセル

最小辺カバー 最大マッチング 任意 二部グラフ DAG 最小独立Pathカバー 二部グラフ 推移律 最小点カバー 任意 最大独立点集合

最大マッチ (最大独立辺集合) P 二部グラフ:P max E’ ⊂ E where ∀e1, e2 ∈ E’. e1 disjoint e2 一般:O(V4) 等 らしい Proof: 交代路の一般化とか 二部グラフ : O(VE) Proof: 左から右に最大フローを流す。

最小点カバー NP-Hard 二部グラフ:P min V’ ⊂ V where ∀e ∈ E. e intersect V’ 最大マッチ ≦ 最小点カバー Proof: 最大マッチに含まれる辺集合を覆うには 最低でも、それだけの点が必要 V2 V1 【二部グラフ】 [König1931] 最大マッチ = 最小点カバー V0 = マッチング E’ に含まれない左点集合から 交代路によるBFSをする(奇数ステップではE’以外の辺、偶数ではE’の辺で進む)。E’ のうち交代路に含まれた辺では右点、else左点を取ると点カバー。 Proof: ・ E’の辺は明らかにカバーされる。 ・ 奇数長交代路があると反転して最大マッチを伸ばせるので交代路は偶数長。カバーされる。 ・ 入らない辺は、V0 の構成より左点がマッチングに含まれている。そのマッチング辺が交代路に含まれない→左点がカバーされる。含まれる→今の辺の行き先は交代路の右点。カバーされる。 V0 V0

最大独立点集合 NP-Hard 二部グラフ:P max V’ ⊂ V where ∀e ∈ E. e ⊈ V’ |V| - 最小点カバー = 最大独立点集合 Proof: 点カバー=全ての辺で、どっちかの端は押さえる 独立点集合=全ての辺で、両方押える事はない よって最小点カバーの補集合をとれば、 最大独立点集合。

最小辺カバー P 二部グラフ:P min E’ ⊂ E where ∀v ∈ V. v intersect E’ 最小辺カバー (or, in short, min E’ where V=∪E’ ) Meaningful only when no isolated vertex 最小辺カバー = 最大マッチ+残り頂点数 = |V| - 最大マッチ Proof: つまり最大マッチを計算して、あぶれた頂点それぞれについて一つずつ辺を足す。 ≦ は自明。 ≧。極小辺カバー E’ をとり、E’ に限定した最大マッチを M とする。点を覆う貢献を数えると |M|*2 + |E’-M| = |V| 。よって |E’|=|V|-|M|。 よって |E’| が全体の最大マッチを含む時最適。

最小独立Pathカバー (有向グラフ ; 無向でも二重化するだけ) NP-Hard 最小独立Pathカバー (有向グラフ ; 無向でも二重化するだけ) DAG:P min P ⊂ P(V) where V = disjoint union of P and ∀p∈P. p is a path [Gallai & Migram 1960] 最小Pathカバー  ≦ 最小独立Pathカバー ≦ 最大独立点集合 Proof: Pathの最後の頂点の集合を ter(P) と書く。 「ter(P) が極小なら |ter(P)| 個のMISを取れる」 を |V| に関する帰納法で示す。 - ter(P) が独立なら証明完。 - ter(P) が独立でない、 v2-> v1 だったとする。 v1を削ったグラフでのP’=P–v1も極小な事を示す  (そうすれば帰納法より|P’|のMISが取れる) v1の直前以外が減ったもっと小さいPathカバーが あったとするとPの極小性に反する。v1が減ったとするとv2にv1を繋げられるのでやはり反する 【推移律のあるグラフ】 最小Pathカバー=MIS Proof: ≧がすぐ言える。 独立なの全部別でカバーするしか内。

最小独立Pathカバー NP-Hard DAG:P min P ⊂ P(V) where 強制二部グラフ化(src/dst 分離) V = disjoint union of P and ∀p∈P. p is a path 強制二部グラフ化(src/dst 分離) G = (V, E)  G’ = (V∪V’, {(v,u’) | (v,u)∈E}) |V| - 最小独立Pathカバー ≦ 強制二部の最大マッチ Proof: 独立Pathカバーの辺を全部突っ込むとマッチングである。(独立Pathなので枝分かれや合流なし。) k本の独立PathカバーPの頂点数は k+|P| =|V| なので、|V| - k のマッチングがこれで得られる。 【DAG】 |V| - 最小独立Pathカバー = 強制二部の最大マッチ Proof: 最大マッチを求めて属す辺をすべてとる。 マッチに関われなかった頂点を単独でパスと して入れる。すると独立Pathカバーである。 ・ マッチングなので枝分かれ合流はできない ・ DAGなので、サイクルもできない。∴独立Path ・ カバーなのは構成より。 サイズは → の議論より。