最短路問題に対する新しいアルゴリズム 階層メッシュ疎化法 (Level-wise Mesh Sparsification: LMS)

Slides:



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

授業展開#12 コンピュータの扱いにくい問 題. 扱いにくい問題  処理時間がかかる。  メモリを大量に必要とする。  プログラムの優劣、アルゴリズムの優劣 を比較するためには、標準的なコン ピュータで比較する必要がある。  処理時間を計るのに、コンピュータのモ デルとして、チューリングマシンを考え、
問題案 : 稲葉 解答:秋葉、稲葉.  「 + 」の辺を通ると所持金が 1 円増える  「 - 」の辺を通ると 1 円減る (文無しは通れ ない)  始点を0円で出て終点に0円で着く最短路 は?  |V| ≦ 250 =
『わかりやすいパターン認 識』 第 5 章 特徴の評価とベイズ誤り確率 5.4 ベイズ誤り確率と最近傍決定則 発表日: 5 月 23 日(金) 発表者:時田 陽一.
A Simple Constant Time Enumeration Algorithm for Free Trees 中野 眞一 宇野 毅明 群馬大学 情報学研究所 2003 年 9 月 19 日 アルゴリズム研究会.
事例: 自動販売機に対する在庫配送計画 宮本 裕一郎(発表者) 久保 幹雄 東京商船大学 共同研究:富士電機(株) 2001年3月5日.
ハノイグラフの生成と最短経路の導出 東京電機大学 理工学部 村田和也 松浦昭洋
到着時刻と燃料消費量を同時に最適化する船速・航路計画
制約付き最短路問題に対する実験的解析 上智大学 宮本裕一郎 o 1 d (7, 15) (9,4) (12,4)
  スケジュール管理手法PERT-Time      解 説    “最早開始時間計算のアルゴリズム”
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
最短路プロジェクト 共同研究 中間報告 2007年 10月 久保 幹雄.
2009/12/4 グラフ (2) 第10講: 平成21年12月4日 (金) 4限 E252教室 コンピュータアルゴリズム.
記 憶 管 理(1) オペレーティングシステム 第9回.
久保幹雄 東京海洋大 宇野 毅明 国立情報学研究所 藤澤 克樹 中央大学 宮本 裕一郎 上智大学
極小集合被覆を列挙する 実用的高速アルゴリズム
ネットワーク理論講義補助資料 Text. 組合せ最適化とアルゴリズム 4.5 節 主・双対法 pp
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
~補助記憶装置~  主記憶装置に記憶されるデータは,パソコンの電源を切ると記憶内容が消えてしまう。また,容量にも限界があるので,補助記憶装置にデータを記憶させる。補助記憶装置はパソコンの電源を切っても記憶内容は消えない。補助記憶装置の内容は主記憶装置上で利用することができる。 電源OFF 電源OFF.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
On the Enumeration of Colored Trees
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
「Self-Organizing Map 自己組織化マップ」 を説明するスライド
An Algorithm for Enumerating Maximal Matchings of a Graph
AllReduce アルゴリズムによる QR 分解の精度について
コンピュータと情報 第3回 補遺 ファイルとフォルダ.
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
小型デバイスからのデータアクセス 情報処理系論 第5回.
日本大学 文理学部 情報システム解析学科 谷研究室 益田真太郎
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
理学部情報科学科 金田研究室 指導教官 金田 康正 工藤 誠
非線形方程式の近似解 (2分法,はさみうち法,Newton-Raphson法)
最短路問題のための LMS(Levelwise Mesh Sparsification)
ネットワーク理論講義補助資料 Text. 組合せ最適化とアルゴリズム 4.3 節 Lagrange緩和 pp
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
原子核物理学 第4講 原子核の液滴模型.
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
決定木とランダムフォレスト 和田 俊和.
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
アルゴリズムとデータ構造 2013年7月16日
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
北大MMCセミナー 第70回 附属社会創造数学センター主催 Date: 2017年7月6日(木) 16:30~18:00
ICML2006勉強会 2006年7月29日 局所フィッシャー判別分析 東京工業大学 計算工学専攻 杉山 将.
最短路を ものすごくはやく 答える方法.
First Course in Combinatorial Optimization
A Simple Algorithm for Generating Unordered Rooted Trees
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
わかりやすいパターン認識 第7章:部分空間法  7.1 部分空間法の基本  7.2 CLAFIC法                  6月13日(金)                  大城 亜里沙.
情報知能学科「アルゴリズムとデータ構造」
問題作成、解説担当:中島 副担当:坪坂、松本
Data Clustering: A Review
Data Clustering: A Review
第16章 動的計画法 アルゴリズムイントロダクション.
ISO23950による分散検索の課題と その解決案に関する検討
短い部分文字列の ミスマッチトレランスを 高速計算するアルゴリズム
大規模ネットワークに対する 実用的クラスタ発見アルゴリズムの開発
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
メモリ使用量の少ないGCR法の提案 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰
2009/11/27 グラフ (1) 第9講: 平成21年11月27日 (金) 4限 E252教室 コンピュータアルゴリズム.
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
2008年6月5日 非線形方程式の近似解 2分法,はさみうち法,Newton-Raphson法)
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
情報論理工学 研究室 第1回:並列とは.
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
北大MMCセミナー 第23回 Date:2014年3月6日(木) 16:30~18:00 ※通常と曜日が異なります
磁場マップstudy 1.
1 ひとりにしてくれ数 東北大学 大学院情報科学研究科 ◎鈴木 顕 内澤 啓 国立情報学研究所 情報学プリンシプル研究系 宇野 毅明.
Presentation transcript:

最短路問題に対する新しいアルゴリズム 階層メッシュ疎化法 (Level-wise Mesh Sparsification: LMS) 宇野 毅明(国立情報学研究所) 宮本 裕一郎(上智大学) 久保 幹雄(東京海洋大学)

大規模最短路問題に対する アルゴリズム 前処理(preprocessing)とクエリ(query)を分離することによって,高速なクエリを達成 ランドマークを用いた下界の強化 到達限界(reach)を事前に計算しておく方法 多階層のネットワークを作成しておく方法 到達点に最短で行くためには使用しない枝の情報 (ビットベクトル)を利用する方法 前処理(preprocessing)とクエリ(query)を分離することによって,高速なクエリを達成

前処理とクエリの分離 前処理(preprocessing) 2000万点の ネットワーク 補助データ ダイクストラ法たくさん (数時間;並列で数分) クエリ(query) 補助データ 最短路 2000万点の ネットワーク 高速探索 (数ミリ秒)

クエリ:通常のダイクストラ法の500倍(4ms) An Experimental Evaluation of Point-To-Point Shortest Path Calculation on Roadnetworks with Precalculated Edge-Flags Ulrich Lauther (シーメンズ) (1次元)ビットベクトルを用いた高速化 前処理の工夫 再最適化の利用 ビットがすべて0の枝は除く 同じビットベクトルをもつ枝の情報の統合 問題例:600万点,1千600万枝 前処理:約100分,メモリ:1枝あたり6バイト クエリ:通常のダイクストラ法の500倍(4ms)

Fast Point-to-Point Shortest Path Computations with Arc-Flags Ekkehard Köhler, Rolf H. Möhring, and Heiko Schilling (ベルリン工科大学) (1次元)ビットベクトルを用いた高速化 前処理法:1つの領域に終点をもつ最短路木の和集合を同時に算出(メモリはくうが高速) 問題例:600万点,1千600万枝 前処理:時間(?),メモリ(1枝あたり250ビッド) クエリ:通常のダイクストラ法の1100倍

Highway Hierarchies Star Daniel Delling, Peter Sanders, Dominik Schultes, and Dorothea Wagner (カールスルーエ大) 階層ネットワークによる方法+ランドマークを用いたA*探索 階層の最上位では距離行列を保管 問題例:ヨーロッパ(1千800万点,4千200万枝)とUSA(2千400万点,5千800万枝) 前処理:ヨーロッパ(21分,1714MB),USA(25分,2013MB) クエリ:ヨーロッパ(0.66ms;20-30倍),USA(0.71ms;15-20倍)

Better Landmarks within Reach Andrew V Better Landmarks within Reach Andrew V. Goldberg, Haim Kaplan, and Renato F. Werneck (マイクロソフト研究所) 到達限界(reach)とA*探索とランドマークを合わせた解法(REAL:Reach+A*+Landmark) 問題例:ヨーロッパ(1千800万点,4千200万枝)とUSA(2千400万点,5千800万枝) 前処理:ヨーロッパ(143分,703MB),USA(142分,1019MB) クエリ:ヨーロッパ(1.8ms),USA(1.5ms):階層ネットワーク法より若干遅い

問題例:西ヨーロッパの道路ネットワーク (1千500万点,3千600万枝) 前処理:8台の並列計算機で24時間 クエリ:最大1000倍程度 High-Performance Multi-Level Graphs Daniel Delling, Martin Holzer, Kirill Muller, Frank Schulz, and Dorothea Wagner (カールスルーエ大) 多レベルグラフを用いた解法 問題例:西ヨーロッパの道路ネットワーク (1千500万点,3千600万枝) 前処理:8台の並列計算機で24時間 クエリ:最大1000倍程度

アプローチの利点・弱点 アプローチ 前処理 クエリ スケーラ ビリティ グラフの 疎化 ビットベクトル やや遅い 高速 × ○ 到達限界 中 やや高速 階層ネットワーク 速い ランドマーク 単独では遅い 2次元ビットベクトル 超高速 ◎ 階層メッシュ疎化

前提条件,背景など 組合せ最適化問題としての最短路問題が対象 (主に)始点と終点が与えられた場合が対象 キーワード:離散アルゴリズム,グラフアルゴリズム,ネットワーク理論 (主に)始点と終点が与えられた場合が対象 カーナビゲーションやWebでの最短路探索サービスへの適用を主眼に置いている 特徴1:ネットワークのデータは所与(既知) 特徴2:始点と終点が指定されたら高速に最短路を答える 特徴3:近似解ではなく最適解を返す

前提条件を加味した考察 全点間最短路をあらかじめ計算し記憶しておけば,メモリにアクセスする時間で最短路を返せる しかし,ネットワークが大きい場合,全点対を覚えることすら不可能 例:U.S.A.の道路ネットワークの点数は約2000万→全点対数は2000万×2000万=400×1012 全点間最短路そのものではなく,全点間最短路の中間データのようなものを生成し,始点と終点の問い合わせが来たら中間データから最短路を生成する 生データから最短路を計算するよりも高速に応答できる反面,あらかじめ中間データを生成しておく必要がある 前処理にかける時間が必要 記憶領域も余分に必要(であることが多い)

始点と終点が指定された 最短路問に関する考察 遠いところ同士を結ぶ最短路は決まった道を通ることが多い 最短路の計算には基本的にDijkstra法が使われることが多く,Dijkstra法の計算時間はほぼ枝数に比例する よく使われる道(例えば高速道路のようなもの)をあらかじめ抽出し,少ない枝数のネットワークで最短路を計算すれば速い

LMSの概要 組合せ最適化問題としての最短路問題に対応 ネットワークデータが与えられた後,数時間かけて中間データを生成,中間データの大きさは元のネットワークデータの数倍程度 【中間データの持ち方が新しい,汎用性もあり】 中間データを記憶した状態で始点と終点が与えられたら,高速(市販のパソコンで数msec)に最短路を返答 【既存の手法と同等以上のスピード】 市販のパソコンで計算できる手軽さ(メモリ使用量など)

基本的な考え方1 オレンジ枠の外側に始点および終点がある最短路をすべて求める(黒線) 赤枠の内側で最短路に使われている道をすべて覚える(黒太線) 直感的解釈:覚えた道は赤枠から遠いところ同士を結ぶ最短路で使われる道

基本的な考え方1 オレンジ枠の外側に始点および終点がある最短路を求める場合には 赤枠の内側では覚えた線(黒太線)のみを使っても最短路を求めることができる →最短路計算で使われるデータが少なくなる

基本的な考え方2 位置をずらした枠で同様に,遠いところ同士の最短路に使われる道を覚えておけば 最短路計算で使われるデータがさらに少なくなる

基本的な考え方2 たくさんの枠で同様に,遠いところ同士の最短路に使われる道を覚えておけば 最短路計算で使われるデータがさらに少なくなる

基本的な考え方3 枠の大きさは大きくても小さくてもよい 大きい枠→覚える道は少ない : 始点や終点の近くでは使えない 大きい枠→覚える道は少ない : 始点や終点の近くでは使えない 小さい枠→覚える道は多い : 始点や終点の近くでも使える

基本的な考え方(まとめ) いろいろな大きさの枠で,遠いところ同士の最短路で使われる道を覚え, 始点と終点が指定されたら,なるべく道数の少ないネットワークを構成し (大きい枠を優先的に使う),最短路を計算する

West Virginiaへの適用例 300146ノード,657716アーク Dijkstra法+binary heapで約1秒かかる

LMSで用意するネットワーク(の一部)

始点と終点が指定された場合(1) ピンクの線が最短路 アークの数は約10000(元のグラフの約1/60) 計算時間は約15ミリ秒→約60倍の高速化

始点と終点が指定された場合(2) 指定される始点と終点が異なれば,計算に使われるネットワークも異なる

今後 以上は基本アイディアを説明しただけであり,細かい工夫はさらにいくつか入っている,特に前処理(中間データとしてのネットワークを作る処理)に関しては説明を省いた 計算実験結果に関して,まだパラメータチューニングをしておらず,すでに考えてある細かいアイディアも入れてないので,計算速度はさらに数倍速くなる可能性がある