2009-06-26 (金)
*ICFP 2009 Programming Contest
ICFPのコンテストに参加するために長野へ.
仕事後に急いで準備して,上野駅でgotoと夕食食べて新幹線で長野駅に.sango邸に集合.
日本時間で,27時00分16秒に開始.って,safiiは別チーム参加か.すでに眠いけど,問題を読む.
人工衛星を制御して指定された軌道に載せたりするのが課題っぽい.そして,制御プログラムは存在しないコンピュータで動くものなので,VMを作成しなければいけない.かなり特殊なCPUで,任意のメモリアドレスから読むことは出来ても,書き込み先は,現在のプログラムカウンタに対応する番地にしか書き込めない.そして,ジャンプ命令や分岐命令も存在しない.条件によって演算結果が変わる命令があるので,これで分岐が実現されている.で,ジャンプ命令が無いので,全体を1秒に一回実行するっぽい.
最終的に作成するのは,制御プログラムの入力データなので,実際にはVMなんか作らずに問題を解くことは不可能ではないけれど,内部でどんな動作をしているのか解析するのが大変そう.
とりあえず,VMが動くのを確認して簡単な問題をいくつか解いて寝る.