文章 "遗传算法 - 很简单!" - 页 3 12345678910...20 新评论 Дмитрий Александрович 2010.07.26 13:40 #21 我告诉过你,我的脑子很乱,所以我走错了方向。 哈希可以应用于在聚落内查找重复的内容,而且查找哈希的功能可以变得简单快捷,因为即使有 1-2 个重复的内容也不会使天气变坏,也不会破坏结果。 Andrey Dik 2010.07.26 15:46 #22 与 FF 的执行时间相比,GA 算法的执行时间少得不可比拟。因此,试图进一步加快算法速度是毫无意义的,就像把 GA 移到 dll 上一样。我们应该在保证结果准确性的前提下,尽量减少 FF 运行的次数。算法为此提供了灵活的设置。此外,还可以通过提高一般遗传算法的搜索质量,特别是运算符的搜索质量,进一步缩短搜索时间。我建议将研究潜力引向这些方向。 Дмитрий Александрович 2010.07.26 16:19 #23 joo:与 FF 的执行时间相比,GA 算法的执行时间少得不可比拟。因此,试图进一步加快算法速度是毫无意义的,就像把 GA 移到 dll 上一样。我们应该在保证结果准确性的前提下,尽量减少 FF 运行的次数。算法可以为此进行灵活设置。此外,还可以通过提高一般遗传算法的搜索质量,特别是运算符的搜索质量,来进一步缩短搜索时间。我建议将研究潜力引向这些方向。看来现在的 dll 不会比 mql 5 更快。 好吧,一旦我写出一个库,我就会对它进行测试,然后再写出结果)))。 Andrey Dik 2010.08.04 20:56 #24 文章重要说明。不要使用算法参数FFNormaliseDigits 和GeneNormaliseDigits你不需要将拟合函数值和基因归一化。归一化会降低算法的可搜索性,增加 FF 运行次数。此外,舍弃的小数位数越多,对算法的负面影响就越大。换句话说,在算法中引入归一化操作是一个错误。不要与精度 参数控制的采样操作混淆! Andrey Dik 2010.08.04 21:27 #25 不要使用算法参数 FFNormalizeDigits和GeneNormalizeDigits 没有必要将适合度函数 和基因的值归一化。归一化会降低算法的搜索能力,增加启动 FF 的数量。 换句话说,在算法中引入归一化操作是一个错误。 不要与参数Precision 中的数字化操作相混淆! Sergey Chalyshev 2010.08.06 23:04 #26 joo:文章重要说明。不要使用算法参数FFNormaliseDigits 和GeneNormaliseDigits你不需要将拟合函数值和基因归一化。归一化会降低算法的可搜索性,增加 FF 运行次数。此外,舍弃的小数位数越多,对算法的负面影响就越大。换句话说,在算法中引入归一化操作是一个错误。这与精度 参数控制的采样操作不能混为一谈! 因此,在 UGAlib 库中,最好去除归一化操作,或者只在 FF 中去除归一化操作。 Andrey Dik 2010.08.07 09:05 #27 Serj_Che: 在 UGAlib 库中移除归一化更好,还是只在 FF 中移除更好。FFNormalizeDigits 在 FF 中用于对适合度值进行归一化,而GeneNormalizeDigits 则在算法本身中用于对基因进行归一化。没有 必要对两者都进行归一化处理。 Sergey Chalyshev 2010.08.07 14:23 #28 joo: FFNormalizeDigits 在 FF 中用于对适配值进行归一化处理,而GeneNormalizeDigits 则在算法本身中用于对基因进行归一化处理。没有 必要将两者都归一化。我明白了。当然,我会自己更正,但如果不难的话,请将更正后的 UGAlib 版本发布出来。我担心自己会出错。 Andrey Dik 2010.08.15 23:13 #29 更新了文章中的 UGA 库和示例。当前的作者免费版本 1.1.0 可通过文章末尾的链接获取。 Alexander Agafonov 2010.08.22 19:36 #30 非常感谢作者提供的程序库!在父搜索函数的循环中添加一行 "cnt++;",否则可能会进入永恒循环! //Отбор двух родителей.void SelectTwoParents(int &address_mama,int &address_papa){ //-----------------------Переменные------------------------------------- int cnt=1; address_mama=0;//адрес материнской особи в популяции address_papa=0;//адрес отцовской особи в популяции //---------------------------------------------------------------------- //----------------------------Отбор родителей-------------------------- //Десять попыток выбрать разных родителей. while (cnt<=10) { //Для материнской особи address_mama=NaturalSelection(); //Для отцовской особи address_papa=NaturalSelection(); if (address_mama!=address_papa) break; cnt++; } //---------------------------------------------------------------------} Questions from Beginners MQL5 EA平仓时为何总出现4051错误? EA平仓时为何总出现4051错误! 12345678910...20 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
哈希可以应用于在聚落内查找重复的内容,而且查找哈希的功能可以变得简单快捷,因为即使有 1-2 个重复的内容也不会使天气变坏,也不会破坏结果。
与 FF 的执行时间相比,GA 算法的执行时间少得不可比拟。因此,试图进一步加快算法速度是毫无意义的,就像把 GA 移到 dll 上一样。
我们应该在保证结果准确性的前提下,尽量减少 FF 运行的次数。算法为此提供了灵活的设置。此外,还可以通过提高一般遗传算法的搜索质量,特别是运算符的搜索质量,进一步缩短搜索时间。我建议将研究潜力引向这些方向。
与 FF 的执行时间相比,GA 算法的执行时间少得不可比拟。因此,试图进一步加快算法速度是毫无意义的,就像把 GA 移到 dll 上一样。
我们应该在保证结果准确性的前提下,尽量减少 FF 运行的次数。算法可以为此进行灵活设置。此外,还可以通过提高一般遗传算法的搜索质量,特别是运算符的搜索质量,来进一步缩短搜索时间。我建议将研究潜力引向这些方向。
看来现在的 dll 不会比 mql 5 更快。
好吧,一旦我写出一个库,我就会对它进行测试,然后再写出结果)))。
文章重要说明。
不要使用算法参数
FFNormaliseDigits 和GeneNormaliseDigits
你不需要将拟合函数值和基因归一化。归一化会降低算法的可搜索性,增加 FF 运行次数。此外,舍弃的小数位数越多,对算法的负面影响就越大。
换句话说,在算法中引入归一化操作是一个错误。
不要与精度 参数控制的采样操作混淆!
FFNormalizeDigits和GeneNormalizeDigits
没有必要将适合度函数 和基因的值归一化。归一化会降低算法的搜索能力,增加启动 FF 的数量。
换句话说,在算法中引入归一化操作是一个错误。
不要与参数Precision 中的数字化操作相混淆!
文章重要说明。
不要使用算法参数
FFNormaliseDigits 和GeneNormaliseDigits
你不需要将拟合函数值和基因归一化。归一化会降低算法的可搜索性,增加 FF 运行次数。此外,舍弃的小数位数越多,对算法的负面影响就越大。
换句话说,在算法中引入归一化操作是一个错误。
这与精度 参数控制的采样操作不能混为一谈!
在 UGAlib 库中移除归一化更好,还是只在 FF 中移除更好。
FFNormalizeDigits 在 FF 中用于对适配值进行归一化处理,而GeneNormalizeDigits 则在算法本身中用于对基因进行归一化处理。没有 必要将两者都归一化。
我明白了。当然,我会自己更正,但如果不难的话,请将更正后的 UGAlib 版本发布出来。
我担心自己会出错。
非常感谢作者提供的程序库!
在父搜索函数的循环中添加一行 "cnt++;",否则可能会进入永恒循环!
//Отбор двух родителей.
void SelectTwoParents
(
int &address_mama,
int &address_papa
)
{
//-----------------------Переменные-------------------------------------
int cnt=1;
address_mama=0;//адрес материнской особи в популяции
address_papa=0;//адрес отцовской особи в популяции
//----------------------------------------------------------------------
//----------------------------Отбор родителей--------------------------
//Десять попыток выбрать разных родителей.
while (cnt<=10)
{
//Для материнской особи
address_mama=NaturalSelection();
//Для отцовской особи
address_papa=NaturalSelection();
if (address_mama!=address_papa)
break;
cnt++;
}
//---------------------------------------------------------------------
}