我可以根据游戏的少量运行来计算代理的适应度吗?

人工智能 优化 遗传算法 适应功能 偏差-方差-权衡
2021-11-13 11:27:06

我正在开发一种人工智能来玩带有遗传算法的纸牌游戏。最初,我会根据随机播放的玩家对其进行评估,因此结果自然会有很多差异。我将取 X 场比赛的平均分作为该代理的适应度。实际玩游戏的时间支配着评估实际遗传算法的时间。

我的问题是:我应该选择一个低 X,例如 10,这样我就可以很快地通过几代人,但适应度函数会很不准确?或者,我可以选择一个高 X,例如 100,并且移动非常缓慢,但功能更准确。

1个回答

您可能会因为两个原因而获得相对较低的 X:

  1. 中心极限定理这告诉我们,代理适应度估计的准确性将随着所玩游戏数量的平方根而提高。
  2. 在 GA 中,您不需要个人的绝对排名,因为您的选择机制(请参阅此处的“相关文章” )通常不是完全精英主义的。例如,如果人口中上半部分的个体被允许繁殖,那么你的适应度函数真的只需要合理地区分好坏。它不需要完美的工作。

X 的正确值仍然取决于代理可能从玩游戏中获得的分数的差异,但这很容易跟踪。一个好的方法可能是将其直接纳入您的估计中。计算方差,然后选择不仅得分高而且方差低的代理。