人工智能原理PrinciplesofArtificialIntellig.ppt

上传人:牧羊曲112 文档编号:5194256 上传时间:2023-06-13 格式:PPT 页数:96 大小:1.18MB
返回 下载 相关 举报
人工智能原理PrinciplesofArtificialIntellig.ppt_第1页
第1页 / 共96页
人工智能原理PrinciplesofArtificialIntellig.ppt_第2页
第2页 / 共96页
人工智能原理PrinciplesofArtificialIntellig.ppt_第3页
第3页 / 共96页
人工智能原理PrinciplesofArtificialIntellig.ppt_第4页
第4页 / 共96页
人工智能原理PrinciplesofArtificialIntellig.ppt_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《人工智能原理PrinciplesofArtificialIntellig.ppt》由会员分享,可在线阅读,更多相关《人工智能原理PrinciplesofArtificialIntellig.ppt(96页珍藏版)》请在三一办公上搜索。

1、人工智能原理Principles of Artificial Intelligence,王文杰信息学院,搜索技术(一),主要内容,概述状态空间的搜索状态空间的一般搜索过程盲目搜索启发式搜索约束满足问题博弈,概述(1),问题求解AI中每个研究领域都有其各自的特点和规律,但就求解问题的过程看,都可抽象为一个问题求解过程.问题求解过程实际上是一个搜索,广义地说,它包含了全部计算机科学1974年,Nilsson归纳出的AI研究的基本问题知识的模型化和表示常识性推理、演绎和问题解决启发式搜索人工智能系统和语言本章讨论的表示主要包括:状态空间表示问题空间表示,搜索(2),什么是搜索根据问题的实际情况不断寻

2、找可利用的知识,构造出一条代价较少的推理路线,使问题得到圆满解决的过程称为搜索 包括两个方面:-找到从初始事实到问题最终答案的一条推理路径-找到的这条路径在时间和空间上复杂度最小搜索分两大类:盲目搜索:也称为无信息搜索,即只按预定的控制策略进行搜索,在搜索过程中获得的中间信息不用来改进控制策略启发式搜索:在搜索中加入了与问题有关的启发性信息,用于指导搜索朝着最有希望的方向进行,加速问题的求解过程并找到最优解,状态空间表示法(1),状态空间表示法:用来表示问题及其搜索过程的一种方法状态状态是描述问题求解过程中任一时刻状况的数据结构.,A,B,C,D,(2,3,7,0,5,2,4,8,6),状态空

3、间表示法(2),一般一个搜索问题由四个部分组成:初始状态集合:定义了agent所处的环境;操作符集合:把一个问题从一个状态变换为另一个状态的动作;目标检测函数:agent用来确定一个状态是不是目标;路径费用函数:对每条路径赋予一定费用的函数。初始状态集合和操作符集合定义了问题的搜索空间,吸尘器问题,states?灰尘和吸尘器的位置,共有2228actions?Left,Right,Suckgoal test?所有位置都没有灰尘path cost?每一步消耗为1,八数码问题,states?数字的位置,共有9!/2=181440actions?空格的上下左右移动goal test?给定的目标状态p

4、ath cost?每一步消耗为1,状态空间表示法(3),二阶梵塔问题设有三个钢针,在一号钢针上穿有A,B两个金片,A小于B,A位于B的上面.要求把这两个金片全部移到另一个钢针上,而且规定每次只能移动一片,任何时刻都不能使B位于A的上面设用Sk=(Sk0,Sk1)表示问题的状态,SK0表示金片A所在的钢针号,SK1表示金片B所在的钢针号,全部可能的状态为:S0=(1,1),S1=(1,2),S2=(1,3)S3=(2,1),S4=(2,2),S5=(2,3)S6=(3,1),S7=(3,2),S8=(3,3)问题初始状态集合S=S0,目标状态集合G=S4,S8.算符:A(i,j):表示把金片A从

5、第i号针移到第j号针上B(i,j):表示把B从第i号针移到第j号针上共12个算符:A(1,2),A(1,3),A(2,1),A(2,3),A(3,1),A(3,2)B(1,2),B(1,3),B(2,1),B(2,3),B(3,1),B(3,2),状态空间表示法(4),用状态空间表示,首先必须定义状态的描述形式,把问题的一切状态都表示出来,其次定义算符,完成状态的转换问题的求解过程就是一个把算符不断地作用于状态的过程.如果在使用某个算符后得到的状态就是目标状态,就得到了问题的解.这个解就是从初始状态到目标状态所用算符构成的序列.算符的一次使用,就使问题由一种状态转变为另一种状态.可能有多个算符

6、序列都可使问题从初始状态变到目标状态,这就得到了多个解.对任何一个状态,可使用的算符可能不止一个,这样由一个状态所生成的后继状态可能有多个.如何选择下一步的操作,由搜索策略决定.,回溯搜索控制策略(1),例:四皇后问题,(),(),Q,(1,1),(),Q,Q,(1,1),(1,1)(2,3),(),Q,(1,1),(1,1)(2,3),(),Q,Q,(1,1),(1,1)(2,3),(1,1)(2,4),(),Q,Q,(1,1),(1,1)(2,3),(1,1)(2,4),Q,(1,1)(2,4)(3.2),(),Q,Q,(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2

7、,4)(3.2),(),Q,(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),(),(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),(),(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),Q,(1,2),(),(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),Q,(1,2),Q,(1,2)(2,4),(),(1,1),(1,1)(2,3),(1,1)(2,4),(1,1)(2,4)(3.2),Q,(1,2),Q,(1,2)(2,4),Q,(1

8、,2)(2,4)(3,1),回溯搜索控制策略(2),对于n皇后问题可用于对搜索算法进行测试对这类问题的形式化描述主要有两类:增量形式化:包括了增加状态描述的算符,从空状态开始;这意味着每次行动添加一个皇后到状态中去完全状态形式化:把8个皇后都放在棋盘上,然后移动它们。,现实问题,旅行商问题超大规模集成电路的布局问题机器人导航问题.,度量问题求解的性能,一般搜索策略可以通过下面四个准则来评价:完备性:如果存在一个解答,该策略是否保证能够找到?时间复杂性:需要多长时间可以找到解答?空间复杂性:执行搜索需要多少存储空间?最优性:如果存在不同的几个解答,该策略是否可以发现最高质量的解答?搜索策略反映了

9、状态空间或问题空间扩展的方法,也决定了状态或问题的访问顺序。在AI领域,状态空间图由初始状态和算子隐含地表示,经常是无限的,它的复杂度根据下面三个值来表达:分支因子b:任何节点的后继的最大个数最浅的目标节点的深度d状态空间中任何路径的最大长度m,与/或树表示法(1),基本概念与/或树是用于表示问题及其求解过程的又一种形式化方法.复杂问题的简化方法分解:把一个问题分解到不需再分解或不能再分解为止,然后对每个子问题进行求解,然后把各子问题的解复合起来,就得到原问题的解.等价变换:利用同构或同态的等价变换,把复杂问题转换成若干个较为容易求解的新问题.若新问题中有一个可求解,则就得到了原问题的解.,与

10、/或树表示法(2),三阶梵塔问题设有A,B,C三个金片以及三个钢针,三个金片按自上而下从小到大的顺序穿在1号钢针上,要求把它们全部移到3号钢针上,而且每次只能移到一个金片,任何时候都不能把大的金片压在小的金片上面.用与/或树表示:问题分解(1)为了把三个金片全部移到3号针上,必须先把C移到3号针上(2)为了移到C,必须把A和B移到2号针上(3)当C移到3针后,就可把A和B移到3针上,完成问题求解得到三个子问题(1)把A和B移到2号针的双金片问题(2)把C移到3号针的单金片问题(3)把A和B移到3号针的双金片问题,状态空间搜索过程要点(1),求解一个能够满足目标条件的问题可以表达为搜索一个图以找

11、到一个满足目标状态描述的节点问题。搜索过程的要点如下:起始节点:对应于初始状态描述后继节点:把适用于某个节点状态描述的一些算符用来推算该节点而得到的新节点,称为该节点的后继节点指针:从每个后继节点返回指向其父辈节点检查各后继节点看是否为目标节点.搜索过程扩展后继节点的次序如果搜索是以接近起始节点的程度(由节点之间连结弧线的数目来衡量)依次扩展节点,称为广(宽)度优先搜索如果搜索时首先扩展最新产生的节点,称为深度优先搜索,状态空间搜索过程要点(2),调整指针扩展一个节点生成出该节点的所有后继节点。弧的费用有一条弧连接ni和nj两个节点,用C(ni,nj)表示从ni到nj的费用(耗散值)。路径的耗

12、散值一条路径的耗散值等于连接这条路径各节点间所有耗散值的总和。用C(ni,nj)表示从ni到nj的路径的耗散值。,状态空间的一般搜索过程(1),主要数据结构OPEN表:存放刚生成的节点,是还未扩展的节点.一般是端节点.CLOSED表:存放将要扩展或已扩展的节点.或者是已被扩展但还没有在搜索树中生成后继节点的端节点,或者是非端节点,状态空间的一般搜索过程(2),(1)把初始节点S0放入OPEN表,并建立目前只包含S0的图,记为G(2)检查OPEN表是否为空,若为空则问题无解,退出(3)把OPEN表的第一个节点取出放入CLOSED表,记该节点为n(4)考察n是否为目标节点.如是,则问题得解,退出(

13、5)扩展节点n,生成一组子节点.把其中不是节点n先辈的那些节点记作集合M,并把这些子节点作为节点n的子节点加入G中(6)针对M中子节点的不同情况,分别进行处理对于那些未曾在G中出现过的M成员设置一个指向父节点(即n)的指针,并把它们放入OPEN表对于那些先前已在G中出现过的M成员,确定是否需要修改它指向父节点的指针对于那些先前已在G中出现并且已经扩展了的M成员,确定是否需要修改其后继节点指向父节点的指针(7)按某种搜索策略对OPEN表中的节点进行排序(8)转第(2)步,例子,2,S,1,3,2,10,11,OPEN表中的节点修改指针,2,S,1,3,2,8,9,10,11,CLOSE表中的节点

14、修改指针,2,S,1,3,2,8,9,10,11,CLOSE表中的节点(8)的后裔(10)修改指针,状态空间的一般搜索过程(3),这是一个通用的搜索过程,后面讨论的状态空间各种搜索策略都是其特例.各种搜索策略的主要区别就是对OPEN表中节点排序准则不同算法结束后,将生成一个图G,称为搜索图。同时由于每个节点都有一个指针指向父节点,这些指针指向的节点构成G的一个支撑树,称为搜索树。从目标节点开始,将指针指向的状态回串起来,即找到一条解路径.,盲目搜索,盲目 搜索策略只使用问题定义中的信息宽度优先搜索代价一致搜索深度优先搜索深度有限搜索迭代加深搜索,广度优先搜索(1),搜索过程如下:(1)把初始节

15、点S0放入OPEN表(2)如果OPEN表为空,则问题无解,退出(3)把OPEN表的第一个节点(记为节点n)取出,放入CLOSED表(4)考查节点n是否为目标节点.若是,则求得了问题的解,退出(5)若节点n不可扩展,则转第(2)步(6)扩展节点n,将其子节点放入OPEN表的尾部,并为每一个子节点都配置指向父节点的指针,转第(2)步扩展最浅的未扩展的节点实现:FIFO队列,2 31 8 47 6 5,1,2,5,6,7,3,目标,8,4,广度优先搜索(2),Complete?Yes(如果 b 是有限的)Time?1+b+b2+b3+bd+b(bd-1)=O(bd+1)Space?O(bd+1)Op

16、timal?Yes(如果每步代价为1)空间是大问题(和时间相比)特点缺点当目标节点距离初始节点较远时会产生许多无用的节点,搜索效率低优点只要问题有解,则总可以得到解,而且是最短路径的解,深度优先搜索(1),搜索过程如下:(1)把初始节点S0放入OPEN表(2)如果OPEN表为空,则问题无解,退出(3)把OPEN表的第一个节点(记为节点n)取出,放入CLOSED表(4)考查节点n是否为目标节点.若是,则求得了问题的解,退出(5)若节点n不可扩展,则转第(2)步(6)扩展节点n,将其子节点放入OPEN表的首部,并为每一个子节点都配置指向父节点的指针,转第(2)步扩展最深的未扩展节点实现:LIFO队

17、列,2 31 8 47 6 5,2,3,4,5,6,7,8,9,a,b,c,d,目标,深度优先搜索(2),Complete?No:当空间为无限深度时Time?O(bm):如果 m 比d大很多则比较严重Space?O(bm),线性空间Optimal?No特点缺点如果目标节点不在搜索所进入的分支上,而该分支又是一个无穷分支,则就得不到解.因此该算法是不完备的优点如果目标节点不在搜索所进入的分支上,则可以较快地得到解,有界深度优先搜索,定义搜索深度的界限dm,当搜索深度达到了深度界限,而尚未出现目标节点时,就换一个分支进行搜索搜索过程如下:(1)把初始节点S0放入OPEN表,置S0的深度d(S0)=

18、0(2)如果OPEN表为空,则问题无解,退出(3)把OPEN表的第一个节点(记为节点n)取出,放入CLOSED表(4)考查节点n是否为目标节点.若是,则求得了问题的解,退出(5)如果节点n的深度d(节点n)=dm,则转第(2)步(6)若节点n不可扩展,则转第(2)步(7)扩展节点n,将其子节点放入OPEN表的首部,并为每一个子节点都配置指向父节点的指针,转第(2)步,迭代加深搜索(1),对于有界深度搜索策略,有下面几点需要说明:1)在有界深度搜索算法中,深度限制dm是一个很重要的参数。2)深度限制dm不能太大。3)有界深度搜索的主要问题是深度限制值dm的选取。问题:但是对很多问题,我们并不知道

19、该值到底为多少,直到该问题求解完成了,才可以确定出深度限制dm。,迭代加深搜索(2),改进方法-迭代加深搜索算法:先任意给定一个较小的数作为dm,然后按有界深度算法搜索,若在此深度限制内找到了解,则算法结束;如在此限度内没有找到问题的解,则增大深度限制dm,继续搜索。迭代加深搜索是一种回避选择最优深度限制问题的策略,它是试图尝试所有可能的深度限制:首先深度为0,然后深度为1,然后为2,等等,一直进行下去。问题:迭代加深搜索看起来会很浪费,因为很多节点都要扩展多次。,迭代加深搜索(3),迭代加深搜索(4),迭代加深搜索(5),迭代加深搜索(6),迭代加深搜索(6),深度为d,分支因子为b的深度优

20、先搜索生成的节点数为:NDLS=b0+b1+b2+bd-2+bd-1+bd 深度为d,分支因子为b的迭代加深搜索生成的节点数为NIDS=(d+1)b0+d b1+(d-1)b2+3bd-2+2bd-1+1bd 对于 b=10,d=5,NDLS=1+10+100+1,000+10,000+100,000=111,111NIDS=6+50+400+3,000+20,000+100,000=123,456增加=(123,456-111,111)/111,111=11%,迭代加深搜索(7),Complete?YesTime?(d+1)b0+d b1+(d-1)b2+bd=O(bd)Space?O(bd

21、)Optimal?Yes,如果每步代价为1,其他问题,避免重复状态:由于扩展已经遇到并扩展过的状态可能造成时间的浪费利用CLOSED表,如果当前节点与其中的某个节点相匹配的话,那么它可以被放弃而不去扩展,或者需要比较耗散值如果单步耗散为常数时,代价广度优先搜索找到的总是最优路径使用不完全信息的搜索:无传感问题:Agent了解它的每个行动的结果,但是没有传感器。从Agent可能到达的状态中搜索,而不是实际状态空间中搜索偶发性问题:环境是部分可观察的,或者行动是不确定的。在每个行动后Agent能从感知器中得到新的信息。其解答往往表现为树的形式,对树的分支的选择取决于树上结点接收到的感知信息,主要内

22、容,概述状态空间的搜索状态空间的一般搜索过程盲目搜索启发式搜索约束满足问题博弈,启发式搜索(1),前面讨论的方法都是盲目的搜索方法,即都没有利用问题本身的特性信息,在决定要被扩展的节点时,都没有考虑该节点在解的路径上的可能性有多大,它是否有利于问题求解以及求出的解是否为最优启发式搜索要用到问题自身的某些特性信息,以指导搜索朝着最有希望的方向前进启发信息的强度强:降低搜索工作量,但可能导致找不到最优解弱:一般导致工作量加大,极限情况下变为盲目搜索,但可能可以找到最优解,启发式搜索(2),启发性信息和估价函数用于指导搜索过程,且与具体问题有关的控制性信息称为为启发性信息用于评价节点重要性的函数称为

23、估价函数.记为 f(x)=g(x)+h(x)g(x)为从初始节点S0到节点x已经实际付出的代价h(x)是从节点x到目标节点Sg的最优路径的估价代价,体现了问题的启发性信息,称为启发函数f(x)表示从初始节点经过节点x到达目标节点的最优路径的代价估价值,其作用是用来评估OPEN表中各节点的重要性,决定其次序,启发式搜索(3),启发式就是要猜测:从节点n开始,找到最优解的可能性有多大?从起始节点开始,经过节点n,到达目标节点的最佳路径的费用是多少?(存在一个约束)gh,最佳优先搜索(1),思想:对每个节点使用估价函数,估计希望:扩展最有希望未扩展的节点主要包括:-贪婪最佳优先搜索-A*算法,最佳优

24、先搜索(2),贪婪最佳优先搜索(1),启发失函数 f(n)=h(n):从n到最近的目标节点代价的估计这里采用hSLD(n):从n到Bucharest的直线距离贪婪算法扩展看来与目标最近的节点,贪婪最佳优先搜索(2),贪婪最佳优先搜索(3),贪婪最佳优先搜索(4),贪婪最佳优先搜索(5),特性完备性:NO时间:O(bm),但是一个好的启发式可以得到很大的改进空间:O(bm),保存所有的节点在内存中最优:NO,A*算法(1),思想:避免对已经扩展的路径进行再扩展评价函数为:f(x)=g(x)+h(x)把OPEN表中的节点按此函数的值从小到大进行排序g(x)是对g*(x)的估价,g(x)0h(x)是

25、h*(x)的下界,即对所有的x,h(x)=h*(x)其中:g*(x)是从初始节点S0到节点x的最小代价 h*(x)是从节点x到目标节点的最小代价,若有多个目标节点,则为 其中最小的一个,n,S,g*(n),h*(n),g,A*算法(2),f*(S)f*(S)=g*(S)+h*(S)=h*(S)从S无约束地到达目标的最佳路经上的耗散值;g(n)一般取实际走过的路径的费用和.g(n)g*(n)随着算法的执行,由于指针的变动,g(n)会下降.h0没有启发式信息;,A*算法(3),8数码问题h(n)=“不在位”的将牌数h(n)=将牌“不在位”的距离和,A*算法(4),A*算法(5),宽度优先:当问题为

26、单位耗散值,且问题有解时,一定能找到最优解;f(n)=g(n)+h(n)g(n)h(n)=0 h*(n),A*算法例子(1),A*算法例子(2),A*算法例子(3),A*算法例子(4),A*算法例子(5),A*算法可纳性,对于可解状态图(即从初始节点到目标节点有路径存在)所说,如果一个搜索算法能在有限步内终止,并且能找到最优解,则称该搜索算法是可纳的.定理:A*算法是可纳的,即在有限步内终止,并且找到最优解证明思路对于有限图,A*算法一定会在有限步内终止对应无限图,只要从初始节点到目标节点有路径存在,A*算法也必然终止A*算法一定终止在最优路径上,A*算法的最优性和单调性,最优性A*算法的搜索

27、效率在很大程度上取决于h(x),在满足h(x)=h*(x)的前提下,h(x)的值越大越好.H(x)所携带的启发性信息越多,搜索时所扩展的节点数越少,搜索效率就越高单调性限制单调性限制是指h(x)满足如下两个条件h(Sg)=0设xj是节点xi 的任意子节点,则有 h(xi)-h(xj)=c(xi,xj)其中:Sg是目标节点,c(xi,xj)是节点xi到子节点xj的边代价A*算法的h(x)满足单调性限制时,可有下面的结论若A*算法选择节点xn进行扩展,则g(xn)=g*(x)由A*算法所扩展的节点序列其f值是非递减的,启发式对性能的影响(1),8数码问题,两个启发式函数:h1(n):不在目标位的棋

28、子数目h2(n):所有棋子到其目标位置的距离和(Manhattan距离),h1(S)=6h2(s)=4+0+3+3+1+0+2+1=14,启发式对性能的影响(2),典型情况下的搜索代价:d=14 IDS=3,473,941节点 A*(h1)=539节点 A*(h2)=113节点d=24 IDS 54,000,000,000节点 A*(h1)=39,135节点 A*(h2)=1,641节点,A*算法特性(1),完备性:Yes,除非有无限多的节点具有f C*的节点,A*算法特性(2),但是对大多数搜索问题,搜索目标时的搜索空间的节点数仍然是答案深度的指数。在A*算法中计算时间不是主要的问题。由于A

29、*算法把所有生成的节点保存在内存中,所以A*算法在耗尽计算时间之前一般早已经把空间耗尽了。为了克服空间问题,开发了一些新的算法,如迭代加深A*算法IDA*。启发式函数用做深度的限制,而不是选择扩展节点时的排序。IDA*算法和A*算法相比,主要优点是对于内存的需求。A*算法需要指数级数量的存贮空间,因为没有深度方面的限制。而IDA*算法只有当节点n的所有子节点n的f(n)小于限制值c时才扩展它,这样就可以节省大量的内存。,局部择优搜索-瞎子爬山法(1),搜索过程如下:(1)把初始节点S0放入OPEN表,计算f(S0)(2)如果OPEN表为空,则问题无解,退出(3)把OPEN表的第一个节点(记为节

30、点n)取出,放入CLOSED表(4)考查节点n是否为目标节点.若是,则求得了问题的解,退出(5)若节点n不可扩展,则转第(2)步(6)扩展节点n,用估价函数f(x)计算每个子节点的估价值,并按估价值从小到大的顺序依次放入OPEN表的首部,并为每一个子节点都配置指向父节点的指针,转第(2)步,局部择优搜索-瞎子爬山法(2),局部择优搜索-瞎子爬山法(3),爬山法的三个问题:局部最大:高地:也称为平顶,在某一局部点周围f(x)为常量。此时,搜索就无法确定要搜索的最佳方向,会产生随机走动,这使得搜索效率降低。山脊:山脊可能具有陡峭的斜面,所以搜索可以比较容易地到达山脊的顶部,但是山脊的顶部到山峰之间

31、可能倾斜的很平缓。除非正好有合适的操作符直接沿着山脊的顶部移动,该搜索可能会在山脊的两面来回震荡,搜索的前进步伐会很小。在每种情况中,算法都会到达一个点,使得算法无法继续前进。如果出现这种情况,可以从另外一个点重新启动该算法。这称为随机重启爬山法。爬山法是否成功和状态空间“表面”的形状有很大的关系:如果只有很少的局部最大,随机重启爬山法将会很快地找到一个比较好的解答。如果该问题是NP完全的,则该算法不可能好于指数时间。这是因为一定具有指数数量的局部最大值,局部择优搜索-瞎子爬山法(4),爬山法从来不“下山”,即不会向值比当前结点低的方向搜索,它是不完备的,它可能会停留在局部极大值上。随机走到方

32、法就是从后继集合中等概率随机地选取一个后继,它是完备的,但效率低下模拟退火算法结合了上述思想。“退火(Annealing)”是金属铸造的一个过程,它是指金属首先在高温下熔化,然后让它冷却下来直到它成为固态,局部择优搜索-瞎子爬山法(5),如何在搜索中实现退火?在这个阶段,应该记住:需要模拟退火算法在函数f产生了没有比当前状态更好的下一个状态时,指出搜索的方向。这样,对所有可能的下一个合理状态计算E的值,并用下式计算p 的值 在闭区间0,1中随机得到一个数字,然后和p比较。如果p大,则选择它作为下一个转换状态。参数T在搜索程序中是逐渐降低的。这时由于T降低,p也降低,从而使得算法终止在一个稳定的状态。,局部择优搜索-瞎子爬山法(6),局部择优搜索-瞎子爬山法(7),遗传算法:是一种随机剪枝的搜索形式,它不是通过修改单一状态而是通过把两个父状态结合起来生成后继的GA从k个随机生成的状态开始(称为种群),通过遗传操作得到后代,局部择优搜索-瞎子爬山法(8),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号