【人工智能】人工智能二——遗传算法的基本概念遗传算法的基本算法(编码群体设定适应度函数选择交叉变异遗传算法步骤)解决带约束的函数优化问题多目标的遗传算法遗传算法的改进算法

article/2025/10/17 3:42:21

人工智能二——遗传算法的基本概念&遗传算法的基本算法(编码&群体设定&适应度函数&选择&交叉&变异&遗传算法步骤)&解决带约束的函数优化问题&多目标的遗传算法&遗传算法的改进算法

  • 遗传算法的基本概念
    • 遗传算法的产生与发展
    • 遗传问题求解过程
      • 编码
      • 形成初始群体(随机生成)
      • 计算适应度
      • 复制(将表中适应度小的完全替换为适应度大的)
      • 交叉(让适应度高的个体进行杂交,替换掉染色体中的某些部位)
      • 变异(会有事先给定的变异概率,随机改变字符串个体字符的某些部位)
      • 终止
  • 遗传算法的基本算法
    • 编码
    • 群体设定
      • 初始种群产生
        • 确定最优解范围
        • 使初始群体个数达一定规模
      • 种群规模的确定(过大过小都不好)
    • 适应度函数
      • 适应度函数的尺度变换
    • 选择(复制)
      • 个体选择概率分配方法
        • 适应度比例法(蒙特卡罗法)
        • 排序方法
          • 线性排序
          • 非线性排序
      • 选择个体方法
        • 轮盘赌选择(与适应度比例和随机数相结合)
        • 锦标赛选择方法
        • 最佳个体保存方法
    • 交叉
      • 一点交叉
      • 两点交叉
    • 变异
    • 遗传算法步骤
  • 解决带约束的函数优化问题
    • 协同进化
      • 评价函数的构建——罚函数法
  • 多目标的遗传算法
    • 聚合函数法
    • 向量评价遗传算法
  • 遗传算法的改进算法
    • 双倍体遗传算法
    • 双种群遗传算法
    • 自适应遗传算法

遗传算法的基本概念

在这里插入图片描述

遗传算法的产生与发展

通过选择、交叉、变异等操作机制使种群个体的适应性不断提高。

遗传问题求解过程

在这里插入图片描述

编码

在这里插入图片描述

形成初始群体(随机生成)

在这里插入图片描述
在这里插入图片描述

计算适应度

在这里插入图片描述
在这里插入图片描述

复制(将表中适应度小的完全替换为适应度大的)

在这里插入图片描述

交叉(让适应度高的个体进行杂交,替换掉染色体中的某些部位)

在这里插入图片描述
在这里插入图片描述

变异(会有事先给定的变异概率,随机改变字符串个体字符的某些部位)

在这里插入图片描述

终止

在这里插入图片描述

遗传算法的基本算法

编码

1、位串编码

(1)二进制编码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2) G r a y Gray Gray编码( i n t e r e s t i n g interesting interesting

G r a y Gray Gray编码:将二进制编码通过一个变换进行转换得到的编码

在这里插入图片描述
在这里插入图片描述
G r a y Gray Gray编码的特点:任意两个连续的两个整数的编码值之间只有一个位是不同的,其他位都完全相同。克服了二进制编码的 H a m m i n g Hamming Hamming悬崖问题

2、实数编码

在这里插入图片描述

3、多参数级联编码

在这里插入图片描述

群体设定

初始种群产生

确定最优解范围

在这里插入图片描述

使初始群体个数达一定规模

在这里插入图片描述

种群规模的确定(过大过小都不好)

群体规模太小,遗传算法的优化性能不太好,易陷入局部最优解
群体规模太大,计算复杂
在这里插入图片描述

适应度函数

适应度函数的尺度变换

在这里插入图片描述
在这里插入图片描述

选择(复制)

个体选择概率分配方法

在这里插入图片描述

适应度比例法(蒙特卡罗法)

在这里插入图片描述

排序方法

线性排序

在这里插入图片描述

非线性排序

在这里插入图片描述

选择个体方法

轮盘赌选择(与适应度比例和随机数相结合)

在这里插入图片描述

锦标赛选择方法

在这里插入图片描述

最佳个体保存方法

在这里插入图片描述

交叉

一点交叉

在这里插入图片描述

两点交叉

在这里插入图片描述

变异

在这里插入图片描述

遗传算法步骤

  • 生成初始种群
  • 计算每个染色体适应值
  • 满足条件停止,否则构建新的种群
  • 以一定概率交叉产生新的染色体,得到一个新的种群
  • 以较小的概率使染色体发生变异,形成新的种群,重新计算适应度
    在这里插入图片描述
    在这里插入图片描述

解决带约束的函数优化问题

在这里插入图片描述

协同进化

在这里插入图片描述

评价函数的构建——罚函数法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

多目标的遗传算法

聚合函数法

在这里插入图片描述

向量评价遗传算法

在这里插入图片描述

遗传算法的改进算法

双倍体遗传算法

在这里插入图片描述
在这里插入图片描述

双种群遗传算法

在这里插入图片描述

自适应遗传算法

在这里插入图片描述


http://chatgpt.dhexx.cn/article/yOGjITNm.shtml

相关文章

【建模必备】遗传算法的基本原理与步骤(适应度函数与适应度分配)

如果喜欢这里的内容,你能够给我最大的帮助就是转发,告诉你的朋友,鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

2018-3-19 损失函数与适应度函数,稳定选择与分裂选择

1.适应度与损失函数 我觉的: (1)都是用来描述目标函数一个方面的效能的一个函数 (2)进行输入之后,结果都是一个可以进行比较的值 来源:机器学习之 损失函数和风险函数 - CSDN博客 http://bl…

遗传算法(2):对适应度函数的改进

Review: 基本遗传算法 ----------------------------- 关于适应度的问题 1. 有的时候,目标函数可能不一定可以直接作为适应度函数。 2. f(x1), f(x2), ... f(xN)之间的差别可能不是很大,个体被选出的概率差不多,这可能导致GA的选择…

遗传算法原理,交叉、变异、适应度函数的设置

遗传算法(Genetic Algorithm,GA)由霍兰德教授在20世纪70年代提出,是以自然选择和遗传变异为理论依据的全局性概率搜索优化算法模型。采用遗传算法寻优时需要将问题的候选解进行编码,即一个候选解对应一个编码&#xff…

利用遗传算法GA和粒子群算法PSO优化算法,将BP神经网络训练集的MSE作为适应度函数

利用遗传算法GA和粒子群算法PSO优化算法,将BP神经网络训练集的MSE作为适应度函数,获取最优的权值和阈值在反向输入到BP神经网络里构建回归预测模型,同时能够打印出模型的多个评价指标,具体效果可以看图 ID:3250669194443543Matl…

麻雀算法SSA,优化VMD,适应度函数为最小包络熵,包含MATLAB源代码

针对大家评论区给出的很多问题,作者一直都有关注,因此在这里又写了一篇文章,而且思路与这篇文章有不同之处,至于具体的不同之处放在下一篇文章了,大家感兴趣的可以移步观看,下一篇文章可以说是作者的呕心力…

计算适应度函数(目标函数)(单目标)

适应度函数 function fitness = CacFitNess(Energy,Time,MissError,overSpeed,Jerk) %UNTITLED 计算适应度函数 caculation fitness % 能耗Energy % 时间Time % 舒适度Jerk % 超限速overSpeed % 停车误差MissError global DESINTIME EMAX; y=zeros(1,5);%% 1 能耗 if E…

进化算法——昂贵、有噪声与动态适应度函数

1.昂贵适应度函数 在很多实际问题中,对适应度做一次评价会需要几分钟、几小时、几天甚至更长时间的计算或实验。我们在这里讨论如何减少适应度评价所需的时间以便降低进化算法对计算量的要求。 实际问题涉及的适应度函数常常包含下列的一种或多种特征:…

经典算法研究系列:七、深入浅出遗传算法,透析GA本质

经典算法研究系列:七、遗传算法初探 ---深入浅出、透析GA本质 作者:July 二零一一年一月十二日。 本文参考:维基百科 华南理工大学电子讲义 互联网 ------------------------------------------------------------------------------- 一、初探遗传算法…

适应度函数及遗传操作

本文转载自:http://blog.csdn.net/b2b160/article/details/4680853/ 这篇文章所举的例子非常给力,摘自《遗传算法原理与应用》,至少我是看过之后就明白了很多概念~ 首先,什么是遗传算法? 遗传算法是为那些难以找到传统…

遗传算法(三)——适应度与选择

适应度(fitness) 含义: 个体的适应度(fitness)指的是个体在种群生存的优势程度度量,用于区分个体的“好与坏”。适应度使用适应度函数(fitness function)来进行计算。适应度函数也叫…

遗传算法适应度函数的计算原理

遗传算法: 适应度函数: FitnVranking(ObjV) ranking函数分两步操作: (1)对个体的目标值ObjV进行由小到大的排序 (2)按照排序的值,利用计算公式 其中:Position是第一步…

SQL 分组统计去重有条件的过滤

见字如面,如标题拆分: 分组 GROUP BY field_name统计 COUNT(field_name)去重 DISTINCT field_name条件过滤 CASE WHEN age > 18 THEN age END 示例: 前序: 表结构 CREATE TABLE data_table_name (id int(11) …

mysql sql 分组求和函数_SQL分组函数group by和聚合函数(COUNT、MAX、MIN、AVG、SUM)的几点说明...

1 分组聚合的原因 SQL中分组函数和聚合函数之前的文章已经介绍过,单说这两个函数有可能比较好理解,分组函数就是group by,聚合函数就是COUNT、MAX、MIN、AVG、SUM。 拿上图中的数据进行解释,假设按照product_type这个字段进行分组,分组之后结果如下图。 SELECT product_ty…

SQL分组取最大值的方法

一、业务需求 1.1.数据表展示 1.2.查询要求 要求查询所有字段,并按iceName,orderPath,exceptionType分组,在分组时取systemTime值最大的那条数据 注:本文适用于查询多字段的查询,单纯的 select MAX(字段A) 或select B,MAX(字段…

SQL分组后将不存在的组记为0

说明 最近遇到这么一个需求&#xff1a;统计区间在0-2000,2000-3000,3000-4000,4000-5000,5000工资的人数。 快速开始 数据如下&#xff1a; 开始看到这个问题&#xff0c;想都没想就开始写了下面的代码&#xff1a; SELECT casewhen salary < 2000 then [0, 2000)when …

SQL 分组条件深入剖析

问题 在 stackoverflow 网站上看到这样一个 SQL 分组条件的需求&#xff0c;需求看似挺简单&#xff0c;但能把 SQL 写正确对于新手来说也不容易&#xff0c;我们拿过来深入剖析一下&#xff0c;数据如下&#xff1a; 需求是查找只有Ready 状态的设备。 解答 自然思路&#xff…

SQL分组排序函数(组内分别排序)

建表并插入数据 -- 部门表 create table dept( deptno int primary key auto_increment, -- 部门编号 dname varchar(14) , -- 部门名字 loc varchar(13) -- 地址 ) ; -- 员工表 create table emp( empno int primary key auto_increment,-- 员工编号 …

sql 分组 行列转换

sql 分组 & 行列转换 文章目录 sql 分组 & 行列转换1、groupby&#xff08;配合组合函数使用&#xff09;2、Sql的行列转换 - 纵横表1&#xff09;纵表转横表2&#xff09;横表转纵表 sql语句教程参考W3C School - SQL 教程 就够了 1、groupby&#xff08;配合组合函数…

SQL:分组数据

分组数据&#xff1a; A. SQL Server Group By语句 Group By 从字面意义上理解就是根据“By”指定的规则对数据进行分组&#xff0c;所谓的分组就是将一个“数据集” 划分成若干个“小区域”&#xff0c;然后针对若干个“小区域”进行数据处理。 以下是 GROUP BY 子句的语…