数学摆摆手,“很惭愧,只在遗传算法上做了一点微小的工作”

本文最早发表在本人博客http://www.gotoli.us/?p=1514

遗传算法是一个模拟生物进化的算法,并不是从数学推导出来的。因此很多人直觉认为,遗传算法并不需要数学基础。为什么还有人去探究遗传算法的数学基础呢?一是满足我们的好奇心,二是遗传算法数学基础真的有些用的!!!在介绍遗传算法数学基础之前,先定义一些符号:

因为有各种各样的编码方式、变异操作、交叉操作和选择操作,遗传算法的形态呈现多样性。这里只介绍针对典型遗传算法的分析。那么什么是典型遗传算法呢?典型遗传算法:

  1. 编码方式是二进制编码:基因的取值只能是0或者1。
  2. 变异操作将所有染色体所有基因位以pm的概率翻转。
  3. 交叉操作选择选择相邻的个体,以pc的概率决定是否需要交叉。如果需要交叉,随机选择一个基因位,并交换这个基因位以及之后的所有基因。
  4. 选择操作有放回地采样出原种群大小的新一代种群,个体I_i的采样概率如下所示。这种选择操作又被称为轮盘赌选择。

(1)

模式定理


模式定理是遗传算法创始人 J.Holland 在其突破性著作《Adaptation in Natural and Artificial Systems》引入的,用于分析遗传算法的工作原理。模式是指编码空间中相似的模块,比如[0,,,1]就是一个模式。染色体[0,1,0,1]和[0,0,0,1]都包含上述的模块。为了引入模式定理,我们还得介绍一些符号。

有了这些符号,我们就可以引入模式定理了。模式定理: 在典型的遗传算法中,下面公式成立。

(2)

这个公式是怎么来的呢?我们先来看选择操作对模式H出现概率的影响。根据选择操作,我们很容易得到如下公式。

(3)

我们再看变异操作对模式出现概率的影响。变异操作将所有基因位以pm的概率翻转,因此模式H不被破坏的概率为下面第一个不等式。经过变异操作,模式H的出现概率为下面第二个不等式。

(4)

最后我们来看交叉操作对模式出现概率的影响。交叉操作选择选择相邻的个体,以pc的概率决定是否需要交叉。如果需要交叉,随机选择一个基因位,并交换这个基因位以及之后的所有基因。因此模式H不被破坏的概率为下面第一个公式。经过交叉操作,模式H的出现概率为第二个公式。

(5)

模式定理的通俗说法是这样的,低阶、短长以及平均适应度高于种群平均适应度的模式在子代中呈指数增长。用公式表示便是下面的公式。

(6)

马尔科夫链分析


模式定理简单易懂,能够简要地回答人们的疑惑。可能有些偏数学的研究者可能觉得模式定理过于直白,没有数学的“味道”。比如,模式定理没有给出收敛性分析,包括是否收敛和收敛速度等。因此有研究者引入了“正统”的数学分析工具——马尔科夫链,对遗传算法进行收敛性的研究。

马尔科夫链的相关概念:st表示第t时刻的不同状态的概率。P表示转移概率矩阵,其中P_{i,j}表示从第i个状态转移到第j个状态的概率。齐次马尔科夫链的第t+1时刻的状态只和第t时刻有关,可以用公式s{t+1} = s{t}P表示。若存在一个自然数k,使得Pk中的所有元素大于0,则称P为素矩阵。我们还需要引入两个引理。

引理1: 让C、M 和 S 是概率转移矩阵, 其中 M 所有元素大于 0 和 S所有列必有一项大于0,则乘积 CMS 所有元素大于 0。

引理2: 让概率转移矩阵P是一个素矩阵。随着k趋近于无穷,Pk收敛于P{\infty} = \pmb{1}{T}p{\infty}, 其中p^{\infty}是和初始状态无关的唯一值,并且所有元素大于0。

我们把整个种群的状态看成马尔科夫链的一个状态s,交叉、变异和选择操作则构建了一个概率转移矩阵。我们来分析0<pm<1和1<=pc<=1时概率转移矩阵的性质。让C,M,S分别表示交叉、变异和选择操作带来的概率转移,整体概率转移矩阵P=CMS。1) 经过变异操作,种群状态s_i转化成种群状态s_j的概率(pm){h}(1-pm){nL-h} > 0,其中h是两个种群之间不同值的基因位数量。也就是说,M是素矩阵。2) 经过选择操作,种群状态s_i保持不变的概率为


也就是说, S的所有列必定有一元素大于0。根据引理1,我们可以知道概率转移矩阵P是素矩阵。

正统的优化算法分析第一个要关心的问题是,优化算法能不能收敛到全局最优点。假设全局最优点的适应度值为maxf,收敛到全局最优点的定义如下

(7)

典型遗传算法其实并不收敛。具体的证明我就不列了(感兴趣的同学可以之间看论文 [Rudolph and Günter,1994]),直接说下思路:根据引理2,我们可以知道典型遗传算法会收敛到一个所有种群状态概率都大于0的概率分布上;因此之后,不包含全局最优解的种群一定会不停出现,从而导致上面的公式不成立。实际上,几乎所有遗传算法代码都会将保持已发现最优解。加了这个变化之后的遗传算法是收敛的。思路也是蛮简单的:根据引理2,我们可以知道典型遗传算法会收敛到一个所有种群状态概率都大于0的概率分布上;那么包含全局最优解的种群一定会不停出现,保持已发现最优解的做法会使得上面的公式成立。

看到这部分,我笑出声来。为什么呢?因为这段分析实际用处其实不大。大家想啊,如果我们不考虑之前种群并随机生成新种群(也就是我们说的瞎蒙),构造出来的概率转移矩阵也是素矩阵(P中所有元素的值相等)。也就是说,瞎蒙也是可以收敛哦。因此上面的分析更多地是追求一种结构的美感,对现实实践并没有什么卵用。

模式定理属于脚踏实地型,注重解决人们对遗传算法的疑惑,注重解决实际问题。马尔科夫链属于仰望星空型,注重将遗传算法纳入到一个更广大的理论系统中。其实除了这种两种分析思路之外,还有一种思路。这种思路考察父代和子代种群平均适应度变化。但这种分析思路没有产生太多后续工作,这边就不再介绍了,有兴趣的同学可以直接看论文 [Altenberg and Lee, 1995]。


理论分析的用处


遗传算法理论分析可以指导实际问题。我们用一个分配问题做引子。两位文秘a和b需要处理n件文书;由于两位文秘熟悉领域不一样,两人处理同一件文书所需要的时间不同;怎么分配文书,使得总工作时间最短。遗传算法可以解决这个问题,有两种编码方案:

方案一:我们使用二进制编码。第i位基因是0,则将第i件文书分配给a;第i位基因是1,则将第i件文书分配给b。比如n=3,[1,0,1]表示第1和第3件文书给a文秘,第2件文书给b文秘。

方案二:我们使用排序编码。一个个体代表了文书的排序方案。第i位基因值是j,则将第j件文书排在第i位。两位文秘同时处理文书,其中一位处理手头的文书,则按排序顺序取下一件文书处理。

哪一种编码方式比较好呢?有兴趣的同学可以析下哪种编码方式比较好。先卖个关子,具体答案将在下一篇——遗传算法的变种和多目标遗传算法中介绍。


参考文献


Altenberg, Lee. "The schema theorem and Price’s theorem." Foundations of genetic algorithms 3 (1995): 23-49.
J. Holland, Adaptation in Natural and Artificial Systems, The MIT Press; Reprint edition 1992 (originally published in 1975).
Rudolph, Günter. "Convergence analysis of canonical genetic algorithms." Neural Networks, IEEE Transactions on 5.1 (1994): 96-101.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容