私は実際にゲームの変形であるボードゲームに取り組んでいTIC-TAC-TOE
ます。ゲームの仕様は次のとおりです。
1.ゲームはn
xn
ボードでプレイされ、n
変数が使用されます。
2.k
最初にアラインメントを配置することに成功した場合、プレイヤーは勝利しk
ます。可変です。
3.アラインメントは、横、縦、または斜めのl
マーク ( XまたはO ) で構成されます。l
固定されています。
4.n
xグリッドがいっぱいで (どのプレイヤーもXまたはOn
のいずれかのマークを追加できない)、どのプレイヤーも配置に成功しなかった場合、ゲームは引き分けになります。k
minmax
withalpha-beta prunning
アルゴリズムを使用しています。これは人工知能を使用した最初のプログラムであり、アルゴリズムで使用される評価関数を作成する方法が正確にはわかりません。マテリアルの重み付けを使用して位置を評価する例をネットでいくつか見ましたが、私の場合は適用できません。実際、私は-100
との間の値を返す radom 評価関数を使用しています100
。
float Conf_eval(Configuration c)
{
return (rand()%201)-100;
}
特定のボード構成を評価する方法について何か考えはありますか?