gpt4 book ai didi

machine-learning - 如何为游戏创建良好的评估功能?

转载 作者:行者123 更新时间:2023-11-30 08:21:37 25 4
gpt4 key购买 nike

我有时会编写程序来玩棋盘游戏。基本策略是标准的alpha-beta修剪或类似搜索,有时会通过通常的残局或开局方法来增强。我主要玩过国际象棋变体,因此当需要选择评估功能时,我将使用基本的国际象棋评估功能。

但是,现在我正在编写一个程序来玩一个全新的棋盘游戏。我该如何选择良好甚至不错的评估功能?

主要的挑战是相同的棋子总是在棋盘上,因此通常的 Material 功能不会根据位置而改变,并且游戏已经玩了不到一千次左右,因此人类不一定玩得足够尚未提供见解。 (PS。我考虑过采用MoGo方法,但随机游戏不太可能终止。)

游戏详细信息:游戏以10 x 10的局面进行,每边固定6块。这些棋子有一定的移动规则,并且以某些方式相互作用,但从未捕获到任何棋子。游戏的目标是在棋盘上的某些特殊方块中放置足够的棋子。该计算机程序的目标是提供一种与当前人类玩家竞争或比其更好的玩家。

最佳答案

为您的评估功能找到一些候选者,例如移动性(可能的 Action 数)减去对手的移动性,然后尝试为每个指标找到最佳权重。遗传算法似乎可以很好地优化评估函数中的权重。

创建一个具有随机权重的种群,以有限的深度和转弯相互对抗,用获胜者的随机组合替换失败者,随机播放并重复,在每一代之后打印出种群平均值。让它运行,直到您对结果满意为止,或者直到您发现有必要调整某些指标的范围并再试一次(如果一个指标的最佳值可能超出了您的初始范围)。

后期编辑:当时我还不知道的一种更被接受,研究,理解的方法称为“差异演化”。后代是由3个 parent 而不是2个 parent 创建的,这样可以避免过早收敛到平均水平的问题。

关于machine-learning - 如何为游戏创建良好的评估功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1291377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com