ボードゲーム制作:自作ゲームのAIを強くする(準備編)

どうも、あましろです。

叡王戦で佐藤名人が優勝しましたね。
これでついに名人とコンピュータの対戦が実現する訳です。楽しみですね。
いやーでも千田さん vs ponanza も見たかったなー。
いつか実現しないですかね。



それはさておき。
今回は私のオリジナルゲーム、「アルファベット将棋 HOTIX」のAI強化のための下準備をしていきたいと思います。

HOTIXとは

アルファベット将棋HOTIXは、私あましろオリジナルの将棋ゲーム。

アルファベット将棋 HOTIX

アルファベット将棋 HOTIX
無料
posted with アプリーチ

ルールはこちらで解説しているので、知らない方は先にこちらを読むことをオススメします。
ボードゲーム紹介:オリジナルボードゲーム「HOTIX」

繰り返し対戦モードの追加

コンピュータが強いかどうかを判断するためには、コンピュータ同士を何回も対戦させる必要があります。
なので、新しく複数対戦させるためのアプリを作っていきます。

まずは設定画面をいじって
pic1
初期配置選択の下に対戦数入力ボックスを追加。
ついでにレベル5のボタンも追加(今回は使いませんが)。

入力した数字の回数だけ対戦を繰り返すように変更し、
あとはゲーム画面下に勝利数を表示する枠を作って完成。

試しに初期配置ランダムでレベル1同士で100回対戦させてみました。
pic1
なんとぴったり50対50。
先手の方が先に動ける分有利かと思いましたが、1手先しか読まないのであまり関係はないようです。

これで準備が出来ました。
あとはいろんな戦法や評価関数を持たせたAIを作って対戦させるだけです。

現在のレベル比較

せっかくデータがとれるようになったので、現在の各レベルでどれ程の差があるのかを調べてみます。

初期配置が標準だと定跡に左右されるので、今回はランダムでやりたいと思います。

まずは簡単に各レベルの紹介。
詳しい中身についてはまた後日書きたいと思います。

■レベル1
1手先を読む。
少々悪い手でも指す。

■レベル2
1手先を読む。
レベル1と比べて悪い手は指さない。

■レベル3
3手先を読む。

■レベル4
5手先を読む。

全ての手を読む訳ではないので、読み抜けがあれば相手が上のレベルでも勝つことができます。

※100回だと回数が少ないので、ちょっとくらいの差ではどちらが強いかは言えません。
ただレベルが高くなると時間がかかるので、今回はとりあえず100回でやってます。

先手レベル1対後手レベル2
pic1
読みの深さは同じですが、選ぶ手の評価の違いで結構差が出ました。
これくらい差があると、はっきりレベル2が強いと言えるでしょう。

先手レベル3対後手レベル4
pic1
レベル4が、良い指し手を読み抜ける確率がこれくらいということでしょうか。

では気になる最終結果を。
ゲーム画面の勝利数と同じように「先手の勝数 引き分け数 後手の勝数」としています。

 

後手
先手
level 1 level 2 level 3 level 4
level 1 50  0 50 14  0 86  3  1 96  3  0 97
level 2 78  1 21 53  0 47 18  2 80  7  0 93
level 3 94  1  5 86  3 11  41 11 48 16  6 78
level 4 99  1  0 95  3  2 67  9 24 49 13 38

順当な結果になったのではないでしょうか。
だいたい、1つ上のレベルなら十何勝か出来て、2つ上にはほぼ勝てないって感じになってますね。


最後にレベル4同士で標準で対戦させてみました。
結果は
pic1
だいたい半々くらいになりました。
とりあえず定跡に偏りがなさそうで安心です。

それにしてもこのゲーム先手後手どちらが有利なんでしょう。

アルファベット将棋 HOTIX

アルファベット将棋 HOTIX
無料
posted with アプリーチ
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする