- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章人工智能教程以及答案
第五章 状态空间搜索 第五章 状态空间搜索 第一节 状态空间搜索 例5-1 梵塔问题 三盘片梵塔状态空间图 例5-2 传教士和野人问题 问题解决 二 状态空间的穷搜索法 三 启发式搜索法 第二节 问题归约法 一 问题归约描述 二 与或图表示 三 AO*算法 AO*算法要能处理与图,它应找出一条路径,即从该图的开始结点出 发到达代表解状态的一组结点。注意,可能需要到达多个解状态,因为 一与弧的每条臂要引至它自身的结点。 在扩展搜索一与或图时,每步需做三件事; (1)遍历图,从初始结点开始,顺沿当前最短路径,积累在此路径上但未扩展的结点集。 (2)从这些未扩展结点中选择一个并扩展之。将其后继结点加入图中,计算每一后继结点的f值(只需计算h,不管g)。图5-14 AO*算法的运行。 (3)改变最新扩展结点的f估值,以反映由其后继结点提供的新信息。将这种改变往后回传至整个图。在往后回攀图时,每到一结点就判断其后继路径中哪一条最有希望,并将它标 记为目前可能解图的一部分。这样可能引起目前最短路 的变动。 AO*算法描述 (i)从S中挑选一个结点,该结点在G中的子孙均不在S中出现(换句话说,保证对于每一正在处理的结点,是在处理其任一祖先之前来处理该结点的),称此结点为CURRENT并把它从S中去掉。 (ii)计算始于CURRENT的每条弧的耗费。每条弧的耗费等于在该弧末端每一结点的h值之知和加上该弧身的耗费。从刚刚计算过的始于CURRENT的所有弧费中选出极小耗费作为CURRENT的新h值。 (iii)把在上一步计算出来的带极小耗费的弧标记出始于CURRENT的最佳路径。 (iv)如果穿过新的带标记弧与CURRENT连接的所有结点均标为SOLVEO,则把CURRENT标为SOLVED。图5-16 逆向传播 (v)若CURRENT已标为SOLVED,或CURRENT的耗费刚才已经改变,那么应把其新状态往回传至图。因此,要把CURRENT的所有祖先加到S 中。 第三节 博弈树搜索 具体例子 一 极大极小过程 用一字棋来具体说明一下极大极小过程,不失一般,设只进行两层,即 每方只走一步(实际上,多看一步增加大量的计算和存储)。 评价函数e(p)规定如下: 1.若格局P对任何一方都不是获胜的,则 e(p)=(所有空格都放上MAX的棋子之后,MAX的三个棋子所组成的行、列及对角线的总数)—(所有空格都放上MIN的棋子后,MIN三个棋子所组成的行、列及对角线的总数) 2.若p是MAX获胜,则 3.若p是MIN获胜,则 二 过程 * * 问题归约法 博弈树搜索 Click to add title in here 状态空间搜索 1 2 3 Contents S是状态集合,状态是某种事实的符号或数据,问题的初始状态是S 的非空子集 1 三元组(S,O,G) G也是S的非空子集,表示目标状态集。它可以是若干具体的状态, 也可以是对某些状态性质的描述 O是操作算子集,利用它将一个状态转化为另一个状态 一 问题的状态空间表示 起源于印度传说的梵塔问题是:有三根针和n个大小不同的盘片。开始盘片都是叠在第一根针上,从下到上按由大到小的顺序串叠。要求每次只移动最顶上的一个盘片到另一根针上,且大盘不得压在小盘上,直到把所有盘片移到第三根针上。以三圆盘为例,如图5-1所示。 图5-1 三盘片梵塔 用状态(i, j, k)表示最大盘片C在第i根针上,盘片B在第j根 针上,最小盘片A在第k根针上。如果同一根针有二片以上的 盘片,则假设较大的在下面。 如(1,1,2)表示C和B在第1根针上,且B在C的上面,而A在 第2根针上。 用M(N,i, j)表示操作算子,即把盘片N从第I根针移到 j根针上。如M(A,1,2)实现的操作是把盘片A从第1根针 移到第2根针上,即使状态(1,1,1)变成状态(1,1 ,2)。而不允许接着进行M(B,1,2)操作,使状态(1, 1,2)变为状态(1,2,2),因为这违反了小片必须在大 片上的规则。 图5-2 设有三个传教士和三个野人来到河边,打算乘一只船从右岸渡到左岸去。该船的负载能力为两人。在任何时候,如果野人人数超过传教士人数,那么野人就会把传教士吃掉。他们怎样才能用这条船安全地把所有人都渡过河去? 问 题 问题状态以三元组(m, c, b)表示,m为传教士在左岸或船上的实际人数,c为野人在左岸或船上的实际人数,b指示船是否在左岸(1,0) 在船上人数不得超过载重限量2个人,任何时刻(包括两岸、船上)野人数目不得超过传教士的安全约束 图5-3 深度优先搜索算法 广度优先搜索算法 启发式搜索法的基本思想是在搜索路径的控制信息中增加关于
文档评论(0)