人工智能基础之搜索技术

上传人:桔**** 文档编号:568595504 上传时间:2024-07-25 格式:PPT 页数:79 大小:745.50KB
返回 下载 相关 举报
人工智能基础之搜索技术_第1页
第1页 / 共79页
人工智能基础之搜索技术_第2页
第2页 / 共79页
人工智能基础之搜索技术_第3页
第3页 / 共79页
人工智能基础之搜索技术_第4页
第4页 / 共79页
人工智能基础之搜索技术_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《人工智能基础之搜索技术》由会员分享,可在线阅读,更多相关《人工智能基础之搜索技术(79页珍藏版)》请在金锄头文库上搜索。

1、合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室1/79目录o第一章第一章绪论绪论o第二章第二章知识表示知识表示 o第三章搜索技术第三章搜索技术o第四章推理技术第四章推理技术o第五章机器学习第五章机器学习 o第六章专家系统第六章专家系统 o第七章自动规划系统第七章自动规划系统o第八章第八章 自然语言理解自然语言理解o第九章第九章 智能控制智能控制o第十章第十章 人工智能程序设计人工智能程序设计合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室2/793.1 盲目搜索盲目搜索:即盲目搜索:即 无信息搜索无信息搜索 宽度优先与深度优先宽度优先与深度

2、优先3.1.1 图搜索策略图搜索策略 图搜索策略可看作一种在图中寻找路径的方法。初始节点图搜索策略可看作一种在图中寻找路径的方法。初始节点和目标节点分别代表初始数据库和满足终止条件的数据库。求和目标节点分别代表初始数据库和满足终止条件的数据库。求得把一个数据库变换为另一数据库的规则序列问题就等价于求得把一个数据库变换为另一数据库的规则序列问题就等价于求得图中的一条路径问题。研究图搜索的一般策略,能够给出图得图中的一条路径问题。研究图搜索的一般策略,能够给出图搜索过程的一般步骤。搜索过程的一般步骤。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室3/793.1 盲目搜

3、索3.1.1 图搜索策略图搜索策略 例例3.1 从王某家族的四代中找王从王某家族的四代中找王A的后代且其寿命为的后代且其寿命为X的人的人 A,47B1,77A3,52B2,65C2,87C1,96D1,77E1,57E2,92F1,32G1,27H1,51合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室4/793.1 盲目搜索3.1.1 图搜索策略图搜索策略1.图搜索图搜索(GRAPHSEARCH)的一般过程的一般过程(1) 建立一个只含有起始节点建立一个只含有起始节点S的搜索图的搜索图G,把,把S放到一个叫做放到一个叫做OPEN的未扩展节点表中。的未扩展节点表中。(

4、2) 建立一个叫做建立一个叫做CLOSED的已扩展节点表,其初始为空表。的已扩展节点表,其初始为空表。(3) LOOP:若:若OPEN表是空表,则失败退出。表是空表,则失败退出。(4) 选择选择OPEN表上的第一个节点,把它从表上的第一个节点,把它从OPEN表移出并放进表移出并放进CLOSED表中。称此节点为节点表中。称此节点为节点n。(5) 若若n为一目标节点,则有解并成功退出,此解是追踪图为一目标节点,则有解并成功退出,此解是追踪图G中沿中沿着指针从着指针从n到到S这条路径而得到的这条路径而得到的(指针将在第指针将在第7步中设置步中设置)。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室

5、人工智能与数据挖掘研究室5/793.1 盲目搜索3.1.1 图搜索策略图搜索策略1.图搜索图搜索(GRAPHSEARCH)的一般过程的一般过程(6) 扩展节点扩展节点n,同时生成不是,同时生成不是n的祖先的那些后继节点的集合的祖先的那些后继节点的集合M。把。把M的这些成员作为的这些成员作为n的后继节点添入图的后继节点添入图G中。中。(7) 对那些未曾在对那些未曾在G中出现过的中出现过的(既未曾在既未曾在OPEN表上或表上或CLOSED表上出现过的表上出现过的)M成员设置一个通向成员设置一个通向n的指针。把的指针。把M的的这些成员加进这些成员加进OPEN表。对已经在表。对已经在OPEN或或CLO

6、SED表上的每表上的每一个一个M成员,确定是否需要更改通到成员,确定是否需要更改通到n的指针方向。对已在的指针方向。对已在CLOSED表上的每个表上的每个M成员,确定是否需要更改图成员,确定是否需要更改图G中通向它中通向它的每个后裔节点的指针方向。的每个后裔节点的指针方向。(8) 按某一任意方式或按某个探试值,重排按某一任意方式或按某个探试值,重排OPEN表。表。(9) GO LOOP。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室6/793.1 盲目搜索节点节点父辈节点父辈节点3.1.1 图搜索策略图搜索策略2.图搜索算法的几个重要名词图搜索算法的几个重要名词(

7、1)OPEN表与表与CLOSE表表 OPEN表表 CLOSED表表编号编号节点节点父辈节点父辈节点合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室7/793.1 盲目搜索3.1.1 图搜索策略图搜索策略3. 搜索图与搜索树搜索图与搜索树搜索过程框图搜索过程框图开 始初始化:S放入OPEN表,CLOES表置空, n=1OPEN表中的第一个结点 n移至CLOSE表若n 的后继未曾在搜索图 G中出现,则将其放入OPEN表的末端,并提供返回结点 n的指针, 置n=n+1根据后继结点在搜索图 G中的出现情况修改指针方向依某种准则重新排序 OPEN表失败成功NYNOPEN为空表N

8、ULL ?n=目标结点D吗 ?Y合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室8/793.1 盲目搜索3.1.1 图搜索策略图搜索策略4.图搜索方法分析:图搜索方法分析:图搜索过程的第图搜索过程的第8步对步对OPEN表上的节点进行排序,以便能够从表上的节点进行排序,以便能够从中选出一个中选出一个“最好最好”的节点作为第的节点作为第4步扩展用。这种排序可以步扩展用。这种排序可以是任意的即盲目的是任意的即盲目的(属于盲目搜索属于盲目搜索),也可以用以后要讨论的各,也可以用以后要讨论的各种启发思想或其它准则为依据种启发思想或其它准则为依据(属于启发式搜索属于启发式搜索)。

9、每当被选作。每当被选作扩展的节点为目标节点时,这一过程就宣告成功结束。这时,扩展的节点为目标节点时,这一过程就宣告成功结束。这时,能够重现从起始节点到目标节点的这条成功路径,其办法是从能够重现从起始节点到目标节点的这条成功路径,其办法是从目标节点按指针向目标节点按指针向S返回追溯。当搜索树不再剩有未被扩展的返回追溯。当搜索树不再剩有未被扩展的端节点时,过程就以失败告终端节点时,过程就以失败告终(某些节点最终可能没有后继节某些节点最终可能没有后继节点,所以点,所以OPEN表可能最后变成空表表可能最后变成空表)。在失败终止的情况下,。在失败终止的情况下,从起始节点出发,一定达不到目标节点。从起始节

10、点出发,一定达不到目标节点。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室9/793.1 盲目搜索3.1.2 宽度优先搜索宽度优先搜索 定义定义3.1 如果搜索是以接近起始节点的程度依次扩展节点的,如果搜索是以接近起始节点的程度依次扩展节点的,那么这种搜索就叫做宽度优先搜索(那么这种搜索就叫做宽度优先搜索(breadth-first search)合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室10/793.1 盲目搜索3.1.2 宽度优先搜索宽度优先搜索宽度优先搜索算法宽度优先搜索算法(1) 把起始节点放到把起始节点放到OPEN表中表中

11、(如果该起始节点为一目标节点,如果该起始节点为一目标节点,则求得一个解答则求得一个解答)。(2) 如果如果OPEN是个空表,则没有解,失败退出;否则继续。是个空表,则没有解,失败退出;否则继续。(3) 把第一个节点把第一个节点(节点节点n)从从OPEN表移出,并把它放入表移出,并把它放入CLOSED的扩展节点表中。的扩展节点表中。(4) 扩展节点扩展节点n。如果没有后继节点,则转向上述第。如果没有后继节点,则转向上述第(2)步。步。(5) 把把n的所有后继节点放到的所有后继节点放到OPEN表的末端,并提供从这些后表的末端,并提供从这些后继节点回到继节点回到n的指针。的指针。(6) 如果如果n的

12、任一个后继节点是个目标节点,则找到一个解答,的任一个后继节点是个目标节点,则找到一个解答,成功退出;否则转向第成功退出;否则转向第(2)步。步。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室11/793.1 盲目搜索3.1.2 宽度优先搜索宽度优先搜索 例例3.2 八数码问题八数码问题操操作作规规定定: 允允许许空空格格四四周周上上、下下、左左、右右的的数数码码块块移移入入空空格格中,不许斜方向移动,不许返回先辈结点。中,不许斜方向移动,不许返回先辈结点。 初始布局初始布局S和目标状态和目标状态D如下图所示:如下图所示: 合肥工业大学合肥工业大学 人工智能与数据挖掘

13、研究室人工智能与数据挖掘研究室12/793.1 盲目搜索3.1.2 宽度优先搜索宽度优先搜索 例例3.2 八数码问题八数码问题合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室13/793.1 盲目搜索3.1.3 深度优先搜索深度优先搜索深度优先算法步骤:深度优先算法步骤:(1) 初始结点初始结点S放到未扩展节点放到未扩展节点OPEN中;中; (2) 若若OPEN为空,则搜索失败,问题无解;为空,则搜索失败,问题无解; (3) 弹出弹出OPEN表中最顶端结点放到表中最顶端结点放到CLOSE表中,并给出表中,并给出顺序编号顺序编号n; (4) 若若n为目标结点为目标结点D

14、,则搜索成功,问题有解;,则搜索成功,问题有解; (5) 若若n无子结点,转无子结点,转(2);(6) 扩展扩展n结点,将其所有子结点配上返回结点,将其所有子结点配上返回n的指针,并按的指针,并按次序压入次序压入OPEN堆栈,转堆栈,转(2) 。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室14/793.1 盲目搜索3.1.3 深度优先搜索深度优先搜索 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室15/793.1 盲目搜索3.1.3 深度优先搜索深度优先搜索有界深度优先搜索有界深度优先搜索: 引入搜索深度限制值引入搜索深度限制值d,使深

15、度优先搜索过程具有完备性使深度优先搜索过程具有完备性 。设定搜索深度限制设定搜索深度限制d=5,问题同深度优先算法中的八数码问题问题同深度优先算法中的八数码问题(2)(2)。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室16/793.1 盲目搜索3.1.3 深度优先搜索深度优先搜索 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室17/793.1 盲目搜索3.1.3 深度优先搜索深度优先搜索有界深度优先算法步骤:有界深度优先算法步骤:(1)(1)初始结点初始结点S S放入堆栈放入堆栈OPEN中;中;(2)(2)若若OPEN为空,则搜索失败,

16、问题无解;为空,则搜索失败,问题无解;(3)(3)弹出弹出OPEN中栈顶结点中栈顶结点n n,放入,放入CLOSE表中,并给出顺表中,并给出顺序编号序编号n n;(4)(4)若若n n为目标结点为目标结点D D,则搜索成功,问题有解;,则搜索成功,问题有解;(5)(5)若若n n的深度的深度d(n)=dd(n)=d,则转,则转(2) (2) ;(6)(6)若若n n无子结点,即不可扩展,转无子结点,即不可扩展,转(2) (2) ;(7)(7)扩展结点扩展结点n n,将其所有子结点配上返回,将其所有子结点配上返回n n的指针,并压入的指针,并压入OPEN堆栈,转堆栈,转(2) (2) 。合肥工业

17、大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室18/793.1 盲目搜索3.1.4 等代价搜索等代价搜索 宽度优先搜索可被推广用来解决寻找从起始状态至目标状态宽度优先搜索可被推广用来解决寻找从起始状态至目标状态的具有最小代价的路径问题,这种推广了的宽度优先搜索算法的具有最小代价的路径问题,这种推广了的宽度优先搜索算法叫做等代价搜索算法叫做等代价搜索算法。等代价搜索中的几个记号等代价搜索中的几个记号 起始节点记为起始节点记为S; 从节点从节点i到它的后继节点到它的后继节点j的连接弧线代价记为的连接弧线代价记为c(i,j); 起始节点起始节点S到任一节点到任一节点i的路径代价记

18、为的路径代价记为g(i)。 如果所有的连接弧线具有相等的代价,那么等代价算法就如果所有的连接弧线具有相等的代价,那么等代价算法就简化为宽度优先搜索算法简化为宽度优先搜索算法。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室19/793.2 启发式搜索盲目搜索的不足:效率低,耗费空间与时间。盲目搜索的不足:效率低,耗费空间与时间。 启发式搜索:利用问题域特性的信息(启发信息)进行搜索。启发式搜索:利用问题域特性的信息(启发信息)进行搜索。3.2.1 启发式搜索策略启发式搜索策略启发式信息按用途分为三种:启发式信息按用途分为三种: (1)用于确定要扩展的下一个节点,避免盲

19、目扩展。)用于确定要扩展的下一个节点,避免盲目扩展。 (2)在扩展一个节点的过程中,用于确定要生成哪一个或)在扩展一个节点的过程中,用于确定要生成哪一个或哪几个后继节点,避免盲目生成所有可能节点。哪几个后继节点,避免盲目生成所有可能节点。 (3)用于确定某些应该从搜索树中抛弃或修剪得节点。)用于确定某些应该从搜索树中抛弃或修剪得节点。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室20/793.2 启发式搜索 有序搜索(有序搜索(ordered search):利用第一种启发信息,总):利用第一种启发信息,总是选择是选择“最有希望最有希望”的节点作为下一个被扩展的节

20、点。的节点作为下一个被扩展的节点。 估价函数(估价函数(evaluation function ):估算节点:估算节点“希望希望”的量的量度,这种量度叫做估价函数。度,这种量度叫做估价函数。 建立估价函数的一般方法:试图确定一个处在最佳路径上建立估价函数的一般方法:试图确定一个处在最佳路径上的节点的概率;提出任意节点与目标集之间的距离量度或差别的节点的概率;提出任意节点与目标集之间的距离量度或差别量度;或者在棋盘式的博弈和难题中根据棋局的某些特点来决量度;或者在棋盘式的博弈和难题中根据棋局的某些特点来决定棋局的得分数。这些特点被认为与向目标节点前进一步的希定棋局的得分数。这些特点被认为与向目标

21、节点前进一步的希望程度有关。望程度有关。 f(n)表示节点表示节点n的估价函数值的估价函数值 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室21/793.2 启发式搜索3.2.2 有序搜索有序搜索 用估价函数用估价函数f来排列来排列GRAPHSEARCH第第8步中步中OPEN表上表上的节点。应用某个算法的节点。应用某个算法(例如等代价算法例如等代价算法)选择选择OPEN表上具有表上具有最小最小f值的节点作为下一个要扩展的节点。这种搜索方法叫做值的节点作为下一个要扩展的节点。这种搜索方法叫做有序搜索有序搜索或或最佳优先搜索最佳优先搜索(best-first searc

22、h),而其算法就叫做,而其算法就叫做有序搜索算法有序搜索算法或或最佳优先算法最佳优先算法。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室22/793.2 启发式搜索3.2.2 有序搜索有序搜索有序状态空间搜索算法:有序状态空间搜索算法: (1) 把起始节点把起始节点S放到放到OPEN表中,计算表中,计算f(S)并把其值与节点并把其值与节点S联系起来。联系起来。 (2) 如果如果OPEN是个空表,则失败退出,无解。是个空表,则失败退出,无解。 (3) 从从OPEN表中选择一个表中选择一个f值最小的节点值最小的节点i。结果有几个节点。结果有几个节点合格,当其中有一个为

23、目标节点时,则选择此目标节点,否则合格,当其中有一个为目标节点时,则选择此目标节点,否则就选择其中任一个节点作为节点就选择其中任一个节点作为节点i。 (4) 把节点把节点i从从OPEN表中移出,并把它放入表中移出,并把它放入CLOSED的扩展节的扩展节点表中。点表中。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室23/793.2 启发式搜索3.2.2 有序搜索有序搜索(5) 如果如果i是个目标节点,则成功退出,求得一个解。是个目标节点,则成功退出,求得一个解。(6) 扩展节点扩展节点i,生成其全部后继节点。对于,生成其全部后继节点。对于i的每一个后继节的每一个后继节

24、点点j: (a) 计算计算f(j)。 (b) 如果如果j既不在既不在OPEN表中,又不在表中,又不在CLOSED表中,则用表中,则用估价函数估价函数f把它添入把它添入OPEN表。从表。从j加一指向其父辈节点加一指向其父辈节点i的指针,的指针,以便一旦找到目标节点时记住一个解答路径。以便一旦找到目标节点时记住一个解答路径。 (c) 如果如果j已在已在OPEN表上或表上或CLOSED表上,则比较刚刚对表上,则比较刚刚对j计算过的计算过的f值和前面计算过的该节点在表中的值和前面计算过的该节点在表中的f值。如果新的值。如果新的f值值较小,则较小,则合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工

25、智能与数据挖掘研究室24/793.2 启发式搜索3.2.2 有序搜索有序搜索(i) 以此新值取代旧值。以此新值取代旧值。(ii) 从从j指向指向i,而不是指向它的父辈节点。,而不是指向它的父辈节点。(iii) 如果节点如果节点j在在CLOSED表中,则把它移回表中,则把它移回OPEN表。表。(7) 转向转向(2),即,即GO TO(2)。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室25/793.2 启发式搜索3.2.2 有序搜索有序搜索开始开始把把S放入放入OPEN表表OPEN为空表?为空表?失败失败选取选取OPEN表中表中f值最小值最小的节点的节点i,放入,放

26、入CLOSED表表i=Sg?成功成功是是是是扩展扩展i得后继节点得后继节点j,计算,计算f(j),提,提供返回供返回i的指针,利用的指针,利用f(j)对对OPEN表重新排序调整父子关系及指针表重新排序调整父子关系及指针合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室26/793.2 启发式搜索3.2.2 有序搜索有序搜索宽度优先搜索、等代价搜索和深度优先搜索统统是有序宽度优先搜索、等代价搜索和深度优先搜索统统是有序搜索技术的特例。对于宽度优先搜索,选择搜索技术的特例。对于宽度优先搜索,选择f(i)作为节点作为节点i的深的深度。对于等代价搜索,度。对于等代价搜索,f(i

27、)是从起始节点至节点是从起始节点至节点i这段路径的代这段路径的代价。价。 有序搜索的有效性直接取决于有序搜索的有效性直接取决于f的选择,如果选择的的选择,如果选择的f不不合适,有序搜索就可能失去一个最好的解甚至全部的解。如果合适,有序搜索就可能失去一个最好的解甚至全部的解。如果没有适用的准确的希望量度,那么没有适用的准确的希望量度,那么f的选择将涉及两个方面的的选择将涉及两个方面的内容:一方面是一个时间和空间之间的折衷方案;另一方面是内容:一方面是一个时间和空间之间的折衷方案;另一方面是保证有一个最优的解或任意解。保证有一个最优的解或任意解。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室

28、人工智能与数据挖掘研究室27/793.2 启发式搜索3.2.2 有序搜索有序搜索例例3.4:八数码难题:八数码难题, 采用了简单的估价函数采用了简单的估价函数 f(n)=d(n)+W(n)其中:其中:d(n)是搜索树中节点是搜索树中节点n的深度;的深度;W(n)用来计算对应于节用来计算对应于节点点n的数据库中错放的棋子个数。因此,起始节点棋局的数据库中错放的棋子个数。因此,起始节点棋局的的f值等于值等于0+4=4。 2 8 31 6 475合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室28/793.2 启发式搜索3.2.2 有序搜索有序搜索2 8 31 6 4752

29、 8 31 6 47 52 8 3147 6 52 8 31 6 47 52 8 31 47 6 5231 8 47 6 52 8 31 47 6 58 32 1 47 6 52 8 37 1 46 52 31 8 47 6 52 3 31 8 47 6 51 2 38 47 6 51 2 3847 6 51 2 37 8 46 5合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室29/793.2 启发式搜索3.2.3 A*算法算法A*算法是一种有序搜索算法,其特点在于对估价函数的定算法是一种有序搜索算法,其特点在于对估价函数的定义上。义上。 1. A*算法的估价函数算

30、法的估价函数 k(ni,nj):表示任意两个节点:表示任意两个节点ni和和nj之间最小代价路径的实之间最小代价路径的实际代价际代价(对于两节点间没有通路的节点,函数对于两节点间没有通路的节点,函数k没有定义没有定义)。 k(n,ti):从节点:从节点n到某个具体的目标节点到某个具体的目标节点ti,某一条最小代,某一条最小代价路径的代价。价路径的代价。 h*(n):表示整个目标节点集合:表示整个目标节点集合ti上所有上所有k(n,ti)中最小中最小的一个,因此,的一个,因此,h*(n)就是从就是从n到目标节点最小代价路径的代价,到目标节点最小代价路径的代价,而且从而且从n到目标节点能够获得到目标

31、节点能够获得h*(n)的任一路径就是一条从的任一路径就是一条从n到到某个目标节点的最佳路径某个目标节点的最佳路径(对于任何不能到达目标节点的节点对于任何不能到达目标节点的节点n,函数,函数h*没有定义没有定义)。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室30/793.2 启发式搜索3.2.3 A*算法算法定义定义g* 为为g*(n)=k(S,n)从已知起始节点从已知起始节点S到任意节点到任意节点n的一条最佳路径代价。的一条最佳路径代价。定义函数定义函数f*, f*(n)=g*(n)+h*(n)使得在任一节点使得在任一节点n上其函数值上其函数值f*(n)就是从节

32、点就是从节点S到节点到节点n的一条的一条最佳路径的实际代价加上从节点最佳路径的实际代价加上从节点n到某目标节点的一条最佳路到某目标节点的一条最佳路径的代价之和。径的代价之和。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室31/793.2 启发式搜索3.2.3 A*算法算法 希望估价函数希望估价函数f是是f*的一个估计,此估计可由下式给出:的一个估计,此估计可由下式给出: f(n)=g(n)+h(n)其中:其中:g是是g*的估计;的估计;h是是h*的估计。的估计。 对于对于g(n):一个明显的选择就是搜索树中从:一个明显的选择就是搜索树中从S到到n这段路径的这段路径的

33、代价,这一代价可以由从代价,这一代价可以由从n到到S寻找指针时,把所遇到的各段弧寻找指针时,把所遇到的各段弧线的代价加起来给出线的代价加起来给出(这条路径就是到目前为止用搜索算法找到这条路径就是到目前为止用搜索算法找到的从的从S到到n的最小代价路径的最小代价路径)。这个定义包含了。这个定义包含了g(n)g*(n)。 h(n):对:对 h*(n)的估计,依赖于有关问题的领域的启发信息。的估计,依赖于有关问题的领域的启发信息。这种信息可能与八数码难题中的函数这种信息可能与八数码难题中的函数W(n)所用的那种信息相似。所用的那种信息相似。把把h叫做启发函数。叫做启发函数。 合肥工业大学合肥工业大学

34、人工智能与数据挖掘研究室人工智能与数据挖掘研究室32/793.2 启发式搜索3.2.3 A*算法算法2. A算法和算法和A*算法的定义算法的定义定义定义3.3 在在GRAPHSEARCH过程中,如果第过程中,如果第8步的重排步的重排OPEN表是依据表是依据f(x)=g(x)+h(x)进行的,则称该过程为进行的,则称该过程为A算法。算法。定义定义3.4 在在A算法中,如果对所有的算法中,如果对所有的x存在存在h(x)h*(x),则称则称h(x)为为h*(x)的下界,它表示某种偏于保守的估计。的下界,它表示某种偏于保守的估计。定义定义3.5 采用采用h*(x)的下界的下界h(x)为启发函数的为启发

35、函数的A算法,称为算法,称为A*算算法。当法。当h=0时,时,A*算法就变为有序搜索算法。算法就变为有序搜索算法。 A A算法和算法和A*A*搜索算法的目标有所不同:搜索算法的目标有所不同: A A搜索算法虽然希搜索算法虽然希望能找到问题的最优解,但主要追求的是求解效率;而望能找到问题的最优解,但主要追求的是求解效率;而A*A*搜索搜索算法直接目标就在于要找到问题的最优解及其解的路径,即便算法直接目标就在于要找到问题的最优解及其解的路径,即便搜索效率有所降低也在所不惜。搜索效率有所降低也在所不惜。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室33/793.2 启发

36、式搜索3.2.3 A*算法算法开始开始把把S放入放入OPEN表表,记记f=hOPEN为空表?为空表?失败失败选取选取OPEN表中未设置过的具有最小表中未设置过的具有最小f值值的节点的节点BESTNODE,放入,放入CLOSED表表BESTNODE=Sg?成功成功是是是是扩展扩展BESTNODE,产生后继节点,产生后继节点SUVVESSOR建立从建立从SUCCESSOR返回返回BESTNODE的指针的指针计算计算g(SUCCESSOR)=g(BESTNODE)+h(BESTNODE)_SUCCESSOR)SUCCESSOROPEN?否否是是合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智

37、能与数据挖掘研究室34/793.2 启发式搜索3.2.3 A*算法算法把把SECCESSOR放入放入OPEN表,表,加入加入BESTNODE的后裔表的后裔表g(SUCCESSOR)g(OLD)?否否重新确定重新确定OLD的父辈节点为的父辈节点为BESTNODE,并修正父辈节点的并修正父辈节点的g值和值和f值,记下值,记下g(OLD)SUCCESSORCLOSED?否否是是SECCESSOR=OLD,把它添到,把它添到BESTNODE的后继节点表中的后继节点表中是是否否计算计算f值值合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室35/793.3 博弈树搜索3.3.1

38、博弈概述博弈概述 何谓博弈?何谓博弈?何谓博弈?何谓博弈?博弈就是下棋、打牌、竞技、战争等一类竞争博弈就是下棋、打牌、竞技、战争等一类竞争性智能活动。性智能活动。 “二人零和非偶然性全信息二人零和非偶然性全信息”博弈博弈 (1 1)二人零和:)二人零和:)二人零和:)二人零和:对垒的对垒的MAX、MIN双方轮流采取行动,博双方轮流采取行动,博弈的结果只有三种情况:弈的结果只有三种情况:MAX方胜,方胜,MIN方胜,和局。方胜,和局。 (2 2)全信息:)全信息:)全信息:)全信息:在对垒过程中,任何一方都了解当前格局及过在对垒过程中,任何一方都了解当前格局及过去的历史。去的历史。 (3 3)非

39、偶然性:)非偶然性:)非偶然性:)非偶然性:任何一方在采取行动前都要根据当前的实际任何一方在采取行动前都要根据当前的实际情况,进行得失分析,选取对自己最为有利而对对方最为不利情况,进行得失分析,选取对自己最为有利而对对方最为不利的对策,不存在的对策,不存在“碰运气碰运气”,“侥幸侥幸”及及“偶然失误偶然失误”等随机等随机因素。因素。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室36/793.3 博弈树搜索3.3.1 博弈概述博弈概述 参加博弈的各方都希望己方取得胜利。因此,当一方面临多参加博弈的各方都希望己方取得胜利。因此,当一方面临多个行动方案选择时,个行动方案选

40、择时,博弈的各方总是要挑选对自己最为有利而博弈的各方总是要挑选对自己最为有利而对对方最不利的那个行动方案。对对方最不利的那个行动方案。 假如假如MAXMAX方的目标:方的目标:方的目标:方的目标:尽可能使自己达到最大(或最高)的分尽可能使自己达到最大(或最高)的分数分枝节点,数分枝节点,可用可用“ “或或或或” ”关系来描述,称之为关系来描述,称之为MAX方方节点;节点; 而当轮到而当轮到MIN方行动时,方行动时,MINMIN方的目标:方的目标:方的目标:方的目标:尽可能使尽可能使MIN方获方获得最小(或最低)的分数分枝节点,得最小(或最低)的分数分枝节点,这对这对MIN方来说,这些行方来说,

41、这些行动方案或分数分枝节点之间,可以用动方案或分数分枝节点之间,可以用“ “与与与与” ”关系来描述,是由关系来描述,是由MINMIN方方方方自主进行控制的,故又称之为自主进行控制的,故又称之为MIN节点。节点。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室37/793.3 博弈树搜索3.3.1 博弈概述博弈概述 把上述双方逐层交替的博弈过程用与把上述双方逐层交替的博弈过程用与/或树(图)描述表达或树(图)描述表达出来,就得到了一棵具有出来,就得到了一棵具有“与与/或或”节点交替出现的博弈树。节点交替出现的博弈树。博弈树有如下特点:博弈树有如下特点:(1)博弈的初

42、始格局是初始节点。)博弈的初始格局是初始节点。(2)在博弈树中,由于)在博弈树中,由于双方轮流地扩展节点,双方轮流地扩展节点,双方轮流地扩展节点,双方轮流地扩展节点,“ “或或或或” ”节点和节点和节点和节点和“ “与与与与” ”节点逐层交替出现。节点逐层交替出现。节点逐层交替出现。节点逐层交替出现。如果自己一方扩展的节点之间是如果自己一方扩展的节点之间是“或或”关系,则对方扩展的节点之间是关系,则对方扩展的节点之间是“与与”关系。关系。(3)把本方获胜的终局定义为本原问题,相应最优搜索路径)把本方获胜的终局定义为本原问题,相应最优搜索路径上的节点是可解节点,而所有使对方获胜的终局和属于对方最

43、上的节点是可解节点,而所有使对方获胜的终局和属于对方最优搜索路径上的节点则是不可解节点。此外,所有其它的节点优搜索路径上的节点则是不可解节点。此外,所有其它的节点则是具有风险的中间节点。则是具有风险的中间节点。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室38/793.3 博弈树搜索3.3.2 极小极大分析法极小极大分析法 在二人博弈过程中,最直观而可靠的常用分析方法就是极在二人博弈过程中,最直观而可靠的常用分析方法就是极小极大化搜索法。其主要描述思想和算法:小极大化搜索法。其主要描述思想和算法: (1)设博弈的一方为)设博弈的一方为MAX方,其目标是尽可能使自己得

44、到方,其目标是尽可能使自己得到最高分;另一方为最高分;另一方为MIN方方, 其目标是尽可能给其目标是尽可能给MAX方送出最低方送出最低分。所谓极小极大化分析法是一种要轮流为每一方寻找一个最分。所谓极小极大化分析法是一种要轮流为每一方寻找一个最优行动方案的方法。在图中,方框形状优行动方案的方法。在图中,方框形状“”表示是表示是MAX方方控制的或节点;圆形框形状控制的或节点;圆形框形状“”表示表示MIN方控制与节点。方控制与节点。 (2)考虑每一方案实施后对方可能采取的所有行动,并为)考虑每一方案实施后对方可能采取的所有行动,并为其计算可能的得分;其计算可能的得分; (3)为计算得分,需要根据问题

45、的特性信息定义一个估)为计算得分,需要根据问题的特性信息定义一个估价函数,用来估算当前博弈树所有端节点的得分。此时估算出价函数,用来估算当前博弈树所有端节点的得分。此时估算出来的得分称为的静态估值。来的得分称为的静态估值。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室39/793.3 博弈树搜索3.3.2极小极大分析法极小极大分析法 (4)当端节点的估值计算出来后,再推算父辈节点的等分,)当端节点的估值计算出来后,再推算父辈节点的等分,推算方法是:对推算方法是:对“或或”节点,选择其子节点中最大的得分作为节点,选择其子节点中最大的得分作为父辈节点的得分(选择对自己最

46、有利的方案);对父辈节点的得分(选择对自己最有利的方案);对“与与”节点,节点,选其子节点中一个最小的得分作为作为父辈节点的得分(立足选其子节点中一个最小的得分作为作为父辈节点的得分(立足于最坏的情况)。这样计算出的父辈节点的等分称为倒推值。于最坏的情况)。这样计算出的父辈节点的等分称为倒推值。 (5)如果一个行动方案能获得较大的倒推值,则它就是当)如果一个行动方案能获得较大的倒推值,则它就是当前最好的行动方案。前最好的行动方案。 存储受限问题:先生成一定深度的博弈树,进行极小极大分存储受限问题:先生成一定深度的博弈树,进行极小极大分析,找出当前的最好的行动方案。然后再已选定的分支上再扩析,找

47、出当前的最好的行动方案。然后再已选定的分支上再扩展一定的深度,如此反复。展一定的深度,如此反复。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室40/793.3.2极小极大分析法极小极大分析法 4 -1 -1 8 1 2 -5 0 -4 -9 -14 -1 -1 8 1 2 -5 0 -4 -9 -1 5 11 4 3 -1 1 5 8 10 1 4 2 5 -5 9 6 0 6 -4 10 9 -1 12 5 5 11 4 3 -1 1 5 8 10 1 4 2 5 -5 9 6 0 6 -4 10 9 -1 12 5 MAX-MIN博弈树的倒推值计算博弈树的倒推值

48、计算h h( (S0)=S0)=? 4 8 2 0 -1 4 8 2 0 -1 4 -14 -13.3 博弈树搜索合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室41/793.3 博弈树搜索3.3.3 -剪枝技术剪枝技术 基本思想:边生成博弈树边估算各节点的倒推值,并且根基本思想:边生成博弈树边估算各节点的倒推值,并且根据评估出的倒推值范围,及时停止扩展那些已无必要再扩展的据评估出的倒推值范围,及时停止扩展那些已无必要再扩展的子节点。子节点。 具体剪枝方法:具体剪枝方法:(1) 对于一个对于一个“与与”节点节点MIN,若能估计出其倒推值上界,若能估计出其倒推值上界,并

49、且这个并且这个值不大于值不大于MIN的父辈节点(一定是的父辈节点(一定是“或或”节点)的估节点)的估计倒推值的下界计倒推值的下界,即,即 ,则就不必要再扩展该,则就不必要再扩展该MIN节点的其节点的其余子节点了。这一过程称为余子节点了。这一过程称为剪枝。剪枝。(2)对于一个)对于一个“或或”节点节点MAX,若能估计出其倒推值下界,若能估计出其倒推值下界 ,并且这个,并且这个 值不小于值不小于MAX的父辈节点(一定是的父辈节点(一定是“与与”节点)节点)的估计倒推值的上界的估计倒推值的上界 ,即,即 ,则就不必要再扩展该,则就不必要再扩展该MAX节节点的其余子节点了。这一过程称为点的其余子节点了

50、。这一过程称为 剪枝。剪枝。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室42/793.3 博弈树搜索3.3.3 -剪枝技术剪枝技术 从算法中看到:从算法中看到:(1)MAX节点(包括起始节点)的节点(包括起始节点)的值永不减少。值永不减少。(2)MIN节点(包括起始节点)的节点(包括起始节点)的值永不增加。值永不增加。 在搜索期间,在搜索期间, 和和 值的计算如下:值的计算如下:(1)一个)一个MAX节点的节点的值等于其后继节点当前最大的最终倒推值等于其后继节点当前最大的最终倒推值。值。(2)一个)一个MIN节点的节点的 值等于其后继节点当前最小的最终倒推值等于其

51、后继节点当前最小的最终倒推值。值。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室43/793.3 博弈树搜索3.3.3 -剪枝技术剪枝技术例例3.5 一字棋搜索树一字棋搜索树和和值计算值计算 估价函数估价函数g(p)定义如下:定义如下: (1)若当前棋局对任何一方都不是获胜的,则)若当前棋局对任何一方都不是获胜的,则 g(p)=(所有空格都放上所有空格都放上MAX的棋子之后的棋子之后3个棋子所组成的行个棋子所组成的行列及对角线的总数)列及对角线的总数)(所有空格都放上(所有空格都放上MIN的棋子之后的棋子之后3个个棋子所组成的行列及对角线的总数)棋子所组成的行列及对

52、角线的总数) (2)若)若p是是MAX获胜,则获胜,则 g(p)=+ (3)若)若p是是MIN获胜,则获胜,则 g(p)=-上图中,上图中,g(p)=6-4=2,其中,其中表示表示MAX方,方, 表示表示MIN方方合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室44/793.3.3 -剪枝技术剪枝技术3.3 博弈树搜索初始节点初始节点=-1ABC-1=-16-5=15-5=06-5=15-5=04-5=-15-6=-1合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室45/793.3.3 -剪枝技术剪枝技术3.3 博弈树搜索 4 -1 -1 8

53、 1 2 -5 0 -4 -9 -14 -1 -1 8 1 2 -5 0 -4 -9 -1 5 11 4 3 -1 1 5 8 10 1 4 2 5 -5 9 6 0 6 -4 10 9 -1 12 5 5 11 4 3 -1 1 5 8 10 1 4 2 5 -5 9 6 0 6 -4 10 9 -1 12 5 MAX-MIN博弈树的倒推值计算博弈树的倒推值计算h h( (S0)=S0)=? 4 8 2 0 -1 4 8 2 0 -1 4 -14 -1合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室46/793.3.3 -剪枝技术剪枝技术3.3 博弈树搜索h h(

54、(S0)=S0)=?4 44 411113 33 311118 88 810108 82 22 2-5-5-5-52 22 24 44 4 4 4x x 5 55 5 4 4 博弈树的博弈树的-剪枝实现过程剪枝实现过程 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室47/793.3 博弈树搜索3.3.3 -剪枝技术剪枝技术 要进行要进行-剪枝,必须至少使某一部分的搜索树生长到最大剪枝,必须至少使某一部分的搜索树生长到最大深度,因为深度,因为和和值必须以端节点的静态估值为依据。因此采用值必须以端节点的静态估值为依据。因此采用-剪枝技术通常都要使用某种深度优先的搜索方法

55、。剪枝技术通常都要使用某种深度优先的搜索方法。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室48/793.4 遗传算法 生物群体的生存过程普遍遵循达尔文的物竞天择、适者生生物群体的生存过程普遍遵循达尔文的物竞天择、适者生存的进化准则;生物通过个体间的选择、交叉、变异来适应大存的进化准则;生物通过个体间的选择、交叉、变异来适应大自然环境。生物染色体用数学方式或计算机方式来体现就是一自然环境。生物染色体用数学方式或计算机方式来体现就是一串数码,仍叫染色体,有时也叫个体;适应能力用对应一个染串数码,仍叫染色体,有时也叫个体;适应能力用对应一个染色体的数值来衡量;染色体的选

56、择或淘汰问题是按求最大还是色体的数值来衡量;染色体的选择或淘汰问题是按求最大还是最小问题来进行。最小问题来进行。 遗传算法是模仿生物遗传学和自然选择机理,通过人工方遗传算法是模仿生物遗传学和自然选择机理,通过人工方式构造的一类优化搜索算法,是对生物进化过程进行的一种数式构造的一类优化搜索算法,是对生物进化过程进行的一种数学仿真,是进化计算的一种最重要形式。学仿真,是进化计算的一种最重要形式。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室49/793.4 遗传算法遗传算法提出:遗传算法提出:于于2020世纪世纪6060年代由密歇根年代由密歇根(Michigan)(M

57、ichigan)大学大学Hollstien, BagleyhHollstien, Bagleyh和和RosenbergRosenberg等人在其博士论文中首先加以等人在其博士论文中首先加以研究;研究;19751975年,美国年,美国J.H.HollandJ.H.Holland教授在其著作教授在其著作“Adaptation Adaptation in Natural and Artificial Systems”in Natural and Artificial Systems”中系统地阐述了遗传算中系统地阐述了遗传算法,给出了遗传算法的基本定理和大量的数学理论证明。法,给出了遗传算法的基本定理

58、和大量的数学理论证明。遗传算法发展:遗传算法发展:David E. GoldbergDavid E. Goldberg教授教授19891989年出版了年出版了 “Genetic Algorichms”Genetic Algorichms”一书,这一著作通常被认为是遗传算一书,这一著作通常被认为是遗传算法的方法、理论及应用的全面系统的总结。从法的方法、理论及应用的全面系统的总结。从19851985年起,国际年起,国际上开始陆续举行遗传算法的国际会议,后来又更名为进化计算。上开始陆续举行遗传算法的国际会议,后来又更名为进化计算。参加进化计算国际会议的人数及收录文章的数量、广度和深度参加进化计算国际

59、会议的人数及收录文章的数量、广度和深度逐年扩大。从此,进化计算逐渐成为人们用来解决高度复杂问逐年扩大。从此,进化计算逐渐成为人们用来解决高度复杂问题的新思路和新方法。题的新思路和新方法。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室50/793.4 遗传算法遗传算法特点:遗传算法特点:遗传算法是一种基于空间搜索的算法,它通过遗传算法是一种基于空间搜索的算法,它通过自然选择、遗传、变异等操作以及达尔文适者生存的理论,模自然选择、遗传、变异等操作以及达尔文适者生存的理论,模拟自然进化过程来寻找所求问题的解答。遗传算法具有以下特拟自然进化过程来寻找所求问题的解答。遗传算

60、法具有以下特点:点:(1) 遗传算法是对参数集合的编码而非针对参数本身进行进遗传算法是对参数集合的编码而非针对参数本身进行进化;化;(2) 遗传算法是从问题解的编码组开始而非从单个解开始搜遗传算法是从问题解的编码组开始而非从单个解开始搜索;索;(3) 遗传算法利用目标函数的适应度这一信息而非利用导数遗传算法利用目标函数的适应度这一信息而非利用导数或其它辅助信息来指导搜索;或其它辅助信息来指导搜索;(4) 遗传算法利用选择、交叉、变异等算子而不是利用确定遗传算法利用选择、交叉、变异等算子而不是利用确定性规则进行随机操作。性规则进行随机操作。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智

61、能与数据挖掘研究室51/793.4 遗传算法遗传算法应用:遗传算法应用: J.H.HollandJ.H.Holland博士于博士于19751975年提出遗传算法年提出遗传算法, ,当时当时并没有引起学术界足够的重视。直到二十世纪并没有引起学术界足够的重视。直到二十世纪8080年代中期年代中期, ,随着随着计算机技术日新月异高速发展与进步计算机技术日新月异高速发展与进步, ,遗传算法首先成功地应用遗传算法首先成功地应用于于AIAI机器学习和神经网络方面机器学习和神经网络方面; ;后来又在诸如函数优化、自动控后来又在诸如函数优化、自动控制、图象识别、分子生物学、优化调度以及机械、土木、电力制、图象

62、识别、分子生物学、优化调度以及机械、土木、电力工程等工业系统和许多领域中得到应用工程等工业系统和许多领域中得到应用, ,显示出诱人的前景。从显示出诱人的前景。从此,遗传算法始才得到学术界普遍关注与认可。此,遗传算法始才得到学术界普遍关注与认可。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室52/793.4 遗传算法3.4.1 3.4.1 遗传算法的基本原理遗传算法的基本原理 霍兰德提出的遗传算法通常称为简单遗传算法(霍兰德提出的遗传算法通常称为简单遗传算法(SGA)。)。现以此作为讨论主要对象,加上适应的改进,来分析遗传算法现以此作为讨论主要对象,加上适应的改进,来

63、分析遗传算法的结构和机理。在讨论中会结合销售员旅行问题(的结构和机理。在讨论中会结合销售员旅行问题(TSP)来说)来说明。明。 1. 编码与解码编码与解码 许多应用问题的结构很复杂,但可以化为简单的位串形许多应用问题的结构很复杂,但可以化为简单的位串形式编码表示。将问题结构变换为位串形式编码表示的过程叫编式编码表示。将问题结构变换为位串形式编码表示的过程叫编码;而相反将位串形式编码表示变换为原问题结构的过程叫解码;而相反将位串形式编码表示变换为原问题结构的过程叫解码或译码。把位串形式编码表示叫染色体,有时也叫个体。码或译码。把位串形式编码表示叫染色体,有时也叫个体。合肥工业大学合肥工业大学 人

64、工智能与数据挖掘研究室人工智能与数据挖掘研究室53/793.4 遗传算法3.4.1 3.4.1 遗传算法的基本原理遗传算法的基本原理例:对于销售员旅行问题(例:对于销售员旅行问题(Travelling salesman Problem, TSP),设有),设有n个城市,城市个城市,城市i和城市和城市j之间的距离为之间的距离为d(i,j),要求,要求找到一条遍访每个城市一次而且恰好一次的旅行线路,使其路找到一条遍访每个城市一次而且恰好一次的旅行线路,使其路径总长度为最短。按一条回路中城市的次序进行编码。从城市径总长度为最短。按一条回路中城市的次序进行编码。从城市w1开始,依次经过城市开始,依次经

65、过城市w2 ,wn,最后回到城市,最后回到城市w1,我们,我们就有如下编码表示:就有如下编码表示:w1 w2 wn由于是回路,记由于是回路,记wn+1=w1。它其实是。它其实是1,n的一个循环的一个循环排列。要注意排列。要注意w1,w2,wn是互不相同的。是互不相同的。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室54/793.4 遗传算法3.4.1 3.4.1 遗传算法的基本原理遗传算法的基本原理2. 适应度函数适应度函数 为了体现染色体的适应能力,引入了对问题中的每一个染为了体现染色体的适应能力,引入了对问题中的每一个染色体都能进行度量的函数,叫适应度函数(色体

66、都能进行度量的函数,叫适应度函数(fitness function)。)。TSP的目标是路径总长度为最短,自然地,路径总长度的倒数的目标是路径总长度为最短,自然地,路径总长度的倒数就可作为就可作为TSP问题的适应度函数问题的适应度函数:其中其中wn+1=w1适应度函数要有效反映每一个染色体与问题的最优解染色适应度函数要有效反映每一个染色体与问题的最优解染色体之间的差距。适应度函数的取值大小与求解问题对象的意义体之间的差距。适应度函数的取值大小与求解问题对象的意义有很大的关系。有很大的关系。 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室55/793.4 遗传算法3.

67、4.1 3.4.1 遗传算法的基本原理遗传算法的基本原理3. 遗传操作遗传操作简单遗传算法的遗传操作主要有有三种简单遗传算法的遗传操作主要有有三种:选择选择(selection)、交叉、交叉(crossover)、变异、变异(mutation)。改进的遗传算法大量扩充了遗传操。改进的遗传算法大量扩充了遗传操作,以达到更高的效率。作,以达到更高的效率。 选择操作也叫复制(选择操作也叫复制(reproduction)操作,根据个体的适应度)操作,根据个体的适应度函数值所度量的优劣程度决定它在下一代是被淘汰还是被遗传。函数值所度量的优劣程度决定它在下一代是被淘汰还是被遗传。简单遗传算法采用赌轮选择机

68、制,令简单遗传算法采用赌轮选择机制,令fi表示群体的适应度值之表示群体的适应度值之总和,总和, fi表示种群中第表示种群中第i个染色体的适应度值,它产生后代的能力个染色体的适应度值,它产生后代的能力正好为其适应度值所占份额正好为其适应度值所占份额fi /fi。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室56/793.4 遗传算法3.4.1 3.4.1 遗传算法的基本原理遗传算法的基本原理3. 遗传操作遗传操作交叉操作的简单方式是将被选择出的两个个体交叉操作的简单方式是将被选择出的两个个体P1和和P2作为作为父母个体,将两者的部分码值进行交换。父母个体,将两者的部分

69、码值进行交换。 产生一个产生一个17之间的随机数之间的随机数c,假设为,假设为3,则将,则将P1和和P2的低的低3位交换位交换1 0 0 0 1 1 1 0P1:1 1 0 1 1 0 0 1P2:合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室57/793.4 遗传算法3.4.1 3.4.1 遗传算法的基本原理遗传算法的基本原理3. 遗传操作遗传操作1 0 0 0 1 1 1 0P1:1 1 0 1 1 0 0 1P2:1 0 0 0 1 0 0 11 1 0 1 1 1 1 0Q1:Q2:合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室5

70、8/793.4 遗传算法3.4.1 3.4.1 遗传算法的基本原理遗传算法的基本原理3. 遗传操作遗传操作变异操作的简单方式是改变数码串的某个位置上的数码。变异操作的简单方式是改变数码串的某个位置上的数码。二进制编码表示的简单变异操作是将二进制编码表示的简单变异操作是将0与与1互换:互换:0变异为变异为1,1变变异为异为0。随机产生一个随机产生一个18之间的数之间的数k,假设,假设k=5,对从右往左第,对从右往左第5位变异位变异操作。操作。 1 0 1 0 0 1 1 01合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室59/793.4 遗传算法3.4.1 3.4.1

71、 遗传算法的基本原理遗传算法的基本原理4. 控制参数控制参数交叉发生的概率:交叉发生的概率:0.60.95 变异的概率:变异的概率:0.0010.01 种群的个数:种群的个数:30100 个体的长度:定长和变长个体的长度:定长和变长 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室60/793.4 遗传算法3.4.2 3.4.2 遗传算法的结构遗传算法的结构选择:由个体适应度值决定选择:由个体适应度值决定 的某个规则。的某个规则。交叉:按概率交叉:按概率Pc进行进行变异:按概率变异:按概率Pm进行进行终止条件:终止条件: 完成了预先给定的进化代数完成了预先给定的进化代

72、数 种群中的最优个体在连续若干代种群中的最优个体在连续若干代 没有改进或平均适应度在连续若没有改进或平均适应度在连续若 干代基本没有改进干代基本没有改进开始开始初始化种群初始化种群选择操作选择操作终止条件终止条件否否适应度最有优个体适应度最有优个体计算适应度值计算适应度值交叉操作交叉操作变异操作变异操作结束结束合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室61/793.4 遗传算法3.4.3 3.4.3 遗传算法的性能遗传算法的性能 遗传算法求得的解是一满意解。影响解质量的因素:遗传算法求得的解是一满意解。影响解质量的因素: 种群的数量:太小缺少多样性,太多影响效率

73、种群的数量:太小缺少多样性,太多影响效率 适应度函数:提升优良个体的适应度适应度函数:提升优良个体的适应度 交叉和变异:不同的问题需构造性能更优的交叉和变异操作交叉和变异:不同的问题需构造性能更优的交叉和变异操作 交叉概率和变异概率:交叉概率和变异概率:合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室62/79分析:对该问题虽然也可以采用枚举的方法来解决分析:对该问题虽然也可以采用枚举的方法来解决, ,但枚举法却但枚举法却是一种效率很低的方法是一种效率很低的方法. .可运用遗传算法来求解该问题可运用遗传算法来求解该问题. .解:首先对问题进行初始化,以获得初始种群解:

74、首先对问题进行初始化,以获得初始种群; ; (1 1) 确定适当的编码方案:将确定适当的编码方案:将x x编码表示为染色体的数字符编码表示为染色体的数字符号串。针对本题自变量号串。针对本题自变量x x定义域定义域, ,取值范围为取值范围为00,31,31,考虑采考虑采用二进制数来对其编码用二进制数来对其编码, ,由由2 25 5 = 32,= 32,故使用故使用5 5位无符号二进制数位无符号二进制数组成染色体数字字符串组成染色体数字字符串, ,用以表达变量用以表达变量x x及问题的解答过程。及问题的解答过程。 例例: : 设设有有函函数数f(xf(x)=)=x x2 2, , 请请用用遗遗传传

75、算算法法求求其其自自变变量量x x在在区区间间00,31 31 取整数值时的最大值,并说明此函数的优化问题。取整数值时的最大值,并说明此函数的优化问题。 3.4 遗传算法合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室63/79 (2 2)选择初始种群)选择初始种群: :通过随机的方法来产生染色体的数通过随机的方法来产生染色体的数字串,并组成初始种群。例如,为得到数字串的某位字串,并组成初始种群。例如,为得到数字串的某位又称之为基因又称之为基因(genes)(genes),使用计算机在,使用计算机在0 01 1之间产生之间产生随机数随机数K K,并按照数,并按照数K

76、K的变化区域来规定基因代码如下:的变化区域来规定基因代码如下: 0 0, (0 0K K0.50.5) 1 1, (0.50.5K K1 1)3.4 遗传算法G =G =G =G =合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室64/79于是于是随机生成随机生成4 4个个染色体的数字符串为:染色体的数字符串为: 0110101101110001100001000010001001110011从而构造了初始种群,完成了遗传算法的准备。从而构造了初始种群,完成了遗传算法的准备。3.4 遗传算法合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室65

77、/79表表 初始种群染色体及对应的适应值初始种群染色体及对应的适应值 3.4 遗传算法染染 色色体体 标标号号 串串 x 适应值适应值f (x) = x2 占占 整整 体体 的的百分数百分数 1 1 0110101101 169169 14.4 %14.4 % 2 2 1100011000 576576 49.2%49.2% 3 3 0100001000 6464 5.5%5.5% 4 4 1001110011 361361 30.9%30.9% 总计总计(初始种群值)(初始种群值) 11701170 100.0%100.0%合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘

78、研究室66/79(3 3)复制)复制( (选择选择):):选择适应值大的串作为母本,使在下一代中有更多的机会繁殖选择适应值大的串作为母本,使在下一代中有更多的机会繁殖其子孙。其子孙。要在四个种子个体中做选择,要求仍然得到四个染色体,可依要在四个种子个体中做选择,要求仍然得到四个染色体,可依据适应度概率比例制定如下规则:据适应度概率比例制定如下规则: 低于低于0.1250.125以下的染色体被淘汰;以下的染色体被淘汰; 在在0.1250.1250.3750.375之间的染色体被复制一个;之间的染色体被复制一个; 在在0.3750.3750.6250.625之间的染色体被复制两个;之间的染色体被复

79、制两个; 在在0.6250.6250.8750.875之间的染色体被复制三个;之间的染色体被复制三个; 在在0.8750.875以上的染色体可复制四个。以上的染色体可复制四个。3.4 遗传算法合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室67/79对应于上例,按照适应度的计算,经复制操作后,得到新对应于上例,按照适应度的计算,经复制操作后,得到新的染色体种群为的染色体种群为 01101 01101 11000 11000 11000 11000 10011 100113.4 遗传算法合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室68/79

80、 某个染色体是否被复制某个染色体是否被复制, ,可以通过概率决策法、适应度可以通过概率决策法、适应度比例法或比例法或“轮盘赌轮盘赌”的随机方法来断定。对应轮盘赌转的随机方法来断定。对应轮盘赌转盘的随机方法盘的随机方法, ,根据表根据表6.16.1数据,绘制出的轮盘赌转盘数据,绘制出的轮盘赌转盘, ,如图所示如图所示: : 进化计算进化计算基本基本遗传算法原理遗传算法原理49.230.9%14.4%5.5%n n01101 01101 01101 01101 n n11000 11000 11000 11000 n n11000 11000 11000 11000 n n100111001110

81、01110011合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室69/793.4 遗传算法 初始种群初始种群 x 值值 适应度适应度 选择概率选择概率 期望值期望值 实际复制数实际复制数编号编号 (随机产生)(随机产生) (无符号整数)(无符号整数) f (x) = x2 Pc f(xi)/fA (或转轮法)(或转轮法) 1 01101 13 169 0.144 0.58 11 01101 13 169 0.144 0.58 1 2 11000 24 576 0.492 1.97 2 2 11000 24 576 0.492 1.97 2 3 01000 8 64 0

82、.055 0.22 0 3 01000 8 64 0.055 0.22 0 4 10011 19 361 0.309 1.23 1 4 10011 19 361 0.309 1.23 1 1170 1.00 4.00 4.0 1170 1.00 4.00 4.0 平均平均(A(A) 293293 0.25 1.00 1.0 0.25 1.00 1.0 MAX MAX 576576 0.49 1.97 2.0 0.49 1.97 2.0初始种群染色体准备复制操作的各项计算数据初始种群染色体准备复制操作的各项计算数据 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室70/

83、79(4 4)交叉交叉: : 交叉具体分两步:交叉具体分两步:将新复制产生的将新复制产生的染色体染色体随机两两匹配随机两两匹配, ,称其为双亲染色体称其为双亲染色体;再把再把双亲染色体双亲染色体进行交叉繁殖。进行交叉繁殖。 交叉的实现交叉的实现: : 设染色体数字串长度为设染色体数字串长度为L L,把,把L L个数字位间空个数字位间空隙分别标记为:隙分别标记为: 1 1,2 2,L L1 1 随机从随机从11,L L11中选取某一整数位置中选取某一整数位置k k,0k0kL L 交换双亲染色体交换点位置交换双亲染色体交换点位置k k右边的部分,就形成了两个新的右边的部分,就形成了两个新的数字符

84、串(也可以只交换其中的第数字符串(也可以只交换其中的第k k基因),得到了两个新基因),得到了两个新的染色体,又称之为下一代染色体。的染色体,又称之为下一代染色体。3.4 遗传算法合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室71/79例如,将上例初始种群的两个体例如,将上例初始种群的两个体例如,将上例初始种群的两个体例如,将上例初始种群的两个体A A A A1 1 1 1=01101=01101=01101=01101A A A A2 2 2 2=11000=11000=11000=11000假假假假定定定定从从从从1 1 1 1到到到到4 4 4 4间间间间选选

85、选选取取取取两两两两个个个个随随随随机机机机数数数数,得得得得到到到到 1 1 1 1=2=2=2=2, 2 2 2 2=4=4=4=4,那那那那么么么么经经经经过过过过交交交交叉叉叉叉操作之后将得到如下两组新的数字符串操作之后将得到如下两组新的数字符串操作之后将得到如下两组新的数字符串操作之后将得到如下两组新的数字符串A A A A1 1 1 1# # # #=01000 =01000 =01000 =01000 A A A A2 2 2 2# # # #=11101=11101=11101=11101 3.4 遗传算法n nA A A A3 3 3 3# # # #=01100=01100

86、=01100=01100n nA A A A4 4 4 4# # # #=11001 =11001 =11001 =11001 n n前一组数字串是使用前一组数字串是使用前一组数字串是使用前一组数字串是使用 1 1 1 1=2,=2,=2,=2,即将第即将第即将第即将第2 2 2 2位后的位后的位后的位后的3 3 3 35 5 5 5位交换得到;位交换得到;位交换得到;位交换得到;n n后一组数字串是使用后一组数字串是使用后一组数字串是使用后一组数字串是使用 2 2 2 2=4=4=4=4,即仅将第即仅将第即仅将第即仅将第5 5 5 5位位位位因子因子因子因子进行交换而得。进行交换而得。进行交

87、换而得。进行交换而得。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室72/793.4 遗传算法编编号号复复制制操操作作后后的的区区配配池池匹匹配配号号(随随机选取机选取) )交交叉叉空空隙隙位位 ( (随随 机机选取选取) )交交叉叉后后新种群新种群新新种种群群x值值适应度适应度f(x) = x21 101101011012 22 201000010008 864642 211000110001 12 211101111012929841841311000110004 44 4110011100125256256254 410011100113 34 4100001

88、00001616256256总计(总计()17861786平均平均(A(A)446.5最大值最大值(MAX(MAX) 841841复制、交叉操作的各项数据复制、交叉操作的各项数据 合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室73/79 (5 5)变异)变异: : 设变异概率取为设变异概率取为0.001,0.001,则对于种群总共有则对于种群总共有2020个基因位个基因位. . 期望的变异串位数计算期望的变异串位数计算:200.001 =0.02(:200.001 =0.02(位位),), 故一般来说故一般来说, ,该例中无基因位数值的改变该例中无基因位数值的改变.

89、 .从表从表11-211-2和和11-311-3可可以看出以看出, ,每经过一次复制、交叉和变异操作后每经过一次复制、交叉和变异操作后, ,目标函数的最优目标函数的最优值和平均值就会有所提高。值和平均值就会有所提高。 在上例中,种群的平均适应值从在上例中,种群的平均适应值从293293增至增至446.5;446.5;最大的适应最大的适应度数值从度数值从576576增至增至841841。 特点:每经一次进化计算步骤特点:每经一次进化计算步骤, ,问题解答便向着最优方向前进问题解答便向着最优方向前进了一步了一步; ;若该过程一直进行下去若该过程一直进行下去, ,就将最终走向全局的最优解就将最终走向

90、全局的最优解. .可可见进化计算的每一步操作简单见进化计算的每一步操作简单, ,并且系统的求解过程是依照计算并且系统的求解过程是依照计算方法与规律来决定方法与规律来决定, ,与本源问题自身的特性很少相关。与本源问题自身的特性很少相关。 3.4 遗传算法合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室74/79 固体退火原理:固体内部粒子随着温度升高而变为无序,固体退火原理:固体内部粒子随着温度升高而变为无序,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,在常温时达到基态,内能减为最小。衡态,在常温时达

91、到基态,内能减为最小。 Metropolis Metropolis准则:准则: 粒子在温度粒子在温度T T时趋于平衡的概率时趋于平衡的概率= =e e- -E/(kT)其中,其中,E为固体在温度为固体在温度T时的内能,时的内能,E为内能的改变量,为内能的改变量,k为为波尔兹曼(波尔兹曼(Boltzmann)常数。)常数。 模拟退火算法:由初始解模拟退火算法:由初始解i和控制参数初值和控制参数初值t开始,对当前开始,对当前解重复进行解重复进行“产生新解产生新解计算目标函数差计算目标函数差接受或舍弃接受或舍弃”的迭的迭代,并逐步衰减代,并逐步衰减t值,算法终止时的当前解为所得近似最优解。值,算法终

92、止时的当前解为所得近似最优解。退火过程由冷却进度表控制,包括控制参数的初值退火过程由冷却进度表控制,包括控制参数的初值t及其衰减及其衰减因子因子t、每个、每个t值时的迭代次数值时的迭代次数L和停止条件和停止条件S。3.5 模拟退火算法合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室75/79 生物机体系统:脑神经系统、遗传系统、自然免疫系统和内生物机体系统:脑神经系统、遗传系统、自然免疫系统和内分泌系统。分泌系统。 免疫计算:模仿自然免疫系统而产生的一种新的计算理论免疫计算:模仿自然免疫系统而产生的一种新的计算理论和方法。和方法。 自然免疫系统:一个复杂的自适应系统,

93、通过一套复杂的自然免疫系统:一个复杂的自适应系统,通过一套复杂的机制来重组基因,以产生相应入侵抗原的抗体;同时还具有学机制来重组基因,以产生相应入侵抗原的抗体;同时还具有学习和记忆功能,可以区分自身细胞和抗原细胞,并最终消灭抗习和记忆功能,可以区分自身细胞和抗原细胞,并最终消灭抗原细胞。原细胞。 人工免疫系统的研究:人工免疫系统的研究:20世纪世纪90年代,解决网络适应性问年代,解决网络适应性问题、传感器网络故障诊断、病毒检测、机器学习。题、传感器网络故障诊断、病毒检测、机器学习。3.6 免疫算法合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室76/79 免疫算法(免

94、疫算法(immunealgorithm):在模仿生物免疫机制的):在模仿生物免疫机制的基础上,综合基因进化机理,人工地构造的一类优化算法,它基础上,综合基因进化机理,人工地构造的一类优化算法,它实现了类似于免疫系统自我调节功能和生成不同抗体的功能。实现了类似于免疫系统自我调节功能和生成不同抗体的功能。 抗原(抗原(antigen):在免疫算法中抗原指非最佳个体的基因,):在免疫算法中抗原指非最佳个体的基因,或者可能错误地基因;在免疫学中,抗原指有一种能够刺激机或者可能错误地基因;在免疫学中,抗原指有一种能够刺激机体产生相应抗体的物质。体产生相应抗体的物质。 疫苗(疫苗(vanccine):在免

95、疫算法中疫苗指根据已有的先验):在免疫算法中疫苗指根据已有的先验知识得到的关于对最佳个体的一个估计值;在免疫学中,疫苗知识得到的关于对最佳个体的一个估计值;在免疫学中,疫苗是一类能引起免疫应答反应的生物制剂,通常为蛋白质。是一类能引起免疫应答反应的生物制剂,通常为蛋白质。 抗体(抗体(antibody):在免疫算法中抗体是指根据疫苗修正):在免疫算法中抗体是指根据疫苗修正某个个体基因所得到的新个体(新基因);在免疫学中,抗体某个个体基因所得到的新个体(新基因);在免疫学中,抗体是一种具有免疫功能的球蛋白,是人体抵抗力最重要的组成部是一种具有免疫功能的球蛋白,是人体抵抗力最重要的组成部分。分。3

96、.6 免疫算法合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室77/793.6 免疫算法 当病原体入侵时,免疫系统首先要识别这一抗原,然后产生当病原体入侵时,免疫系统首先要识别这一抗原,然后产生相应的抗体来消灭它。识别的过程实际上就是免疫细胞与抗原相应的抗体来消灭它。识别的过程实际上就是免疫细胞与抗原匹配并结合的过程,如果一个系统中所有抗原都被抗体识别匹配并结合的过程,如果一个系统中所有抗原都被抗体识别(随后被消灭)了,那么这个系统就达到了最佳状态。(随后被消灭)了,那么这个系统就达到了最佳状态。 识别的有限性:一个免疫细胞(抗体)不一定能够与所有识别的有限性:一个免

97、疫细胞(抗体)不一定能够与所有的抗原匹配。的抗原匹配。 识别的多样性:一个免疫细胞可以识别多种不同的抗原。识别的多样性:一个免疫细胞可以识别多种不同的抗原。合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室78/79 免疫系统进化的目标:以最少的抗体数量覆盖几乎整个抗原免疫系统进化的目标:以最少的抗体数量覆盖几乎整个抗原空间。空间。 亲和力:描述抗体和抗原之间的匹配程度(覆盖能力)。亲和力:描述抗体和抗原之间的匹配程度(覆盖能力)。 排斥力:描述两个抗体之间的相异程度。排斥力:描述两个抗体之间的相异程度。 算法步骤:算法步骤: (1)识别抗原。输入问题的目标函数和各种约

98、束条件,作)识别抗原。输入问题的目标函数和各种约束条件,作为免疫算法的抗原。为免疫算法的抗原。 (2)产生初始抗体群。通常是在解空间中随机产生)产生初始抗体群。通常是在解空间中随机产生n个候个候选解作为初始抗体,选解作为初始抗体,n为抗体群众抗体的数目。为抗体群众抗体的数目。 (3)计算亲和力和排斥力。分别计算每个抗体的亲和力以)计算亲和力和排斥力。分别计算每个抗体的亲和力以及各抗体之间排斥力。及各抗体之间排斥力。3.6 免疫算法合肥工业大学合肥工业大学 人工智能与数据挖掘研究室人工智能与数据挖掘研究室79/79 (4)产生新的抗体。通过免疫算子产生新的抗体,并计算)产生新的抗体。通过免疫算子

99、产生新的抗体,并计算新抗体的亲和力及其之间的排斥力。新抗体的亲和力及其之间的排斥力。 (5)更新记忆能力。将与抗原亲和力高的抗体加入到记忆)更新记忆能力。将与抗原亲和力高的抗体加入到记忆单元中,并淘汰与其排斥力最高的原有抗体。单元中,并淘汰与其排斥力最高的原有抗体。 (6)判断是否满足停止条件。若新抗体中有与抗原相匹配)判断是否满足停止条件。若新抗体中有与抗原相匹配的抗体,或以满足预定的停机条件则停机。否则转(的抗体,或以满足预定的停机条件则停机。否则转(7)。)。 (7)利用免疫算子产生新的抗体群。免疫算子包括选择、)利用免疫算子产生新的抗体群。免疫算子包括选择、交叉和变异等操作。在选择时,给那些亲和力大的抗体赋予较交叉和变异等操作。在选择时,给那些亲和力大的抗体赋予较大的选择概率。大的选择概率。 (8)转()转(3)3.6 免疫算法

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 金融/商业/投资

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号