第3章 图搜索与问题求解精要.ppt

  1. 1、本文档共101页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 图搜索与问题求解精要

3.4 与或图搜索问题求解 与或图是描述问题求解的另一种有向图。与或图的节点一般代表问题,整个图表示问题空间。 与或图也是一个三元组 (Q0 , F , Qn) Q0表示初始问题,F表示问题变换规则集,Qn表示本原问题集 分解──与树 子问题(简单) 子子问题 (更简单) 子问题(简单) 子子问题 (更简单) 子子问题 (更简单) 与树问题分解 3.4 与或图搜索问题求解 3.4 与或图搜索问题求解 变换──或树 或树问题变换 例3.19 三阶梵塔问题。 对于梵塔问题,我们也可以这样考虑:为把1号杆上的n个盘子搬到3号杆,可先把上面的n-1个盘子搬到2号杆上;再把剩下的一个大盘子搬到3号杆;然后再将2号杆上的n-1个盘子搬到3号杆。这样,就把原来的一个问题分解为三个子问题。这三个子问题都比原问题简单,其中第二个子问题已是直接可解的问题。对于第一和第三两个子问题,可用上面n个盘子的方法,做同样的处理。 梵塔问题示例 3.4.1 问题的与或图表示 图 3-18 三阶梵塔问题的与或树 3.4.1 问题的与或图表示   在图3-18所示的与或树中, 共有七个终止节点,对应于七个本原问题, 它们是通过“分解”得到的。若把这些本原问题的解按从左至右的顺序排列, 就得到了原始问题的解: (1, 1, 1) (3, 1, 1) (3, 1, 1) (3, 2, 1) (3, 2, 1) (2, 2, 1) (2, 2, 1) (2, 2, 3) (2, 2, 3) (1, 2, 3) (1, 2, 3) (1, 3, 3) (1, 3, 3) (3, 3, 3) 3.4.1 问题的与或图表示 本章我们讲述了 状态图搜索算法:树式搜索、线式搜索、穷举式搜索、启发式搜索、加权状态图搜索 状态图搜索问题求解 与或图搜索:搜索算法,启发式与或图搜索 与或图图搜索问题求解 1.5 本章小结 本章总结 3.2.1 问题的状态图表示 引入一个三元组(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} 3.2.1 问题的状态图表示 状态空间图 (0,0,0) (1,0,1) (0,0,1) (0,1,0) (1,1,0) (1,0,0) (0,1,1) (1,1,1) a c a b a c a b c b b c 3.2.1 问题的状态图表示 例3.9 二阶梵塔问题 一号杆有A、B两个金盘,A小于B。要求将AB移至三号杆,每次只可移动一个盘子,任何时刻B不能在A上。 用二元组(SA,SB)表示状态,SA表示A所在杆号,SB表示B所在杆号,全部状态如下: (1,1),(1,2),(1,3) (2,1),(2,2),(2,3) (3,1),(3,2),(3,3) 3.2.1 问题的状态图表示 A B 1 2 3 S0:(1,1) 1 2 3 S1:(1,2) 1 2 3 S2:(1,3) A A 1 2 3 S5:(2,3) 1 2 3 S4:(2,2) 1 2 3 S3:(2,1) 1 2 3 S8:(3,3) 1 2 3 S7:(3,2) 1 2 3 S6:(3,1) A A A A A B A B B B B B 3.2.1 问题的状态图表示 转换规则:A(i,j)表示金盘A从第i号杆移到j号杆 B(i,j)表示金盘B从第i号杆移到j号杆 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) 初始状态(1,1),目标状态(3,3) 梵塔问题用状态图表示为: {(1,1)},{A(1,2),…,B(3,2)},{(3,3)} 3.2.1 问题的状态图表示 1,1 2,1 3,1 2,3 3,3

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档