Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
組合せ爆発する経路
Search
NAVITIME JAPAN
PRO
December 17, 2018
Technology
0
42
組合せ爆発する経路
2018年12月17~19日に開催された「IVS CTO Night and Day 2018 Winter」にて発表した資料です。
NAVITIME JAPAN
PRO
December 17, 2018
Tweet
Share
More Decks by NAVITIME JAPAN
See All by NAVITIME JAPAN
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
23
15k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
710
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
240
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
3k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.6k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
360
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.6k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.3k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
5.6k
Other Decks in Technology
See All in Technology
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
150
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.3k
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
140
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
290
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
2
280
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
570
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
170
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
0
150
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.1k
AI駆動開発に向けた新しいエンジニアマインドセット
kazue
0
300
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
170
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Into the Great Unknown - MozCon
thekraken
40
2k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Why Our Code Smells
bkeepers
PRO
339
57k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
BBQ
matthewcrist
89
9.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
組合せ爆発する経路
None
None
None
None
None
なぜ経路探索が 組合せ爆発するのか
None
None
どういうこと?
経路探索の要素技術
多様なコスト要因に対して重み付けし それぞれの条件で最適な経路を算出 コスト計算
道路NWデータ 1リンク 全国で2,700万リンク
探索範囲が広がるほど 処理時間が爆発的に増加
現状の対策
中長距離での間引き
間引きを行うことで品質は劣化する しかし、間引かないとレスポンスタイムが悪化
None
今後やりたいことを考えると 組合せ爆発問題の解決は必須
GPU版経路探索エンジン開発への挑 戦
経路探索処理の特徴 • 要素数が多い • リンク数は全国で2700万リンク • 処理の粒度が大きい • 複数の要因から成るリンクのコスト計算 •
リンクを拡散するか、しないかの条件判断 • 動的な交通情報、規制情報などの考慮 • ネットワークデータへランダムアクセス
経路探索処理の特徴 • 要素数が多い • リンク数は全国で2700万リンク • 処理の粒度が大きい • 複数の要因から成るリンクのコスト計算 •
リンクを拡散するか、しないかの条件判断 • 動的な交通情報、規制情報などの考慮 • ネットワークデータへランダムアクセス
主にやったこと • 探索エンジンを一からフルスクラッチ • CUDAを利用するため • 条件分岐やメモリランダムアクセスはある程度許容する • 減らせる条件分岐は配列アクセスに変換する •
メモリ転送は極力減らす • ホスト⇔デバイス間のメモリ転送はかなり遅いため 詳細は省きます、 気になる方はのちほどお声がけください!
10 100 1000 10000 10 100 1000 時間比率 距離[km] 距離と探索時間の比率
GPU Kepler GPU Volta CPU CPU 階層1のみ 実行速度の最新状況
ポスターアワードの受賞 周囲はほとんどがAI関連。 アンチパターンにあえて 挑んだことで、他にない 独自性を示すことができた
次にやること
更なる高速化 A*コストあり iteration: 200 A*コストなし • 並列探索時のコストにA*コストを付加
既存サーバ GPUサーバ ①リクエスト解釈 ②GPUに探索リクエスト ③GPU経路探索 ④探索結果返却 ⑤レスポンス返却 稼働中のシステムへの統合 gRPCで既存サーバと接 続
機能キャッチアップ 多対多選 年度内S-in
さらに未来の話
None
究極のパーソナライズへ
THANKS!