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