读书报告-遗传算法

读书报告-遗传算法

问:遗传算法的基本原理
  1. 答:遗传算法通常的实现方式,就是用程序来模拟生物种群进化的过程。对于一个求最优好闭解的问题,我们可以把一定兄轮数量的候选解(称为个体)抽象地表示为染色体,使种群向更好的解来进化。大家知道,使用算法解决问题的时候,解通常都是用数据或者字符串等表示的,而这个数据或字符串对应到生物中就是某个个体的“染色体”。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中评价其在整个种群的适应度,从当前种群中随机地选择多个个体(基于它们的适应度),通过自然选择和突变产友尘裂生新的种群,该种群在算法的下一次迭代中成为当前种群。其具体的计算步骤如下:
    编码:将问题空间转换为遗传空间;
    生成初始种群:随机生成P个染色体;
    种群适应度计算:按照确定的适应度函数,计算各个染色体的适应度;
    选择:根据染色体适应度,按照选择算子进行染色体的选择;
    交叉:按照交叉概率对被选择的染色体进行交叉操作,形成下一代种群;
    突变:按照突变概率对下一代种群中的个体进行突变操作;
    返回第3步继续迭代,直到满足终止条件。
  2. 答:遗传算法是基于生物学的,理解或编程都不太难。下面是遗传算法乱耐的一般算法:
    创建一个随机的初始状态
    初始种群是从解中随机选择出来的,将这些解比喻为染羡仿色体或基因,该种群被称为第一代,这和符号人工智能系统的情况不一样,在那里问题的初始状态已经给定了。
    评估适应度
    对每一个解(染色体)指定一个适应度的值,根据问题求解的实际接近程度来指定(以便逼近求解问题的答案)。不要把这些“解”与问题的“答案”混为一谈,可以把它理解成为要得到答案,系统可能需要利用的那些特性。
    繁殖(包括子代突变)
    带有较高适应度值的那些染色体更可能产生后代(后代产生后也将发生突变)。后代是父母的产物,他们由来自父母的基因结合而成,这个过程被称为“杂交”。
    下一代
    如果新的一代包含一个解,能产生一个充分接近或等于期望答案的输出,那么问题就已经解决了。如果情况并非如此,新的一代将重复他们父母所进行的繁衍过程,一代一代演化下去,直到达到期望的解为止。
    并行计算
    非常容易将遗传算法用到并行计算和群集环境中。一种方法是直接把每个节点当成一个并行的种群看待。然后有机体根据不同的繁殖方法从一个节点迁移到另一个节点。另一种方法是哗派春“农场主/劳工”体系结构,指定一个节点为“农场主”节点,负责选择有机体和分派适应度的值,另外的节点作为“劳工”节点,负责重新组合、变异和适应度函数的评估。
  3. 答:遗传算法〔ic Algorithm,简称GA)是模拟生物进化过程的计算模型,是自然遗传学与计算机科学相互结合、相互渗透而形成的新的计算方法。
    遗传是一种孙瞎生物从其亲代继承特性和性状的现象。继承的信息由基因携带,多个基因组成染色体,纂因在染色体中的位置为基因座(Locus )。同一基因座可能有的全部基因为等位基因(Alleles,等位基纤凯返因和基因座决定了染色体的特征,也决定了生物个体的特性。从染色体的表现形式看,毁饥有两种相应的表示模式,分别为基因型(Genotype)和表现型( Phenotype)。表现型是指生物个体表现出来的性状,而基因型则是指与表现密切相关的基因组成。同一基因型的生物个体在不同的环境条件下有不同的表现型。因此,表现型是基因型与环境相互作用的结果。
    在遗传算法中染色体对应的是一系列符号序列,在标准的遗传算法(即基本遗传算法)中,通常用0, 1组成的位串表示,串上各个位置对应基因座,各位置上的取值对应等位基因。遗传算法对染色体进行处理,染色体称为基因个体。一定数量的基因个体组成基因种群。种群中个体的数目为种群的规模,各个体对环境的适应程度称为适应度(Fitness )。
  4. 答:遗传算法在该博弈中应用的整个过程是:选择-交叉算法应用-自适应判断。例如,在这个游戏中,有两只狗,每只都有一个DNA序列。这个DNA序列携带宠物狗的所有基因信息,即耳朵(大小、类型)、眼睛(状态、类型)、脸(眉毛、鼻子)派卖首、皮肤(图案、颜色)、尾巴(状态、颜配磨色)。首先,将一个变量定义为狗号,对应于从0开始的游戏脚本。存储的基因数组的索引被用作宠物狗的预制。接下来,这个类被定义为记录每只狗基因的DNA基因链。存储耳朵、眼睛、脸、皮肤和尾巴的信息。在游戏初始阶段随机生成一只猫后尘数,当生成一只新猫时,打开身体部位开关,并根据自己的位置组合新猫。具体来说,轮盘赌算法是用来确定选择的交叉点,以确保玩家最喜爱的基因有很高的概率传递给下一代
问:遗传算法的核心是什么?!
  1. 答:遗传操作灶丛轮的交叉算子。
    在自然界生物进化过程中起核心作用的是生物遗传基因的重组(加上变异)。同样,隐信遗传算法中起核心作用的是遗传操作的交叉算子。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。通过交叉,遗传算法郑迅的搜索能力得以飞跃提高。
    交叉算子根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。
    扩展资料
    评估编码策略常采用以下3个规范:
    a)完备性(completeness):问题空间中的所有点(候选解)都能作为GA空间中的点(染色体)表现。
    b)健全性(soundness): GA空间中的染色体能对应所有问题空间中的候选解。
    c)非冗余性(nonredundancy):染色体和候选解一一对应。
    目前的几种常用的编码技术有二进制编码,浮点数编码,字符编码,变成编码等。
    而二进制编码是目前遗传算法中最常用的编码方法。即是由二进制字符集{0,1}产生通常的0,1字符串来表示问题空间的候选解。
    参考资料来源:
    参考资料来源:
  2. 答:遗传算法闭稿是模拟自然界中按“优胜劣汰”法则进巧斗行进化过程而设计的算法。Bagley和Rosengerg于1967年在他们的博士论文中首先提出了遗传算法的概念。1975年Holland出版的专著奠定了遗传算法的理论基础。如今遗传算法不但给出了清晰的算法描述,而且也建立了一些定量分析的结果,在众多领域得到了广泛的应用,如用于控制(煤气管道的控制)、规划(生产任务规划)、设计(通信 设计)、组合优化(TSP问题、背包问题)以及图像处理和信号处理轿宽孝等。
  3. 答:遗传算法有许多的重点难点,比如说进化模型搭建。需要依靠遗传算法进行模型设计,编程与模型设计存在难度。行为模型搭建。求偶路径的设计较为困难。交互功能实现。游戏纯森陆用户与主体的交互功能与进化模型相结合难度大。设计需求量非常之巨大,一般需要团队协作才能完成。各春和部分设计数量大,时间耗费长做顷。数据结构复杂。基因化作数值进行存储但结构复杂。
问:遗传算法的收敛性问题
  1. 答:是算子有问题,交叉的方法都是比较简单的,但对于某些情况可能并不好用,也就是说算法本身无法体现出优胜劣汰的规则,可能因此导致无法收敛。
    收敛数穗芦列令为一个bai数du列,且A为一个固定的实数,如果对于任意给出zhi的b>0,存在一个正整数N,使得对于任意n>N,有|an-A|<b,则数列存在极限A,数列被称为收敛。非收敛的数列被称作“发散”(divergence)数列。
    可见收敛不是指数值越来越小,而是指与极限值的距离(即差的绝对值)越来越小,只要你的目标函数是压缩映射,那么使用遗传算法就一定可以计算出全局收敛的隐核近似值。
    扩展资料:
    由于遗传算法不能直接处理问题空间的参数,因此必须通过编码将要求解的问题表示灶族掘成遗传空间的染色体或者个体。这一转换操作就叫做编码,也可以称作(问题的)表示(representation)。
    遗传算法在搜索进化过程中一般不需要其他外部信息,仅用评估函数来评估个体或解的优劣,并作为以后遗传操作的依据。由于遗传算法中,适应度函数要比较排序并在此基础上计算选择概率,所以适应度函数的值要取正值。由此可见,在不少场合,将目标函数映射成求最大值形式且函数值非负的适应度函数是必要的。
    参考资料来源:
读书报告-遗传算法
下载Doc文档

猜你喜欢