本選の問題作成を担当したさくらインターネットの江草です。
ISUCON9 本選参加された皆様、本当にお疲れさまでした。また、優勝したチーム「白金動物園」の方々、おめでとうございます!
今回は予選両日ともに学生一人チームがトップで予選通過する快挙など、イベント的には良い意味で波乱が巻き起こり運営一同大変興奮しておりました。
https://github.com/isucon/isucon9-final

2020年1月1日に開業する夢の超特急の座席予約サイトという設定で、なんとなく動きはするもののパフォーマンスが劣悪なアプリケーションを今日(!)リリースするので予約を開始する8時間後までになんとかしてくれ、というストーリーとなっています。
行える操作は日時を指定した列車の検索、指定席・自由席の予約から支払い、予約済み座席のキャンセルのみで、これだけ見ると特段の派手さはありません。しかし、細かく内容を噛み砕いていくと極めて複雑なアプリケーションであることがわかります。
一つでも条件のマッチを間違えると運行していない区間を走る列車を予約できたり、多重発券を行ってしまったりと即座に破綻を起こしますし、普段何気なく使われている「窓際の席ならどこでもよい」「3人まとめて予約したらなるべく近くの座席を取る」などの指定がいかに凶悪な条件かを思い知らされることとなります。
ISUCON9 本選参加された皆様、本当にお疲れさまでした。また、優勝したチーム「白金動物園」の方々、おめでとうございます!
今回は予選両日ともに学生一人チームがトップで予選通過する快挙など、イベント的には良い意味で波乱が巻き起こり運営一同大変興奮しておりました。
1. 問題の公開
今回の本選問題のソースコード、データ、および本選では非公開だった決済APIやベンチマークなど全ての要素を公開しております。本選問題についてはdockerで簡単に展開出来るようになっておりますので、ぜひ復習や学習にお役立てください。https://github.com/isucon/isucon9-final
2. 課題アプリケーション概要
今回出題した内容は、開業を間近に控えた鉄道の座席予約を題材とした「ISUXPRESS予約」です。
2020年1月1日に開業する夢の超特急の座席予約サイトという設定で、なんとなく動きはするもののパフォーマンスが劣悪なアプリケーションを今日(!)リリースするので予約を開始する8時間後までになんとかしてくれ、というストーリーとなっています。
行える操作は日時を指定した列車の検索、指定席・自由席の予約から支払い、予約済み座席のキャンセルのみで、これだけ見ると特段の派手さはありません。しかし、細かく内容を噛み砕いていくと極めて複雑なアプリケーションであることがわかります。
一つでも条件のマッチを間違えると運行していない区間を走る列車を予約できたり、多重発券を行ってしまったりと即座に破綻を起こしますし、普段何気なく使われている「窓際の席ならどこでもよい」「3人まとめて予約したらなるべく近くの座席を取る」などの指定がいかに凶悪な条件かを思い知らされることとなります。

