请问一下能通俗的介绍一下什么是遗传算法吗?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 16:53:06

请问一下能通俗的介绍一下什么是遗传算法吗?
请问一下能通俗的介绍一下什么是遗传算法吗?

请问一下能通俗的介绍一下什么是遗传算法吗?
遗传算法(Genetic Algorithms or GAs)是基于自然选择和自然遗传机制的搜索算法,它是一种有效的解决最优化问题的方法.遗传算法最早是由美国Michigan大学的John Holland和他的同事及学生提出的.类似于自然界演化的基本法则,“适者生存”是遗传算法的核心机制,同样,“复制(reproduce)”、“杂交(crossover)”、“变异(mutation)”等自然界的生物演化规则在遗传算法中都得到类似的体现.
用遗传算法解最优化问题,首先应对可行域中的个体进行编码,然后在可行域中随机挑选指定群体大小的一些个体组成作为进化起点的第一代群体,并计算每个个体的目标函数值,即该个体的适应度.接着就像自然界中一样,利用选择机制从群体中随机挑选个体作为繁殖过程前的个体样本.选择机制保证适应度较高的个体能够保留较多的样本;而适应度较低的个体则保留较少的样本,甚至被淘汰.在接下去的繁殖过程中,遗传算法提供了交叉和变异两种算法对挑选后的样本进行交换和基因突变.交叉算法交换随机挑选的两个个体的某些位,变异算子则直接对一个个体中的随机挑选的某一位进行突变.这样通过选择和繁殖就产生了下一代群体.重复上述选择和繁殖过程,直到结束条件得到满足为止.进化过程最后一代中的最优解就是用遗传算法解最优化问题所得到的最终结果.
与其他算法相比,遗传算法主要有以下四个方面的不同:遗传算法所面向的对象是参数集的编码,而不是参数集本身; 遗传算法的搜索是基于若干个点,而不是基于一个点; 遗传算法利用目标函数的信息,而不是导数或者其他辅助信息; 遗传算法的转化规则是概率性的,而不是确定性的.