我一直在开发一个国际象棋程序,它利用 alpha-beta 修剪算法和一个评估函数,该函数使用以下特征评估位置,即材料、国王安全、移动性、棋子结构和被困棋子等......我的评估函数是源于
在哪里 是分配给每个特征的权重。在这一点上,我想使用时间差异来调整我的评估函数的权重,其中代理与自己对抗并在此过程中从其环境中收集训练数据(这是强化学习的一种形式)。我已经阅读了一些书籍和文章,以便深入了解如何在 Java 中实现这一点,但它们似乎是理论上的而不是实际的。我需要关于如何根据以前的游戏自动调整我的评估函数的权重的详细解释和伪代码。