码迷,mamicode.com
首页 > 编程语言 > 详细

遗传算法初步

时间:2018-10-21 12:08:08      阅读:354      评论:0      收藏:0      [点我收藏+]

标签:选择   splay   集合   遗传算法   png   流程   color   随机   其他   

遗传算法基本原理

  遗传算法是从代表问题可能潜在解集的一个种群开始的,而一个种群则由经过基因编码的一定数量的个体组成。每个个体实际上是染色体带有特征的实体。作为多个基因的集合,单个染色体是遗传物质的主要载体,其在种群中的命运由其基因组合决定。初始种群产生以后按照优胜劣汰、适者生存的原理,逐代演化产生出越来越好的近似解。在每一代,根据问题域中个体的适应度大小挑选个体,并借助代表于自然遗传学的遗传算子进行交叉和变异,产生出代表新的解集的种群。这个过程导致种群像自然进化一样,后代种群比前代更加适应于环境,末代种群中最优个体经过解码,可以作为问题的近似最优解

  遗传算法采纳了自然进化模型,如选择、交叉、迁移、局域与邻域等。与传统搜索算法不同,遗传算法是从一组随机产生的初始解开始搜索过程。种群中的每个个体是问题的一个解,称为“染色体”,染色体是一串符号,比如二进制01串。这些染色体在后续迭代中不断进化,称为遗传。在每一代中用适应度来测量染色体的好坏。生成的下一代染色体称为后代。后代是由前一代染色体通过交叉或者变异运算形成的。新一代形成中,根据适应度的大小选择部分后代,淘汰部分后代,从而保持种群大小的稳定性适应度高的染色体被选中的概率高,这样经过若干代之后,算法收敛于最好的染色体,它很可能就是问题的最优解或次优解

生物遗传与遗传算法概念比对

技术分享图片

遗传算法的基本步骤

  1. 确定参变量及其各种约束条件,即确定个体的表现形式和问题的解空间
  2. 建立优化模型,即确定出求解问题的目标函数和数学描述形式及量化方法
  3. 确定染色体的编码方法,即确定个体的基因形式
  4. 确定编码方法,即确定出个体的基因形式到个体的表现形式的对应关系和转化方式
  5. 确定个体适应度的量化评价方法,即确定出目标函数值同个体适应度的转化规则
  6. 设计遗传算子,即确定出选择算子,交叉算子和变异算子的具体操作方法
  7. 确定遗传算法的有关运行参数,即确定出遗传算法

遗传算法流程图

技术分享图片

遗传算法的特点

  传统的优化方法主要有三种:枚举法、启发式算法和搜索算法。随着问题种类的不同以及问题规模的扩大,需要寻求一种能以有限的代价来解决搜索和优化的通用方法,遗传算法正是为我们提供了一个有效的途径,它不同于传统的搜索和优化方法。主要区别在于:

1.自组织、自适应和自学习性

2.遗传算法的本质并行性

3.遗传算法不需要求导或其他的辅助知识,而只需要影响搜索方向的目标函数和相应的适应度函数

4.遗传算法强调概率转换规,而不是确定的转换规则

5.遗传算法可以更加直接的应用

6.遗传算法对给定的问题,可以产生许多的潜在解,最终可以由使用者确定

遗传算法的应用

  遗传算法提供了一种求解复杂系统问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很多科学。

1.函数优化

2.组合优化

3.自动控制

4.人工生命

 

技术分享图片

遗传算法初步

标签:选择   splay   集合   遗传算法   png   流程   color   随机   其他   

原文地址:https://www.cnblogs.com/zhangzefei/p/9824452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!