我们应该在遗传算法中生成多少个后代?

时间:2017-03-24 03:10:15

标签: genetic-algorithm genetic-programming particle-swarm

假设我有100个popsize,我应该制作10个后代吗? 我希望popsize和后代之间的最佳组合能够快速实现收敛,并且还请包括论文。

2 个答案:

答案 0 :(得分:2)

使用遗传算法可以解决的每个问题都没有最好的后代/群体。每个问题都有一个最好的配置,不仅是后代/人口,还有变异机会,染色体设计等等......

据说有多种解决方案,如总替代,部分替代等。凭借其自身的利益和不利因素。您应该探索它们并确定哪一个最适合您的问题。

答案 1 :(得分:1)

- 为您的GA提供 N 人口规模。

en:    
  blacklight:
    search:
      fields:
        sort:
          pub_date_sort desc, title_sort asc: "Sort by Year"

- 您从主要人群中随机应用染色体锦标赛 T :( T <的 ñ

chrom # 0 = "01010110101" | Fitness = f0
chrom # 1 = "11010010111" | Fitness = f1
chrom # 2 = "01010111011" | Fitness = f2
chrom # 3 = "01111010100" | Fitness = f3
.
.
.
chrom # N = "01011010110" | Fitness = fN

简单地得到配偶染色体:

Tournament chrom # 0 = "01010110101" | Fitness = f0
Tournament chrom # 1 = "11010010111" | Fitness = f1
Tournament chrom # 2 = "01010111011" | Fitness = f2
Tournament chrom # 3 = "01111010100" | Fitness = f3
.
.
.
Tournament chrom # T = "01011010110" | Fitness = fT

另一场比赛:

Mate Chromosome # 1

你应用交叉来返回后代:

Mate Chromosome # 2

从技术上讲,这意味着您可以为新人群获得 N 后代。

Crossover(Mate Chromosome # 1, Mate Chromosome # 2) => offspring

继续迭代,直到收敛到目标染色体的最大尺寸。