Submit Search
Upload
平面グラフと交通ネットワークのアルゴリズム
•
57 likes
•
26,546 views
Takuya Akiba
Follow
2013/09/12 PFI セミナー「平面グラフと交通ネットワークのアルゴリズム」
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 54
Download now
Download to read offline
Recommended
色々なダイクストラ高速化
色々なダイクストラ高速化
yosupo
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
Takuya Akiba
指数時間アルゴリズム入門
指数時間アルゴリズム入門
Yoichi Iwata
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
Chokudai search
Chokudai search
AtCoder Inc.
道路網における経路探索のための前処理データ構造
道路網における経路探索のための前処理データ構造
Atsushi Koike
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba
Recommended
色々なダイクストラ高速化
色々なダイクストラ高速化
yosupo
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
Takuya Akiba
指数時間アルゴリズム入門
指数時間アルゴリズム入門
Yoichi Iwata
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
Chokudai search
Chokudai search
AtCoder Inc.
道路網における経路探索のための前処理データ構造
道路網における経路探索のための前処理データ構造
Atsushi Koike
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
Takuya Akiba
Rolling hash
Rolling hash
HCPC: 北海道大学競技プログラミングサークル
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
Takuya Akiba
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
最適化超入門
最適化超入門
Takami Sato
強化学習その2
強化学習その2
nishio
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
Takuya Akiba
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
Preferred Networks
強化学習その1
強化学習その1
nishio
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
Union find(素集合データ構造)
Union find(素集合データ構造)
AtCoder Inc.
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
克海 納谷
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
Hakky St
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
最大流 (max flow)
最大流 (max flow)
HCPC: 北海道大学競技プログラミングサークル
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
Takuya Akiba
様々な全域木問題
様々な全域木問題
tmaehara
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
Shota Imai
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
AtCoder Inc.
動的計画法を極める!
動的計画法を極める!
HCPC: 北海道大学競技プログラミングサークル
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法
Takuya Akiba
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
Takuya Akiba
More Related Content
What's hot
Rolling hash
Rolling hash
HCPC: 北海道大学競技プログラミングサークル
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
Takuya Akiba
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
最適化超入門
最適化超入門
Takami Sato
強化学習その2
強化学習その2
nishio
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
Takuya Akiba
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
Preferred Networks
強化学習その1
強化学習その1
nishio
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
Union find(素集合データ構造)
Union find(素集合データ構造)
AtCoder Inc.
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
克海 納谷
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
Hakky St
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
最大流 (max flow)
最大流 (max flow)
HCPC: 北海道大学競技プログラミングサークル
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
Takuya Akiba
様々な全域木問題
様々な全域木問題
tmaehara
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
Shota Imai
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
AtCoder Inc.
動的計画法を極める!
動的計画法を極める!
HCPC: 北海道大学競技プログラミングサークル
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
What's hot
(20)
Rolling hash
Rolling hash
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
ウェーブレット木の世界
ウェーブレット木の世界
最適化超入門
最適化超入門
強化学習その2
強化学習その2
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
強化学習その1
強化学習その1
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Union find(素集合データ構造)
Union find(素集合データ構造)
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
充足可能性問題のいろいろ
充足可能性問題のいろいろ
最大流 (max flow)
最大流 (max flow)
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
様々な全域木問題
様々な全域木問題
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第一回 講義資料(ワークスアプリケーションズ & AtCoder)
動的計画法を極める!
動的計画法を極める!
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
Viewers also liked
大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法
Takuya Akiba
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
Takuya Akiba
Cache-Oblivious データ構造入門 @DSIRNLP#5
Cache-Oblivious データ構造入門 @DSIRNLP#5
Takuya Akiba
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
Takuya Akiba
平面グラフ
平面グラフ
yutaka1999
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
Takuya Akiba
TCO15 Algorithm Round 2C 解説
TCO15 Algorithm Round 2C 解説
Takuya Akiba
2章グラフ理論スピード入門
2章グラフ理論スピード入門
Teruo Kawasaki
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba
『オープンソースで学ぶ社会ネットワーク分析』1章 イントロダクション
『オープンソースで学ぶ社会ネットワーク分析』1章 イントロダクション
Hisao Soyama
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Atsushi KOMIYA
Create twitter-ios-app
Create twitter-ios-app
Tsuneo Yoshioka
ネットワークマイニング(グラフ構造分析)
ネットワークマイニング(グラフ構造分析)
Katsuhiro Takata
Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料
オラクルエンジニア通信
Development of Routing for Car Navigation Systems
Development of Routing for Car Navigation Systems
Atsushi Koike
2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方
Tsuneo Yoshioka
RGtk2入門
RGtk2入門
Masahiro Hayashi
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
Hisateru Tanaka
最短経路問題
最短経路問題
chsommer
型理論 なんて自分には関係ないと思っているあなたへ
型理論 なんて自分には関係ないと思っているあなたへ
Yusuke Matsushita
Viewers also liked
(20)
大規模グラフ解析のための乱択スケッチ技法
大規模グラフ解析のための乱択スケッチ技法
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
Cache-Oblivious データ構造入門 @DSIRNLP#5
Cache-Oblivious データ構造入門 @DSIRNLP#5
Learning Convolutional Neural Networks for Graphs
Learning Convolutional Neural Networks for Graphs
平面グラフ
平面グラフ
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
ACM-ICPC 世界大会 2015 問題 K "Tours" 解説
TCO15 Algorithm Round 2C 解説
TCO15 Algorithm Round 2C 解説
2章グラフ理論スピード入門
2章グラフ理論スピード入門
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
『オープンソースで学ぶ社会ネットワーク分析』1章 イントロダクション
『オープンソースで学ぶ社会ネットワーク分析』1章 イントロダクション
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Newman アルゴリズムによるソーシャルグラフのクラスタリング
Create twitter-ios-app
Create twitter-ios-app
ネットワークマイニング(グラフ構造分析)
ネットワークマイニング(グラフ構造分析)
Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料
Development of Routing for Car Navigation Systems
Development of Routing for Car Navigation Systems
2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方
RGtk2入門
RGtk2入門
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
ダイクストラの構造化 プログラミングに学ぶ 結婚生活
最短経路問題
最短経路問題
型理論 なんて自分には関係ないと思っているあなたへ
型理論 なんて自分には関係ないと思っているあなたへ
Similar to 平面グラフと交通ネットワークのアルゴリズム
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
アート・オブ・アジャイル・デベロップメント読書会#1
アート・オブ・アジャイル・デベロップメント読書会#1
Sosuke Kimura
Masシミュレーションに関する関心事@第65回 ca masゼミ
Masシミュレーションに関する関心事@第65回 ca masゼミ
Takuya Ueda
[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning
Deep Learning JP
2012-03-08 MSS研究会
2012-03-08 MSS研究会
Kimikazu Kato
[ICLR2016] 採録論文の個人的まとめ
[ICLR2016] 採録論文の個人的まとめ
Yusuke Iwasawa
[DL輪読会]Learning convolutional neural networks for graphs
[DL輪読会]Learning convolutional neural networks for graphs
Deep Learning JP
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
Preferred Networks
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
Hokuto Kagaya
【DL輪読会】DreamFusion: Text-to-3D using 2D Diffusion
【DL輪読会】DreamFusion: Text-to-3D using 2D Diffusion
Deep Learning JP
Scrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pub
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究
Yuichi Yoshida
Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01
Ken SASAKI
NeurIPS'21参加報告 tanimoto_public
NeurIPS'21参加報告 tanimoto_public
Akira Tanimoto
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案
Toshiyuki Shimono
Unity名古屋セミナー [Shadowgun]
Unity名古屋セミナー [Shadowgun]
MakotoItoh
JOI-summer-seminar
JOI-summer-seminar
chigichan24
CVPR2017 参加報告 速報版 本会議3日目
CVPR2017 参加報告 速報版 本会議3日目
Atsushi Hashimoto
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
Hiroki Nakahara
Open3DでSLAM入門 PyCon Kyushu 2018
Open3DでSLAM入門 PyCon Kyushu 2018
Satoshi Fujimoto
Similar to 平面グラフと交通ネットワークのアルゴリズム
(20)
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
アート・オブ・アジャイル・デベロップメント読書会#1
アート・オブ・アジャイル・デベロップメント読書会#1
Masシミュレーションに関する関心事@第65回 ca masゼミ
Masシミュレーションに関する関心事@第65回 ca masゼミ
[DL輪読会]Convolutional Sequence to Sequence Learning
[DL輪読会]Convolutional Sequence to Sequence Learning
2012-03-08 MSS研究会
2012-03-08 MSS研究会
[ICLR2016] 採録論文の個人的まとめ
[ICLR2016] 採録論文の個人的まとめ
[DL輪読会]Learning convolutional neural networks for graphs
[DL輪読会]Learning convolutional neural networks for graphs
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで
【DL輪読会】DreamFusion: Text-to-3D using 2D Diffusion
【DL輪読会】DreamFusion: Text-to-3D using 2D Diffusion
Scrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pub
Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究
Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01
NeurIPS'21参加報告 tanimoto_public
NeurIPS'21参加報告 tanimoto_public
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案
Unity名古屋セミナー [Shadowgun]
Unity名古屋セミナー [Shadowgun]
JOI-summer-seminar
JOI-summer-seminar
CVPR2017 参加報告 速報版 本会議3日目
CVPR2017 参加報告 速報版 本会議3日目
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
Open3DでSLAM入門 PyCon Kyushu 2018
Open3DでSLAM入門 PyCon Kyushu 2018
Recently uploaded
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Recently uploaded
(9)
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
平面グラフと交通ネットワークのアルゴリズム
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 now