Artificial intelligence 陆军组成。需要帮助设计选择和变异算子吗

Artificial intelligence 陆军组成。需要帮助设计选择和变异算子吗,artificial-intelligence,evolutionary-algorithm,Artificial Intelligence,Evolutionary Algorithm,我正在尝试为我创建的游戏构建人工智能的一部分 问题描述 给定一个特定的可用单位池,以及敌方军队的特定组成(人类玩家),使用进化算法从可用单位池中创建一个单位组成,以击败敌方军队 在这个游戏中有几种类型的单位,它们中的大多数以石头剪刀的方式相互竞争,这意味着a型单位将击败B型单位,B型单位将击败C型单位,C型单位将击败a型单位。最昂贵的单位并不总是最好的。如果敌人的军队是多样化的,我们也需要多样化 单位成本是对其功率的粗略估计。1 A类单位成本为100,大约等于10个B类单位,每个单位成本为10。

我正在尝试为我创建的游戏构建人工智能的一部分

问题描述

给定一个特定的可用单位池,以及敌方军队的特定组成(人类玩家),使用进化算法从可用单位池中创建一个单位组成,以击败敌方军队

在这个游戏中有几种类型的单位,它们中的大多数以石头剪刀的方式相互竞争,这意味着a型单位将击败B型单位,B型单位将击败C型单位,C型单位将击败a型单位。最昂贵的单位并不总是最好的。如果敌人的军队是多样化的,我们也需要多样化

单位成本是对其功率的粗略估计。1 A类单位成本为100,大约等于10个B类单位,每个单位成本为10。然而,这被单位的石头剪纸特性稍微抵消了

约束条件

让军队尽可能小。更大的军队需要更多的维持资源来作战。 保持损失尽可能小,绝不能超过战利品的战利品,至少对于正常的困难。 EA组件

初始化:从可用单元池中随机创建N个组合。 健身:技术上最复杂,但已经完成:只需在我自己的游戏空间内进行模拟。 操作人员:使用哪些遗传操作人员来进化每个陆军组成,以可能改进。到目前为止,我在这方面还没有太大的成功。 我认为,问题的关键在于遗传算子。我尝试过不同的方法,但所有的方法似乎要么陷入局部最优,要么完全是随机的,每次针对同一个对手重新运行算法时,似乎会产生截然不同的结果

我尝试过以下操作,但效果很差或没有效果:

对于每个单元,使用概率p,将其类型从A更改为B 对于每个单元,使用概率p,将其替换为尽可能多的B型单元,以便当前成本保持不变。 对于每个单元,概率为p,在不更换的情况下将其移除 对于每个组合,概率为p,向其添加1个随机类型的单位
所以,我的问题是,根据这个问题描述,什么是合适的变异和组合算子?我觉得到目前为止我使用的操作员都过于关注本地环境添加1、更改1、删除1,并且没有充分利用EA的潜力。

我会尝试在开始时将陆军分为不同的小队,针对每种部队类型。根据每个队的大小,你可以把它分成几个小队。这将给你选择复制小队和做交叉与其他基因组,以获得更多样化的结果

如果这对我没有帮助,我会试着把这些小队和其他类型的小队混在一起,但仍然保持他们的规模。它们可能与你已经存在的突变相同

我也有过类似的问题,我的突变有时候太高,有时候太小,导致了你遇到的同样的随机与局部最优的问题。对我来说,增加交叉机制和降低变异率的同时消除了它们


这是一个3周前的问题,你在这段时间内取得了任何成功吗?

你如何准确计算体能?我只是模拟战斗并比较结果。我的损失与敌人玩家的战利品。净总额可以是正的,也可以是负的。在损失的基础上增加了维持,以汇聚为特定战斗量身定制的更小更具体的军队。否则,由所有可能在山体滑坡中获胜的部队组成的最大的军队将永远是最好的。