0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析遗传算法的工作原理

汽车玩家 来源:游戏开发者 作者:SwordMaster 2019-11-30 11:12 次阅读

1. 本文目的

本文简要地对遗传算法进行阐述,让以前没有接触过遗传算法的人有个大概的认识,并了解遗传算法的工作原理

2. 生物的遗传与进化

(1)基因组(genome):生物细胞中的染色体组包含了复制该生物所需的全部信息,染色体 中的这一集合就被称为生物机体的基因组。

(2)杂交(crossover):当两个生物机体配对和复制时,它们的染色体互相混合,产生一个 由双方基因组成的全新染色体组,这一过程就叫杂交。这意味着后代继承的大部分可能 是上一代的优良基因,也可能继承了它们的不良基因。如果是前一种情况,后代就可能 变得比它的父母更优秀,而对于后一种情况,后代就可能变得不如它的父母。

(3)变异(mutate):当基因传递给子孙后代的过程中,会有很小的概率发生差错,从而使 基因得到微小的改变。生物的进化都是利用无数微小的变异发展而来的,前提是这些变 异是对生物生存有利的变异。

(4)适应性分数(fitness):越是能适应环境的子孙后代就越有可能继续复制基因并将其传 给下一个子孙后代。由此就会显示一种趋势,每一代总是比它的上一代更优秀。

3. 计算机中的遗传算法

遗传算法在计算机中的工作过程实质上就是模拟了生物的进化过程。

(1)首先,应确定一种编码方法,使得问题的任何一个潜在的可行解都能表示成为一个“数 字”染色体。

(2)然后创建一个由随机的染色体组成的初始群体(每个染色体代表一个不同的候选解), 并在一段时期中用于培育适应性最强的个体的办法,让它们进化。

(3)在此期间,染色体的某些位置上要加入少量的变异。

(4)经过许多代后,遗传算法将会收敛到一个解,但遗传算法不能确保一定能得到解,如 果有解也不确保找到的是最优解,但只要采用的方法正确,通常都能为遗传算法编出一 个能够运行很好的程序。

(5)遗传算法的最大优点就是,你不需要知道怎么去解决一个问题,仅需要知道用什么样 的方式对可行解进行编码,使得它能被遗传算法机制所利用。

4. 遗传算法中对其他名词的解释

(1)杂交率:杂交率就是用来确定两个染色体进行局部互换以产生两个新的子代的概率。

(2)变异率:变异率就是对染色体进行位变异操作的概率。

(3)TSP巡回销售员问题(Traveling Salesman Problem) : 给定几个城市,巡回销售员必须决定一条最短的路线,使他能够访问到每个城市一次, 然后返回他的起点。

5. 遗传算法的实现

通常代表可行解的染色体采用某种方式进行编码。在运行开始时,首先创建一个染 色体的种群,当一个初始群体已经被创建好了后,就开始做下面的一系列工作了:

不断循环,直到寻找出一个解

1. 检查每个染色体,看它解决问题的性能怎样,并相应地为它分配一个适应性分 数。

2. 从当前群体选出两个成员。选出的概率与染色体的适应性成正比,适应分数越 高,被选中的概率越大。常用的方法就是轮赌选择法(roulette wheel selection)。

3. 按照预先设定的杂交率(crossover rate),从每个选中染色体的一个随机确定的点 上进行杂交。

4. 按照预定的变异率(mutation rate),通过对被选染色体的位的循环,把相应的位进 行翻转。

5. 重复步骤 2,3,4,直到新的群体被创建出来。 结束循环

算法由步骤 1 到步骤 5 的一次循环称为一代(generation)。这里把整个的循环称 为一个时代(epoch)。

浅析遗传算法的工作原理

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 遗传算法
    +关注

    关注

    0

    文章

    236

    浏览量

    20500
收藏 人收藏

    评论

    相关推荐

    基于改进遗传算法的图像分割方法

    基于改进遗传算法的图像分割方法提出一种应用于图像分割的改进遗传算法,算法中引入了优生算子、改进的变异算子和新个体,避免了局部早熟,提高了收敛速度和全局收敛能力。   关键词: 图像分割&
    发表于 09-19 09:36

    基于遗传算法的片上网络虚通道分配算法

    【作者】:李晓辉;曹阳;王力纬;陈晨;【来源】:《华中科技大学学报(自然科学版)》2010年03期【摘要】:针对虚通道技术导致片上网络(NoC)面积增加的问题,提出了一种基于遗传算法的NoC虚通道
    发表于 04-22 11:34

    遗传算法在matlab上的应用

    各位大哥,小弟想求助关于遗传算法的应用,有知情者联系,多谢多谢!
    发表于 05-18 11:43

    MATLAB遗传算法工具箱及应用

    MATLAB遗传算法工具箱及应用
    发表于 03-23 18:33

    遗传算法 神经网络 解析

    关于遗传算法和神经网络的
    发表于 05-19 10:22

    遗传算法

    有哪位大神懂遗传算法的,求赐教!!!!!!!!
    发表于 04-23 20:13

    遗传算法辨识程序

    遗传算法辨识程序
    发表于 01-04 13:31

    遗传算法辨识程序

    遗传算法辨识程序.zip
    发表于 01-07 12:09

    遗传算法的基本原理

    遗传算法的基本原理.zip
    发表于 01-07 12:13

    第8章遗传算法辨识

    第8章遗传算法辨识.rar
    发表于 03-18 20:58

    基于遗传算法的异步电机

    在对异步电机矢量控制系统分析的基础上,给出了参数优化设计的数学模型,采用了一种改进的遗传算法,并利用Matlab软件对PID参数进行了优化设计,得到了满意的优化参数.讨论了遗传算法的一些关键技术,如
    发表于 12-10 15:40

    遗传算法的优化 精选资料分享

    1、基于改进遗传算法的大型海上风电场优化电网设计(Optimal Electric Network Design for a Large Offshore Wind Farm Based on a
    发表于 07-12 07:00

    什么是遗传算法

    什么是遗传算法
    发表于 11-22 06:11

    遗传算法的特点和应用概述

    一、遗传算法概述 遗传算法(Genetic Algorithm,GA)是进化计算的一部分,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该
    发表于 12-31 06:21

    求问MATLAB遗传算法编程问题

    请问matlab中遗传算法变异算子**nonUnifMutation[2 gen 3]**是什么意思呢?
    发表于 01-31 17:43