遗传算法和进化博弈论算法有什么区别?
遗传算法和进化博弈论算法有什么区别?
人工智能
比较
遗传算法
进化算法
博弈论
2021-11-05 11:02:15
2个回答
菲利普的回答很好,但我会补充。
在GA中,评估一组个体(通常由位串表示)在特定任务上的适应度。每个个体都由一个适应度函数单独评估,可以确定其质量。在旅行推销员问题中,位串可能表示一个数字序列,例如,对应于旅行期间访问城市的顺序。适应度函数将检查单个个体,计算旅行的总成本,并根据该值为该个体分配适应度。低分个体被移除,高分个体在自己身上产生变体,并且该过程重复。
在进化博弈论中,个体群体也在某些任务上被评估,但通常任务涉及个体之间的交互。例如,您可以使用 EGT 模拟来研究类似 Iterated Prisoner's Dilemma这样的游戏中发生的情况。在这里,个人的适应度不仅取决于任务的规则,还取决于群体中其他参与者的行为和策略。一开始非常有效的策略(如始终合作)一旦出现背叛者就会迅速消失。只要有一些合作者可以捕食,叛逃者就很有效,但很快就会被诸如以牙还牙之类的策略击败. 通常,研究人员对模拟过程中出现的特定策略并不感兴趣,而是对模拟过程中的种群动态以及可能出现的种群平衡类型感兴趣。查看 Dan Ashlock关于博弈论的一些论文以了解更多信息。
遗传算法通常是一个单一群体,旨在优化特定任务,例如最小化旅行商问题的距离。
进化博弈论算法通常对竞争中的种群之间的变化进行建模,通常通过使用上述遗传算法,但在参与者之间更广泛的竞争环境中构建。
对于像旅行推销员问题这样的问题,它可能会将游戏构建为与竞争玩家的游戏,其中玩家到达一个城市“锁定”该城市并使其无法进入其他玩家。在这些情况下,可能会出现新的优化,例如本地主义优于冒险主义等,虽然玩家仍在尝试通过各自的遗传算法的适应度函数来最小化整体行进的距离,但他们必须在直接竞争的环境中使用其他策略来快速创建很多额外的细微差别和深度。