在遗传算法中使用模式的目的究竟是什么?

Ani*_*ran 2 artificial-intelligence genetic-algorithm evolutionary-algorithm

模式究竟如何帮助遗传算法获得最优解?模式意味着模板是否意味着人口中的每个人都具有相同的模式?

Bla*_*ack 5

答案很长:http://en.wikipedia.org/wiki/Holland%27s_schema_theorem

简答:

模式是应用于总体的"掩码".您可以计算有多少人匹配该面具.因此,模式是解决方案的一部分特征.

如果模式的适应性优于平均值,则越来越多的个体将匹配该模式(如果我正确理解Holland).


And*_*eas 5

Schemata与遗传算法无关.他们只是在那里说话.荷兰确定了它们的存在并将其与遗传算法的能力相关联,这就是它们与GA相关的原因.

对于任何长度为4的位字符串,您可以识别多个模式:

****, 0***, 1***, *0**, *1**, 00**, 10**, 01**, 11**, etc.
Run Code Online (Sandbox Code Playgroud)

这些模式始终存在.个人同时是许多这样的图式的一部分.所有个体都将成为4*架构的一部分,但只有前面带有0的那些将成为0***架构的一部分.

现在与遗传算法有关.什么类型的图式是活跃的是由整个人口中的所有个体决定的.什么样式强大取决于它们在多个人身上的存在.如果人口中的许多人在第4个位置都有"1",那么这是一个强大的模式,如果另外他们在开始时都有0,那么强模式看起来像0**1.越多的人匹配某个模式就越强.模式的适应性是与模式匹配的所有个体的平均适应度.Holland现在表示,使用适应度比例选择,单点交叉和位翻转突变高于平均模式将在进化过程中呈指数级增强.为什么图式变得更强大?因为模式的顺序越高,它就越有可能在搜索过程中被中断.然而,如果该模式存在于多个个体中,则所有个体的概率再次降低.