第11章其他搜索公式及其应用详解.ppt

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

* * 第11章 其他搜索公式及其应用 第二部分 状态空间搜索 赋值问题 图搜索问题中的目标节点的条件可以定义为一个指定的数据结构或者标识它的状态描述,或者它可以根据对那个数据结构的条件和约束隐式地定义。 在任一情况下,当问题是找到agent的一个动作序列时,标识目标节点的数据结构并不重要,重要的是到达目标的步骤序列。 当目标节点不是由一个指定的数据结构定义而是由条件或约束定义时,问题可能就是要显示一些满足这些条件的数据结构,而用图搜索方法产生它的步骤可能是不相关的。我们称这类问题为约束满足( constraint-satisfaction)问题。这类问题中的一个著名例子是给受限变量赋值。它们被称为赋值问题(assignment problem) 。 我们能通过图搜索方法解决约束满足问题。一个目标节点是由满足约束的数据结构(或状态描述)标识的节点。算子将一个数据结构改变为另一个数据结构。开始节点是一些初始的数据结构。 赋值问题 赋值问题 由于8皇后问题(Eight-queens problem) 具有从集合(第1行,第2行,….,第8行)到变量(第1列的皇后位置, …,第8列的皇后位置)的赋值形式,所以称为赋值问题。 把这个问题作为一个图搜索问题,一个明显的数据结构是一个8x8的数组,数组中的每个单元包含两个符号( 1和0 )中的一个,1代表皇后,0为空。一个根据条件定义的隐式目标状态是保证8个皇后都是安全的,不会被抓住。 连接状态描述的算子和数组转换的方式相一致。例如:一个算子能把一个皇后加到还没有8个皇后的数组中,或者它能把一个皇后移到另一个单元中。在赋值问题中,由于到达目标的路径并不重要,因此关于开始状态和算子是什么我们常有很多选择。 构造性方法 我们可以用上一章讲的搜索方法解决赋值问题。最直接的方法是一步一步地构造所要求的赋值——尽管我们对那些步骤不是太感兴趣。 开始(开始节点)不进行任何赋值,对8皇后问题,相应的数据结构是全为0的一个数组。每个算子加一个皇后到数组中,但要以满足约束的方式加入。因为在每一列必须有一个皇后,不失一般性,我们能保证在深度为0的节点应用算子产生第l列皇后的放置,应用到深度为1的节点的算子是第2列皇后的放置,等等。 因为这个解法是一步步构成的,我们称这个方法为构造方法(constructive method) 。 构造性方法 特别注意: 算子用来从前一个节点产生节点。尤其对纵横字谜,很明显状态空间是巨大的,在每个节点我们有成千上万的算子可以应用。 构造性方法 一种称为约束传播( constraint propagation)的计算技术有助于显著地减少搜索空间的大小。它和构造技术组合使用——依次给每一个变量赋值。 约束被表示在一个叫约束图(constraint graph)的有向图中,在这个图中的每一个节点有一个变量和该变量的一组可能值标识。一个有向约束弧(constraint arc)(i,j),连结着节点i和j,条件是节点i的变量值受节点j的变量约束。 在这样问题中,每个变量约束着所有其他的变量,因此所有的节点之间都有弧存在。如果对弧尾的每一个变量值至少有一个弧头的变量值没有违反约束,我们就说有向弧(i,j)是一致的。 构造性方法 在4皇后问题中,我们有4个变量q1、q2、q3和q4,分别代表4列中的某一列,一个皇后可以放在它们的其中之一上。每个变量可以是1、2、3和4这4个和行数相对应的值中的一个。例如,当q3等于2时,一个皇后被放在第2行第3列。4皇后问题对这些变量的值提出了约束,因此如果q1等于1, q2就不能等于1或2。 图中的弧是一致的,因为对每对qi和qj(i不等于j),对qi的每一个值,有一个qj没有违反约束。 构造性方法 给变量中的一个或几个赋值后,我们能用弧一致性概念排除其他变量的一些值。约束传播过程在图中的弧上进行迭代,试用加强弧一致性来排除弧尾上的变量值。当没有更好的值能被删除时这个过程终止。 1)考虑弧(q2,q1):排除q2=1和q2=2,因为q1值(我们刚分配的值)和q2的这些值不一致。 2)考虑弧(q3,q1):排除q3=1和q3=2,因为q1的值和q3的这些值不一致。 3)考虑弧(q4,q1):排除q4=1和q4=2,因为q1的值和q4的这些值不一致。 构造性方法 在图随后的约束传播过程中,排除 q3的所有值,因此看到q1 =1时这个问题没有解法。在q1 =1的情况下不能再进行进一步的搜索,而是回溯到q1 =2的情况。 假定q1 =2进行约束传播。开始几步如

文档评论(0)

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

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

1亿VIP精品文档

相关文档