第3章 图搜索与问题求解
- 格式:ppt
- 大小:4.07 MB
- 文档页数:101
第三章搜索推理技术3-1什么是图搜索过程?其中,重排OPEN表意味着什么,重排的原则是什么?图搜索的一般过程如下:(1) 建立一个搜索图G(初始只含有起始节点S),把S放到未扩展节点表中(OPEN表)中。
(2) 建立一个已扩展节点表(CLOSED表),其初始为空表。
(3) LOOP:若OPEN表是空表,则失败退出。
(4) 选择OPEN表上的第一个节点,把它从OPEN表移出并放进CLOSED表中。
称此节点为节点n,它是CLOSED表中节点的编号(5) 若n为一目标节点,则有解并成功退出。
此解是追踪图G中沿着指针从n到S这条路径而得到的(指针将在第7步中设置)(6) 扩展节点n,生成不是n的祖先的那些后继节点的集合M。
将M添入图G中。
(7) 对那些未曾在G中出现过的(既未曾在OPEN表上或CLOSED表上出现过的)M成员设置一个通向n的指针,并将它们加进OPEN表。
对已经在OPEN或CLOSED表上的每个M成员,确定是否需要更改通到n的指针方向。
对已在CLOSED表上的每个M成员,确定是否需要更改图G中通向它的每个后裔节点的指针方向。
(8) 按某一任意方式或按某个探试值,重排OPEN表。
(9) GO LOOP。
重排OPEN表意味着,在第(6)步中,将优先扩展哪个节点,不同的排序标准对应着不同的搜索策略。
重排的原则当视具体需求而定,不同的原则对应着不同的搜索策略,如果想尽快地找到一个解,则应当将最有可能达到目标节点的那些节点排在OPEN表的前面部分,如果想找到代价最小的解,则应当按代价从小到大的顺序重排OPEN表。
3-2 试举例比较各种搜索方法的效率。
宽度优先搜索(1) 把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)。
(2) 如果OPEN是个空表,则没有解,失败退出;否则继续。
(3) 把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED扩展节点表中。
(4) 扩展节点n。
人工智能作业题解答第三章图搜索与问题求解1、何为状态图和与或图?图搜索与问题求解有什么关系?解:按连接同一节点的各边间的逻辑关系划分,图可以分为状态图和与或图两大类。
其中状态图是描述问题的有向图。
在状态图中寻找目标或路径的基本方法就是搜索。
2、综述图搜索的方式和策略。
解:图搜索的方式有:树式搜索,线式搜索。
其策略是:盲目搜索,对树式和不回溯的线式是穷举方式,对回溯的线式是随机碰撞式。
启发式搜索,利用“启发性信息”引导的搜索。
3、什么是问题的解?什么是最优解?解:能够解决问题的方法或具体做法成为这个问题的解。
其中最好的解决方法成为最优解。
4、什么是与或树?什么是可解节点?什么是解树?解:与或树:一棵树中的弧线表示所连树枝为“与”关系,不带弧线的树枝为或关系。
这棵树中既有与关系又有或关系,因此被称为与或树。
可解节点:解树实际上是由可解节点形成的一棵子树,这棵子树的根为初始节点,叶为终止节点,且这棵子树一定是与树。
解树:满足下列条件的节点为可解节点。
①终止节点是可解节点;②一个与节点可解,当且仅当其子节点全都可解;③一个或节点可解,只要其子节点至少有一个可解。
5、设有三只琴键开关一字排开,初始状态为“关、开、关”,问连接三次后是否会出现“开、开、开”或“关、关、关”的状态?要求每次必须按下一个开关,而且只能按一个开关。
请画出状态空间图。
注:琴键开关有这样的特点,若第一次按下时它为“开”,则第二次按下时它就变成了“关”。
解:设0为关,1为开6、有一农夫带一只狼、一只羊和一筐菜欲从河的左岸乘船到右岸,但受下列条件限制:1)船太小,农夫每次只能带一样东西过河。
2)如果没农夫看管,则狼要吃羊,羊要吃菜。
请设计一个过桥方案,使得农夫、狼、羊、菜都不受损失地过河。
画出相应状态空间图。
提示:(1)用四元组(农夫、狼、羊、菜)表示状态,其中每个元素都可为0或1,用0表示在左岸,用1表示在右岸。
(2)把每次过河的一次安排作为一个算符,每次过河都必须有农夫,因为只有他可以划船。
实验报告实验名称搜索问题求解课程名称人工智能验证性、综合性实验报告应含的主要内容:一、实验目的及要求二、所用仪器、设备三、实验原理四、实验方法与步骤五、实验结果与数据处理六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见)七、所附实验输出的结果或数据设计性实验报告应含的主要内容:一、设计要求二、选择的方案三、所用仪器、设备四、实验方法与步骤五、实验结果与数据处理六、结论(依据"设计要求”)七、所附实验输出的结果或数据*封面左侧印痕处装订insert moveO(Nl).insert. movel (N):- get. integer(1,N,X), get integer(X.N,Y).X+Y=<N, asserta(move(Y,X)), fail.insert movel()・legal((X,Y,_)):- legal1(X), legal1(Y).legall((X.Y)):-二0,Y>二o.!・legall((X,Y)):-Y=:=O,X>=O t!.1egall((X,Y)):-x>二Y・X>二O.Y>二0.update((X,Y,O),Move,Statu1):-(A.B)=X, (C,D)=Y, (E t F)二Move. Cl is C+E. DI is D+F. Al is A-E. Bl is B-F.Statul=((Al,Bl), (C1.D1) J). update((X,Y,1),Move,Statu1):- (A,B)=X, (C,D)=Y, (E,F)二Move.Cl is C-E.DI is D-F.Al is A+E.Bl is B+F. Statul=((Al.Bl), (Cl.DD.O).connect(Statu,Statu 1):- move(X,Y). update(Statu, (X,Y),Statul), legal(Statu1)・六、讨论与结论传教士与野人问题中的顺序输出问题。
第3章作业题参考答案2.综述图搜索的方式和策略。
答:用计算机来实现图的搜索,有两种最基本的方式:树式搜索和线式搜索。
树式搜索就是在搜索过程中记录所经过的所有节点和边。
线式搜索就是在搜索过程中只记录那些当前认为是处在所找路径上的节点和边。
线式搜索的基本方式又可分为不回溯和可回溯的的两种。
图搜索的策略可分为:盲目搜索和启发式搜索。
盲目搜索就是无向导的搜索。
树式盲目搜索就是穷举式搜索。
而线式盲目搜索,对于不回溯的就是随机碰撞式搜索,对于回溯的则也是穷举式搜索。
启发式搜索则是利用“启发性信息”引导的搜索。
启发式搜索又可分为许多不同的策略,如全局择优、局部择优、最佳图搜索等。
5.(供参考)解:引入一个三元组(q0,q1,q2)来描述总状态,开状态为0,关状态为1,全部可能的状态为 :Q0=(0,0,0) ; Q1=(0,0,1); Q2=(0,1,0) Q3=(0,1,1) ; Q4=(1,0,0); Q5=(1,0,1) Q6=(1,1,0) ; Q7=(1,1,1)。
翻动琴键的操作抽象为改变上述状态的算子,即F ={a, b, c} a:把第一个琴键q0翻转一次b:把第二个琴键q1翻转一次 c:把第三个琴键q2翻转一次问题的状态空间为<{Q5},{Q0 Q7}, {a, b, c}>问题的状态空间图如下页所示:从状态空间图,我们可以找到Q5到Q7为3的两条路径,而找不到Q5到Q0为3的路径,因此,初始状态“关、开、关”连按三次琴键后只会出现“关、关、关”的状态。
(0,0,0)(1,0,1)(0,0,1) (0,1,0)(1,1,0)(1,0,0)(0,1,0)(1,1,1)acabacabcbbc6.解:用四元组(f、w、s、g)表示状态, f 代表农夫,w 代表狼,s 代表羊,g 代表菜,其中每个元素都可为0或1,用0表示在左岸,用1表示在右岸。
初始状态S0:(0,0,0,0) 目标状态:(1,1,1,1)不合法的状态:(1,0,0,*),(1,*,0,0),(0,1,1,*),(0,*,1,1)操作集F={P1,P2,P3,P4,Q1,Q2,Q3,Q4}方案有两种:p2→q0 →p3→q2 →p2 →q0 →p2p2→q0 →p1→q2 →p3→q0→p212 一棵解树由S0,A,D,t1,t2,t3组成;另一棵解树由S0,B,E,t4,t5组成。