关于遗传算法的书籍和教程解释说,在二进制基因组中,使用格雷码编码整数通常比使用标准基数2更好。给出的原因是,编码整数中+1或-1的变化,任何数字只需要一位翻转。换言之,在格雷码中,相邻的整数也是相邻的,并且格雷码中的优化问题最多具有与原始数值问题一样多的局部最优解。
与标准基数2相比,使用格雷码还有其他好处吗?
发布于 2016-12-22 04:07:24
为了避免汉明墙的出现,采用了灰度编码。如this paper,第3.5节所述。
基本上,汉明墙是一个点,在这个点上,GA将以正确的方式变异,以产生下一步的适应度,这一点变得罕见或极不可能。
由于格雷编码的特性,这种情况发生的可能性要小得多。
https://stackoverflow.com/questions/41245917
复制相似问题