トップ 最新

kumaryu日記

2011-06-21

_ ICFPコンテスト2011

今年もICFPコンテスト。BingでICFPを検索するとコンテストのページが真っ先に出てくるんだ。俺の欲しいページはそれで合ってるんだがそれでいいのか。

金曜9時からだけど普通に仕事。1日目はルールとか更新されてごたごたしてんだろー知ってるよwwwwwというつもりだったが今回は全くそんなことなかったのであった。

昼休みにルール確認したら対戦カードゲーかよ!Lightning Divisionが無いというので対戦か何かかと思ってたが1vs1の対戦とは。

カードゲームでしかも名前はLambda:The Gatheringとか言うものの、カードは固定セットだし手札というものはなくいつでもどのカードでもいくらでも使える、スロットという場が各プレイヤーに256個あってそこに値と体力が入ってるというのでどっちかというとボードゲームだった。まあ些細な話だが。

帰ってきてからちゃんとルール確認してちょこちょこっと何か組み始める。まずなんとか魔法を使えるようにならないとなぁといってSとかKとかの使い方を考えるんだけどわからなくてとりあえず終了。難しいなぁと思ってたんだけどあとで気のせいであることがわかる。

2日目は午前中にやっぱりattackの発動方法を考えて、やっとSK~の連打で好きな関数を呼べることに気付く。ちなみに公式ページの例にしっかり書いてあるんだが、例をちゃんと読んだのは3日目終わったあとである。←わーいばーかばーか。

じゃあやっとAI書けるかと書きはじまったが、例によって相手と自分のプレイしか入出力されないのでAIの中で場の再現はしてあげないといけないので実行系を全部書くようにはしないといけない。とりあえず書きはしたんだがバグだらけなんよ。めんどくて。

あとは単にattackしてるだけのやつを書いてみたんだが何もしないAIに負けた。そりゃそうだ。attack効率悪いもんな。それだけでなんか土曜日終わったような。

日曜はごろごろしてて20時過ぎから始めたんだけどもう時間がない…。

回復しないといけないんだがhelpの回復効率が良いのでhelp連打して回復してからattackするようにしてみたら何もしないAIには勝つけど時間切れで勝ち。何もしない相手には完勝しないとまずいんじゃないですかね…。

対戦してみようぜーってAIをもらったら、俺のAIはエラーで落ちまくる。デバッグしてなんとか動くようにはなったが、向こうが落ちはしないもののエラー手出しまくりなので勝っても勝ったと言えん状態である。

とりあえず時間ないので送信だけしとくかと送信してから非公式対戦サーバに突入。しかし負けるのはいいんだがエラーで落ちまくる。おおかたエラーは直しただろうというあたりでサーバが死んで復活したあと一戦ちゃんとできてるのを確認して寝て終了。

朝起きたらやっぱりエラー出しまくってたわ。くそー。ゾンビがめんどくさそうだから発動させてなくて、テストできてないのがまずそうな気もするんだよなぁ。あと1000回打ち切りができてない。

で、火曜になってみんなの記事見てから気付いたんだけど公式の例に無限ループの組み方まで載っていたのである。さっぱり読んでないのである。ああ1000回打ち切りしてないから無限ループ組まれると死ぬわな。というか無限ループ前提の問題だったのか。1000回までしか実行されないからそれ以内に収めろよっていう話だと思ってた!

結論。ちゃんと全文読めよ。

今回の問題はSとかKとか言うので難しそうに見えてYコンビネータでなんとかですね!とか一々意味不明なことを言う馬鹿が湧いてくるのがうざかった。まあそれはともかく、そんな難しいことを考えなくてもできるし、ちゃんと例を見れば必要な物は全部載っていたというとても心優しい問題で(しかし読んでいなかった)、しかしながらAIを書くのはそれなりに挑戦であり難しく、毎年関数型言語と関係ないんじゃねという問題ばっかりな中とても関数しており、問題や実行環境が間違っててあとでアップデートされるなんてこともないという良問であった。

ゲームとして見ても手で実行するのは現実的に無理があってコンピュータで対戦させる必然性があるのもなかなか。いやほんとうに手でプレイ不能かというと、魔法のパターンはあるのでそのパターンを使ったレベルにまでして実行はコンピュータにやらせれば手でプレイも可能だと思う。結局AIはそのレベルで組むわけだし。

ちょっと不満があるとすれば登録方法か。Google Docs製の登録フォームでパスワード入力とかさせられるんだが、マスクがかかっていないので作業画面を配信しながらだとパスワード大公開してしまう。まあ配信なんか想定してないんだろうしそれは仕方ないんだけどさ。

ファイル添付ができないのでアップロードした場所とハッシュを書き込んでおけとかめんどうなことになってるのがいただけない。さらに登録後にファイル変更したら再度全部入力して登録しなおしだと!?非公式大戦サーバは一回登録すればログインできる状態だし、ファイルもアップロードすればいいだけで簡単なのになんで公式の登録があんな変なことになってるのかは謎である。Google Docs使いたかっただけ?GoogleGoogle言ってりゃいいと思ってんじゃねーぞ!

それはまあとにかく、今回の反省点としては落ち着け俺、といったところですかね。落ち着いてTask全文訳すくらいの余裕を持つべきだったのでした。いや本当例くらいちゃんと読め。一つ目の例だけ見てあと読み飛ばしちゃったんだよなー。

_ 日記

ICFPコンテスト以外に何か書くことあったけかな。

土日にICFPコンテストやってて月曜は休みにしてあった。

紙の手帳がわりにマメモTM2使えねーかなーとAmazonに注文してたんだけど、さっぱり発送されそうにないので近くに買いに行った。しかし店頭で実物を見てアレ?思ったよりしょぼい。

スペック的には期待してなかったんで、解像度がちょっと低いかなというのも含めて予想通りだったんだけど、ハード的な作りがちょっと…。液晶自体のコントラストが弱くてみづらい。コントラスト設定はあったんだけど、コントラストというより全体的な明るさ?濃くしてもどんどん黒くなって無理な横線が出てくるだけでコントラストは強くならん気が…。白黒反転設定もあったんでそれにしてみたらなかなか良かったんで使うならこれかな。

液晶がしょぼいのはともかく物がどうにもしょぼいのはなんとかならんのか。単4電池が入ってるから厚くなるのは仕方ないにしても全体的に厚いのはいただけない。カバーは裏に回せるようになってるが、想像以上に硬くて結構力入れてホールドしないとぴょんと元に戻っちゃう。タッチペンは無駄にぶっとくてださい。嵌め込みじゃなく差し込み式。むむむ…。

しばらくいじってみたけど、これをポケットに入れて使うのが想像できなかったのでやめた。蓋とペンがしょぼくても手帳に綴じて使えるとか別なペンが挿せる構造になってるとか代替手段が想定されてればよかったんだけど、そんなことは全くないようで、どうもこれはこのもっさいデザインを許容しろということらしい。俺は許容できないのでやめた。

隣に置いてあったブギーボードが会社用にちょっと欲しかったが、海外では保存できるモデルが出そうという話なのでもうちょい様子見で。

結局先月旅行中に出たのですっかり忘れてた赤い刀だけ買って帰った。限定版もあったが何が違うのかわからなかったので通常版で。プレイはしたいけど360つけんのめんどい。