搜索空间数据

时间:2013-08-20 07:16:18

标签: genetic-algorithm hill-climbing

我想知道是否有人知道提供2D模型搜索空间来测试GA的来源。我相信我刚读过一些标准搜索空间,通常在评估这些类型的算法时使用。

如果没有,是否只是每次自己随机生成此数据的情况?

修改:从上方和侧面查看。

2 个答案:

答案 0 :(得分:1)

搜索空间完全取决于您的问题。遗传算法的概念是修改个体群体的“基因组”以创建下一代,测量新一代的适应性并再次以一些随机性修改基因组是为了防止陷入局部极小值。然而,搜索空间完全取决于你在基因组中的含义,而这完全取决于问题所在。

可能有标准的搜索空间(即基因组)已被发现适用于特定问题(我没有听说过)但通常使用GA的最难的部分是定义基因组中的内容以及如何它被允许变异。实用性来自于您不必为模型显式声明不同变量的所有值,但您可以使用或多或少盲目搜索找到好的值(不一定是最好的值)。

示例

一个非常重要的例子是演进的无线电天线(Wikipedia)。目的是找到无线电天线的配置,使天线本身尽可能小巧轻便,限制必须响应某些频率并具有低噪声等等。

所以你要建立你的基因组指定

  1. 要使用的电线数量
  2. 每根电线的弯曲次数
  3. 每个弯曲的角度
  4. 可能是每个弯道距基座的距离
  5. (别的,我不知道是什么)
  6. 运行你的GA,看看另一端是什么,分析它为什么不起作用。由于模拟中的错误,GAs习惯于产生您没想到的结果。无论如何,你发现基因组可能必须为天线中的每根导线单独编码弯曲的数量,这意味着天线不会是对称的。所以你把它放在你的基因组中并再次运行它。模拟需要在物理世界中工作的东西通常是最昂贵的,因为在某些时候你必须测试现实世界中的个体。

    有一个合理的遗传算法教程here,其中有一些关于基因组不同编码方案的有用例子。

    最后一点,当人们说GA很简单且易于实现时,它们意味着围绕GA的框架(生成新的人口,评估适应性等)很简单。通常没有说的是,为真正的问题设置GA是非常困难的,并且通常需要大量的试验和错误,因为提出一种运行良好的编码方案对于复杂问题并不简单。开始的最佳方式是开始简单,随着时间的推移使事情变得更加复杂。你当然可以让另一个GA为第一个GA提供编码:)。

答案 1 :(得分:1)

有几个标准基准问题。

  • BBOB(黑匣子优化基准) - 近年来作为持续优化竞赛的一部分使用
  • DeJong functions - 非常古老,现在对于大多数实际用途来说实在太容易了。也许对调试很有用。
  • ZDT/DTLZ multiobjective functions - 多目标优化问题,但您可以自己对它们进行标量化。
  • Many others