文章 "种群优化算法:二进制遗传算法(BGA)。第 I 部分" 新评论 MetaQuotes 2024.10.14 09:37 新文章 种群优化算法:二进制遗传算法(BGA)。第 I 部分已发布: 在本文中,我们将探讨二进制遗传和其它种群算法中所用的各种方法。我们将见识到算法的主要组成部分,例如选择、交叠和突变,以及它们对优化的影响。此外,我们还将研究数据表示方法,及其对优化结果的影响。 优化问题的参数通常称为 “特征”,必须以某种方式表示,才可在优化算法的逻辑中所用。在遗传学中,这些特征划分为表现型和基因型。表现型是正被优化的参数的外观,基因型是它在算法中的表示方式。在大多数优化算法中,表现型与基因型相同,并表示为实数。基因是优化参数,反过来,染色体是一组基因,即一组优化参数。 实数数据表示法常用来表示分数。实数可以有十进制部分和分数部分,用小数点分隔。例如,“3.14” 和 “0.5” 是实数。 数据的二进制表示,另一方面,使用二进制数字系统,其数字使用两个符号表示:“0” 和 “1”,每个数位称为比特位(二进制数位)。例如,数字 “5” 可以用二进制形式表示为 “101”。 数据的实数表示和二进制表示之间的主要区别在于数字的编码方式。实数通常使用 IEEE 754 等标准进行编码,IEEE 754 定义了浮点数的表示格式。在 MQL5 语言中,“double(双精度)” 数据类型用于实数。它可以在一个数字中描述总共 16 个有效数位。这意味着总数位量不能超过 16,例如,“9 999 999 999 999 999.0” 和 “9 999 999.999 999 99” 和 “0.999 999 999 999 9” 在小数点前后总共有 16 个 “9”。我稍后会解释为什么这很重要。 实数便于在编写程序和日常生活中所用,而二进制数则用于计算系统,以及执行低级运算,包括逻辑和按位运算。 作者:Andrey Dik Andrey Dik 2024.01.23 20:23 #1 fxsaber #: 这刺伤了我。 谢谢你,改正了。 fxsaber 2024.01.23 20:26 #2 读一读。现在缺少的是一个显示优化算法一般表示方法的图表。 Andrey Dik 2024.01.23 21:04 #3 fxsaber #: 读一读。我们缺少的是一张显示优化算法一般表示方法的图表。 对于所有优化算法来说,无一例外,不仅是 GA,运算符(方法)的顺序总是相同的,与目录中的顺序一致: 1.选择。 2.交叉。 突变。 每个特定的算法都可能缺少一两个运算符,但顺序总是如此。这种顺序在逻辑上肯定是合理的,而且与概率有关,任何优化算法的目标都是将有利于解决问题的概率组合起来。 还有第四种方法,即把新个体放入种群的方法,但它通常不被视为一种独立的方法。 也许,画一张 "优化算法 "的结构图是有意义的,我会考虑的。 fxsaber 2024.01.23 22:37 #4 Andrey Dik #:对于所有优化算法,不仅是 GA,运算符(方法)的顺序无一例外都是相同的 我不明白为什么有些算法在没有输入的情况下会移动,而有些算法在有输入的情况下会移动。 for (uint i = epochCount; (bool)i--;) { AO.Moving() // 移动(i) for (uint set = ArraySize(AO.aName); (bool)set--;) AO.aName[set].f = FF(AO.aName[set].c); AO.Revision(); } Andrey Dik 2024.01.24 07:09 #5 fxsaber #: 我不明白为什么有的 Moving 算法没有输入,而有的则有输入。 这是因为在算法的一个公式中需要考虑当前历元的数量。在其他算法中,历时计数器是其自身的内部计数器。 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
新文章 种群优化算法:二进制遗传算法(BGA)。第 I 部分已发布:
在本文中,我们将探讨二进制遗传和其它种群算法中所用的各种方法。我们将见识到算法的主要组成部分,例如选择、交叠和突变,以及它们对优化的影响。此外,我们还将研究数据表示方法,及其对优化结果的影响。
优化问题的参数通常称为 “特征”,必须以某种方式表示,才可在优化算法的逻辑中所用。在遗传学中,这些特征划分为表现型和基因型。表现型是正被优化的参数的外观,基因型是它在算法中的表示方式。在大多数优化算法中,表现型与基因型相同,并表示为实数。基因是优化参数,反过来,染色体是一组基因,即一组优化参数。
实数数据表示法常用来表示分数。实数可以有十进制部分和分数部分,用小数点分隔。例如,“3.14” 和 “0.5” 是实数。
数据的二进制表示,另一方面,使用二进制数字系统,其数字使用两个符号表示:“0” 和 “1”,每个数位称为比特位(二进制数位)。例如,数字 “5” 可以用二进制形式表示为 “101”。
数据的实数表示和二进制表示之间的主要区别在于数字的编码方式。实数通常使用 IEEE 754 等标准进行编码,IEEE 754 定义了浮点数的表示格式。在 MQL5 语言中,“double(双精度)” 数据类型用于实数。它可以在一个数字中描述总共 16 个有效数位。这意味着总数位量不能超过 16,例如,“9 999 999 999 999 999.0” 和 “9 999 999.999 999 99” 和 “0.999 999 999 999 9” 在小数点前后总共有 16 个 “9”。我稍后会解释为什么这很重要。
实数便于在编写程序和日常生活中所用,而二进制数则用于计算系统,以及执行低级运算,包括逻辑和按位运算。
作者:Andrey Dik