文章 "遗传算法 - 很简单!" - 页 16 1...91011121314151617181920 新评论 Andrey Dik 2013.07.04 18:38 #151 Alexey_74:安德鲁,还有一个问题。我们能说这些变量的这些值适合大多数优化问题吗?可以。这些设置都有一定的 "保留",以增加可搜索性(搜索范围)。为了获得更精确的数值(但找到全局极值的概率会降低),可以降低突变参数和区间边界移动系数。 Mykola Demko 2013.07.04 20:05 #152 Alexey_74:安德鲁,还有一个问题。我们能说这些变量的这些值适合大多数优化问题吗?正如某些资料中所说"...90%的问题可以用传统感知器解决"。ZAGASTE GA)该算法是单线程的,可以轻松内置到专家顾问中,在测试器中运行,并组织 GA 之间的竞赛。 Aleksei Morozov 2013.07.04 20:10 #153 太好了安德烈,你知道,我对自己的无礼感到惊讶,但我必须提出一些 "批评" ))在 UGA 代码中,有三处调用了 ServiceFunction()函数。但这并没有什么用。当然,你可以在屏幕上看到动态效果,但它的速度太快,无论如何你都无法看到和评估它。您可以在 UGA() 主体中删除对它的调用。在调用 UGA() 之后再调用一次就足够了。"......小提琴手是多余的,他只会消耗额外的燃料"(kin dza dza (c) ts=GetTickCount(); UGA( ... ); ts=GetTickCount()-ts; ServiceFunction(); Andrey Dik 2013.07.05 06:20 #154 这就是为什么它是一个服务功能,您可以将其用于调试、可视化或其他用途,也可以完全不使用,谁会喜欢呢?:) Aleksei Morozov 2013.07.06 07:40 #155 我做了一个实验。我将 "频率 "为 47、81、187 的三个正弦波相加。我得到了以下结果然后我开始直接枚举搜索(3 个循环,2 个嵌套),不过在相关系数 = 1.0 时会中断。如果没有这个条件,所有这些无意义的工作都会花费更长的时间。但这样做只用了 375 秒(6 分钟多一点)。而 GA 只用了 2 秒钟。))但还有一个问题。结果是这样的最后两位数:2747--FF 调用次数;506--相关系数 r 等于 1.0 时的 "状态 "数。事实证明,该算法本可以运行得更快,因为 r 不能大于 1.0,而且在第一次达到 r=1 后,任务即被视为完成。但算法达到 r=1.0 状态的次数为 506 次。参数如下和这个 FF。void FitnessFunction(int chromos) { int cnt = 1; while(cnt<=GeneCount) { F1=Colony[cnt][chromos]; cnt++; F2=Colony[cnt][chromos]; cnt++; F3=Colony[cnt][chromos]; cnt++; Fill(sum); r=Pirson(sin,sum,nobs); if(r>0.99999999) count++; } AmountStartsFF++; Colony[0][chromos]=r; }问题--有没有办法向算法解释,(有时)提前终止是可能的(必要的)。还是我们不应该断然这样做,而应该等待达到收敛? Aleksei Morozov 2013.07.06 12:03 #156 我一直想知道 "多少 "这个问题的答案。这一次,我在气势上加了 50 个正弦波。数值范围 是 1-500。因此,如果我没记错的话,直接搜索的结果是 500^50,即 8.88178419700121252323333890533447266e+134 次迭代(如果我的计算器没有骗我)。显然,这不可能换算成秒(分钟、小时、天、年)。只有遥远的后代才能看到结果。GA 只用了 1 小时。20分钟。哇此外, 结果表明 50 个正弦波之和与动量的相关系数为 0.5275。为什么是"另外"?因为我以前没有机会检查这一点。而在某些情况下,这表明了一些想法.....。我并没有刻意去研究正弦曲线,只是因为我对它了如指掌。此外,既然目标是实现连续信号的最大相似性,那么结果就是这种相似性,换句话说,结果是毫不含糊的,此外,也很容易验证。安德烈,非常感谢你的产品。我希望在不久的将来能读到你的另一篇文章。带有精英选择的 GA。)) Документация по MQL5: Основы языка / Типы данных / Целые типы / Типы char, short, int и long www.mql5.com Основы языка / Типы данных / Целые типы / Типы char, short, int и long - Документация по MQL5 Andrey Dik 2013.07.06 13:53 #157 Alexey_74:...问题--有没有办法向算法解释(有时)可以提前终止?或者说不应该这样做,我们应该等到收敛后再终止?这是可能的。甚至是必要的。如果你对所研究的函数有所了解(如你的问题:FF<=1),就应该积极利用这些信息来避免不必要的计算,从而缩短搜索时间。在本实现中,没有从外部控制算法的杠杆,但添加一个控制强制停止标志的函数就足够了。在下一代算法中,从外部控制算法的可能性将大大增加(一般来说,算法是在外部控制下启动的,而不是像现在这样--FF 是由算法本身启动的,因此在不进行修改的情况下,不可能在自动优化猫头鹰中使用该算法)。 Andrey Dik 2013.07.06 14:33 #158 Alexey_74:....安德鲁,再次感谢您的产品。我希望在不久的将来能再看到您的一篇文章。GA 与精英选择。))谢谢您的感谢。:)肯定会有续集的。祝你找到最佳状态!在生活、工作、生活...一切的一切 Aleksei Morozov 2013.07.06 14:45 #159 我不敢问....))我的理解正确吗?下一代算法可以形式化为 DLL? Andrey Dik 2013.07.06 14:56 #160 是 1...91011121314151617181920 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
安德鲁,还有一个问题。
我们能说这些变量的这些值适合大多数优化问题吗?
可以。
这些设置都有一定的 "保留",以增加可搜索性(搜索范围)。为了获得更精确的数值(但找到全局极值的概率会降低),可以降低突变参数和区间边界移动系数。
安德鲁,还有一个问题。
我们能说这些变量的这些值适合大多数优化问题吗?正如某些资料中所说"...90%的问题可以用传统感知器解决"。
ZAGASTE GA)
该算法是单线程的,可以轻松内置到专家顾问中,在测试器中运行,并组织 GA 之间的竞赛。
太好了
安德烈,你知道,我对自己的无礼感到惊讶,但我必须提出一些 "批评" ))
在 UGA 代码中,有三处调用了 ServiceFunction()函数。但这并没有什么用。当然,你可以在屏幕上看到动态效果,但它的速度太快,无论如何你都无法看到和评估它。您可以在 UGA() 主体中删除对它的调用。在调用 UGA() 之后再调用一次就足够了。
"......小提琴手是多余的,他只会消耗额外的燃料"(kin dza dza (c)
我做了一个实验。我将 "频率 "为 47、81、187 的三个正弦波相加。我得到了以下结果
然后我开始直接枚举搜索(3 个循环,2 个嵌套),不过在相关系数 = 1.0 时会中断。如果没有这个条件,所有这些无意义的工作都会花费更长的时间。但这样做只用了 375 秒(6 分钟多一点)。
而 GA 只用了 2 秒钟。))
但还有一个问题。结果是这样的
最后两位数:2747--FF 调用次数;506--相关系数 r 等于 1.0 时的 "状态 "数。事实证明,该算法本可以运行得更快,因为 r 不能大于 1.0,而且在第一次达到 r=1 后,任务即被视为完成。但算法达到 r=1.0 状态的次数为 506 次。
参数如下
和这个 FF。
问题--有没有办法向算法解释,(有时)提前终止是可能的(必要的)。还是我们不应该断然这样做,而应该等待达到收敛?
我一直想知道 "多少 "这个问题的答案。这一次,我在气势上加了 50 个正弦波。数值范围 是 1-500。因此,如果我没记错的话,直接搜索的结果是 500^50,即 8.88178419700121252323333890533447266e+134 次迭代(如果我的计算器没有骗我)。显然,这不可能换算成秒(分钟、小时、天、年)。只有遥远的后代才能看到结果。GA 只用了 1 小时。20分钟。哇此外, 结果表明 50 个正弦波之和与动量的相关系数为 0.5275。为什么是"另外"?因为我以前没有机会检查这一点。而在某些情况下,这表明了一些想法.....。
我并没有刻意去研究正弦曲线,只是因为我对它了如指掌。此外,既然目标是实现连续信号的最大相似性,那么结果就是这种相似性,换句话说,结果是毫不含糊的,此外,也很容易验证。
安德烈,非常感谢你的产品。我希望在不久的将来能读到你的另一篇文章。带有精英选择的 GA。))
...
问题--有没有办法向算法解释(有时)可以提前终止?或者说不应该这样做,我们应该等到收敛后再终止?
这是可能的。甚至是必要的。如果你对所研究的函数有所了解(如你的问题:FF<=1),就应该积极利用这些信息来避免不必要的计算,从而缩短搜索时间。
在本实现中,没有从外部控制算法的杠杆,但添加一个控制强制停止标志的函数就足够了。
在下一代算法中,从外部控制算法的可能性将大大增加(一般来说,算法是在外部控制下启动的,而不是像现在这样--FF 是由算法本身启动的,因此在不进行修改的情况下,不可能在自动优化猫头鹰中使用该算法)。
....
安德鲁,再次感谢您的产品。我希望在不久的将来能再看到您的一篇文章。GA 与精英选择。))
谢谢您的感谢。:)
肯定会有续集的。
祝你找到最佳状态!在生活、工作、生活...一切的一切