定义长度
在遗传算法和遗传编程里面,定义长度(defining length)[1] L(H) 是指在一个架构"H"里面,两个定义符号(defining symbol)最远的距离 (这里的定义符号是指有一个固定值的符号, 对应有一些符号—— 一般以#或*表示 ——可以代表任意值) 。在树GP(tree GP,GP代表遗传算法)架构里面, L(H)则是在架构H里面,包含所有不是"="的符号,最小树片段的连接数。[2]
范例
架构 "00##0","1###1","01###",和 "##0##" 的定义长度分别为4,4,1和0。换句话说,将最后一个出现的定义符号减去第一个出现的定义符号的位置所算出来的值。
在遗传算法内,当预期的解答其定义长度增加时,依靠突变或交配[3](英文: 交叉 (遗传算法))能获得解答的机会也会随之下降。
参考资料
- ^ web.nchu.edu.tw/~sychou/DataMining/Genetics.ppt
- ^ Foundations of Genetic Programming. UCL UK. [13 July 2010]. (原始内容存档于2010-10-17).
- ^ http://homepage.fudan.edu.cn/~pandeng/index/pub/Genetic%20Algorithm%20with%20Multiple%20Individuals%20Crossover.pdf[永久失效链接]