遗传算法简略

2024-04-06 03:32
文章标签 遗传算法 简略

本文主要是介绍遗传算法简略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.遗传算法起什么作用

遗传算法致力于寻求全局最优解,而不停滞于局部最优解,假使是用来寻找最大值,那么:

遗传算法的任务就是尽量爬到最高峰,而不是陷落在一些小山峰。

假设把多向搜索中随机选择下一个点比喻成袋鼠跳动,那么遗传算法可以形象描述为:

从前,有一大群袋鼠,它们被莫名其妙的零散地遗弃于喜马拉雅山脉。于是只好在那里艰苦的生活。海拔 低的地方弥漫着一种无色无味的毒气,海拔越高毒气越稀薄。可是可怜的袋鼠们对此全然不觉,还是习惯于活蹦乱跳。于是,不断有袋鼠死于海拔较低的地方,而越是在海拔高的袋鼠越是能活得更久,也越有机会生儿育女。就这样经过许多年,这些袋鼠们竟然都不自觉地聚拢到了一个个的山峰上,可是在所有的袋鼠中,只有聚 拢到珠穆朗玛峰的袋鼠被带回了美丽的澳洲。

1.寻找一种对问题潜在解进行“数字化”编码的方案
(建立表现型和基因型的映射关系)
2.用随机数初始化一个种群,种群里面的个体就是这些数字化的编码
(那么第一批袋鼠就被随意地分散在山脉上)
3.通过适当的解码过程之后,用适应性函数对每一个基因个体作一次适应度评估。
(得到袋鼠的位置坐标;袋鼠爬得越高,越是受我们的喜爱,所以适应度相应越高)
4.用选择函数按照某种规定(适应度)择优选择
(我们要每隔一段时间,在山上射杀一些所在海拔较低的袋鼠,以保证袋鼠总体数目持平)
5.让个体基因交叉变异,然后产生子 代。
(让袋鼠随机地跳一跳,希望存活下来的袋鼠是多产的,并在那里生儿育女)

遗传算法并不保证你能获得问题的最优解,但是使用遗传算法的最大优点在于你不必去了解和操心如何去“找”最优解,而只要简单的“否定”一些表现不好的个体就行了。以后你会慢慢理解这句话,这是遗传算法的精粹!
(你不必去指导袋鼠向那边跳,跳多远,只要把那些总是爱走下坡路的袋鼠射杀。)

遗传算法的一般步骤:
开始循环直至找到满意的解。
1.评估每条染色体所对应个体的适应度。
2.遵照适应度越高,选择概率越大的原则,从种群中选择两个个体作为父方和母方。
3.抽取父母双方的染色体,进行交叉,产生子代。
4.对子代的染色体进行变异。
5.重复2,3,4步骤,直到新种群的产生。
结束循环。

遗传算法引擎:
遗传算法引擎――GenAlg

来源:
http://blog.csdn.net/emiyasstar__/article/details/6938608

这篇关于遗传算法简略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/878888

相关文章

射频放大管的使用简略

不同于运放的低频频段放大,射频放大管是对于高频频段的信号放大,特别是在射频微波频段的信号放大,射频放大管的合理使用决定了所要达成的放大能力,其对静电的敏感性需要在实际的操作中佩戴静电手环等去静电设备,防止射频放大管的静电损坏,射频放大管在封装上有所区别,有的是金属封装,有的是塑封封装,也有无封装的,即裸芯,在带有封装的射频放大管中,有的需要螺钉来固定,有的直接可以与腔体或印制板焊接在一起,射频放大

遗传算法Github初学

遗传算法的理论是根据达尔文进化论而设计出来的算法:人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因 遗传算法(genetic algorithm——GA)是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解依据某些适应

零基础学启发式算法(5)-遗传算法 (Genetic Algorithm)

一、遗传算法 (Genetic Algorithm, GA)  源于达尔文的进化论,将问题的一个解当作种群中的一个个体。 gene:基因 chromosome: 染色体 population:种群 crossover:交叉 mutation:变异 selection:选择 通过多轮的“选择,交叉和变异”,选择适应度最好的个体作为问题的最优解。 选择:优胜劣汰,适者生存。

MATLAB智能优化算法-学习笔记(1)——遗传算法求解0-1背包问题【过程+代码】

一、问题描述 (1)数学模型 (2)模型总结 目标函数:最大化背包中的总价值 Z。约束条件:确保背包中的物品总重量不超过容量 W。决策变量:每个物品是否放入背包,用0或1表示。 这个数学模型是一个典型的0-1整数线性规划问题。由于其NP完全性,当问题规模较大时,求解此问题通常需要使用启发式算法(如遗传算法、动态规划、分支定界法等)来找到近似最优解。 (3)实例讲解:0-1 背包问题

遗传算法与深度学习实战(8)——使用遗传算法解决旅行商问题

遗传算法与深度学习实战(8)——使用遗传算法解决旅行商问题 0. 前言1. 旅行商问题2. NP 问题3. 构建 TSP 求解器小结系列链接 0. 前言 旅行商问题 (Traveling Salesman Problem, TSP) 是一个经典的优化问题,其目标是找到一条最短的路径,使得旅行商可以访问一系列给定的城市并且每个城市只访问一次,最终回到出发地点。在本节中,我们将学习

MATLAB遗传算法求解考虑碳排放的逆向物流快递产品回收处理中心选址问题实例代码

MATLAB遗传算法求解考虑碳排放的逆向物流快递产品回收处理中心选址问题实例代码 MATLAB遗传算法求解考虑碳排放的逆向物流快递产品回收处理中心选址问题实例代码

遗传算法(GA)的C语言实现

问题: 在下面的程序中将要运用遗传算法对一个多项式求最小值 要求在(-8,8)间寻找使表达式达到最小的x,误差为0.001 问题分析: 编码:采用常规码,即二进制码编码。构造简单,交叉、变异的实现非常容易,同时解的表达也很简洁、直观。可以每0.001取一个点,这样理论误差讲小于0.0005,可以满足题目中的误差要求。此事总的求解空间为: N = (8 - (-8)) * 10

用Python解决优化问题_多目标规划遗传算法模板

NSGA2,即非支配排序遗传算法II(Nondominated Sorting Genetic Algorithm II),是一种用于解决多目标优化问题的遗传算法。NSGA-II算法基于Pareto最优概念,通过快速非支配排序和精英策略,有效地维护种群多样性并提高优化精度 。 NSGA-II算法的流程主要包括: 1. 初始种群的生成。 2. 对种群进行非支配排序和拥挤度计算。 3. 根据非支配等

Genetic Algorithm遗传算法整理

文章目录 一、简介二、算法流程三、参数四、代码五、参考资料 一、简介 遗传算法(Genetic Algorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。 遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中,选择、交叉和变异构成了遗传算法的遗传

遗传算法与深度学习实战(7)——使用遗传算法解决N皇后问题

遗传算法与深度学习实战(7)——使用遗传算法解决N皇后问题 0. 前言1. N 皇后问题2. 解的表示3. 遗传算法解决 N 皇后问题小结系列链接 0. 前言 进化算法 (Evolutionary Algorithm, EA) 和遗传算法 (Genetic Algorithms, GA) 已成功解决了许多复杂的设计和布局问题,部分原因是它们采用了受控随机元素的搜索。这通常使得使