为什么 AI 遗传算法在每一代中都给出了相等的拟合或更拟合的解决方案?

Why does an AI genetic algortihm gives an equal fit or fitter solution in each generation?

遗传算法是一种元启发式算法。声明是人口每一代都进化成更好(更合适)的解决方案。这是为什么?

我是 AI 的新手,但想逐步改进 ;-) 所以请帮助我理解这个算法。

在每次迭代中,都会创建新一代的种群。为什么它会包含一个同等适合或更适合的个人?

Create a population of Individuals
WHILE population does not have the optimal fittest OR not maximum number of generations 
   call: evoluate the population
print fittest of population

method: evoluate the population 
   Craete a new population
   FOR the number of individuals in the population
     Select a fittest individual out of 5 random Individuals
     Select a fittest individual out of 5 random Individuals
     Store the crossover of these (parent) Individuals in the new population
   FOR the number of individuals in the population
     mutate the individual

下一个种群是否可能包含不太适合的解决方案?

它也可以包含不太合适的解决方案,以逃避局部最优。这就是为什么也必须记住全局最佳解决方案的原因,除非保证第一个个体能够收容它并存活下来。

注意:如有语法错误,敬请谅解。

问题:为什么它会包含一个相等的适合或更适合的个人?

回答:假设算法从一定数量(比如 30)的种群(individual/solutions 集合)开始,并将 运行 生成一定数量(比如 30)。

  1. 最初随机或使用适应度函数给每个人一个适应度分数。
  2. 在每一代中,所有个体都会经历一些步骤(选择、交叉、变异)。在选择步骤中,具有较高适应度值的个体更有可能被选中。在交叉过程中,适应度值较高的个体更有可能被选为parents。同样,在变异步骤中。 (注意:概率值用于选择、交叉、变异步骤。) 因此,在下一代中,新种群更有可能比上一代表现更好。

具体可以看这本书:https://www.amazon.com/Hands-Genetic-Algorithms-Python-intelligence-ebook/dp/B0842372RQ/ref=zg_bs_3880_18?_encoding=UTF8&psc=1&refRID=CEXPB1J6G099H25M0S21

问题:下一个种群是否可能包含不太适合的解决方案?

答:是的。由于交叉和变异,一些后代(新个体)可能与他们最好的 parent 个体(之前为 crossover/mutation 选择的个体)发生很大变化,他们可能不会给出最好的结果。 然而,在每一代人中,个体最终都会变得更好。

Sample Image