【问题标题】:representation of gene and chromosomes in genetic algorithm遗传算法中基因和染色体的表示
【发布时间】:2016-08-05 05:26:41
【问题描述】:

我对遗传算法相当陌生,想问一个问题。我遇到的所有关于遗传算法的资源都谈到了使用二进制数或实数来表示基因。我正在研究利用遗传算法的行程生成器。通常,行程由兴趣点组成,但我的行程由用二进制字符串表示的城市组成。每个位位置都对信息进行编码,例如城市是否有博物馆,或者是否有汽车租赁服务。例如,如果城市有汽车租赁,则表示汽车租赁服务的比特位置将设置为 1。行程中包含的城市数量由停留时间决定。所以,在遗传算法表示方面,每条线路代表一条染色体,城市代表基因。我在我读过的任何资源中都没有看到这种表示形式(每个基因都是一个二进制字符串,每个染色体由多个二进制字符串组成。)。所以我想知道我是否走在正确的轨道上。

编辑:所以对于交叉,它会在多个位串之间。对于突变,它基本上是用人口中的另一个城市替换现有城市。

【问题讨论】:

    标签: genetic-algorithm


    【解决方案1】:

    看起来你可以将它表示为一串整数,每个整数都是描述城市的二进制数的整数表示。比你好 - 交叉只是你描述的将一个城市(即一个数字)更改为另一个城市的交叉和突变。

    【讨论】:

    • 我没想到。有点道理。谢谢!
    【解决方案2】:

    你的染色体可以是任何东西。如果你有一些已经可以操作位串的东西,那么将它表示为位串很方便、易于理解且易于操作。

    但它可以是任何东西。通常它是某种数据类型的集合(或几种不同的数据类型放在一起)。

    您选择的表示方式将影响它的变异方式以及适应度景观的形状。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-10
      • 1970-01-01
      • 1970-01-01
      • 2014-07-07
      • 1970-01-01
      • 2012-05-15
      • 2016-02-03
      相关资源
      最近更新 更多