模式究竟如何帮助遗传算法获得最优解?模式意味着模板是否意味着人口中的每个人都具有相同的模式?
artificial-intelligence genetic-algorithm evolutionary-algorithm
我有我使用遗传算法运行的实验数据,并试图在论文中展示它。什么是表示遗传算法结果的好/经典方法。我正在考虑做一个散点图,代表他们几代人的最大拟合个体。这是结果的一个很好的表示吗?
我目前正在使用Pyevolve包解决一些遗传算法问题.我想知道是否有任何在Pyevolve包中使用Pareto排名的例子,因为我有多个评估函数.
如果不存在,你能不能提供一些Pareto排名算法的伪代码.我想自己实现它.
谢谢!!
任何人都可以给出交叉概率的例子吗?我想知道确定交叉概率有什么好处,以及它在遗传算法或遗传编程中有什么影响.
genetic-programming genetic-algorithm evolutionary-algorithm
我想在C中创建一个函数树,它看起来像这样:http: //scr.hu/5rq/vdja0
所以基本上我希望结果是这样的:http://scr.hu/5rq/f04uu
哪里x是我可以提供的变量(浮动).F0到F6是随机函数,它有两个参数(函数如乘法,加法或给出随机数).所以我的确切问题是:我怎么能这样做?我知道可以通过存储数组中每个函数给出的精确值来轻松完成.但是当谈到获得不同的"x"值时,它会变得复杂.我最初的想法是创建将随机函数附加到树中的每个节点的函数,但是,我不确定应该如何完成构成该树的结构,
typedef struct drzewo typ;
struct drzewo {
typ *right;
typ *left;
typ *up;
float *value; //what to do with this ?
};
Run Code Online (Sandbox Code Playgroud)
我想以某种方式改变行"float*value;" 转换为可以存储函数Function1(left->value,right->value);但未运行的函数,而不是具有给定参数的函数的精确值,以及在何处Function1()或Function2()表示将两个参数分开或将它们相乘的函数.
不,这不是为了学校,是的,这是我使用遗传编程的悲惨尝试.
我有一个遗传算法,目前正在使用轮盘赌选择来生成新的种群,我想将其更改为随机通用采样。
我对这里的工作方式有一个粗略的概述:
pointerDistance = sumFitness/popSize
start = rand.uniform(0, pointerDistance)
for i in xrange(popSize):
pointers.append(start + i*pointerDistance)
cumulativeFit = 0
newIndiv = 0
for p in pointers:
while cumulativeFit <= p:
cumulativeFit += pop[newIndiv].fitness
newPop[newIndiv] = copy.deepcopy(pop[newIndiv])
newIndiv += 1
Run Code Online (Sandbox Code Playgroud)
但我正在努力解决如何准确地实现随机通用采样。有谁知道一些伪代码或示例的好来源?
用一个例子简要描述什么是随机通用采样(但我不确定它是否有意义?):
解释差分进化基本算法的所有更新.我无法找到此算法的所有版本.解释该算法的所有版本作为调查,我不清楚理解维基百科中给出的该算法背后的理论.维基百科也只定义差分进化的基本算法,但我想要对该算法进行所有更新