人工智能-遗传算法.pdf下载

weixin_39820780 2023-03-19 09:30:10
⼈⼯智能_遗传算法 遗传算法 遗传算法介绍   遗传算法是⼀种模拟⽣命进化机制的搜索和优化⽅法,是把⾃然遗传学和计算机科学结合起来的优化⽅程,有很强的解决问题的能⼒和 ⼴泛的适应性。其假设常描述为⼆进制位串,位串的含义依赖于具体应⽤。搜索合适的假设从若⼲初始假设的群体集合开始。当前种群成员 通过模仿⽣物进化的⽅式来产⽣下⼀代群体,如随机变异和交叉。每⼀步,根据给定的适应度评估当前群体的假设,⽽后使⽤概率⽅法选出 适应度最⾼的假设作为产⽣下⼀代的种⼦。 遗传算法的⼏个基本概念   (1)染⾊体(Chromosome):在使⽤遗传算法时,需要把问题的解编成⼀个适合的码⼦。这种具有固定结构的符号串既是染⾊ 体,符号串的每⼀位代表⼀个基因。符号串的总位数成为染⾊体的长度,⼀个染⾊体就代表问题的⼀个解,每个染⾊体也被称为⼀个个体。   (2)群体(Population):每代所产⽣的染⾊体总数成为群体,⼀个群体包含了该问题在这⼀代的⼀些解的集合。   (3)适应度(Fitness):对群体中每个染⾊体进⾏编码后,每个个体对应⼀个具体问题的解,⽽每个解对应于⼀个函数值。该函数值 即适应函数,就是衡量染⾊体对环境适应度的指标,也是反映实际问题的⽬标函数    基本的遗传操作   (1)选择(Select):按⼀定的概率从上代群体中选择M对个体作为双亲,直接拷贝到下⼀代,染⾊体不发⽣变化。   (2)交叉(Crossover):对于选中进⾏繁殖的两个染⾊体X,Y,以X,Y为双亲作交叉操作,从⽽产⽣两个后代X1,Y1.   (3)变异(Mutation):对于选中的群体中的个体(染⾊体),随机选取某⼀位进⾏取反运算,即将该染⾊体码翻转。   ⽤遗传算法求解的过程是根据待解决问题的参数集进⾏编码,随机产⽣⼀个种群,计算适应函数和选择率,进⾏选择、交叉、变异操 作。如果满⾜收敛条件,此种群为最好个体,否则,对产⽣的新⼀代群体重新进⾏选择、交叉、变异操作,循环往复直到满⾜条件。 TSP问题   所谓TSP问题(旅⾏商问题)即最短路径问题就是在给定的起始点S到终⽌点T的通路集合中,寻求距离最⼩的通路,这样的通路成为S 点到T点的最短路径。在寻找最短路径问题上,有时不仅要知道两个指定顶点间的最短路径,还需要知道某个顶点到其他任意顶点间的最短 路径。⽤遗传算法解决这类问题,没有太多的约束条件和有关解的限制,因⽽可以很快地求出任意两点间的最短路径以及⼀批次短路径。 TSP问题的遗传算法设计与实现   (1)编码问题:由于这是⼀个离散型的问题,我们采⽤整数编码的⽅式,⽤1-n来表⽰n个城市,1-n的任意⼀个排列就构成了问 题的⼀个解。可以知道,对于n个城市的TSP问题,⼀共有n!种不同的路线。   (2)种群初始化:对于N个个体的种群,随机给出N个问题的解(相当于是染⾊体)作为初始种群。这⾥具体采⽤的⽅法是:1,2, …,n作为第⼀个个体,然后2,3,…n分别与1交换位置得到n-1个解,从2开始,3,4,…,n分别与2交换位置得到n-2个解,依次类推。(如 果这样还不够初始种群的数量,可以再考虑n,n-1,…,1这个序列,然后再按照相同的⽅法⽣成,等等)   (3)适应度函数:设⼀个解遍历初始⾏⾛的总距离为D,则适应度fitness=1/D.即总距离越⾼,适应度越低,总距离越低(解越 好),适应度越⾼。   (4)选择操作:个体被选中的概率与适应度成正⽐,适应度越⾼,个体被选中的概率越⼤。这⾥仍然采⽤轮盘赌法。选择作为交叉的 双亲,是根据前代染⾊体的适应函数值所确定的,质量好的个体,即从起点到终点路径长度短的个体被选中的概率较⼤。交叉率不可选择过 ⼩,否则,延缓获得最优解的过程,本程序选择 =0.85。   (5)交叉操作:交叉操作是遗传算法最重要的操作,是产⽣新个体的主要来源,直接关系到算法的全局寻优能⼒,这⾥采⽤部分映射 交叉。⽐如对于n = 10的情况,对于两个路径:           1  2 4  5  6  3  9  0  8   7           3  9 7  6  8  0  5  1  2   4   随机产⽣两个[1,10]之间的随机数r1,r2,代表选择交叉的位置,⽐如r1 = 2,r2 = 4,如上图划线的位置,将第⼀个个体r1到r2之间 的基因(即城市序号)与第⼆个个体r1到r2之间的基因交换,交换之后变为:           1  9  7  6  6  3  9  0  8  7           3  2  4  5  8  0  5  1  2  4   划线部分表⽰交叉过来的基因,这个时候会发现可能交叉过来的基因与原来其他位置上的基因有重复,容易直到,第⼀个个体重复基因 的数⽬与第⼆个个体重复基因的数⽬是相同 , 相关下载链接:https://download.csdn.net/download/qq_43934844/87504799?utm_source=bbsseo
...全文
18 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
⼈⼯智能_遗传算法 遗传算法 遗传算法介绍   遗传算法是⼀种模拟⽣命进化机制的搜索和优化⽅法,是把⾃然遗传学和计算机科学结合起来的优化⽅程,有很强的解决问题的能⼒和 ⼴泛的适应性。其假设常描述为⼆进制位串,位串的含义依赖于具体应⽤。搜索合适的假设从若⼲初始假设的群体集合开始。当前种群成员 通过模仿⽣物进化的⽅式来产⽣下⼀代群体,如随机变异和交叉。每⼀步,根据给定的适应度评估当前群体的假设,⽽后使⽤概率⽅法选出 适应度最⾼的假设作为产⽣下⼀代的种⼦。 遗传算法的⼏个基本概念   (1)染⾊体(Chromosome):在使⽤遗传算法时,需要把问题的解编成⼀个适合的码⼦。这种具有固定结构的符号串既是染⾊ 体,符号串的每⼀位代表⼀个基因。符号串的总位数成为染⾊体的长度,⼀个染⾊体就代表问题的⼀个解,每个染⾊体也被称为⼀个个体。   (2)群体(Population):每代所产⽣的染⾊体总数成为群体,⼀个群体包含了该问题在这⼀代的⼀些解的集合。   (3)适应度(Fitness):对群体中每个染⾊体进⾏编码后,每个个体对应⼀个具体问题的解,⽽每个解对应于⼀个函数值。该函数值 即适应函数,就是衡量染⾊体对环境适应度的指标,也是反映实际问题的⽬标函数    基本的遗传操作   (1)选择(Select):按⼀定的概率从上代群体中选择M对个体作为双亲,直接拷贝到下⼀代,染⾊体不发⽣变化。   (2)交叉(Crossover):对于选中进⾏繁殖的两个染⾊体X,Y,以X,Y为双亲作交叉操作,从⽽产⽣两个后代X1,Y1.   (3)变异(Mutation):对于选中的群体中的个体(染⾊体),随机选取某⼀位进⾏取反运算,即将该染⾊体码翻转。   ⽤遗传算法求解的过程是根据待解决问题的参数集进⾏编码,随机产⽣⼀个种群,计算适应函数和选择率,进⾏选择、交叉、变异操 作。如果满⾜收敛条件,此种群为最好个体,否则,对产⽣的新⼀代群体重新进⾏选择、交叉、变异操作,循环往复直到满⾜条件。 TSP问题   所谓TSP问题(旅⾏商问题)即最短路径问题就是在给定的起始点S到终⽌点T的通路集合中,寻求距离最⼩的通路,这样的通路成为S 点到T点的最短路径。在寻找最短路径问题上,有时不仅要知道两个指定顶点间的最短路径,还需要知道某个顶点到其他任意顶点间的最短 路径。⽤遗传算法解决这类问题,没有太多的约束条件和有关解的限制,因⽽可以很快地求出任意两点间的最短路径以及⼀批次短路径。 TSP问题的遗传算法设计与实现   (1)编码问题:由于这是⼀个离散型的问题,我们采⽤整数编码的⽅式,⽤1-n来表⽰n个城市,1-n的任意⼀个排列就构成了问 题的⼀个解。可以知道,对于n个城市的TSP问题,⼀共有n!种不同的路线。   (2)种群初始化:对于N个个体的种群,随机给出N个问题的解(相当于是染⾊体)作为初始种群。这⾥具体采⽤的⽅法是:1,2, …,n作为第⼀个个体,然后2,3,…n分别与1交换位置得到n-1个解,从2开始,3,4,…,n分别与2交换位置得到n-2个解,依次类推。(如 果这样还不够初始种群的数量,可以再考虑n,n-1,…,1这个序列,然后再按照相同的⽅法⽣成,等等)   (3)适应度函数:设⼀个解遍历初始⾏⾛的总距离为D,则适应度fitness=1/D.即总距离越⾼,适应度越低,总距离越低(解越 好),适应度越⾼。   (4)选择操作:个体被选中的概率与适应度成正⽐,适应度越⾼,个体被选中的概率越⼤。这⾥仍然采⽤轮盘赌法。选择作为交叉的 双亲,是根据前代染⾊体的适应函数值所确定的,质量好的个体,即从起点到终点路径长度短的个体被选中的概率较⼤。交叉率不可选择过 ⼩,否则,延缓获得最优解的过程,本程序选择 =0.85。   (5)交叉操作:交叉操作是遗传算法最重要的操作,是产⽣新个体的主要来源,直接关系到算法的全局寻优能⼒,这⾥采⽤部分映射 交叉。⽐如对于n = 10的情况,对于两个路径:           1  2 4  5  6  3  9  0  8   7           3  9 7  6  8  0  5  1  2   4   随机产⽣两个[1,10]之间的随机数r1,r2,代表选择交叉的位置,⽐如r1 = 2,r2 = 4,如上图划线的位置,将第⼀个个体r1到r2之间 的基因(即城市序号)与第⼆个个体r1到r2之间的基因交换,交换之后变为:           1  9  7  6  6  3  9  0  8  7           3  2  4  5  8  0  5  1  2  4   划线部分表⽰交叉过来的基因,这个时候会发现可能交叉过来的基因与原来其他位置上的基因有重复,容易直到,第⼀个个体重复基因 的数⽬与第⼆个个体重复基因的数⽬是相同
⼈⼯智能-免疫算法 这是⼀类智能的算法,没有什么固定的模式,就是⼀个算法思想,可以给我们⼀些有价值的指导,当我们想要做⼀些相关⼯作的时候,可以 扩宽我们的视野,打开我们的脑洞,借鉴其中的原理。我不想多说⾥⾯的什么数学和公式,只要你懂⾥⾯的思想会迁移到实际的应⽤中就很 不错,更好的则是在其基础上形成⾃⼰的思维,需要⽤的话,就像什么神经⽹络⼀样,最好使⽤现成的框架。 其实在这个之前,我建议观看这篇博客的⼤家先看看遗传算法,在那⾥我说的理解的总结的⽐较细,这⾥就⽐较笼统的,因为感觉⼆者⽐较 类似。 简介 在百度词条上的介绍是这样的 我发现不知道怎么就跟遗传算法⼜重合了?了解之下发现,⼆者确实是有很⼤程度的相似的,在遗传算法中我们依靠适应度来评判交叉和变 异之后的样本,以此来设定该样本的可遗传性。 在免疫算法中,我们的过程也⼤概是如此,对于⼀个带解决的问题(抗原识别),我们抽取已知的解(初始抗体群),⽽后根据该解的得分 情况(亲和度评价),得到每个解样本的价值,也就是可以继续进⼀步改造的可能性,类似于遗传中的适应度。⽽后选择样本进⾏变换操作 (免疫处理),借此得到得分更⾼的解样本,在⼀次⼀次的变换过程中逐渐接近最后解。 免疫算法的流程 (1)抗原识别,即理解待优化的问题,对问题进⾏可⾏性分析,提取先验知识,构造出合适的亲和度函数,并制定各种约束条件。 (2)初始抗体群,通过编码把问题的可⾏解表⽰成解空间中的抗体,在解的空间内随机产⽣⼀个初始种群。 (3)对种群中的每⼀个可⾏解进⾏亲和度评价。 (4)判断是否满⾜算法终⽌条件;如果满⾜条件则终⽌算法寻优过程,输出计算结果;否则继续寻优运算。 (5)计算抗体浓度和激励度。 (6)进⾏免疫处理,包括免疫选择、克隆、变异和克隆抑制。 免疫选择:根据种群中抗体的亲和度和浓度计算结果选择优质抗体,使其活化; 克隆:对活化的抗体进⾏克隆复制,得到若⼲副本; 变异:对克隆得到的副本进⾏变异操作,使其发⽣亲和度突变; 克隆抑制:对变异结果进⾏再选择,抑制亲和度低的抗体,保留亲和度⾼的变异结果。 (7)种群刷新,以随机⽣成的新抗体替代种群中激励度较低的抗体,形成新⼀代抗体,转步骤(3)。 我相信看过上⼀篇遗传算法的⼈应该很容易理解这个的原理,实际上的差别并不是很⼤, 有⼏个关键点需要明确⼀下: 多样性和亲和⼒ 多样性和亲和⼒ 为了表明全体中的抗体的多样性,引⼊信息熵的概念,利⽤熵计算不同基因序列的差异性从⽽得到⼀个衡量系统个体的多样性的值;亲和⼒ 则是评价样本跟最优解之间的相似度,这在免疫系统中是⽤来衡量抗原和抗体之间的匹配程度的,也就是⼀个打分评价的函数。 促进和抑制抗体的产⽣ 促进和抑制抗体的产⽣ 计算每个抗体的亲和⼒,抑制期望值低于阈值的抗体;抗原对其具有的亲和⼒越⾼(也就是越接近最优解),该抗体的克隆数⽬越⾼,遗传 的可能性也就越⾼(其变异率也越低?,这句话还值得仔细思考,⼀个样本越接近最优解,它是应该更需要变异还是更不需要) 抗体的产⽣ 抗体的产⽣ 通过交叉和变异产⽣进⼊下⼀代的抗体 有关的概念 便于理解算法 抗原:在⽣命科学中,是指能够刺激和诱导机体的免疫系统使其产⽣免疫应答,并能与相应的免疫应答产物在体内或体外发⽣特异性反应的 物质。在我们的算法中,是指所有可能错误的基因,即⾮最佳个体的基因。 抗体:在⽣命科学中,是指免疫系统受抗原刺激后,免疫细胞转化为浆细胞并产⽣能与抗原发⽣特异性结合的免疫球蛋⽩,该免疫球蛋⽩即 为抗体。在本⽂中是指根据疫苗修正某个个体的基因所得到的新个体。其中,根据疫苗修正某个个体基因的过程即为接种,其⽬的是消除抗 原在新个体产⽣时所带来的负⾯影响。 免疫疫苗:根据进化环境或待求问题,所得到的对最佳个体基因的估计。 免疫算⼦:同⽣命科学中的免疫理论类似,免疫算⼦也分两种类型:全免疫和⽬标免疫,⼆者分别对应于⽣命科学中的⾮特异性免疫和特异 性免疫。其中,全免疫是指群体中每个个体在变异操作后,对其每⼀环节都进⾏⼀次免疫操作的免疫类型;⽬标免疫则指个体在进⾏变异操 作后,经过⼀定判断,个体仅在作⽤点处发⽣免疫反应的⼀种类型。前者主要应⽤于个体进化的初始阶段,⽽在进化过程中基本上不发⽣作 ⽤,否则将很有可能产⽣通常意义上所说的"现象";后者⼀般⽽⾔将伴随群体进化的全部过程,也是免疫操作的⼀个常⽤算⼦。 免疫调节:在免疫反应过程中,⼤量的抗体的产⽣降低了抗原对免疫细胞的刺激,从⽽抑制抗体的分化和增殖,同时产⽣的抗体之间也存在 着相互刺激和抑制的关系,这种抗原与抗体、抗体与抗体之间的相互制约关系使抗体免疫反应维持⼀定的强度,保证机体的免疫平衡。 免疫记忆:指免疫系统将能与抗原发⽣反应的抗体作为记忆细胞保存记忆下来,当同类抗原再次侵⼊时,相应的记忆细胞被激活⽽产⽣⼤量 的抗体,缩短免

13,656

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧