gpt4 book ai didi

algorithm - 防止零和博弈中的遗传算法合作

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:56:15 25 4
gpt4 key购买 nike

我有一个特定的游戏,它不是字面上的零和游戏,因为分数是由游戏在比赛中奖励的,但接近于它,在总积分数有明确上限的意义上,所以您得分越多,对手的得分就越少。游戏由 5 名玩家进行,没有任何团队。

我正在让遗传算法在几代人之间使用伪随机“突变”与自己进行回合。

但在几百代之后,总会出现一种模式。该算法最终强烈支持特定玩家(例如:先玩的玩家)。由于给出“最佳结果”的突变作为下一代的基础,这似乎朝着某种版本的“如果你是第一个玩家,以这种方式玩(这种方式是一种非常具体但相当随机的技术,让坏的,或者充其量是平均结果),如果不是,则以这种间接但强烈有利于第一位玩家的特定方式进行游戏。”

然后,对于下一代,轮到被强烈偏爱的玩家开始完全随机变异,因为无论它做什么,它都会赢得每一轮,只要有利于该玩家的算法部分仍然完好无损。

我正在寻找一种方法来阻止这种特定的进化路线,但我无法弄清楚如何通过自己的策略“奖励”胜利而不是胜利,因为你得到了很多帮助。

最佳答案

我认为发生这种情况是因为只有循环赛的获胜者才能在每一代中得到提升和变异。起初,玩家或多或少随机获胜,但随后出现了一种有利于位置的策略。现在我猜稍微偏离那个策略(伪随机突变)只会让你输掉你处于有利位置的比赛而不会赢得任何其他比赛,所以你永远不会偏离那个策略,就像本地纳什一样平衡。

您可以尝试每代保留不止一个个体,并从中产生突变。但我怀疑这是否会有所帮助,最多只能延迟效果。因为很快最佳个人的代码就会传播给所有人。这似乎是问题的根本原因。

因此我的建议是拥有 t 个部落,每个部落有 x/t 个个体。现在,每个人不再参加循环赛,而是只与其他部落的人比赛。然后你保留每个部落最好的个体,变异并继续下一代。使部落永远不会混合基因。

关于algorithm - 防止零和博弈中的遗传算法合作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43985047/

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