2018/02/28に開催された「ITS Tech Study #01」で発表した資料です。
NAVITIMEの経路はこうして作られる~4100万人の移動を導く経路探索の流儀~株式会社ナビタイムジャパンルートグループ 福士 達央2018/2/28
View Slide
アジェンダ2 自己紹介・会社紹介 経路探索エンジン紹介 種類 要素 コストモデル 経路探索開発のポイント 経路品質 性能 評価方法 今後
自己紹介3
自己紹介4 福士 達央(ふくし たつおう) 経歴 2008 ナビタイムジャパン新卒1期生として入社、現在10年目 2008-11 海外地図データ開発 2011-17 道路系経路探索開発 2015-17 横断PJ PM 地図リプレイス/台湾トータルナビ対応 2017- 道路系経路探索 PM スキル C/C++ 地図データ アルゴリズム リバースエンジニアリング プロジェクトマネジメント野球部 港区2017秋大会優勝
ナビタイムジャパン紹介5
ナビタイムジャパン紹介6 基本情報 社員数: 400名(2018年2月時点) 平均年齢: 31.2歳(2017年9月時点) エンジニア:80%(2017年9月時点) 事業内容 コンシューマ系(公式・協業) ユーザ数 延べ月間UU数:4100万人(2017年12月末時点) 有料会員数:480万人(2017年12月末時点) 法人系
ナビタイムジャパン紹介7 会社の成り立ち 社長・副社長が経路探索エンジンの研究者 1998年に世界初のトータルナビゲーションが完成 2000/03/01 ナビタイムジャパン設立 経営理念 「経路探索エンジンの技術で世界の産業に奉仕する」 ナビタイムにとっての経路探索 経路探索の技術を軸に事業を展開 コア技術である経路探索には強いこだわり本日はその経路探索の開発の裏側をこっそりお教えします
経路探索エンジン紹介8
経路探索エンジン紹介 ~種類~9公共交通 道路
経路探索エンジン紹介 ~種類~10公共交通 道路本日はこちら
経路探索エンジン紹介 ~要素~11経路探索アルゴリズムNWデータから最適経路を高速に算出する技術コスト計算どの道路を通るのが良いか価値を決める技術道路NWデータ様々な属性を含むリンク・ノードでモデル化した地図・理論的・情報工学・グラフ理論・経験的・交通工学・心理学リンク/ノード単位でコスト取得どのような道路か属性を取得リンク・ノードの接続関係を取得・地図データコンバート・交通情報生成
経路探索エンジン紹介 ~一般化費用コストモデル~12時間優先探索 距離優先探索時間金銭煩雑さコスト時間距離金銭煩雑さコスト多様なコスト要因に対して重みづけが可能時間金銭煩雑さ・・時間係数金銭係数煩雑さ係数・・=コストコスト係数(主にポリシー)ベクトル内積コスト要因(主に事実)
経路探索開発のポイント~経路品質~13
14多様なユーザに満足してもらうために
15多様なユーザに満足してもらうために1. 1経路の最適性向上 1経路でできるだけ多くのユーザを満足させる2. 多様な別経路の提案 満足できないユーザに対して、異なる性質の経路を提供最適な1経路別経路別経路ユーザが満足できていない部分を両方のアプローチで埋めていく
16改善サイクルルートに不満ルート指摘送信調査分類・集計 改善対応ナビ反映不満解消
17改善サイクルのポイント1. ルート指摘 ルート専用の指摘の口がある 直近のルートのリクエストも合わせて送信詳細な調査が可能に!
18改善サイクルのポイント2. ルート改善専用のチームが存在 調査・分類・集計を集中して実施中央分離帯データ投入後指摘が0件に!例)中央分離帯未考慮による指摘の集計
19改善サイクルの今後3. ユーザとのコミュニケーションの活性化さらなるユーザ満足度向上へルートに不満ルート指摘送信調査 ナビ反映不満解消分類・集計 改善対応ユーザとのやり取りコミュニティ改善の通知
20所要時間精度 経路品質の指標 所要時間精度:30分の経路に対して誤差±5分以内の経路が90% 所要時間=標準速度と交通情報による速度 から算出 順調時はさほど難しくない 混雑・渋滞時に速度を正しく捉える・予測できることが重要 交通情報データ情報源・種類と対応状況 VICSとプローブを組み合わせて利用リアルタイム 短期予測 長期予測VICS / プローブ ○ ○ ○
21所要時間精度 Re:dashを使って日々の精度を集計 集計結果を分析し、改善に活用
22経路品質改善の直近の取り組み
23経路品質改善の直近の取り組み NT-FILTER
24経路品質改善の直近の取り組み NT-FILTER
25経路品質改善の直近の取り組み NT-FILTER
26経路品質改善の直近の取り組み NT-FILTER 課題 ノイズが多い 運用コスト高い 改善 AIを利用したノイズ除去実施
27機能追加の直近の取り組み 事故リスク地点回避(阪神高速様と共同) 時間・距離・料金だけでなく、安心・安全のニーズが高まる 各道路の事故リスクを算出し、リスクの大きさに応じてコストを付与して回避 事故リスク算出方法 過去の事故実績のある道路を状況に応じて分類 事故リスク算出用のモデル式を推定
28機能追加の直近の取り組み 事故リスク地点回避(阪神高速様と共同) 経路に反映
29機能追加の直近の取り組み 事故リスク地点回避(阪神高速様と共同) 難しいポイント 遠回りになりすぎない範囲での経路チューニング 基本、一般道と比べて高速は事故が少ない 単純に適用すると高速使いまくる 外部データ利用 事故リスクの推定(外部)とナビタイムの経路探索とで、扱うNWデータが異なる» 形状や属性のマッピング作業が必要推奨 リスク考慮25.00%30.00%35.00%40.00%45.00%有料 一般幹線 一般推奨 チューニング 単純バランスは維持経路割合
経路探索開発のポイント~性能~30
31オリンピックを見て実感
32正確さと速さの両立は難しい
33 理論上最適経路を導くアルゴリズムは古くから存在 日本の道路NW 数百万~数千万単位のノード・リンクで構成 日時規制やリアルタイム交通情報などのリアルタイム性を適用 サービスの要求に耐えられない経路品質とパフォーマンスはトレードオフ
34 経路品質を極力落とさずパフォーマンス向上を実現 アルゴリズム ダイクストラ・A*・階層化 など 開発言語:C++ データ形式:独自バイナリ形式 技術トレンド的にはやや古め 性能面の制御がしやすい 近年のクラウド化や並列処理技術の進歩 現状の経路品質とパフォーマンスのバランスに変化 経路品質向上にも寄与経路品質とパフォーマンスはトレードオフ
35 事前処理による経路探索の高速化 経路探索処理の並列化性能改善の取り組み
経路探索開発のポイント~評価方法~36
37 一般的な単体テスト プロダクト品質を担保 経路探索エンジンプロダクト品質に加えて 経路品質 パフォーマンスの評価も同時に実施する必要があるコードの単体テストのみでは不足
38 チューニングや機能追加するたびに、全国車を走らせてフィールドテスト! ができればいいのだが...評価作業大変!コストかかる時間かかる!改善サイクルまわらない
39 実際のユーザの経路探索リクエストを利用 ランダムに十分な量をサンプリング 実際のユーザの分布と同様のテストケース 改修前後のデータ・エンジンで、それぞれ経路探索を実行 結果比較評価作業都心部:多地方部:少
40 経路品質 経路探索エラー発生有無 経路サマリー数値比較・統計的評価 時間 距離 など ビューワで経路を引いてみて目視確認 求められる品質に応じて、確認する件数を決定評価作業前 後 差分
41 パフォーマンス 実行時間の比較・統計的評価 差分の平均・最大 割合だけでなく絶対値も 優劣の程度から判断 評価作業工数 小規模な改善ならば 経路チューニングと合わせて数日~1週間程度で実現 自動化など改善の余地がまだある評価作業
今後42
今後43 経路探索ログや移動ログを活用した経路探索 交通コンサルの分析結果を経路にも反映 渋滞予測強化