ICFP Contest 3 日目

(08:05) クーラーを消してうなっていたら体調は回復しました。昨日発覚した新事実もなんとかクリア&妥協しましたが、まだまだ奥は深いようです。それにしても Scoreboard に動きがありませんよね。みんな submit せずにこっそり必死にがんばっているのか、それともほとんどの人が投げてしまったのか。
(17:41) そろそろ終わりですね。お疲れ様でした。結局奥深いところには全然たどり着けませんでしたので、持てる知識をアドホックに使い込んで点数稼ぎに走りました。16 位の得点から見て、10 位内も厳しそう。山も雲も太陽もカーゴもバルーンもできなかったし。問題の本質に気づくのにやたらと遅れたのが最大の敗因でしょうか。僕はおっそい dna2rna しか書けずに迷惑をかけたのに、ここまでこれたのはひとえにゆんさんと飛廉さん *1 のおかげです。そのうち今大会の紹介とまとめを書きます。多分。

*1:DNA や dna2rna のトレースを直接目で見ながらものすごい速度で解析を進める人外たちでした。逆アセンブラを書く時間はなかった。

ICFP Contest 2007 まとめ

ICFP Programming Contest 2007 が終わりました。僕は kuma-- として参加していました。ゆんさん、飛廉さん、僕の 3 人チームです。

今年の問題は、与えられた DNA (プログラム) にできるだけ短いコードを付け足して、その発現結果 (画像) を指定画像にできるだけ近づける、というものでした。

ちなみに何もコードを付けないと、↓のような発現結果になります。

与えられた DNA は 'I' 、'C' 、'F' 、'P' という 4 種類の塩基、というか文字からなる 7 MB くらいの文字列 *1 で、指定された方法で実行すると RNA が出力されます。RNA は同じ 4 種類の文字を 7 文字ごとにまとめた感じのリストになっていて、指定された方法で実行すると画像が出力されます。

チーム kuma-- は、まともな時間で動く DNA インタプリタを作るのに期間の半分を使ってしまったのが致命傷でした。rope なんて思いつかん。それでもゆんさんと飛廉さんの驚異的なひらめきと非人間的な解析能力のおかげで、15 位以内には入れたようです。

僕は DNA インタプリタの作成を担当しました (つまり致命傷の犯人は僕) 。結局 DNA インタプリタは 50 K step / sec 程度しか出ませんでした *2 。作る人が作れば 1 M step / sec だの 2 M step / sec だの出るそうで。がっかり。他にはこまごまとしたツールの作成や、オブジェクトの描画位置を手動で合わせる地道な作業をやりました。

課題ネタバレ解説

去年と同じ系統の、「主催者が作りこんだゲームをみんなでやりこむ課題」でした。チーム kuma-- が到達したところまで簡単に解説します。完全にネタバレですのでご注意ください。

*1:こんな感じ→IIIPIPIIPCIIIPFFFFFPIIIPFFFFFPIIIPCCCCCPIIIPIIIIIPIIIPIIIIIPIIIPIIIIIPIIIPIIIIIPIIIPIIIIIPIIIPIIIIIP...

*2:文字列ライブラリには Boehm GC 付属の cord を使いました

続きを読む