《遗传算法》PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
遗传算法
一个假设表示为一个二进制串 这些串通常称为染色体 染色体含有称为基因的子串,基因表
示属性值 染色体的集合构成一个群体
010110111000010000
基因[0]表示年龄 基因[1]表示高度
遗传算法
群体是染色体的集合 染色体表示求解问题的当前假设 从群体中提取父代染色体进行运算,
遗传算法
学习过程如下:
选择适应度最好的4个
11 01001101 -4 13 01001101 -4 14 00111001 -4 15 00101111 -5
11与13交叉
16 01001101 -4 17 01001101 -4
14与15交叉
18 00111011 -4 19 00101101 -5
遗传算法
学习过程如下:
选择适应度最好的4个
5 00111001 -4 6 00001100 -4 8 00011011 -6 11 01101101 -3
5与6交叉
12 00111000 -3 13 00001101 -5
8与11交叉
14 00011001 -4 15 01101111 -4
遗传算法
遗传算法
要做的第一件事是将染色体转换成二进制串, 00表示0 01表示1 10表示2 11表示3 交叉位置:6,即父代染色体被复制下来产生两个后代 然后两个后代交换他们的最后两位 变异:由随机选择一位、求反
遗传算法
例如,染色体0223的适应度为4。 若所有7个规则都满足(也就是当染色体是0133),则 适应度为7。 适应度值可以求负操作,以使任务成为最小化搜索。 因此,目标染色体具有-7的适应度。 要做的第一件事是将染色体转换成二进制串, 这可通过由00表示0,01表示1,10表示2,11表示3来完 成。现在每个基因由两位表示,目标染色体有00011111 表示。 为了简化例子,总是在位置6处应用单点交叉。 父染色体被复制下来产生两个后代,然后两个后代交换 他们的最后两位。 变异由随机选择一位且对他求反组成。
遗传算法
遗传算法是一种通过模拟自然进化过程搜索最优解 的方法。 遗传算法是一类随机算法通过作用于染色体上的基 因,寻找好的染色体来求解问题。 遗传算法对求解问题的本身一无所知,它所需要的 仅是对算法所产生的每个染色体进行评价,并基于适 应值来选择染色体,使适应性好的染色体比适应性差 的染色体有更多的繁殖机会。 遗传算法通过有组织地而且是随机地信息交换来重 新结合那些适应性好的串,在每一个新的串的群体中 作为额外增添,偶尔也要在串结构中尝试用新的位和 段来代替原来的部分。
适应度:每个个体对应于优化问题的一个解,每 个解对应于一个函数值,函数值越大(小),则 表明该解越好
遗传算法
设想一个游戏。你必须进入地牢解救一位公主。为 了进入地牢,你必须闯过几道难关,其中一道关口是一 扇很重的大门,要求必须将其抬起,而唯一可以抬起这 扇门的是一种称为“citegen”的生物。现在有很多citegen 陪伴着你,每个citegen都试图抬起这扇门,抬起这扇门 最高的citegen产生新的后代,这些后代也试图抬起这扇 门,重复这个过程。在规定的时间内,若这扇门没有被 抬起,游戏将结束。
遗传算法
遗传算法从初始串群体开始,按照下面的步骤迭代搜索: ① 使用目标函数计算每个串的适应度。 ② 使用选择策略,选择一些适应度最高的串。 ③ 按照步骤②的选择策略,应用遗传算子生成新的串。 ④ 随机变异这些新串。变异一个串的方法是,随机选择
单个位,然后按随机取样方式反转该位,换句话说, 就是使用随机方式决定选择的位是否被求反。 ⑤ 使用再插入策略,将步骤③与步骤④生成的新串替换 存在的一些串生成下一代群体。 ⑥ 若得到解,则停止;否则返回步骤①。
通过应用遗传算子达到运算目的
010001110010
011100110111
010001110111
011100110010
遗传算法
选择:其目的是为了从当前群体中选出优良的个 体,使它们有机会作为父代产生后代个体
交叉:随机地选取一个截断点,将父代的染色体 在截断点断开,并交换其后半部分
变异:对于群体中的某个染色体,随机选取某一 位,将该位取反
遗传算法
建模
所有的染色体都用4位数表示,每位数字表示一个 基因,可以是{0,1,2,3}来自百度文库之一。
抬门获得成功的citegen具有编码为0133的染色体。 所有其他citegen具有其他的编码,它们要么抬起一点, 要么完全抬不动,因此编码表示citegen的力气,即适应 度。
遗传算法
适应度按照下面的规则计算: 适应度←0 若染色体含有0,则适应度←适应度+ 1 若染色体含有1,则适应度←适应度+ 1 若染色体含有3,则适应度←适应度+ 1 若gene[0]具有0,则适应度←适应度+ 1 若gene[1]具有1,则适应度←适应度+ 1 若gene[2]具有3,则适应度←适应度+ 1 若gene[3]具有3,则适应度←适应度+ 1
学习过程如下:
整个群体变异
5 00111001 -4 6 00001100 -4 8 00011011 -6 11 01101101 -3 12 00111000 -3 13 00001101 -5 14 00011001 -4 15 01101111 -4
5 00101001 -3 6 01001100 -4 8 00111011 -4 11 01001101 -4 12 00111010 -3 13 01001101 -4 14 00111001 -4 15 00101111 -5
遗传算法
学习过程如下:
生成一个初始随机群体
1 00001010 -2 每个染色体给一个 2 01101101 -3 标号(左边的整数 5 00111001 -4 值),最右边的列 6 00001100 -4 显示的是适应度。 8 00011011 -6 当具有相同的适应 9 01101110 -3 度时,采用任意方 10 00111000 -3 式选择父代 11 01101101 -3