大体上是100%,人类的遗传基因,基本上100%可遗传给后代。其中核染色体基因可以100%的遗传给后代。其中50%来自母亲,另外50%来自父亲。而线粒体基因则完全来自母亲,Y染色体基因则完全来自父亲。
当然,在遗传中,可能会有数量不同的变异位点,但这些变异的发生,不会影响遗传信息的完整性。
很复杂的,而且有一定的随机概率性。初始群体的选取 遗传算法中初始群体中的个体是随机产生的。一般来讲,初始群体的设定可采取如下的策略: a)根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始群体。 b)先随机生成一定数目的个体,然后从中挑出最好的个体加到初始群体中。这种过程不断迭代,直到初始群体中个体数达到了预先确定的规模。 编辑本段遗传操作 遗传操作是模拟生物基因遗传的做法。在遗传算法中,通过编码组成初始群体后,遗传操作的任务就是对群体的个体按照它们对环境适应度(适应度评估)施加一定的操作,从而实现优胜劣汰的进化过程。从优化搜索的角度而言,遗传操作可使问题的解,一代又一代地优化,并逼进最优解。 遗传操作包括以下三个基本遗传算子(genetic operator):选择(selection);交叉(crossover);变异(mutation)。这三个遗传算子有如下特点: 个体遗传算子的操作都是在随机扰动情况下进行的。因此,群体中个体向最优解迁移的规则是随机的。需要强调的是,这种随机化操作和传统的随机搜索方法是有区别的。遗传操作进行的高效有向的搜索而不是如一般随机搜索方法所进行的无向搜索。 遗传操作的效果和上述三个遗传算子所取的操作概率,编码方法,群体大小,初始群体以及适应度函数的设定密切相关。 选择 从群体中选择优胜的个体,淘汰劣质个体的操作叫选择。选择算子有时又称为再生算子(reproduction operator)。选择的目的是把优化的个体(或解)直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的,目前常用的选择算子有以下几种:适应度比例方法、随机遍历抽样法、局部选择法、局部选择法。 其中轮盘赌选择法 (roulette wheel selection)是最简单也是最常用的选择方法。在该方法中,各个个体的选择概率和其适应度值成比例。设群体大小为n,其中个体i的适应度为,则i 被选择的概率,为 显然,概率反映了个体i的适应度在整个群体的个体适应度总和中所占的比例.个体适应度越大。其被选择的概率就越高、反之亦然。计算出群体中各个个体的选择概率后,为了选择交配个体,需要进行多轮选择。每一轮产生一个[0,1]之间均匀随机数,将该随机数作为选择指针来确定被选个体。个体被选后,可随机地组成交配对,以供后面的交叉操作。 交叉 在自然界生物进化过程中起核心作用的是生物遗传基因的重组(加上变异)。同样,遗传算法中起核心作用的是遗传操作的交叉算子。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。通过交叉,遗传算法的搜索能力得以飞跃提高。 交叉算子根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。根据编码表示方法的不同,可以有以下的算法: a)实值重组(real valued recombination) 1)离散重组(discrete recombination); 2)中间重组(intermediate recombination); 3)线性重组(linear recombination); 4)扩展线性重组(extended linear recombination)。 b)二进制交叉(binary valued crossover) 1)单点交叉(single-point crossover); 2)多点交叉(multiple-point crossover); 3)均匀交叉(uniform crossover); 4)洗牌交叉(shuffle crossover); 5)缩小代理交叉(crossover with reduced surrogate)。 最常用的交叉算子为单点交叉(one-point crossover)。具体操作是:在个体串中随机设定一个交叉点,实行交叉时,该点前或后的两个个体的部分结构进行互换,并生成两个新个体。下面给出了单点交叉的一个例子: 个体A:1 0 0 1 ↑1 1 1 → 1 0 0 1 0 0 0 新个体 个体B:0 0 1 1 ↑0 0 0 → 0 0 1 1 1 1 1 新个体 变异 变异算子的基本内容是对群体中的个体串的某些基因座上的基因值作变动。依据个体编码表示方法的不同,可以有以下的算法: a)实值变异; b)二进制变异。 一般来说,变异算子操作的基本步骤如下: a)对群中所有个体以事先设定的编译概率判断是否进行变异; b)对进行变异的个体随机选择变异位进行变异。 遗传算法导引入变异的目的有两个:一是使遗传算法具有局部的随机搜索能力。当遗传算法通过交叉算子已接近最优解邻域时,利用变异算子的这种局部随机搜索能力可以加速向最优解收敛。显然,此种情况下的变异概率应取较小值,否则接近最优解的积木块会因变异而遭到破坏。二是使遗传算法可维持群体多样性,以防止出现未成熟收敛现象。此时收敛概率应取较大值。 遗传算法中,交叉算子因其全局搜索能力而作为主要算子,变异算子因其局部搜索能力而作为辅助算子。遗传算法通过交叉和变异这对相互配合又相互竞争的操作而使其具备兼顾全局和局部的均衡搜索能力。所谓相互配合.是指当群体在进化中陷于搜索空间中某个超平面而仅靠交叉不能摆脱时,通过变异操作可有助于这种摆脱。所谓相互竞争,是指当通过交叉已形成所期望的积木块时,变异操作有可能破坏这些积木块。如何有效地配合使用交叉和变异操作,是目前遗传算法的一个重要研究内容。 基本变异算子是指对群体中的个体码串随机挑选一个或多个基因座并对这些基因座的基因值做变动(以变异概率P.做变动),(0,1)二值码串中的基本变异操作如下: 基因位下方标有*号的基因发生变异。 变异率的选取一般受种群大小、染色体长度等因素的影响,通常选取很小的值,一般取0.001-0.1。 终止条件 当最优个体的适应度达到给定的阀值,或者最优个体的适应度和群体适应度不再上升时,或者迭代次数达到预设的代数时,算法终止。预设的代数一般设置为100-500代。
遗传 (heredity) 生物亲代与子代之间、子代个体之间相似的现象。 heredity: The genetic transmission of characteristics from parent to offspring. 遗传 父母的基因特征传给子女。 遗传,一般是指亲代的性状又在下代表现的现象。但在遗传学上,指遗传物质从上代传给后代的现象。例如,父亲是色盲,女儿视觉正常,但她由父亲得到色盲基因,并有一半机会将此基因传给他的孩子,使显现色盲性状。故从性状来看,父亲有色盲性状,而女儿没有,但从基因的连续性来看,代代相传,因而认为色盲是遗传的。遗传对于优生优育是非常重要的因素之一。 为什么会出现遗传这种奥妙的现象呢?19世纪末,科学家才在人体细胞的细胞核内发现了一种形态、数目、大小恒定的物质。这种物质甚至用最精密的显微镜也观察不到,只有在细胞分裂时,通过某种特定的染色法,才能使它显形,因此取名为“染色体”。 人们发现,不同种生物的染色体数目和形态各不相同,而在同一种生物中,染色体的数目及形状则是不变的,于是有了子女像父母的遗传现象。在总数为46条的染色体中,有44条是男女都一样的,被人们称为常染色体。男性的性染色体为“ XY”,女性的性染色体为“XX”。人体染色体的数量,不管在身体哪个部位的细胞里都是成双成对的存在的,即23对46条染色体,可是惟独在生殖细胞——卵子和精子里,却只剩下23条,而当精子和卵子结合成新的生命——受精卵时,则又恢复为46条。可见在这46条染色体中肯定有23条是来自父亲,另外23条则来自母亲,也就是说,一半来自父亲,一半来自母亲,既携带有父亲的遗传信息,又携带有母亲的遗传信息。所有这些,共同控制着胎儿的特征,等到胎儿长大成人,生成精子或卵子时,染色体仍然要对半减少。如此循环往复,来自双亲的各种特征才得以一代又一代地传递,使人类代代复制着与自己相似的后代。 那么,染色体又是怎么实现遗传的呢?染色体靠的是它所携带的遗传因子,也就是“基因”,基因是贮藏遗传信息的地方,一个基因往往携带着祖辈一种或几种遗传信息,同时又决定着后代的一种或几种性状的特征。基因是一种比染色体小许多倍的微小的物质,即使在光学显微镜下也不可能看到。它们按顺序排列在染色体上。由染色体将它们带入人体细胞。每条染色体都是由上千个基因组成的。 人之初都是由一个受精卵经过不断的分裂增殖发育而成的,在这个受精卵里蕴涵着父母的无数个遗传基因。详尽设定了后代的容貌、生理、性格、体质,甚至于某种遗传病,子女就是按照这些特征发育成长的。于是就出现了孩子在某个地方像父亲,某个地方像母亲的情况。 基因有显性和隐性之分,在一对基因中只有一个是显性基因,其后代的相貌和特征就能表现出来。而隐性基因则只有当成对基因中的两个基因同时存在时,其特征才能表现出来,以人的相貌特征为例,在胚胎形成时,胎儿要分别接受父亲和母亲的同等基因,假如孩子从父亲的基因里继承了卷发,又从母亲的基因里继承了直发,但是他最后却长了一头直发,这是因为,在遗传时直发是显性,卷发是隐性,因此表现为直发。然而,在这个孩子的染色体中仍存在卷发的隐性基因,在他长大成人后,如果他的妻子和他一样,体内也存在卷发的隐性基因,那么他们的孩子就会有一头卷发,表现出隔代遗传的现象。这就是显性基因和隐性基因的区别。 基因还具有稳定性和变异性。稳定性是指基因能够自我复制,使后代基因保持祖先的样子。变异性是说基因在某种因素的刺激下能够发生变化。如日本人在20世纪40年代一般因遗传缘故,个子较矮小,到60年代之后,日本人注意营养,每日喝奶,又加强锻炼,其后代个子普遍增高,这就是遗传基因向好的方向变异。
很复杂的,而且有一定的随机概率性。
初始群体的选取
遗传算法中初始群体中的个体是随机产生的。一般来讲,初始群体的设定可采取如下的策略:
a)根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始群体。
b)先随机生成一定数目的个体,然后从中挑出最好的个体加到初始群体中。这种过程不断迭代,直到初始群体中个体数达到了预先确定的规模。
编辑本段遗传操作
遗传操作是模拟生物基因遗传的做法。在遗传算法中,通过编码组成初始群体后,遗传操作的任务就是对群体的个体按照它们对环境适应度(适应度评估)施加一定的操作,从而实现优胜劣汰的进化过程。从优化搜索的角度而言,遗传操作可使问题的解,一代又一代地优化,并逼进最优解。
遗传操作包括以下三个基本遗传算子(genetic operator):选择(selection);交叉(crossover);变异(mutation)。这三个遗传算子有如下特点:
个体遗传算子的操作都是在随机扰动情况下进行的。因此,群体中个体向最优解迁移的规则是随机的。需要强调的是,这种随机化操作和传统的随机搜索方法是有区别的。遗传操作进行的高效有向的搜索而不是如一般随机搜索方法所进行的无向搜索。
遗传操作的效果和上述三个遗传算子所取的操作概率,编码方法,群体大小,初始群体以及适应度函数的设定密切相关。
选择
从群体中选择优胜的个体,淘汰劣质个体的操作叫选择。选择算子有时又称为再生算子(reproduction operator)。选择的目的是把优化的个体(或解)直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的,目前常用的选择算子有以下几种:适应度比例方法、随机遍历抽样法、局部选择法、局部选择法。
其中轮盘赌选择法 (roulette wheel selection)是最简单也是最常用的选择方法。在该方法中,各个个体的选择概率和其适应度值成比例。设群体大小为n,其中个体i的适应度为,则i 被选择的概率,为
显然,概率反映了个体i的适应度在整个群体的个体适应度总和中所占的比例.个体适应度越大。其被选择的概率就越高、反之亦然。计算出群体中各个个体的选择概率后,为了选择交配个体,需要进行多轮选择。每一轮产生一个[0,1]之间均匀随机数,将该随机数作为选择指针来确定被选个体。个体被选后,可随机地组成交配对,以供后面的交叉操作。
交叉
在自然界生物进化过程中起核心作用的是生物遗传基因的重组(加上变异)。同样,遗传算法中起核心作用的是遗传操作的交叉算子。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。通过交叉,遗传算法的搜索能力得以飞跃提高。
交叉算子根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。根据编码表示方法的不同,可以有以下的算法:
a)实值重组(real valued recombination)
1)离散重组(discrete recombination);
2)中间重组(intermediate recombination);
3)线性重组(linear recombination);
4)扩展线性重组(extended linear recombination)。
b)二进制交叉(binary valued crossover)
1)单点交叉(single-point crossover);
2)多点交叉(multiple-point crossover);
3)均匀交叉(uniform crossover);
4)洗牌交叉(shuffle crossover);
5)缩小代理交叉(crossover with reduced surrogate)。
最常用的交叉算子为单点交叉(one-point crossover)。具体操作是:在个体串中随机设定一个交叉点,实行交叉时,该点前或后的两个个体的部分结构进行互换,并生成两个新个体。下面给出了单点交叉的一个例子:
个体A:1 0 0 1 ↑1 1 1 → 1 0 0 1 0 0 0 新个体
个体B:0 0 1 1 ↑0 0 0 → 0 0 1 1 1 1 1 新个体
变异
变异算子的基本内容是对群体中的个体串的某些基因座上的基因值作变动。依据个体编码表示方法的不同,可以有以下的算法:
a)实值变异;
b)二进制变异。
一般来说,变异算子操作的基本步骤如下:
a)对群中所有个体以事先设定的编译概率判断是否进行变异;
b)对进行变异的个体随机选择变异位进行变异。
遗传算法导引入变异的目的有两个:一是使遗传算法具有局部的随机搜索能力。当遗传算法通过交叉算子已接近最优解邻域时,利用变异算子的这种局部随机搜索能力可以加速向最优解收敛。显然,此种情况下的变异概率应取较小值,否则接近最优解的积木块会因变异而遭到破坏。二是使遗传算法可维持群体多样性,以防止出现未成熟收敛现象。此时收敛概率应取较大值。
遗传算法中,交叉算子因其全局搜索能力而作为主要算子,变异算子因其局部搜索能力而作为辅助算子。遗传算法通过交叉和变异这对相互配合又相互竞争的操作而使其具备兼顾全局和局部的均衡搜索能力。所谓相互配合.是指当群体在进化中陷于搜索空间中某个超平面而仅靠交叉不能摆脱时,通过变异操作可有助于这种摆脱。所谓相互竞争,是指当通过交叉已形成所期望的积木块时,变异操作有可能破坏这些积木块。如何有效地配合使用交叉和变异操作,是目前遗传算法的一个重要研究内容。
基本变异算子是指对群体中的个体码串随机挑选一个或多个基因座并对这些基因座的基因值做变动(以变异概率P.做变动),(0,1)二值码串中的基本变异操作如下:
基因位下方标有*号的基因发生变异。
变异率的选取一般受种群大小、染色体长度等因素的影响,通常选取很小的值,一般取0.001-0.1。
终止条件
当最优个体的适应度达到给定的阀值,或者最优个体的适应度和群体适应度不再上升时,或者迭代次数达到预设的代数时,算法终止。预设的代数一般设置为100-500代。