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

时间:2012-05-11 11:59:16

标签: artificial-intelligence genetic-algorithm evolutionary-algorithm

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

2 个答案:

答案 0 :(得分:5)

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

简短回答:

架构是应用于人口的“掩码”。您可以计算有多少人匹配该面具。因此,模式是解决方案的一部分特征。

如果架构的适应性优于平均值,那么越来越多的人将匹配该架构(如果我正确理解荷兰)。

答案 1 :(得分:5)

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

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

****, 0***, 1***, *0**, *1**, 00**, 10**, 01**, 11**, etc.

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

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