プログラミングを上達させたい

プログラミングの勉強を始めた、情報学専攻の大学院生です。モチベーション維持のため、ブログに勉強したことを書いていきます。→就職。IT全然関係ない仕事をしています

CEDEC AI CHALLENGE2014決勝に出てきました #cedecai

かなり前の話(9/4)の話になりますが、横浜で行われたCEDECというイベントの1つのセッションである、CEDEC AI CHALLENGE2014という大会の決勝に出てきました。
ゲームのルールはコチラ
自分で大きなプログラムを書いたことがないながら(競技プログラミングの問題をこそこそ解くのみ)、頑張って挑戦してみました。


コードの上げ方とか、どうしたらいいんでしょうか。全部ここに書くと長いですよね・・・
昔意味もよく分からずアカウント作ったGitHubにあげてみました。他の人のを見る限り、絶対何か間違っている・・・
こういうの、面倒だから嫌いなのです。勉強したら開発とかに便利なのだろうけど。開発とかしたことないし。
というわけで、決勝用のコードはコチラです。見れますかね。
なんか上げるときはこうしたら良いよ、みたいなアドバイスあったら教えて下さい。

ルールは上のサイトを参照して頂くとして、コードの説明を少し書いていきます。
とは言っても、決勝当日の自己紹介のスライドがあるので、それを載せます。
f:id:frfrfrfr:20140922230011j:plain

だいたいはこれだけなので、あまり書くことがないですね・・・
上に書いてないものとして、2ターン目(=最初の土日)は、同じ女の子を2回連続で選ぶようにしました。
これは、他のAIになるべく情報を与えないためです。

反省としては、他に決勝に進んだ方々が使っていた、モンテカルロ法、というものを知らなかったことが一番ですかね。
僕のプログラムだと、一応確率的に色々見るようにはなっているのですが、
・相手が次の手で何をやるかを全く考慮しない点
・自分で設定した基準をクリアしている場合、そこで探索をやめてしまう点
が劣っているように思いました。
きっとAI絡みの知識があるか、ある程度調べれば使っていた手法なので、次にこういうイベントがあったときには使ってみたいところです。
僕の戦法は名前あるんでしょうか?分かりません。

決勝は1戦のみの対決だったので、大分運要素が強かったのですが、決勝に残った方々はモンテカルロ法+各々の工夫、という方々でした。
ただ、モンテカルロ法のチューニング?が色々あるらしく、分類は同じでもきっと全然違うような戦略だったのだと思います。
高速化、評価の仕方など、(難しく、根気が必要そうですが)楽しそうでした。

次のこういう大会はSamurAI Codingでしょうか?出たことないですが。
出られる限りは、挑戦していきたいと思います。

色々書きましたが、こういう形式の大会は初めてなので、決勝に出られたことも含めて非常に楽しく、良い経験になりました。
懇親会行けなかったが残念でした。

今回は以上です。

広告を非表示にする