【发布时间】:2014-01-19 06:34:51
【问题描述】:
我实际上正在开发一款棋盘游戏,它是TIC-TAC-TOE 游戏的变体。游戏的具体内容如下:
1. 游戏在nxn 棋盘上进行,带有n 变量。
2.如果玩家成功将k 对齐放在第一位,则玩家获胜,k 是可变的。
3. 对齐由水平、垂直或对角线的l 标记(X 或O)组成。 l 已修复。
4. 如果nxn 网格已满(没有玩家可以添加标记 X 或 O)并且没有玩家成功放置 k 对齐,因此游戏被绘制。
我正在使用 minmax 和 alpha-beta prunning 算法。这是我的第一个人工智能程序,我不知道如何创建算法使用的评估函数。我在网上看到了一些使用材料加权来评估位置的示例,但我无法在我的情况下应用它。实际上,我使用的是随机评估函数,它返回一个介于 -100 和 100 之间的值。
float Conf_eval(Configuration c)
{
return (rand()%201)-100;
}
知道如何评估给定的电路板配置吗?
【问题讨论】:
-
在很难找到好的启发式算法的游戏中,蒙特卡洛方法似乎效果最好(在棋盘游戏 GO 中取得了巨大成功)。
标签: artificial-intelligence minmax evaluation-function