×

遗传算法原理 遗传算法

遗传算法原理(遗传算法 什么是染色体的可行性)

admin admin 发表于2022-09-03 09:35:47 浏览103 评论0

抢沙发发表评论

本文目录

遗传算法 什么是染色体的可行性


1.2 遗传算法的原理 遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的

遗传算法属于数学优化理论吗


算的
遗传算法是一种利用自然遗传规律来搜索最优解的数学优化工具。其基本过程及原理简单概括如下:
遗传算法是具有“生成+检测”迭代过程的搜索算法,是一种群体型操作。操作以群体中的所有个体为对象。它有三个基本操作算子:选择、变异和交叉。遗传算法中包含五个基本要素:参数编码;初始群体设定;适应度函数设计;遗传操作设计;控制参数设定(主要指群体大小和使用遗传操作的概率等)。这五个要素构成了遗传算法的核心内容。参数编码就是将优化问题变量通过一定的变换映射到染色体基因上面。初始群体设定应使其具有足够的规模和随机性。遗传算法根据染色体基因值来计算染色体适应度,并根据适应度值决定染色体的交配概率,适应度大的染色体交配概率大。染色体交配之后应对染色体进行变异,这样可以避免算法过早收敛。变异之后的群体就是子代,它将作为下一代群体的父代,进行同样的遗传操作,如此循环。在算法执行过程中,控制参数的设定直接影响算法的精度和效率,因此选定合适的控制参数是提高算法效率的关键之一。一般采用观察法来选定合适的控制参数

遗传算法原理与应用实例的目录


第1章 绪论
1.1 从生物进化到遗传算法
1.2 遗传算法的描述
1.3 表示方案的实例
1.3.1 工程设计的最优化
1.3.2 人工蚁问题
1.4 遗传算法的特点
1.5 遗传算法的发展简史
1.6 遗传算法的研究内容及前景
1.7 遗传算法的应用
第2章 遗传算法的基本原理
2.1 复杂系统的适应过程
2.1.1 复杂系统的适应性
2.1.2 适应过程的数学模型
2.2 遗传算法的基本描述
2.2.1 整体优化问题
2.2.2 遗传算法的基本流程
2.2.3 遗传编码
2.2.4 适应函数(评价函数)
2.2.5 遗传算子
2.2.6 群体设定
2.2.7 初始化群体
2.2.8 终止循环的条件
2.2.9 标准遗传算法的流程
2.2.10 控制参数和选择
2.2.11 遗传算法的性能评估
2.3 遗传算法的模式理论
2.3.1 模式与模式空间
2.3.2 模式生存模型
2.3.3 双臂赌机分析
2.3.4 基因模块假设
2.3.5 模式处理与隐含并行性
2.3.6 模式处理与遗传算子的性能
2.4 遗传算法与其他搜索技术的比较
2.4.1 启发式随机搜索技术的基本功能
2.4.2 局域搜索技术
2.4.3 模拟退火算法
2.4.4 遗传算法搜索
2.4.5 启发式搜索技术比较
2.5 遗传算法计算实例
2.5.1 单调连续函数
2.5.2 One-Max函数
2.5.3 皇家大道问题
2.6 遗传算法杂交率与变异率关系的研究
2.6.1 研究方法简述
2.6.2 算例
2.6.3 应用
2.6.4 结论
第3章 遗传算法数学机理分析
3.1 遗传算法的基本定理
3.2 隐含并行性
3.3 Walsh模式变换
3.3.1 Walsh函数
3.3.2 用Walsh函数表示模式平均适应度
3.3.3 Walsh系数与异位显性(epistasis)
3.4 非均匀Walsh模式变换
3.5 最小欺骗问题
3.6 遗传算法欺骗问题的分析与设计
……
第4章 解连续优化问题的遗传算法
第5章 分布式遗传算法研究
第6章 遗传算法的实现技术
第7章 遗传算法应用实例
参考文献-遗传算法原理


遗传算法和强化学习最大的的区别是什么


有监督的学习、无监督的学习和强化学习。 强化学习采用的是边获得样例边学习的方式,在获得样例之后更新自己的模型,利用当前的模型来指导下一步的行动,下一步的行动获得回报之后再更新模型
遗传算法的原理 遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则
-遗传算法

matlab上的遗传算法函数优化


用ga函数,ga函数就是遗传算法的函数,它的调用格式为:
x
=
ga(fitnessfcn,nvars,a,b,aeq,beq,lb,ub,nonlcon,options)
fitnessfcn就是待优化函数,nvars为变量个数,然后后面的lb是下界,ub是上界,你这个问题就需要这4个位置的参数,其他位置的参数用代替就行,由于ga函数默认是求待优化函数的最小值,所以要想求最大值需要把待优化函数取负,即编写为
function
y=myfun(x)
y=-x.*sin(10*pi.*x)-2;
把这个函数存为myfun.m,然后在命令行里敲
x=ga(@myfun,1,,,,,,)
会返回
optimization
terminated:
average
change
in
the
fitness
value
less
than
options.tolfun.
x
=
1.8506
由于遗传算法的原理其实是在取值范围内随机选择初值然后进行遗传,所以可能每次运行给出的值都不一样,比如再运行一次会返回
optimization
terminated:
average
change
in
the
fitness
value
less
than
options.tolfun.
x
=
1.6507
这个具体原因需要参考遗传算法的有关资料
-遗传算法原理

遗传算法路径规划是什么原理


遗传算法有相当大的引用。遗传算法在游戏中应用的现状在遗传编码时, 一般将瓦片的坐标作为基因进行实数编码, 染色体的第一个基因为起点坐标, 最后一个基因为终点坐标, 中间的基因为路径经过的每一个瓦片的坐标。在生成染色体时, 由起点出发, 随机选择当前结点的邻居节点中的可通过节点, 将其坐标加入染色体, 依此循环, 直到找到目标点为止, 生成了一条染色体。重复上述操作, 直到达到指定的种群规模。遗传算法的优点:1、遗传算法是以决策变量的编码作为运算对象,可以直接对集合、序列、矩阵、树、图等结构对象进行操作。这样的方式一方面有助于模拟生物的基因、染色体和遗传进化的过程,方便遗传操作算子的运用。另一方面也使得遗传算法具有广泛的应用领域,如函数优化、生产调度、自动控制、图像处理、机器学习、数据挖掘等领域。2、遗传算法直接以目标函数值作为搜索信息。它仅仅使用适应度函数值来度量个体的优良程度,不涉及目标函数值求导求微分的过程。因为在现实中很多目标函数是很难求导的,甚至是不存在导数的,所以这一点也使得遗传算法显示出高度的优越性。3、遗传算法具有群体搜索的特性。它的搜索过程是从一个具有多个个体的初始群体P(0)开始的,一方面可以有效地避免搜索一些不必搜索的点。另一方面由于传统的单点搜索方法在对多峰分布的搜索空间进行搜索时很容易陷入局部某个单峰的极值点,而遗传算法的群体搜索特性却可以避免这样的问题,因而可以体现出遗传算法的并行化和较好的全局搜索性。4、遗传算法基于概率规则,而不是确定性规则。这使得搜索更为灵活,参数对其搜索效果的影响也尽可能的小。5、遗传算法具有可扩展性,易于与其他技术混合使用。以上几点便是遗传算法作为优化算法所具备的优点。遗传算法的缺点:遗传算法在进行编码时容易出现不规范不准确的问题。
-遗传算法

什么是遗传算法


遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。
  对于一个求函数最大值的优化问题(求函数最小值也类同),一般可以描述为下列数学规划模型:
遗传算法式中x为决策
变量,式2-1为目标函数式,式2-2、2-3为约束条件,U是基本空间,R是U的子集。满足约束条件的解X称为可行解,集合R表示所有满足约束条件的解所组成的集合,称为可行解集合。
  遗传算法的基本运算过程如下:
  a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。
  b)个体评价:计算群体P(t)中各个个体的适应度。
  c)选择运算:将选择算子作用于群体。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的。
  d)交叉运算:将交叉算子作用于群体。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。遗传算法中起核心作用的就是交叉算子。
  e)变异运算:将变异算子作用于群体。即是对群体中的个体串的某些基因座上的基因值作变动。
  群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t 1)。
  f)终止条件判断:若t=T,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。
  遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。每个个体实际上是染色体(chromosome)带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。
-遗传算法原理

遗传算法的基本原理


自然界是一个自适应的大系统[53,56~60],自然系统中的大多数生物体通过自然选择和有性生殖这两种基本过程进行自身的演化,使自己逐步达到完美来适应大自然。遗传算法受生物进化与遗传的启发,形成一种独特的优化方式,遗传算法的运算原理常常与生物进化及遗传学说相吻合,而且其术语也常仿照生物学的术语。遗传算法的运算基础是字符串,先将搜索对象编码为字符串形式;字符串就相当于生物学中的染色体,由一系列字符组成;每个字符都有特定的含义,反映所解决问题的某个特征,这就相当于基因,亦即染色体DNA的片段。每个字符串结构被称为个体,每个个体都可以通过问题本身所具有的适应值度量来计算反映其适应性好坏的适应值,然后对一组字符串结构(被称为一个群体)进行循环操作。每次循环操作被称作一代,其中的操作包括:保存字符串组中适应性较好的那些字符串到下一代(对应于遗传学中的复制),使上一代中的优良个体得以生存下去,这类似于生物进化论中的自然选择。通过有组织的然而是随机的字符串间的信息交换来重新结合那些适应性好的字符串(对应于遗传学中的交叉),在每一代中利用上一代字符串结构中适应性好的位和段来生成一个新的字符串的群体;作为额外增添,偶尔也要在字符串结构中尝试用新的位和段来替代原来的部分(对应于遗传学中的变异),等等。遗传算法中这些操作只涉及字符串的某些片段,这就类似于遗传过程只涉及某些基因而不是整个染色体。遗传算法是一类随机算法,但它不是简单的随机走动,它可以有效地利用已有的信息来搜寻那些有希望改善解质量的字符串。类似于自然进化,遗传算法通过作用于染色体上的基因,寻找好的染色体来求解问题。与自然界相似,遗传算法对求解问题的本身一无所知,它所需要的仅是对算法所产生的每个染色体进行评价,并基于适应值来选择染色体,使适应性好的染色体有更多的繁殖机会。-遗传算法


非数值算法的模拟退火算法


模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体
内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平
衡态,最后在常温时达到基态,内能减为最小。根据Metropolis 准则,粒子在温度T 时趋于
平衡的概率为e-ΔE/(kT),其中E 为温度T 时的内能,ΔE 为其改变量,k 为Boltzmann 常
数。用固体退火模拟组合优化问题,将内能E 模拟为目标函数值f,温度T 演化成控制参数
t,即得到解组合优化问题的模拟退火算法:由初始解i 和控制参数初值t 开始,对当前解重
复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t 值,算法终止时的当
前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火
过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t 及其衰减因子Δt、每个t
值时的迭代次数L 和停止条件S。
1、模拟退火算法可以分解为解空间、目标函数和初始解三部分 。 它为问题的所有可能(可行的或包括不可行的)解的集合,它限定了初始解选取和新解产
生时的范围。对无约束的优化问题,任一可能解(possible solution)即为一可行解(feasible
solution),因此解空间就是所有可行解的集合;而在许多组合优化问题中,一个解除满足目
标函数最优的要求外,还必须满足一组约束(constraint),因此在解集中可能包含一些不可行
解(infeasible so1ution)。为此,可以限定解空间仅为所有可行解的集合,即在构造解时就考
虑到对解的约束;也可允许解空间包含不可行解,而在目标函数中加上所谓罚函数(penalty
function)以“惩罚”不可行解的出现。 它是对问题的优化目标的数学描述,通常表述为若干优化目标的一个和式。目标函数的
选取必须正确体现对问题的整体优化要求。例如,如上所述,当解空间包含不可行解时,目
标函数中应包含对不可行解的罚函数项,借此将一个有约束的优化问题转化为无约束的优化
问题。一般地,目标函数值不一定就是问题的优化目标值,但其对应关系应是显明的。此外,
目标函数式应当是易于计算的,这将有利于在优化过程中简化目标函数差的计算以提高算法
的效率。 是算法迭代的起点,试验表明,模拟退火算法是鲁棒的(Robust),即最终解的求得几乎
不依赖于初始解的选取。
2、基本思想:
(1) 初始化:初始温度T(充分大),初始解状态S(是算法迭代的起点), 每个T 值的迭
代次数L
(2) 对k=1,,L 做第(3)至第6 步:
(3) 产生新解S′
(4) 计算增量Δt′=C(S′)-C(S),其中C(S)为评价函数
(5) 若Δt′《0 则接受S′作为新的当前解,否则以概率exp(-Δt′/T)接受S′作为新的
当前解.
(6) 如果满足终止条件则输出当前解作为最优解,结束程序。
终止条件通常取为连续若干个新解都没有被接受时终止算法。
(7) T 逐渐减少,且T-》0,然后转第2 步。
二、遗传算法
遗传算法的基本思想是基于Darwin 进化论和Mendel 的遗传学说的。
Darwin 进化论最重要的是适者生存原理。它认为每一物种在发展中越来越适应环境。物种
每个个体的基本特征由后代所继承,但后代又会产生一些异于父代的新变化。在环境变化时,
只有那些能适应环境的个体特征方能保留下来。
Mendel 遗传学说最重要的是基因遗传原理。它认为遗传以密码方式存在细胞中,并以基因
形式包含在染色体内。每个基因有特殊的位置并控制某种特殊性质;所以,每个基因产生的
个体对环境具有某种适应性。基因突变和基因杂交可产生更适应于环境的后代。经过存优去
劣的自然淘汰,适应性高的基因结构得以保存下来。
遗传算法简称GA(Genetic Algorithm),在本质上是一种不依赖具体问题的直接搜索方法。
1、遗传算法的原理
遗传算法GA 把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在
执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的
“环境”中,并按适者生存的原则,从中选择出较适应环境的“染色体”进行复制,再通过
交叉,变异过程产生更适应环境的新一代“染色体”群。这样,一代一代地进化,最后就会
收敛到最适应环境的一个“染色体”上,它就是问题的最优解。
长度为L 的n 个二进制串bi(i=1,2,,n)组成了遗传算法的初解群,也称为初始群体。
在每个串中,每个二进制位就是个体染色体的基因。根据进化术语,对群体执行的操作有三
种:
(1).选择(Selection)
这是从群体中选择出较适应环境的个体。这些选中的个体用于繁殖下一代。故有时也称这一
操作为再生(Reproduction)。由于在选择用于繁殖下一代的个体时,是根据个体对环境的适
应度而决定其繁殖量的,故而有时也称为非均匀再生(differential reproduction)。
(2).交叉(Crossover)
这是在选中用于繁殖下一代的个体中,对两个不同的个体的相同位置的基因进行交换,从而
产生新的个体。
(3).变异(Mutation)
这是在选中的个体中,对个体中的某些基因执行异向转化。在串bi 中,如果某位基因为1,
产生变异时就是把它变成0;反亦反之。
2、遗传算法的特点
(1).遗传算法从问题解的中集开始嫂索,而不是从单个解开始。
这是遗传算法与传统优化算法的极大区别。传统优化算法是从单个初始值迭代求最优解的;
容易误入局部最优解。遗传算法从串集开始搜索,覆盖面大,利于全局择优。
(2).遗传算法求解时使用特定问题的信息极少,容易形成通用算法程序。
由于遗传算法使用适应值这一信息进行搜索,并不需要问题导数等与问题直接相关的信息。
遗传算法只需适应值和串编码等通用信息,故几乎可处理任何问题。
(3).遗传算法有极强的容错能力
遗传算法的初始串集本身就带有大量与最优解甚远的信息;通过选择、交叉、变异操作能迅
速排除与最优解相差极大的串;这是一个强烈的滤波过程;并且是一个并行滤波机制。故而,
遗传算法有很高的容错能力。
(4).遗传算法中的选择、交叉和变异都是随机操作,而不是确定的精确规则。
这说明遗传算法是采用随机方法进行最优解搜索,选择体现了向最优解迫近,交叉体现了最
优解的产生,变异体现了全局最优解的覆盖。
三、神经网络算法
“人工神经网络”(ARTIFICIAL NEURAL NETWORK,简称A.N.N.)是在对人脑组织结构和
运行机智的认识理解基础之上模拟其结构和智能行为的一种工程系统。早在本世纪40 年代
初期,心理学家McCulloch、数学家Pitts 就提出了人工神经网络的第一个数学模型,从此开
创了神经科学理论的研究时代。其后,F.Rosenblatt、Widrow 和Hopf、J.J.Hopfield 等学者又
先后提出了感知模型,使得人工神经网络技术得以蓬勃发展。
神经系统的基本构造是神经元(神经细胞),它是处理人体内各部分之间相互信息传递的基本
单元。据神经生物学家研究的结果表明,人的一个大脑一般有10 10 ~10 11
个神经元。每个神经元都由一个细胞体,一个连接其他神经元的轴突和一些向外伸出的其它
较短分支——树突组成。轴突的功能是将本神经元的输出信号(兴奋)传递给别的神经元。其
末端的许多神经末梢使得兴奋可以同时传送给多个神经元。树突的功能是接受来自其它神经
元的兴奋。神经元细胞体将接受到的所有信号进行简单地处理(如:加权求和,即对所有的
输入信号都加以考虑且对每个信号的重视程度——体现在权值上——有所不同)后由轴突输
出。神经元的树突与另外的神经元的神经末梢相连的部分称为突触。
1、神经网络的工作原理
人工神经网络首先要以一定的学习准则进行学习,然后才能工作。现以人工神经网络对手写
“A”、“B”两个字母的识别为例进行说明,规定当“A”输入网络时,应该输出“1”,而
当输入为“B”时,输出为“0”。所以网络学习的准则应该是:如果网络作出错误的的判决,
则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值
赋予(0,1)区间内的随机值,将“A”所对应的图象模式输入给网络,网络将输入模式加权
求和、与门限比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为“1”
和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使
连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。如果输出
为“0”(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在
于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给网
络轮番输入若干个手写字母“A”、“B”后,经过网络按以上学习方法进行若干次学习后,
网络判断的正确率将大大提高。这说明网络对这两个模式的学习已经获得了成功,它已将这
两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够
作出迅速、准确的判断和识别。一般说来,网络中所含的神经元个数越多,则它能记忆、识
别的模式也就越多。
2、人工神经网络的特点
人工神经网络是由大量的神经元广泛互连而成的系统,它的这一结构特点决定着人工神经网
络具有高速信息处理的能力。人脑的每个神经元大约有10 3~10 4 个树突及相应的突
触,一个人的大脑总计约形成10 14 ~10 15 个突触。用神经网络的术语来说,
即是人脑具有10 14 ~10 15 个互相连接的存储潜力。虽然每个神经元的运算
功能十分简单,且信号传输速率也较低(大约100 次/秒),但由于各神经元之间的极度并行互
连功能,最终使得一个普通人的大脑在约1 秒内就能完成现行计算机至少需要数10 亿次处
理步骤才能完成的任务。
人工神经网络的知识存储容量很大。在神经网络中,知识与信息的存储表现为神经元之间分
布式的物理联系。它分散地表示和存储于整个网络内的各神经元及其连线上。每个神经元及
其连线只表示一部分信息,而不是一个完整具体概念。只有通过各神经元的分布式综合效果
才能表达出特定的概念和知识。
由于人工神经网络中神经元个数众多以及整个网络存储信息容量的巨大,使得它具有很强的
不确定性信息处理能力。即使输入信息不完全、不准确或模糊不清,神经网络仍然能够联想
思维存在于记忆中的事物的完整图象。只要输入的模式接近于训练样本,系统就能给出正确
的推理结论。
正是因为人工神经网络的结构特点和其信息存储的分布式特点,使得它相对于其它的判断识
别系统,如:专家系统等,具有另一个显著的优点:健壮性。生物神经网络不会因为个别神
经元的损失而失去对原有模式的记忆。最有力的证明是,当一个人的大脑因意外事故受轻微
损伤之后,并不会失去原有事物的全部记忆。人工神经网络也有类似的情况。因某些原因,
无论是网络的硬件实现还是软件实现中的某个或某些神经元失效,整个网络仍然能继续工
作。
人工神经网络是一种非线性的处理单元。只有当神经元对所有的输入信号的综合处理结果超
过某一门限值后才输出一个信号。因此神经网络是一种具有高度非线性的超大规模连续时间
动力学系统。它突破了传统的以线性处理为基础的数字电子计算机的局限,标志着人们智能
信息处理能力和模拟人脑智能行为能力的一大飞跃。-遗传算法原理


遗传算法原理与应用实例的介绍


《遗传算法原理与应用实例》主要结合应用实例系统讨论、介绍遗传算法原理及其应用,主要内容包括:遗传算法的基本原理和数学机理、解决连续问题优化的遗传算法和分布式遗传算法、遗传算法的实现技术、遗传算法应用实例,并给出了两个典型的遗传算法源程序。《遗传算法原理与应用实例》在详细介绍遗传算法理论与方法的同时,还给_出了基于遗传算法的费托合成反应动力学模型参数优化的详细设计应用。-遗传算法