kt3k 日記

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ICFP contest 2010 参加

ICFP contest 2010 (6/18 - 6/21) に参加しました。

6/18日午後9時スタート
以下経過時間ごとの記録。

00時間 スタートと同時に問題を読み始める。一部、twitter などで問題見れない発言があったけど、自分は普通に見れた。
05時間 gate の文法がやっと分かり、ちゃんと繋がったゲートを作れるようになる。
30時間 ゲートが2入力2出力の関数じゃないかという気がしてくる。
31時間 「ハイスコアが高すぎてやる気がしない」と発言する。
33時間 最初のモデルでの gate の評価が間違っている事が分かる。
39時間 backward wire の意味を変えてもう一度 gate を評価してみると、入力から出力が正しく導き出せる事に気づく。(gate の意味が分かった!
42時間 一人でやる事に限界を感じたので、hirose 君をチームに誘う。(チームのマージは ok 情報より)
45時間 gate のパーサー&シミュレータを作って、出題の入力&ゲートを計算して、key prefix を知る。
48時間 6 gate で key prefix できるよ情報を信じて、6 gate を brute force するコードを書いてみる。python で書いてるのと、アルゴリズムが多分バカなせいで、大会時間内に終わりそうな brute force にならない。悔しいので、Amazon で普段使わない良いインスタンス起動させて、そちらで計算させてみると、3倍ぐらいスピードが違って、Amazon sugeeee と思うが、プログラムがダメなので、結局計算できず、余計悔しい思いをする。
51時間 hirose 君が定数を出す gate を発明。
55時間 hirose 君が任意の3進列を出力する gate を返してくれる関数を書いてくれた。
57時間 一問目が解けた。
64時間 hirose 君から、111110 ていう fuel で、いくつか解ける車があるよと教わる。
66時間 コマンドラインからサーバーに投稿できるツールなどを作る。
67時間 完全に自動投稿するツール作成。111110 fuel を投稿してるだけで、どんどん点が入る。
71時間 2 tank で dimension mismatch しない fuel を発見。自動投稿にかける。
72時間 終了 109位

gate 解読までが難しすぎで、そこまででかなり疲れて
しまいました。(そこまでが分からないと、
ポイントが全く入らないので、精神的にも疲れる。)
(でも、そこまでを瞬殺している人もいて驚きました。)
毎年の事ながら、問題の本質的なアルゴリズム的部分には
ほとんど触れられずに終わってしまいました。

最後の方で、自動投稿しながら点がぽんぽん入っていった時とか、
サーバーの仕様がちまちま変わっていく様子とかは
ライブ感があって、コンテストの内容はともかくとして、
祭りっぽくて楽しめました。

コメント


管理者にだけ表示を許可する
 

 

トラックバック

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。