Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takuya Akiba
PDF, PPTX
28,003 views
平面グラフと交通ネットワークのアルゴリズム
2013/09/12 PFI セミナー「平面グラフと交通ネットワークのアルゴリズム」
Technology
◦
Read more
57
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 54
2
/ 54
3
/ 54
4
/ 54
5
/ 54
6
/ 54
7
/ 54
8
/ 54
9
/ 54
10
/ 54
11
/ 54
12
/ 54
13
/ 54
14
/ 54
15
/ 54
16
/ 54
17
/ 54
18
/ 54
19
/ 54
20
/ 54
21
/ 54
22
/ 54
23
/ 54
24
/ 54
25
/ 54
26
/ 54
27
/ 54
28
/ 54
29
/ 54
30
/ 54
31
/ 54
32
/ 54
33
/ 54
34
/ 54
Most read
35
/ 54
36
/ 54
37
/ 54
38
/ 54
39
/ 54
Most read
40
/ 54
41
/ 54
42
/ 54
43
/ 54
44
/ 54
45
/ 54
46
/ 54
Most read
47
/ 54
48
/ 54
49
/ 54
50
/ 54
51
/ 54
52
/ 54
53
/ 54
54
/ 54
More Related Content
PDF
直交領域探索
by
okuraofvegetable
PDF
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
by
AtCoder Inc.
PDF
ガイデットフィルタとその周辺
by
Norishige Fukushima
PDF
バイナリニューラルネットとハードウェアの関係
by
Kento Tajiri
PDF
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
by
Motoya Wakiyama
PDF
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
by
Takuya Akiba
PDF
Lucas kanade法について
by
Hitoshi Nishimura
PDF
第10回 配信講義 計算科学技術特論A(2021)
by
RCCSRENKEI
直交領域探索
by
okuraofvegetable
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
by
AtCoder Inc.
ガイデットフィルタとその周辺
by
Norishige Fukushima
バイナリニューラルネットとハードウェアの関係
by
Kento Tajiri
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
by
Motoya Wakiyama
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
by
Takuya Akiba
Lucas kanade法について
by
Hitoshi Nishimura
第10回 配信講義 計算科学技術特論A(2021)
by
RCCSRENKEI
What's hot
PPTX
充足可能性問題のいろいろ
by
Hiroshi Yamashita
PDF
色々なダイクストラ高速化
by
yosupo
PDF
最小カットを使って「燃やす埋める問題」を解く
by
shindannin
PDF
組合せ最適化入門:線形計画から整数計画まで
by
Shunji Umetani
PDF
スペクトラルグラフ理論入門
by
irrrrr
PPTX
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
by
SSII
PPTX
畳み込みニューラルネットワークの高精度化と高速化
by
Yusuke Uchida
PDF
全力解説!Transformer
by
Arithmer Inc.
PDF
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
by
Takuya Akiba
PDF
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
by
mlm_kansai
PDF
プログラミングコンテストでの乱択アルゴリズム
by
Takuya Akiba
PDF
最適化超入門
by
Takami Sato
PDF
機械学習による統計的実験計画(ベイズ最適化を中心に)
by
Kota Matsui
PDF
4 データ間の距離と類似度
by
Seiichi Uchida
PPTX
強化学習 DQNからPPOまで
by
harmonylab
PDF
最適輸送の解き方
by
joisino
PDF
[DL輪読会]Deep Learning 第15章 表現学習
by
Deep Learning JP
PPTX
多目的強凸最適化のパレート集合のトポロジー
by
KLab Inc. / Tech
PDF
グラフニューラルネットワークとグラフ組合せ問題
by
joisino
PDF
プログラミングコンテストでの動的計画法
by
Takuya Akiba
充足可能性問題のいろいろ
by
Hiroshi Yamashita
色々なダイクストラ高速化
by
yosupo
最小カットを使って「燃やす埋める問題」を解く
by
shindannin
組合せ最適化入門:線形計画から整数計画まで
by
Shunji Umetani
スペクトラルグラフ理論入門
by
irrrrr
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
by
SSII
畳み込みニューラルネットワークの高精度化と高速化
by
Yusuke Uchida
全力解説!Transformer
by
Arithmer Inc.
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
by
Takuya Akiba
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
by
mlm_kansai
プログラミングコンテストでの乱択アルゴリズム
by
Takuya Akiba
最適化超入門
by
Takami Sato
機械学習による統計的実験計画(ベイズ最適化を中心に)
by
Kota Matsui
4 データ間の距離と類似度
by
Seiichi Uchida
強化学習 DQNからPPOまで
by
harmonylab
最適輸送の解き方
by
joisino
[DL輪読会]Deep Learning 第15章 表現学習
by
Deep Learning JP
多目的強凸最適化のパレート集合のトポロジー
by
KLab Inc. / Tech
グラフニューラルネットワークとグラフ組合せ問題
by
joisino
プログラミングコンテストでの動的計画法
by
Takuya Akiba
Viewers also liked
PDF
大規模グラフアルゴリズムの最先端
by
Takuya Akiba
PDF
大規模ネットワークの性質と先端グラフアルゴリズム
by
Takuya Akiba
PDF
大規模グラフ解析のための乱択スケッチ技法
by
Takuya Akiba
PDF
プログラミングコンテストでのデータ構造 2 ~動的木編~
by
Takuya Akiba
PDF
道路網における経路探索のための前処理データ構造
by
Atsushi Koike
PDF
Cache-Oblivious データ構造入門 @DSIRNLP#5
by
Takuya Akiba
PDF
Learning Convolutional Neural Networks for Graphs
by
Takuya Akiba
PPTX
平面グラフ
by
yutaka1999
PDF
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
by
Takuya Akiba
PDF
TCO15 Algorithm Round 2C 解説
by
Takuya Akiba
PDF
2章グラフ理論スピード入門
by
Teruo Kawasaki
PDF
勉強か?趣味か?人生か?―プログラミングコンテストとは
by
Takuya Akiba
PDF
『オープンソースで学ぶ社会ネットワーク分析』1章 イントロダクション
by
Hisao Soyama
PDF
Newman アルゴリズムによるソーシャルグラフのクラスタリング
by
Atsushi KOMIYA
ZIP
Create twitter-ios-app
by
Tsuneo Yoshioka
PDF
ネットワークマイニング(グラフ構造分析)
by
Katsuhiro Takata
PDF
Oracle Spatial 概要説明資料
by
オラクルエンジニア通信
PDF
Development of Routing for Car Navigation Systems
by
Atsushi Koike
PPTX
2SAT(充足可能性問題)の解き方
by
Tsuneo Yoshioka
PDF
RGtk2入門
by
Masahiro Hayashi
大規模グラフアルゴリズムの最先端
by
Takuya Akiba
大規模ネットワークの性質と先端グラフアルゴリズム
by
Takuya Akiba
大規模グラフ解析のための乱択スケッチ技法
by
Takuya Akiba
プログラミングコンテストでのデータ構造 2 ~動的木編~
by
Takuya Akiba
道路網における経路探索のための前処理データ構造
by
Atsushi Koike
Cache-Oblivious データ構造入門 @DSIRNLP#5
by
Takuya Akiba
Learning Convolutional Neural Networks for Graphs
by
Takuya Akiba
平面グラフ
by
yutaka1999
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
by
Takuya Akiba
TCO15 Algorithm Round 2C 解説
by
Takuya Akiba
2章グラフ理論スピード入門
by
Teruo Kawasaki
勉強か?趣味か?人生か?―プログラミングコンテストとは
by
Takuya Akiba
『オープンソースで学ぶ社会ネットワーク分析』1章 イントロダクション
by
Hisao Soyama
Newman アルゴリズムによるソーシャルグラフのクラスタリング
by
Atsushi KOMIYA
Create twitter-ios-app
by
Tsuneo Yoshioka
ネットワークマイニング(グラフ構造分析)
by
Katsuhiro Takata
Oracle Spatial 概要説明資料
by
オラクルエンジニア通信
Development of Routing for Car Navigation Systems
by
Atsushi Koike
2SAT(充足可能性問題)の解き方
by
Tsuneo Yoshioka
RGtk2入門
by
Masahiro Hayashi
Similar to 平面グラフと交通ネットワークのアルゴリズム
PDF
JOI春季ステップアップセミナー 2021 講義スライド
by
Kensuke Otsuki
PDF
PRML Chapter 8 (8.0-8.3)
by
Shogo Nakamura
PDF
PRML 8.4-8.4.3
by
KunihiroTakeoka
PDF
Large-Scale Object Classification Using Label Relation Graphs
by
Takuya Minagawa
PDF
NIPS2013読み会: Scalable kernels for graphs with continuous attributes
by
Yasuo Tabei
PDF
Comp geom20131107open
by
Kensuke Onishi
PDF
YOU は何して VLDB2020 Tokyo へ? (グラフ編)
by
Junya Arai
PPTX
高速な挿入と検索が可能なSkip Graphの改良
by
Kota Abe
PDF
競技プログラミング練習会2015 Normal 第3回
by
Hideaki Nagamine
PDF
AtCoder Regular Contest 030 解説
by
AtCoder Inc.
PDF
PFI Christmas seminar 2009
by
Preferred Networks
PPTX
Introduction of network analysis with Google Colaboratory -- Network Algorithms
by
tm1966
PDF
Crfと素性テンプレート
by
Kei Uchiumi
PDF
多数のグラフからの統計的機械学習 (2014.7.24 人工知能学会 第94回人工知能基本問題研究会 招待講演)
by
Ichigaku Takigawa
PPTX
Combinatorial optimization with graph convolutional networks and guided
by
Shuntaro Ohno
PPTX
Combinatorial optimization with graph convolutional networks and guided ver20...
by
Shuntaro Ohno
PPTX
R seminar on igraph
by
Kazuhiro Takemoto
PPTX
Approximate Scalable Bounded Space Sketch for Large Data NLP
by
Koji Matsuda
PPTX
Chainer Familyで始めるComputer Visionの研究・開発【修正版】
by
belltailjp
PDF
確率的グラフィカルモデルと離散構造
by
Masakazu Ishihata
JOI春季ステップアップセミナー 2021 講義スライド
by
Kensuke Otsuki
PRML Chapter 8 (8.0-8.3)
by
Shogo Nakamura
PRML 8.4-8.4.3
by
KunihiroTakeoka
Large-Scale Object Classification Using Label Relation Graphs
by
Takuya Minagawa
NIPS2013読み会: Scalable kernels for graphs with continuous attributes
by
Yasuo Tabei
Comp geom20131107open
by
Kensuke Onishi
YOU は何して VLDB2020 Tokyo へ? (グラフ編)
by
Junya Arai
高速な挿入と検索が可能なSkip Graphの改良
by
Kota Abe
競技プログラミング練習会2015 Normal 第3回
by
Hideaki Nagamine
AtCoder Regular Contest 030 解説
by
AtCoder Inc.
PFI Christmas seminar 2009
by
Preferred Networks
Introduction of network analysis with Google Colaboratory -- Network Algorithms
by
tm1966
Crfと素性テンプレート
by
Kei Uchiumi
多数のグラフからの統計的機械学習 (2014.7.24 人工知能学会 第94回人工知能基本問題研究会 招待講演)
by
Ichigaku Takigawa
Combinatorial optimization with graph convolutional networks and guided
by
Shuntaro Ohno
Combinatorial optimization with graph convolutional networks and guided ver20...
by
Shuntaro Ohno
R seminar on igraph
by
Kazuhiro Takemoto
Approximate Scalable Bounded Space Sketch for Large Data NLP
by
Koji Matsuda
Chainer Familyで始めるComputer Visionの研究・開発【修正版】
by
belltailjp
確率的グラフィカルモデルと離散構造
by
Masakazu Ishihata
平面グラフと交通ネットワークのアルゴリズム
1.
平面グラフと 交通ネットワークの アルゴリズム 東京大学情報理工学系研究科 秋葉 拓哉 |
@iwiwi 2013/09/12 PFI セミナー
2.
自己紹介 秋葉 拓哉 /
@iwiwi • 所属:東大 CS D1 (今井研), DC1 • PFI:インターン (2009) → バイト • 趣味:プログラミングコンテスト – TopCoder レーティング:3306 (日本トップ) • 研究:大規模グラフのアルゴリズム – 最短経路クエリ,コミュニティ検出,…… 1
3.
今日のセミナーの位置づけ 1 2012/01/12: 全体的な紹介 2012/12/06: 複雑ネットワーク 2 本日: 平面グラフ・ 道路ネットワーク 3こういうグラフ(今日は忘れる) 今日はこっち
4.
今日の話 1. 平面グラフのアルゴリズム – 平面グラフ専用のグラフアルゴリズム –
平面性をアルゴリズムでどのように活用? – 基礎的なアプローチを紹介 (STOC, FOCS のような理論コミュニティの話題) 2. 交通ネットワークのアルゴリズム – 現実世界の交通ネットワークにおける課題 – 最近の研究を紹介 (DB系, GIS系, 実験系アルゴリズムのような応用コミュニティの話題) 3 理論 応用
5.
1. 平面グラフのアルゴリズム 理論的なアルゴリズムの話 4
6.
平面グラフとは 平面グラフ =辺を交差させず絵に描けるグラフのこと 平面グラフだ これも平面グラフ これは違う! (どう頑張っても交わっちゃう)
7.
平面グラフがどれほど特別なのか 理論コミュニティで重要視されるクラスの1つ よく研究されている.何故? 1. 実際の交通ネットワークのモデル – 道路網は平面グラフに近いように思える 2.
驚くほど性能が違うアルゴリズム – 一部の NP-Hard 問題が多項式時間で解ける (!?) – 一部の近似困難問題が近似できる – 多くの問題が 𝑂 𝑛 時間で解ける 3. グラフマイナー理論 (触れたかったけど略) 6
8.
平面グラフにおけるアルゴリズム 2. 驚くほど性能が違うアルゴリズム – 一部の
NP-Hard 問題が多項式時間で解ける (!?) – 一部の近似困難問題が近似できる – 多くの問題が 𝑂 𝑛 時間で解ける 事実として聞いたことある人は多い? しかし,なんでそんなことになるのか? 平面性はどのようにアルゴリズムで活用されるか 主要なアイディアを紹介! 7
9.
テクニック1:双対グラフの存在 平面グラフ 𝐺 の双対グラフ
𝑮∗ =𝐺 の面を頂点としたグラフ 8 平面グラフ 𝐺 やったか!? →惜しいけど間違い 正しい双対グラフ 𝐺∗ (一番外側も実は「面」)
10.
双対グラフの性質 𝐺 と 𝐺∗
の間には,色々な面白い性質がある 最も基礎的な性質 1. 𝐺 のサイクル = 𝐺∗ のカット 2. 𝐺 の全域木 𝑇 = 𝐺∗ のある全域木 𝑇∗ の残り 3. 𝐺 で辺削除 = 𝐺∗ で辺縮約 9
11.
双対グラフの性質 最も基礎的な性質 1. 𝐺 のサイクル
= 𝐺∗ のカット 10 サイクル サイクルの場所に対応する辺(点線) を削除するとグラフが分断(緑と紫) つまりカットになってる ※本当は,シンプルなサイクルとシンプルなカット
12.
双対グラフの性質 最も基礎的な性質 2. 𝐺 の全域木
𝑇 = 𝐺∗ のある全域木 𝑇∗ の残り 11 全域木 全域木で使ったところだけ辺を削除 → 残りが全域木になってる
13.
双対グラフの性質 最も基礎的な性質 1. 𝐺 のサイクル
= 𝐺∗ のカット 2. 𝐺 の全域木 𝑇 = 𝐺∗ のある全域木 𝑇∗ の残り 例:Fundamental Cycle Separator (概要) 半径の小さい全域木を持つグラフなら 線形時間でいいバランスでグラフを2つに分割できる • 面に重みをつけて,面たちを分割することにする • 双対の全域木で,いい感じに分割できる辺を 1 本選ぶ • その辺+元の全域木を使ったサイクル,でカットを作る 12
14.
双対グラフの応用,他の例 MSSP (多始点最短路木) • ある面の全頂点から,グラフ全体の全頂点への最短距離 •
始点がどんなに多くても 𝑂 𝑛 log 𝑛 時間(!?) トリック • 隣の頂点に移るとき,最短路木は余り変化しない • 永続データ構造で最短路木を表現,いじりながらグルっと一周 • 最短路木に入ってない辺も,双対で木を成すので効率的に管理(!) 13 [http://courses.csail.mit.edu/6.889/fall11/lectures/L11.pdf]
15.
双対グラフの応用,他の例 最大流 (無向の場合) 1. 始点・終点が同じ面にある場合 •
実はすごい簡単 • 最大流・最小カット定理より最小カット知りたい • カット = 双対のサイクル • 片方をぐるっと囲むサイクル = ぶった切って最短路 計算量:𝑂(𝑛) 時間 (※平面グラフでは最短路は RAM モデルじゃなくても 𝑂(𝑛) 時間) 2. そうとは限らない場合 • 似たような感じで,切り開いて最短路 (MSSP) 計算量:𝑂 𝑛 log log 𝑛 14 𝑠 𝑡 𝑠′ 𝑡′
16.
テクニック2:小さいセパレータの存在 平面グラフには場所の局所性があるので, 簡単に分断できることが知られている 15 スパッと切れ味良さそう 辺がまたがってるのはその周りだけ 平面っぽいネットワーク ランダムなネットワーク 固そう 頂点を半分ずつにすると 辺も半分も切ることに!
17.
Recursive Separation (𝑟-division) 定理:任意の
𝑛 頂点の平面グラフ,任意の 𝑟 に対し • 𝑂(𝑛/𝑟) 個の部分になって • 各部分は 𝑟 頂点以下で • 各部分,境界(外に辺が出てる頂点)は 𝑂 𝑟 個 となるような分割が 𝑂 𝑛 log 𝑛 時間で得られる BFS して真ん中の層あたりだけ取り出して(そうすると半径小さい全域木があるので) さっきの Fundamental Cycle Separator する,というのを再帰的にやるとできます 16 ざっくり言うと 小さいサイズのピースに いい感じに分割できる [Fre87, p. 1006, Fig. 1]
18.
𝒓-division の応用 最大独立集合問題 (NP-Hard) •
できるだけ多く頂点を選びたい • ただし選んだ頂点間に辺があってはいけない 𝒓-division による近似アルゴリズム • 𝑟 = log log 𝑛 にして分割 • 各部分で最適解を求めてくっつける,境界は無視 これだけで 𝑂(1/ log log 𝑛) 近似のアルゴリズムになる ※最大独立集合問題は MaxSNP-Complete で,一般のグラフでは近似困難! 17
19.
テクニック3:Graph Decomposition 各種 Graph
Decomposition の活用 • Tree Decomposition • Branch Decomposition 小さいセパレータが存在すること(テクニック2)は, Graph Decomposition との相性の良さを示唆 使われ方の例 • Treewidth 𝑂 𝑛 • Baker’s Framework, Klein’s Framework • Deletion&Contraction Decomposition • Bidimensionality 18 8/15 PFI セミナー (岩田)
20.
Deletion Decomposition 雰囲気 •
あとは各部分を DP で解く.Treewidth が小さいので,各 層にどんなに頂点があっても高速に解ける. • あとは解をくっつける → 近似アルゴリズムになっている. 19 𝐿1 𝐿2 𝐿3 𝐿4 𝐿5 𝐿6 𝐿7 ⋯ 1 𝐿1 𝐿2 𝐿3 𝐿4 𝐿5 𝐿6 𝐿7 ⋯ 2 3 で割った余りが 0 の層を削除 適当な頂点 𝑣 からBFS 層に別れる 3 残った各部分の Treewidth 小さい ※𝑘-outerplanar なので 𝑂(𝑘) ※本当は割る数 𝑘 や削除する層は もっとちゃんと決める
21.
Deletion Decomposition 雰囲気 類似のテクニック •
Contraction Decomposition • Baker’s Framework 何ができるか • 様々な問題に対して近似アルゴリズムが作れる • しかも,好きな近似精度を設定可 – 𝑘 (何個ずつにするか) を調整する – 実現したい近似精度 𝜀 を定数だと思えば,𝑘 も定数なので, どんな精度にしようと思っても多項式時間 • こういう近似アルゴリズムは PTAS と呼ばれ,すごい – 一般のグラフでは PTAS が無い問題に,PTAS が大量にある 20
22.
2. 交通ネットワークのアルゴリズム 応用コミュニティの話 21
23.
交通ネットワークとは 道路ネットワーク • 頂点が交差点,辺が道路 交通ネットワーク • 道路ネットワークの別名
or • その他に電車とか飛行機とか足したもの(?)
24.
ポピュラーに取り組まれている問題 1. 経路計画・検索:最短経路クエリ+α • 二点間の最短距離・最短経路を瞬時に答える •
地図サービス (Google Maps) やカーナビ • 経路検索の目的だけでなく,施設の検索の補助なども 2. GPS 軌道情報:Map Matching • GPS からの点列から,道路上の経路を復元 • GPS のノイズ,自然な運転になること等を考慮 3. その他:(𝑘-)Nearest Neighbor+α, … 23
25.
話は戻って • 平面グラフは道路のモデルでもある • 重要なグラフクラスで問題を解くのが重要…… ……ん?本当に道路は平面グラフなのか? 24 Erik
Demaine • 20 歳で MIT 教授になった天才 • MIT で平面グラフの授業
26.
道路は平面グラフ? 25 NO 結構,立体交差がある→ [http://www.flickr.com/photos/31246066@N04/8177689699 (CC-BY)] 立体交差は結構困る • 双対グラフが取れなくなる •
双対グラフを使うアルゴリズムが動かない (かなり大部分のアルゴリズムや定理が双対グラフに依存)
27.
道路は平面グラフ? MIT の人たちの論文 平面グラフのアルゴリズムを実装して実験する際, 道路ネットワークから交差を除いて実験……! (アカン) 26 [Fox-Epstein+, ALENEX’13]
28.
個人的には 平面グラフのアルゴリズム研究の意義 性質やアプローチは活用可 • 例えば,小さいセパレータは多分ある ただし,アルゴリズム自体は使えない • そもそも,ちょっぴり計算量を落とす系は大抵 は定数倍のせいで実際には低速 •
理論的興味ということ よって現実向けのアルゴリズムが必要 27
29.
経路計画 (Route Planning) 色んなタイプの研究がある とにかく爆速で最短距離を求めたい! •
検索システムのバックエンド • 性能競争 現実的な経路を目指す • 左折・右折にペナルティ,などのコスト関数 • 車から降りて電車に乗って車に乗ったりしない • SQL にぶち込めるようにする もっと変なやつ (ほぼそのままサービス?) 28
30.
今日触れる手法 Contraction Hierarchy • シンプルでプラクティカル,拡張性 •
OSRM のバックエンド Customizable Route Planning • 拡張性=命で作られた • Bing Map のバックエンド Hub-Labeling • MSR が超やりこんでる爆速系 Pruned Highway Labeling • !?!? 29
31.
Contraction Hierarchy 最短路クエリ手法,最も有名なものの 1
つ 純粋なクエリからの拡張まで対応できる 特徴:性能重視というより実用的 • 手法がシンプル • 前処理データが小さい • クエリはそこそこ (数 ms) OSRM のアルゴリズムとして採用 オープンソースの地図サービス http://project-osrm.org/ 30
32.
Contraction Hierarchy:前処理 6 1
4 3 52 22 22 13
33.
Contraction Hierarchy:前処理 6 1 4 3
52 2 2 2 1 3 5 適当な順番で頂点が Contract される ※実際には順番かなり重要
34.
Contraction Hierarchy:前処理 6 1 4 3
52 2 2 2 1 3 5 その頂点が無くても 距離が変わらないように 辺が追加される
35.
Contraction Hierarchy:前処理 6 1 4 3
5 2 2 2 2 1 3 5 どんどん Contract!
36.
Contraction Hierarchy:前処理 6 1 4 3 5 2 2 2 2 1 3 35
37.
Contraction Hierarchy:前処理 6 1 4 3 5 2 2 2 2 1 3 35 8
38.
Contraction Hierarchy:前処理 6 1 4 3 5 2 2 2 2 1 3 3 5 8
39.
Contraction Hierarchy:前処理 6 1 4 3 5 2 2 2 2 1 3 3 5 8 全頂点 Contract
おわり. 頂点は Contract 順に高さをつけておく.
40.
Contraction Hierarchy:クエリ 6 1 4 3 5 2 2 2 2 1 3 3 5 8 頂点 2
から頂点 3 への 最短路を求めたいとする
41.
Contraction Hierarchy:クエリ 6 1 4 3 5 2 2 2 2 1 3 3 5 8 2 からは登ることしかしない (上向きの辺のみを使う)
42.
Contraction Hierarchy:クエリ 6 1 4 3 5 2 2 2 2 1 3 3 5 8 3 までは降りることしかしない (下向きの辺のみを使う)
43.
Contraction Hierarchy:クエリ 6 1 4 3 5 2 2 2 2 1 3 3 5 8
44.
Contraction Hierarchy Contraction Hierarchy
は何故上手くいく? • ポピュラーな頂点が上の方に来るようにする – 高速道路の周りとか – 地域の出口とか • そうすると,追加される辺の数が少ない – どうせポピュラーな頂点を通過するから 43
45.
Customizable Route Planning
(CRP) 特徴:性能そこそこ,拡張性が全て • 手法やはりシンプル • クエリそこまでは速くない • 指標が簡単に入れ替えられる – 時間,距離,右折左折,…… Bing Map のアルゴリズムとして採用 MSR チームとの連携素晴らしい http://www.bing.com/blogs/site_blogs/b/maps/archive/2012/01/05/bing-maps-new-routing-engine.aspx 44 [Delling+, SEA’11]
46.
Customizable Route Planning
(CRP) アプローチ • いにしえのグラフ分割系 • 性能競争の中で一旦廃れていた アルゴリズム概要 • 前処理 1. グラフを分割 2. 境界頂点同士のみからなるグラフ構築 (Overlay Graph) • クエリ – 始点・終点のある部分 + Overlay Graph – その上で Dijkstra のアルゴリズム 45 [Fre87, p. 1006, Fig. 1]
47.
Customizable Route Planning
(CRP) 何故 Contraction Hierarchy ではダメ? Contraction Hierarchy が上手く動く =良い感じの Hierarchy が存在 • 普通の移動時間の指標なら,良い Hierarchy 存在 • しかし,違う指標を入れると,結構すぐダメになる – 例えば,純粋な距離にするだけで,10 倍低性能 – 高速道路とかがポピュラーでなくなるから 46
48.
Hub-Labeling • 有名人 Andrew
Goldberg 率いるチーム • やりこみっぷり:既に関連する論文が 5 本出版 特徴 • とにかくクエリが速い:数百 ns • インデックスは大きめ,前処理も遅め アプローチ • こうすればクエリは爆速になりそうだ • けどそんな前計算できる?データ大きくなりすぎない? • → できそうな気がしてやってみたら上手く行った (「できそう」の裏付けは Highway Dimension という彼らの新しい理論 [SODA’10]) 47 [Delling+, SEA’11]
49.
2-Hop Labeling: 前計算データ •
データ形式とクエリ処理アルゴリズムのフレームワーク • 前計算データ: label 𝐿 𝑣 = 𝑙1, 𝛿1 , 𝑙2, 𝛿2 , … – 𝑙𝑖 ∈ 𝑉, 𝛿𝑖 = 𝑑 𝐺 𝑣, 𝑙𝑖 48 𝑙1 𝑙2 𝑙3 𝒗 𝛿1 𝛿2 𝛿3 𝐿(1): Vertex 1 4 5 7 10 Distance 0 3 2 4 5 𝐿(2): 𝐿 3 : Vertex 2 4 6 12 Distance 0 1 5 3 Vertex 2 3 4 6 7 Distance 5 0 4 7 2 𝑑 𝐺 1,10 = 5 例
50.
2-Hop Labeling: クエリ処理アルゴリズム •
クエリ: 𝑑 𝐺(𝑠, 𝑡) = min 𝑙∈𝐿 𝑠 ∩𝐿(𝑡) 𝑑 𝐺 𝑠, 𝑙 + 𝑑 𝐺 𝑙, 𝑡 – 共通する頂点を通るパス 49 𝑡 𝑠 𝐿(1): Vertex 1 4 5 7 10 Distance 0 3 2 4 5 𝐿 3 : Vertex 2 3 4 6 7 Distance 5 0 4 7 2 例 1 と 3 の距離: • 1 –…– 4 –…– 3 : 3 + 4 = 7 • 1 –…– 7 –…– 3 : 4 + 2 = 6 答えは min{6, 7} = 6
51.
2-Hop Labeling: ラベル計算 課題:
どのようにラベルを計算するか • 正しく (Exactness) • 小さいラベルを (Index Size & Query Time) • 効率的に計算したい (Scalability) 彼らのアプローチ 1. Contraction Hierarchy (最初に紹介したやつ) を作る 2. 自分より上流になったヤツへの距離を全部保存! 3. ……するとやばいので要らないのを判定して消す 50 ちなみに Pruned Landmark Labeling [Akiba-Iwata-Yoshida,SIGMOD’13] も 2-Hop Labeling の手法(複雑ネットワーク向け)
52.
Hub-Labeling のラベルサイズ 驚くほど小さい • 西ヨーロッパの道路ネットワーク,2
× 108 頂点 • 各頂点は,平均たった 69 頂点への距離さえ覚えていれ ば良い! 51 ←これはアメリカだけど
53.
Pruned Highway Labeling
(PHL) 特徴 • Hub Labeling (HL) に迫るクエリ速度! • 前処理は HL より圧倒的に速い! • インデックスは HL より小さいか同程度 アプローチ • Pruned Landmark Labeling (PLL) をベース • 一般化:頂点への距離でなくパスへの距離を保存 • 高速なパス(=高速道路)の存在を活用! 52 [河田-秋葉-岩田, コンプ研’13]
54.
話したこと 1. 平面グラフのアルゴリズム – 双対グラフ,セパレータ,分解 2.
交通ネットワークのアルゴリズム – 経路計画:拡張性系と爆速系 ありがとうございました 53 理論 応用 @oxy さん @kawatea03謝辞:
Download