- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我习惯了遗传算法(GA)中的每个参数都可以表示为二进制字符串的方法,可以在指定的时间间隔内将其编码为实数值。
我目前正在编写差分进化 (DE) 代码,但我还没有读到任何关于参数间隔被控制的内容,就像它们在 GA 中一样,所以我对这个过程有点困惑......这是我的问题:
1) DE 中是否有控制参数间隔的东西?我知道任何人都可以根据自己的目的修改 DE,但我很好奇传统上它是如何使用的。
2) 我看到了如何为初始随机化群体指定间隔,但是有什么限制变异和交叉操作的间隔吗?
3)如果参数没有任何界限,那么变异和交叉操作是否可以自由探索所有空间?
感谢您的宝贵时间。
最佳答案
差分进化过滤器通过将两个种群成员之间的加权差向量添加到第三个成员来生成新的参数向量。如果生成的向量产生的目标函数值低于预定的总体成员,则新生成的向量将替换与其进行比较的向量;否则,保留旧向量。资讯here .
1) Is there anything controlling the intervals of parameters in DE? I realize that anyone can modify a DE for their purpose, but I'm curious about how it is traditionally used.
在 DE 中,您拥有所谓的策略。有很多:
1 --> DE/best/1/exp 6 --> DE/best/1/bin
2 --> DE/rand/1/exp 7 --> DE/rand/1/bin
3 --> DE/rand-to-best/1/exp 8 --> DE/rand-to-best/1/bin
4 --> DE/best/2/exp 9 --> DE/best/2/bin
5 --> DE/rand/2/exp else DE/rand/2/bin
您可以在 Matlab 中找到代码 here .
2) I see how you can specify intervals for the initial randomized population, but is there anything restraining the intervals in the mutation and crossover operations?
突变和交叉受到您选择的策略的限制。
3) If there aren't any bounds on the parameters, then are the mutation and crossover operations free to explore all the space?
理论上,如果您在所有解决方案空间内启动限制,DE 将找到全局最优值。但是,根据我的经验,我注意到解空间中的初始参数和限制对于获得快速响应非常重要。简而言之,如果您对解决方案的位置略有了解,那么如果您将参数限定在这些值内,DE 的表现会更好。
关于algorithm - 差异进化与遗传算法中的参数区间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34599998/
我喜欢基于图像的语言的想法,最近我一直在通过 sbcl 使用 Common Lisp。我在一些地方读到了关于如何通过能够保存和加载虚拟机的镜像,您可以改进在该镜像上运行的应用程序或应用程序集。 我知道
我是一名优秀的程序员,十分优秀!