标签: evolutionary-algorithm

用Java编写的GA

我试图根据我从"用于游戏程序员的AI技术"一书中选择的技术编写遗传算法,该技术使用二进制编码和适应度比例选择(也称为轮盘赌选择)对人群的基因进行在程序中以二维数组随机生成.

我最近遇到了一个伪代码,并试图实现它,但是我遇到了一些问题,我需要做些什么.我检查过一些书籍和一些开源代码,但仍在努力取得进展.我明白我必须得到总人口的总体适应度的总和,在总和与零之间选择一个随机数,然后如果数字大于父母要覆盖它,但我正在努力实施这些想法.

由于我的Java生疏,因此非常感谢任何帮助实现这些想法.

java roulette-wheel-selection genetic-algorithm evolutionary-algorithm

15
推荐指数
1
解决办法
5万
查看次数

在遗传编程中实现交叉

我正在写一个遗传编程(GP)系统(在C中,但这是一个小细节).我已经阅读了很多文献(Koza,Poli,Langdon,Banzhaf,Brameier等),但有一些我从未见过的实现细节.例如:

我使用稳定状态而不是代际方法,主要是使用计算机的所有内存,而不是为临时人口预留一半.

Q1.在GP中,与GA相反,当您执行交叉时,您选择两个父母,但是您创建了一个或两个孩子,或者您是自由选择吗?

Q2.在稳定的GP中,与世代系统相反,人口中的哪些成员通过交叉创建的孩子取而代之?这是我没有见过的.是两个父母,还是其他两个随机选择的成员?我可以理解,如果是后者,并且您可以使用负面锦标赛选择来选择要替换的成员,但是这不会产生过早收敛吗?(在交叉事件发生后,人口中包含两个原始父母和两个父母的子女,另外两个随机成员被移除.精英主义是固有的.)

Q3.是否有专注于GP的网络论坛或邮件列表?奇怪的是我没有找到一个.雅虎的GP小组几乎专门用于公告,Poli/Langdon Field Guide论坛几乎是无声的,而对于像gamedev.net这样的通用/游戏编程网站的GP讨论非常基础.

感谢您的任何帮助,您可以提供!

artificial-intelligence genetic-programming genetic-algorithm evolutionary-algorithm crossover

13
推荐指数
1
解决办法
2372
查看次数

基因表达式编程与笛卡尔遗传规划的区别

在进化计算中令人讨厌的是,略有不同和重叠的概念倾向于选择截然不同的名称.我最近的困惑是因为基因表达编程似乎与笛卡尔遗传编程非常相似.

  1. (如何)这些根本不同的概念是什么?
  2. 我已经读过GP指令的间接编码是一种有效的技术(GEP和CGP都这样做).是否已经达成某种共识,间接编码已经过时了经典的树基GP?

genetic-programming evolutionary-algorithm

12
推荐指数
2
解决办法
2673
查看次数

比较和对比蒙特卡罗方法和进化算法

蒙特卡罗方法进化算法之间有什么关系?从表面上看,它们似乎是用于解决复杂问题的无关模拟方法.哪种问题最适合?他们能解决同样的问题吗?两者之间有什么关系(如果有的话)?

montecarlo evolutionary-algorithm

12
推荐指数
1
解决办法
3756
查看次数

进化计算能否成为强化学习的一种方法?

什么是进化计算?这是强化学习的方法吗?还是单独的机器学习方法?或许没有?

请引用用于回答此问题的参考文献.

artificial-intelligence machine-learning reinforcement-learning evolutionary-algorithm

12
推荐指数
3
解决办法
6757
查看次数

为什么这种遗传算法会停滞不前?

Roger Alsing编写了一个使用C#重建蒙娜丽莎的进化算法.他的算法很简单:

  1. 生成大小为2的随机群体.
  2. 用适合的克隆替换最不适合的个体.
  3. 改变其中一个人.
  4. 转到第2步

有一个名为Watchmaker的Java进化算法框架.作者使用真正的遗传算法重新实现了蒙娜丽莎问题:http://watchmaker.uncommons.org/examples/monalisa.php

它开始时已经足够好了,但是在30分钟内,制表师的实现停滞不前,而罗杰的实现看起来接近完成.我试着玩这些设置,但它没有多大帮助.为什么Watchmaker的实现比Roger慢得多,为什么它会停滞不前?

链接:

genetic-algorithm evolutionary-algorithm

11
推荐指数
1
解决办法
2377
查看次数

如何定义适应度函数?

我正在开发一个项目,它将拥有一组选定的数据,每个数据都有不同的属性.我将需要使用适应度函数来使用属性选择与我选择的场景最匹配的数据.

但是,我并没有找到任何解释如何定义自己的健身功能的网站.我所拥有的只是它是遗传算法的一部分,而这就是我所得到的.那么,我可以在这里给出一些指示吗?

artificial-intelligence fitness genetic-algorithm evolutionary-algorithm

10
推荐指数
2
解决办法
2万
查看次数

GA中的精英主义:我应该让精英被选为父母吗?

我对遗传算法(和其他进化算法)中的精英主义概念感到有些困惑.当我保留然后将1个(或更多)精英个人复制到下一代时,

  • 我应该考虑当前一代的父选择中的精英解决方案(建立新的人口)吗?
  • 或者,我是否应该使用其他人(将精英放在一边)来建立新的人口并将精英直接复制到下一代?

如果是后者,精英主义有什么用?是不是因为没有失去最佳解决方案?因为在这个方案中,它根本无助于收敛.

例如,交叉/突变部分下,表明精英没有参与.

(当然,可以询问有关幸存者选择部分的相同问题.)

genetic-algorithm evolutionary-algorithm

10
推荐指数
2
解决办法
1万
查看次数

遗传算法 - 与无性遗传算法相比,性有哪些好处?

直觉上我认为如果我想找到"最佳"参数集,我可以简单地从一群孩子中选出表现最好的1个人,让那个人生成100个与自己相似的孩子,挑选最好的表演者并重复.具体目的是挑选最好的2和杂交?那么,为什么不选择3个,4个或10个父母("狂欢衍生的"受精卵)来创造每一代孩子呢?

genetic-programming genetic-algorithm evolutionary-algorithm

9
推荐指数
1
解决办法
988
查看次数

9
推荐指数
0
解决办法
263
查看次数