Search on the blog

2013年7月5日金曜日

Connect Fourソルバーを作る(3)

単純なMinMax戦法をとるプレイヤーを作りました。

評価関数は、
  • 自分の勝ちなら +1
  • 引き分けなら 0
  • 自分の負けなら -1
です。枝刈りは自分の勝ちが確定した時点で探索を止めるという単純なものを採用しました。8手先まで読むことができます。

8手読んでどう頑張っても負けると分かったら、潔く「負けました」と言ってくれます。



プログラムソース
ちゃんと最適化とかしてませんが、上の要件は満たしているはずです。(追記: バグあるかも。)

ver 0.1.0 added MinMax Player


どれくらい強いか?
[対AI]
今まで作ったAIと対戦させました。
GreadyPlayerと戦わせた結果は、92勝8負。前回までの最強プレイヤーを軽くねじ伏せました。

[対人間]
対人間と言っても僕がプレーしてみただけです。
ミスしたら確実についてくるのと、終盤の読みがするどいです。なかなか強いです。3回やって1回勝てるくらいです。

次の目標
評価関数を真面目に考える。

0 件のコメント:

コメントを投稿