当前位置:首页 » 操作系统 » 遗传算法思想

遗传算法思想

发布时间: 2024-10-30 06:27:14

‘壹’ 如何通俗易懂地解释遗传算法有什么例子

相信遗传算法的官方定义你已经看过,就我个人理解
遗传算法的思想是物竞天择,优胜劣汰。
你可以理解为,当我们解某道数学题时,如果这个题太难我们没法列公式算出正确答案,我们有时候也可以蒙答案去反过来看看是否满足这道题提干的要求,如果能满足,说明我们蒙的答案是正确的。但是蒙对答案要试很多遍,每次随机的去试数可能要试1000次才能蒙对。可是遗传算法可以让我们科学的去蒙答案,每次蒙的答案都会比上一次蒙的更接近正确答案,这样可能蒙十几次我们就找到正确答案了。
希望我的回答对你理解GA有所帮助,望采纳

‘贰’ 如何通俗易懂地解释遗传算法

遗传算法,核心是达尔文优胜劣汰适者生存的进化理论的思想。

我们都知道一个种群,通过长时间的繁衍,种群的基因会向着更适应环境的趋势进化,牛B个体的基因被保留,后代越来越多,适应能力低个体的基因被淘汰,后代越来越少。经过几代的繁衍进化,留下来的少数个体,就是相对能力最强的个体了。

那么在解决一些问题的时候,我们能不能学习这样的思想,比如先随机创造很多很多的解,然后找一个靠谱的评价体系,去筛选比较好的解,再用这些好的解像生小宝宝一样生一堆可能更好的解,然后再筛再生,反复弄个几代,得到的说不定就是近似最优解哟

说干就干,有一个经典组合问题叫“背包问题”,我们拿这种思路来试试

“背包问题(Knapsack Problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。”

这个问题的衍生简化问题“0-1背包问题” 增加了限制条件:每件物品只有一件,可以选择放或者不放,更适合我们来举例

这样的问题如果数量少,当然最好选择穷举法

比如一共3件商品,用0表示不取,1表示取,那么就一共有

000 001 010

011 100 101

110 111

这样方案,然后让计算机去累加和,与重量上限比较,留下来的解里取最大即可。

‘叁’ 基本遗传算法介绍

遗传算法是群智能优化计算中应用最为广泛、最为成功、最具代表性的智能优化方法。它是以达尔文的生物进化论和孟德尔的遗传变异理论为基础,模拟生物进化过程和机制,产生的一种群体导向随机搜索技术和方法。

遗传算法的基本思想:首先根据待求解优化问题的目标函数构造一个适应度函数。然后,按照一定的规则生成经过基因编码的初始群体,对群体进行评价、遗传运算(交叉和变异)、选择等操作。经过多次进化,获得适应度最高的一个或几个最优个体作为问题的最优解。

编码是对问题的可行解的遗传表示,是影响算法执行效率的关键因素的之一。遗传算法中,一个解 称为个体或染色体(chromosome),染色体由被称为基因(gene)的离散单元组成,每个基因控制颜色体的一个或多个特性,通常采用固定长度的0-1二进制编码,每个解对应一个唯一的二进制编码串编码空间中的二进制位串称为基因型(genotype)。而实际所表示问题的解空间的对应点称为表现型(phenotype)。

种群由个体构成,每个个体的染色体对应优化问题的一个初始解。

适应度函数是评价种群中个体对环境适应能力的唯一确定性指标,体现出“适者生存,优胜劣汰”这一自然选择原则。

遗传算法在每次迭代过程中,在父代种群中采用某种选择策略选择出指定数目的哥特体提进行遗传操作。最常用的选择策略是正比选择(proportional selection)策略。

在 交叉算子中,通常由两个被称为父代(parent)的染色体组合,形成新的染色体,称为子代(offspring)。父代是在种群中根据个体适应度进行选择,因此适应度较高的染色体的基因更有可能被遗传到下一代 。通过在迭代过程中不断地应用交叉算子,使优良个体的基因得以在种群中频繁出现,最终使得整个种群收敛到一个最优解。

在染色体交叉之后产生的子代个体,其基因位可能以很小的概率发生转变,这个过程称为变异。变异是为了增强种群的多样性,将搜索跳出局部最优解。

遗传算法的停止准则一般采用设定最大迭代次数或适应值函数评估次数,也可以是规定的搜索精度。

已Holland的基本GA为例介绍算法等具体实现,具体的执行过程描述如下:

Step 1: 初始化 。随机生成含有 个个体的初始种群 ,每个个体经过编码对应着待求解优化问题的一个初始解。

Step 2: 计算适应值 。个体 ,由指定的适应度函数评价其适应环境的能力。不同的问题,适应度函数的构造方式也不同。对函数优化问题,通常取目标函数作为适应度函数。

Step 3: 选择 。根据某种策略从当前种群中选择出 个个体作为重新繁殖的下一代群体。选择的依据通常是个体的适应度的高低,适应度高的个体相比适应度低的个体为下一代贡献一个或多个后代的概率更大。选择过程提现了达尔文“适者生存”原则。

Step 4: 遗传操作 。在选出的 个个体中,以事件给定的杂交概率 任意选择出两个个体进行 交叉运算 ,产生两个新的个体,重复此过程直到所有要求杂交的个体杂交完毕。根据预先设定的变异概率 在 个个体中选择出若干个体,按一定的策略对选出的个体进行 变异运算

Step 5: 检验算法等停止条件 。若满足,则停止算法的执行,将最优个体的染色体进行解码得到所需要的最优解,否则转到 Step 2 继续进行迭代过程。

‘肆’ 遗传算法的中心思想

遗传算法是通过大量备选解的变换、迭代和变异,在解空间中并行动态地进行全局搜索的最优化方法,由于遗传算法具有比较完备的数学模型和理论,在解决很多NP—Hard问题上具有良好的性能。

遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中选择、交叉和变异构成了遗传算法的遗传操作,参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。

(4)遗传算法思想扩展阅读:

遗传算法注意事项:

用户需要注意遗传算法的优化过程中种群基因的多样性是保障避免陷入局部最优解的重要因素,如果目标函数优化结果过早收敛很可能就是因为种群的多样性不足。

为了保证种群的多样性,其中编码、适应度函数设计尤为重要。

适应度的含义就是字面意思,这个个体是否可以适应环境也即是否满足优化目标指标。因为后续需要根据适应度函数进行自然选择,因此适应度函数和你的目标函数并不需要完全一样。

热点内容
安卓触发脚本 发布:2024-11-23 14:22:11 浏览:715
phpnginx错误日志 发布:2024-11-23 14:21:23 浏览:47
后台上传视频 发布:2024-11-23 13:59:30 浏览:814
脚本净化 发布:2024-11-23 13:49:11 浏览:194
linux加载存储 发布:2024-11-23 13:02:44 浏览:805
ip电话时间服务器 发布:2024-11-23 12:56:06 浏览:299
C语言编译提醒不是一个函数 发布:2024-11-23 12:53:38 浏览:959
查看加密空间说说 发布:2024-11-23 12:37:47 浏览:2
安卓手机在哪里退款 发布:2024-11-23 12:36:53 浏览:965
ftp多少w 发布:2024-11-23 12:33:21 浏览:310