ボードゲーム制作:自作ゲームのAIを強くする①~駒の評価値編~

今回は前回の準備編に引き続き、自作ゲームのAI強化のための調査行っていきます。

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

今回は駒の評価値(強さ)について調べてみます。

HOTIXとは

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

まだまだコンピュータが弱く、先手後手の有利不利も分かっていない発展途上のゲームです。

詳しいルールはこちらを参照です。
ボードゲーム紹介:オリジナルボードゲーム「HOTIX」

アルファベット将棋 HOTIX

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

駒の評価値

コンピュータは数手先を読んで1番良さそうさ手を選びます。
もちろんずっと先を読んで(詰みまで読んで)指せればよいのですが、ものすごく時間がかかってしまうので、途中で先読みをやめてその局面がどのくらいよいか形勢判断する必要があります。
(もちろん形勢がよくなるように指すわけですが、具体的にどうやって手を決めるかはまた後日)

盤上の形勢判断で最も分かりやすいのが、駒の評価値です。
将棋でよく言われる「飛車が10点、角が9点、…、歩が1点」というやつですね。

もちろん状況によって駒の価値は変わりますが、単純に足すだけなので簡単に形勢判断をすることができます。

例えばこの局面
pic1
仮に、Hが5点、Tが4点、Xが3点、Iが2点だとすると、
先手は合計で15点、後手は合計で13点。
なので先手の方がいい局面ということになります。

これだけでも局面の評価値を算出することができますが、もう少し工夫してみます。

同じ駒でも場所によって働きが違います。
pic1
端にあるよりも、
pic1
中央にあった方が動ける場所も多く価値は高そうです。

なので場所によって倍率を定めます。
例えばこんな感じ。

0.9 1.0 1.0 0.9
1.0 1.1 1.1 1.0
1.0 1.1 1.1 1.0
0.9 1.0 1.0 0.9

この倍率を評価値にかけて足すことで、評価の精度を上げます。

本当に精度が上がるのか、倍率ありとなしで対戦させてみます。
pic1
倍率ありの方が勝率がいいので、少しではありますが効果はありそうです。
なので今後の評価値にもこの倍率をかけることにします。

ちなみに前後入れ換えて行っても同じくらいの勝率になりました。

駒の強さを調べる

現在(2017年3月)公開しているバージョンの評価値は

H T X I I(成)
公開版 200 160 120 70 220

となっています。

正直何でこの値にしたのかは覚えていません。
たぶん感覚で決めたのでしょう。

なのでこの値(大小関係)が適切なのか調べてみましょう。

この評価値を見てみると、H1枚とX、Iの2枚を交換した時、Hをもらった側の方がよいということになりますね。
本当にそうなのか、実験してみましょう。

さきほどと別の評価値1を用意。

H T X I I(成)
公開版 200 160 120 70 220
評価値1 200 160 120 90 220

評価値1は「X + I > H 」となるようにIの評価値を少しだけ上げています。

初期配置ランダムで先後入れ換えて200回ずつ対戦させてみます。

先手 先手勝 引分 後手勝 後手
公開版  96  22  82 評価値1
評価値1 102  15  83 公開版

結果としては先手と後手で勝数があまりに変わりませんでした。
あんまりX、Iの2枚とHを交換する機会がないのかもしれませんね。

そんなに差が出なかったのでとりあえずはこのままでもよいでしょう。



次は駒の強さ関係を調べてみます。
あましろがプレイしてみて感じた強さは、評価値を見てもらうと分かるかと思いますが
H > T > X > I
の順になっています。

これが正しいか確認します。

まず駒の強弱関係を変えた評価値2と3を用意。

H T X I I(成)
評価値1 200 160 120 90 220
評価値2 160 200 120 90 220
評価値3 200 120 160 90 220

評価値2:T > H > X > I
評価値3:H > X > T > I
となっています。

評価値1と2を対戦させHとTどちらが強いか、評価値1と3を対戦させTとXどちらが強いかを調べます。
(H>Xは明らかなので調べません。Iはたぶん最弱でしょう)

まずは評価値1と3から。

先手 先手勝 引分 後手勝 後手
評価値1 114  16  70 評価値3
評価値3  76  13 111 評価値1

先手でも後手でも評価値1が勝っています。
このくらいの差が出れば評価値1が強い(T>X)と言えるのではないでしょうか。
これは予想通り。

次は評価値1と2

先手 先手勝 引分 後手勝 後手
評価値1  86  26  88 評価値2
評価値2  92  31  77 評価値1

差はあまりないですが評価値2が勝っています。
確率によるぶれがあるので何とも言えませんが、これではH>Tとは言えませんね。

結果

今回の結論としては、駒の強弱関係は
T > H > X > I
となりそうです。

「H」と「T」の差はあまりないかなとは思っていましたが、予想が外れてしまいました。

ですが予想が外れたままでは終われません。
「H」は相手のトライを防ぐために必要になることが多いです。
コンピュータはトライを積極的に狙ってこないので、「H」の価値が低くなった可能性もあります。

次回はより精度の高い評価値を算出するために、駒の働きとトライを考慮した評価値計算をやってみます。

アルファベット将棋 HOTIX

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

シェアする

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

フォローする