Colorful Wires

エンジニアリングの勉強の記録

クックパッドの開発コンテスト24に応募したもの 『オール青信号』


『オール青信号』へのアクセスはこちらから
先日、クックパッド主催の開発コンテスト24に、『オール青信号』というサービスを応募し、特別賞を受賞しました。このコンテストでは、「24」という数字にある通り、テーマ発表後から24時間以内にサービスを開発しなければなりません。今回はのテーマは、「朝を便利にする」というものでした。


私は常々、自転車通学中のロスタイムを解消したいという悩みを抱えていました。そこで、『オール青信号』というサービスを開発しました。このサービスは、無数の信号機による赤信号の切れ目の組み合わせを検索し、自転車・二輪・自動車のノンストップな運転が可能となる出発のタイミングを計算します。つまり、いわゆる「私が信号機に近づくとその信号機は全て青に変わってしまう」という体験を可能とします。

本サービスでは、以下のような処理を行なっています。まず、一定速度で進む乗り物を考え、希望到着時刻からリバースシミュレーション(時間を後ろ向きに進めるシミュレーション)を行い、おおまかな出発時刻を計算します。この処理により、時刻の探索範囲を大幅に減少することができます。次に、得られた出発時刻の近辺の時刻をグリッドサーチし、最も待ち時間の少ない条件を見つけます。