遗传算法五大基本要素——参数编码、群体设定

这篇具有很好参考价值的文章主要介绍了遗传算法五大基本要素——参数编码、群体设定。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


遗传算法五大基本要素——参数编码、群体设定
遗传算法主要借用生物进化中的“适者生存”的规律。

遗传算法包括两个数据转换操作,一个是从表现型到基因型的转换,将搜索空间中的参数或解转化成遗传空间中的染色体或者个体,这个过程叫做编码(coding)。另一个就是从基因型到变现型的转换,即将个体转换成搜索空间中的参数,这个过程叫做解码(decode)。

遗传算法中包含了五个基本要素:参数编码,初始群体的设定,适应度函数的设计;遗传操作设计和控制参数设定。

由于遗传算法不能直接处理问题空间的参数,因此,必须通过编码将要求解的问题表示成遗传空间的染色体或者个体。它们由基因按一定的结构组成。由于遗传算法的健壮性,对编码的要求并不苛刻。对一个具体的应用问题如何编码是应用遗传算法的首要问题,也是遗传算法应用的难点。事实上,还不存在一种通用的编码方法,特殊的问题往往采用特殊的方法。

1、编码

1.1 位串编码

将问题空间的参数编码为一维排列的染色体的方法,称为一维染色体编码方法。一维染色体编码中最常用的符号集是二值符号集 { 0 , 1 } \{0,1\} {01},即采用二进制编码(Binary Encoding)。

(1)二进制编码
二进制编码是用若干二进制数表示一个个体,将原问题的解空间映射到位串空间 B = { 0 , 1 } B=\{0,1\} B={01}上,然后在位串空间上进来遗传操作。<>/font

优点:二进制编码类似于生物染色体的组成,从而使算法易于用生物遗传理论来解释,并使得遗传操作若交叉、变异等很容易实现。另外,采用二进制编码时,算法处理的模式数最多。

缺点:
①相邻整数的二进制编码可能具有较大的Hamming举例。例如,15和16的二进制表示为01111和10000,因此,算法要从15改进到16则必须改变所有的位。这种缺陷造成了Hamming悬崖(Hamming Cliffs),将降低遗传算子的搜索效率。
②二进制编码时,一般要先给出求解的精度。但求解的精度确定后,就很难在算法执行的过程中进行调整,这就是算法缺乏微调(fine-tuning)的功能。若在算法一开始就选择较高的精度,那么串长就很大,这样也会降低算法的效率。
③在求解高维优化问题的时候,二进制编码串将非常长,从而使得算法的搜索效率很低。

(2)Gray编码
G r a y Gray Gray编码是将二进制编码通过一个变换进行转换得到的编码。
设二进制串 < β 1 β 2 . . . β n > <β_1β_2...β_n> <β1β2...βn>对应 G r a y Gray Gray < γ 1 γ 2 . . . γ n > <γ_1γ_2...γ_n> <γ1γ2...γn>,则从二进制编码到 G r a y Gray Gray编码的变换为:
γ k = { β 1 , k = 1 β k − 1 ⨁ β k , k > 1 (1) γ_k= \begin{cases} β_1,\quad k=1\\ β_{k-1}\bigoplus β_k, \quad k>1 \end{cases} \tag{1} γk={β1,k=1βk1βk,k>1(1)

上式子(1)中, ⨁ \bigoplus 表示摸2的加法,也就是异或运算,不同为1,相同为0。

举个例子说明一下:
假设有一个二进制编码串 ( 10110 ) 2 (10110)_2 (10110)2,那么我们将它转化为Gray编码后为 ( 11101 ) G r a y (11101)_{Gray} (11101)Gray

从一个Gray串到二进制串的变换为:
β k = ∑ i = 1 k γ i ( m o d 2 ) = { γ 1 , k = 1 β k − 1 ⨁ γ k , k > 1 (2) β_k=\displaystyle \sum^{k}_{i=1}{γ_i(mod2)}= \begin{cases} γ_1,\quad k=1\\ β_{k-1}\bigoplus γ_k, \quad k>1 \end{cases} \tag{2} βk=i=1kγi(mod2)={γ1,k=1βk1γk,k>1(2)
举个例子说明一下:
假设有一个Gray编码串 ( 01001 ) G r a y (01001)_{Gray} (01001)Gray,将其转化为二进制编码串后为 ( 01110 ) 2 (01110)_2 (01110)2

Gray编码的优点是克服了二进制编码的Hamming悬崖的缺点。

1.2 实数编码

为克服二进制编码的缺点,对问题的变量是实向量的情形,可以直接采用实数编码。

实数编码是用若干实数表示一个个体,然后在实数空间上进行遗传操作。

采用实数表达法不必进行数制转换,可直接在解的表现型上进行遗传操作。从而可引入与问题领域相关的启发式信息来增加算法的搜索能力。近年来,遗传算法在求解高维或复杂优化问题时一般使用实数编码。

1.3 多参数级联编码

对于多参数优化问题的遗传算法,常采用多参数级联编码。其基本思想是把每个参数先进行二进制编码得到子串,再把这些子串连成一个完整的染色体。多参数级联编码中的每个子串对应各自的编码参数,所以,可以有不同的串长度和参数的取值范围。

2、群体设定

由于遗传算法是对群体进行操作的,所以,必须为遗传操作准备一个由若干初始解组成的初始群体。群体设定主要包括两个方面:初始种群的产生和种群规模的确定。

2.1 初始种群的产生

遗传算法中初始群体中的个体可以是随机产生的,但最好采用如下策略设定:

①根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始群体。

②先随机产生一定数目的个体,然后从中挑选最好的个体加人初始群体中。这种过程不断迭代,直到初始群体中个体数目达到了预先确定的规模。

2.2 种群规模的确定

群体中个体的数量称为种群规模。
种群规模影响遗传优化的结果和效率。当种群规模太小时,遗传算法的优化性能一般不会太好,容易陷入局部最优解。而当种群规模太大时,则计算复杂。

种群规模的确定受遗传操作中选择操作的影响很大。模式定理表明:若种群规模为 M M M,则遗传操作可从这 M M M个个体中生成和检测 M 3 M^3 M3个模式,并在此基础上能够不断形成和优化积木块,直到找到最优解。

显然,种群规模越大,遗传操作所处理的模式就越多,产生有意义的积木块并逐步进化为最优解的机会就越高。种群规模太小,会使遗传算法的搜索空间范围有限,因而搜索有可能停止在未成熟阶段,出现未成熟收敛现象,使算法陷入局部最优解。因此,必须保持种群的多样性,即种群规模不能太小。

另一方面,种群规模太大会带来若干弊病:

  • 一是群体越大,其适应度评估次数增加,所以计算量也增加,从而影响算法效率;
  • 二是群体中个体生存下来的概率大多采用和适应度成比例的方法,当群体中个体非常多时,少量适应度很高的个体会被选择而生存下来,但大多数个体却被淘汰,这会影响配对库的形成,从而影响交叉操作。

种群规模一般取为20~100。

遗传算法五大基本要素——参数编码、群体设定文章来源地址https://www.toymoban.com/news/detail-453096.html

到了这里,关于遗传算法五大基本要素——参数编码、群体设定的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基本遗传算法(GA)详解

    遗传算法由John H.Holland教授提出,为一种全局优化算法。它模拟自然进化与遗传理论,通过将优化问题进行转移,从而成功避免了一般优化算法中需要过多考虑的动力学信息问题,在原理上突破了常规的优化算法框架,算法结构较简单、处理信息能力较强,具有很好的鲁棒性

    2024年02月04日
    浏览(55)
  • 【优化算法】使用遗传算法优化MLP神经网络参数(TensorFlow2)

    使用启发式优化算法 遗传算法 对多层感知机中中间层神经个数进行优化,以提高模型的准确率。 待优化的模型: 基于TensorFlow2实现的Mnist手写数字识别多层感知机MLP 设置随机树种子,避免相同结构的神经网络其结果不同的影响。 准确率为96.7% 使用scikit-opt提供的遗传算法库

    2023年04月13日
    浏览(32)
  • 【MatLab】《遗传算法GA+BP神经网络——电路参数估计》

    根据采样数据训练BP神经网络,用训练好的网络来作为目标函数输出电路参数误差,通过GA寻找误差最小的电路参数值。 BP.m 主函数 BPMod.m 数据处理+训练BP网络 GA.m 遗传算法主函数 BP神经网络训练情况 本模型使用BP神经网络来代理实际电路的输出,因此神经网络的回归效果一定

    2024年02月02日
    浏览(34)
  • 129基于matlab的粒子群算法、遗传算法、鲸鱼算法、改进鲸鱼算法优化最小二乘支持向量机(lssvm)的gam正则化参数和sig2RBF函数的参数

    基于matlab的粒子群算法、遗传算法、鲸鱼算法、改进鲸鱼算法优化最小二乘支持向量机(lssvm)的gam正则化参数和sig2RBF函数的参数。输出适应度曲线,测试机和训练集准确率。程序已调通,可直接运行。 129 matlabLSSVM优化算法 (xiaohongshu.com)

    2024年01月16日
    浏览(34)
  • Rust腐蚀服务器常用参数设定详解

    大家好我是艾西,一个做服务器租用的网络架构师上期我们分享了rust腐蚀服务器的windows系统搭建方式,其中启动服务器bat参数因为涉及的东西比较多所以想通过这篇文章给大家做一下详细的分享。 (注本文中xxxx即为http、xxxxx即为https、zzz即为www 因PT原因望大家理解) 服务器

    2024年04月14日
    浏览(30)
  • 西门子数控系统IP地址参数设定

           最近,我在网上查了许多关于西门子数控系统的IP地址设定相关资料,发现好多说的过于简单,对于未接触的机床 还是不清楚如何设置。这里以808D为例,我总结了一下IP修改的流程。      我这边手里面的是808D的机头,只有X130这个网口,其他的型号可以参考。 按“

    2024年02月11日
    浏览(71)
  • Matlab群体智能优化算法之鹈鹕优化算法(POA)

    Pelican Optimization Algorithm: A Novel Nature-Inspired Algorithm for Engineering Applications 参考文献:Trojovský P, Dehghani M. Pelican Optimization Algorithm: A Novel Nature-Inspired Algorithm for Engineering Applications[J]. Sensors, 2022, 22(3): 855. 注:仅记录学习,如有侵权,联系删除。 The behavior and strategy of pelicans when

    2023年04月08日
    浏览(30)
  • 高级人工智能之群体智能:粒子群算法

    粒子群优化算法(Particle Swarm Optimization, PSO)是一种基于群体协作和信息共享的优化技术。它由Kennedy和Eberhart于1995年提出,灵感来源于鸟群和鱼群的社会行为。PSO是解决连续空间优化问题的有效方法,特别适合于多峰和高维问题。以下是PSO的基本思想和工作原理: 1.1基本思想

    2024年01月18日
    浏览(31)
  • 用于多种无人机协作的群体智能算法:综合综述

    Swarm intelligence algorithms for multiple unmanned aerial vehicles collaboration: a comprehensive review 用于多种无人机协作的群体智能算法:综合综述 https://doi.org/10.1007/s10462-022-10281-7 Swarm intelligence algorithms for multiple unmanned aerial vehicles collaboration: a comprehensive review 摘要: 在过去的十年里,无人机

    2024年02月16日
    浏览(36)
  • 【第一期】改进群体智能优化算法终结者,将近3000个改进策略+1万种改进算法!!!

    摘要 本期内容共包含2816种改进方案,配合5个群体智能优化算法,实现1万多个改进算法的生成。 本期改进的算法为:灰狼优化算法(GWO)、哈里斯鹰优化算法(HHO)、蚁狮优化算法(ALO)、白鹭群优化算法(ESOA)、平衡优化器算法(EO) 【安安讲代码】版权所有,盗版必究

    2024年02月04日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包