【问题标题】:Searching 3D locations with genetic algorithms使用遗传算法搜索 3D 位置
【发布时间】:2016-07-18 04:48:57
【问题描述】:

我有一个问题,我想根据一些适应度函数,使用遗传算法在 3D 空间中搜索最佳位置。因为我正在寻找一个位置,所以我的染色体由 3 个浮点数表示。目前,交叉是通过从一个父级获取 1 或 2 个数字并从另一个父级获取其余数来完成的。

当像这样交叉时,下一代将仅包含与起始种群中的染色体具有相似 X、Y 或 Z 坐标的位置。因此,不可能有太大的变化。我的问题是,是否最好通过对我的染色体(例如位)使用另一种表示来解决这个问题,以便可能有更多的交叉点(也在浮点数内),或者是将突变率设置得更高并让突变添加的更好解决方案下一代的变化更多?

【问题讨论】:

    标签: search optimization genetic-algorithm mutation crossover


    【解决方案1】:

    假设 3D 空间中的点之间存在 spatial-correlation 和适应度函数的值,您的交叉方法似乎听起来不像 @987654321 @ 导致良好表型的父母的属性。随机组合一些轴坐标很可能会产生一个远离双亲的点,因此它的价值与随机突变步骤一样多。

    我愿意做以下事情:

    1. parthegenesis:允许单亲以概率p产生一个位于 3D 球体内随机位置的孩子射线 r 以父级为中心。对局部调整很有用

    2. crossover :孩子位于连接两个父母的直线上,以随机百分比 % 值的位置。

      • 根据您的操作,以小概率允许负值和 >100% 的百分比值可能很有用p'
      • 在这种情况下,您也可以在父母双方的起始位置或孩子的最终位置上应用相同的球体原理,这会导致一些随机性
    3. combination:有可能p''孩子遵循你当前的交叉规则,而不是我的crossover定义

    4. 随机突变:有概率p'''孩子是完全随机改变父母的一个或多个值的结果

      • 替代方案:在搜索过程中的随机位置引入新点,以将多样性保持在某个最小值附近

    在一些实际应用中,我宁愿不删除当前种群中最好的 1%,只是为了将迄今为止最好的基因型保留在基因库中。

    【讨论】:

    • 谢谢,很好的回答!让我更深入地了解如何思考遗传算法。
    猜你喜欢
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 2018-05-06
    • 2018-07-30
    • 2011-01-11
    • 1970-01-01
    相关资源
    最近更新 更多