Sud*_*era 1 algorithm evaluation artificial-intelligence minmax
我正在开发一款游戏(坦克游戏2D),(例如 - 链接)AI玩家.我的玩家将成为其他5个玩家中的一个(AI也是),他们在网格中的某个地方随机出现获取最大硬币.(看看上面给出的图片).玩家也可以互相射击.并且健康包也随机出现在网格中的某个位置.
因此,为了使用min max tree并找出最聪明的下一步,我必须构建一个评估函数.问题出现在这里,我以前没有这种评估功能的经验.我应该遵循任何指导方针,还是有一种共同的方法来做到这一点我的意思是我有一些想法,我不确定它是否会这样做工作.你能建议我应该研究哪个领域.我用Google搜索并发现了许多东西,但没有适当的教程或类似的东西.谢谢.
基本上,评估游戏的最佳方法是:
我要做的是如下:
h_1(board),h_2(board),...,h_n(board)- 但我们仍然不知道我们的启发式函数是什么a_1,a_2,...,a_n,然后创建我的启发式函数:h(board) = a_1 * h_1(board) + a_2 * h_2(board) + ... + a_n * h_n(board
蒙特卡洛学习:
蒙特卡洛学习的想法是创建一个代理列表(AI),每个代理都用一些随机值初始化a_1,...,a_n- 并在它们之间进行比赛.
锦标赛结束后a_1,...,a_n,根据执行最佳的代理更改每个代理的值,然后重新运行锦标赛.(一种方法是类似于遗传算法中的"生成"步骤- 交叉和突变,但还有其他方法).
最后 - 蒙特卡洛学习过程应该为您提供良好的价值a_1,...,a_n- 这将为您提供良好的启发式功能.