VSTTE Competition参加記録
id:yoshihiro503さんに誘われて、VSTTE Competitionというソフトウェア検証コンテストに参加しました。
「検証ツールに特に制限はないぜ」と書かれていたのでCoqを使いました。
競技プログラミンングに初めて参加しましたが、48時間ぶっとうしで同じ課題に取り組むのはとてもエキサイティングで楽しかったです。
一日目
開始直前
- yoshihiro503さんから"uiro,tebasaki,miso,..."と列挙された謎のメールが届く。 どうやらチーム名の候補だったらしいです。
- yoshihiro503さんとSkypeで話しながらbitbucketの準備をしたりする。
- 0:00からの開催に備えて仮眠をとる。
0:00ごろ
- 問題が公開される。 https://sites.google.com/site/vstte2012/compet/problems
- ざっと見た感じだとProblem2,Problem4,Problem5が関数型ぽっかったので、Problem2をボクが、Problem4をpirapiraさん、Problem5をyoshihro503さんが担当することにする。
- 簡単かと思ったProblem2をよく読むと「停止性のない関数を定義しろ」と書いてあって、散々苦しむ。
3:00ごろ
5:00ごろ
- 新聞配達の人が来て、時間の進む速度にびびる。
- なんとかProblem3の疑似コードをCoqに変更することができたので、さすがに寝る。
二日目
9:00ごろ
13:00ごろ
- Problem3がだいたい解ける。あとは細かい補題を示すだけ。
- 五十嵐先生の講義を聞くために大学への移動する。
16:00ごろ
- 五十嵐先生の講義終了。 [twitter:@keigoi]さんとyoshihiro503と合流する。
- @keigoiさんがProblem2について「OCamlで記述してCFMLで証明すればいいんじゃない?」と意味のわからないことを言っていた 。
- Problem3の証明が終わったので、@yoshihiro503さんと一緒にProblem5にとりかかる。
19:00ごろ
22:00ごろ
- 翌日に備えて、早めに就寝。
三日目
8:00ごろ
- 起床。Problem1の続きを始める。
- 関数をCoqっぽくしてるので、特に問題なく進む。
13:00ごろ
- Problem1証明終了。
- メールチェックをするとpirapiraさんがProblem4をhirose_golfさんがProblem2を解き終わっていた。このひとたちすごい。
- 残っているProblem5にとりかかる。
18:00ごろ
- 何もすすまないまま夕方になる。
- partake.in のために名駅に移動する。
20:00ごろ
22:00ごろ
- 帰宅。 Problem5を解くのを完全にあきらめる。
- yoshihiro503さんと現状を確認して、投稿の準備を始める。
23:00
- tarballを作ったりビルドスクリプトを書いたりして投稿。
感想
- めちゃくちゃ楽しかった。次もぜひやりたい。
- 他のメンバーの証明能力がハンパなくてびびる。
- 夜って意外と短かい。