遗传算法(1)--初步认识

本文介绍了遗传算法的基本概念,包括染色体、个体、种群及适应度函数等,并详细解释了选择、交叉和变异等关键操作的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近学习了遗传算法,尝试着把它按照理解写下来。对于遗传算法从名字上就可以看出来是和生物有关的东西,可以认为是和生物进化有关系,在生物进化里面又有一句话叫:物竞天择,适者生存。也就是说受环境的影响,最终会留下那些能适应环境的生物。如果从生物学里面进行考虑可能会涉及到 一堆的概念名词,如:染色体,个体,种群,基因突变等。如果遗传算法是根据生物进化进行设计其必定包含这些概念和过程。下面从概念和过程这两个方面对遗传算法进行一个简单的说明。


1.遗传算法中的概念


  • 染色体
  • 个体
  • 种群
  • 适应度函数
  • 选择操作
  • 交叉操作
  • 变异操作

染色体其实就是问题的一个解,如何理解呢,首先你有一个问题,比如求一个函数式里面的x的使得函数式里面的值最大,那么这个解就是这个x的具体某一个值。

函数式:f(x)=x+10sin(x) ,x取值范围为(1,10)

这里可以把x的解作为一条染色体。那么染色体的取值范围就是x的取值范围。既然是一个解那么对于计算机来说染色体用什么来表示呢?这里就涉及到编码的问题。编码的方式有二进制编码和实数编码。

假设x=5,如果染色体采用二进制编码,定义染色体的长度为5的话那么它应该是下面的形式
二进制编码:[00101]

那么问题来了,如果问题是求一堆货物存放的位置,使得它满足某个函数式。如空间坐标,那么应该怎么定义。
首先需要知道的是要求的解是什么。这里的解其实就是货物的坐标,那么是不是就是(x,y)呢?是(x,y)。但更确切的说是每个货物的(x,y)。也就是说你有多少个货物就应该有多少个(x,y)。加入有五个货物,那么染色体应该是至少有十个基因,每个基因代表一个(x,y)。但这往往不好求,实际当中染色体可以是十个基因,也就是x和y分别用一个基因表示。如下图:
z=(x,y)

[z1,z2,z3,z4,z5]
[x1,y1,x2,y2,x3,y3,x4,y4,x5,y5]


也就是说每两个基因就是一个解。最终得到就是上面的染色体。

若采用实数编码则:
坐标:(1,2)-(4,5)-(13)-(6,2)-(5,7)
实数编码 [1,2,4,5,1,3,6,2,5,7]

个体这里可以理解成是一条染色体

种群是由很多个个体组成,可以自己定义种群的大小。

适应度函数是用来评价个体的好坏,它指导着整个群体的进化方向。上面的函数式就可以作为适应度函数。适应度函数很多情况下可以用目标函数代替,也就是求解的函数。
此时可能你应该知道适应度函数式需要根据实际情况来定。当你有一个问题需要解决,你首先会建立数学模型,也就是变成函数,如果想用遗传算法来解这个函数,那么此时需要对这个函数式分析,将其转成适应度函数,或者是根据这个目标函数写出相应的适应度函数。

选择操作:从种群中挑选出比较好的两个个体,形成一对,然后将基因传给下一代,也就是成为新的染色体。

交叉操作:交换基因
变异操作:根据变异概率对染色体进行变异

过程

过程也就是计算过程:
这里写图片描述

上图的操作过程只是比较简单的操作过程,在实际当中还会还有很多别的方法来实现。

参考文献

[1]https://www.zhihu.com/question/23293449

数据挖掘原理与SPSS_Clementine应用宝典.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第1章 数据挖掘概述.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第2章 数据挖掘可挖掘的知识类型.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第3章 数据挖掘的体系结构与模型.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第4章 数据选择.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第5章 数据预处理.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第6章 回归分析.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第7章 贝叶斯分析.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第8章 聚类分析.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第9章 决策树算法.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第10章 关联规则.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第11章 粗糙集理论.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第12章 神经网络.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第13章 遗传算法.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第14章 支持向量机.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第15章 复杂对象数据挖掘.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第16章 数据挖掘建模.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第17章 数据挖掘模型评价.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第18章 SPSS Clementine基础.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第19章 SPSS Clementine数据管理.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第20章 数据的图形化展示.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第21章 数据模型.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第22章 数据挖掘结果的输出.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第23章 数据挖掘项目实施.ppt 数据挖掘 机器学习原理与SPSS Clementine应用宝典 第24章 SPSS_Clementine典型案例分析.ppt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值