由于我的问题涉及到两个认知相互作用,所以单独评估自己的健身状况有点困难.虽然游戏很简单,可以创建一些表面的障碍(AI不直接交互,但障碍被发送给每个其他游戏),这将允许我获得一些抽象的健身,但这不会是“真正的”交易.
图书馆也似乎没有提供另一个接口,我可以实现这样的评估方法.是否有其他框架允许这个或者我需要从头开始?
解决方法 每个遗传算法库应该有一些方法来定义一个适合度函数,这是真正的你正在寻找的. AForge.NET公开了 IFitnessFunction界面. geneticSharp公开了 IFitness界面.是的,您必须自己编写健身功能 – 这是您的问题区域唯一的部分.你可以使它像你想要的那样简单或复杂.在每个染色体通过适应度功能并分配一个分数后,系统使用您喜欢的任何选择标准(锦标赛,轮盘赌等)来选择通过交叉和/或突变进入下一代的染色体.
所以而不是像这样流程:
>匹配当代染色体
每条染色体对都发生一轮
获奖者创造下一代
遗传算法的工作原理如下:
每个染色体都发生一轮并得分
>选择算法使用该分数来挑选总体获胜者
获奖者创造下一代
实质上,每个染色体已经与其他染色体竞争,只比您更抽象一步,我会玩一个游戏.
您可能会采用健身功能,将当前人口中随机的其他成员作为对手.更好的是使用上一代最好的染色体作为整个当代的对手.
分配点到您的染色体进一步进行游戏和奖励积分为对手产生障碍(如果这是独特的动作,与游戏中的正常游戏分开).返回染色体的最终得分作为适应度函数输出.
总结以上是内存溢出为你收集整理的c# – 遗传算法中的比赛评估全部内容,希望文章能够帮你解决c# – 遗传算法中的比赛评估所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)