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
39
組合せ爆発する経路
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
22
15k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
450
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
170
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
2.6k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.4k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
270
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.4k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.3k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
5.4k
Other Decks in Technology
See All in Technology
AIエージェント入門
minorun365
PRO
33
20k
Log Analytics を使った実際の運用 - Sansan Data Hub での取り組み
sansantech
PRO
0
120
JavaにおけるNull非許容性
skrb
2
2.7k
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
380
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
380
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
350
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
19k
エンジニアの健康管理術 / Engineer Health Management Techniques
y_sone
3
260
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.6k
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.7k
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
220
Qiita Organizationを導入したら、アウトプッターが爆増して会社がちょっと有名になった件
minorun365
PRO
1
330
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Gamification - CAS2011
davidbonilla
80
5.2k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Adopting Sorbet at Scale
ufuk
75
9.2k
GraphQLとの向き合い方2022年版
quramy
44
14k
Producing Creativity
orderedlist
PRO
344
40k
Side Projects
sachag
452
42k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Done Done
chrislema
182
16k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Become a Pro
speakerdeck
PRO
26
5.2k
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!