ch5约束满足问题人工智能课程北大计算机研究所分析.ppt

ch5约束满足问题人工智能课程北大计算机研究所分析.ppt

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

第五章、约束满足问题 Ch34:通过搜索状态空间求解问题 把状态看作一个黑盒子,只能由问题特定的例行程序来访问—后继函数、启发函数和目标测试。 约束满足问题:利用状态的结构以及通用的、而不是问题特定的启发式来定义搜索算法。 第五章、约束满足问题 约束满足问题 CSP由一个变量集合和一个约束集合组成 问题的一个状态是由对一些或全部变量的一个赋值定义的 完全赋值:每个变量都参与的赋值 问题的解是满足所有约束的完全赋值,或更进一步,使目标函数最大化。 例子:澳大利亚地图的染色 对每个区域染上红、绿或蓝色,使得没有相邻的区域颜色相同。 将问题形式化为CSP CSP问题的增量形式化 初始状态 后继函数:给任何未赋值的变量赋值(满足约束) 目标测试 路径耗散 CSP(续) 经常用深度优先搜索算法求解 变量 离散或连续 值域:有限或无限 约束 线性或非线性 一元或多元:通过引入辅助变量,转为二元约束。 绝对vs偏好 第五章、约束满足问题 CSP问题的回溯搜索 一次为一个变量选择值,当没合法值可以再赋给该变量时就回溯。 一个简单的回溯算法 讨论 一般的回溯是无信息算法,不期望它对大型问题有效 (见课本图5.5) 不用领域特定的知识而用通用方法解决以下问题: 下步该给哪个变量赋值,按什么顺序来尝试它的值? 当前的变量赋值对其它未赋值的变量意味着什么? 当一条路径失败时,在后面的路径中能避免同样的失败吗? 变量和取值顺序 var←SELECT-UNASSIGNED-VARIBLE (VARIBLE[csp], assignment, csp) 选择“合法”取值最少的变量,称为最少剩余式(MRV) 在初始时选择涉及对其它未赋值变量的约束数最大的变量来试图降低未来选择的分支因子(度启发式)。 变量被选定后,如何决定它的取值顺序? 最少约束值启发式:优先选择的值是在约束图中排除邻居变量的可选值最少的。 通过约束传播信息 在搜索的早些时候,或开始之前就考虑某些约束,从而降低搜索空间。 向前检验 约束传播 处理特殊约束 智能回溯:向后看 向前检验 只要变量X被赋值,向前检验考察每个通过约束和X相连的未赋值变量Y,并从Y的值域中删除与X的取值矛盾的值。 约束传播:将一个变量的约束传播到其它变量上 前向检验看得不够远 比前向检验更强的约束传播的方法:弧相容(MAC) 弧相容算法AC-3的时间复杂度是O(n2d3)。 推广到k相容 k相容 如果对于任何k-1个变量的相容赋值,第k个变量总能被赋予一个与前k-1个变量相容的值,那么该CSP问题是k相容的。 弧相容=2相容 处理特殊约束:应用专门算法 删除约束中只有单值值域的变量,然后将这些变量的取值从其余变量的值域中删去(重复该过程)。 例子:{WA=red, NSW=red},高阶约束。 智能回溯:向后看 对历时回溯的改进 历时回溯:重新访问的是时间最近的决策点 例子:按照Q,NSW,V,T,SA,WA,NT的顺序访问节点,并且假设{Q=r,NSW=g,V=b,T=r} 在SA时出现矛盾,如何回溯? 回溯到导致失败的变量集合中的一个变量:冲突集 提前发现失败 HW 5.2,5.6 第五章、约束满足问题 基本思想 完全状态的形式化 初始状态给每个变量赋值,后继函数一次改变一个变量的取值。 在为变量选择新值时,可能的启发式函数: 导致与其它变量的冲突最小的值 一个用局部搜索解决CSP问题的Min-conflicts算法 例子:八皇后问题 局部搜索算法的表现 Mini-conflict算法对许多CSP都惊人地有效,尤其在给定了合理的初始状态下。 例如八皇后问题,如果不计算皇后的初始状态,算法的运行时间大体上独立于问题的大小。 局部搜索算法的另一个优势是当问题改变时可用于联机设置 在调度问题中尤其重要 第五章、约束满足问题 问题的结构:利用来找到问题的解 假设一个CSP问题的变量个数为n,所有变量的值域大小?d,则问题的可能的完全赋值的数量为O(dn)。 将约束图分解为连通分支的并集以降低问题的复杂度 例子:澳大利亚地图中Tasmania与大陆不相连 然而,完全独立的子问题很少见。 考虑约束图是树的情景,即任何两个变量最多通过一条路径连通。 树状结构的CSP问题的求解 任选一个节点作为根节点,从根节点到叶节点按顺序排列,每个节点的父节点都在它前面。按顺序把它们标为X1,?,Xn。 令j从n到2,在弧(Xi, Xj)上应用弧相容算法,其中Xi是Xj的父节点,从DOMAIN[Xi]中删除必要的值。 令j从1到n,赋给Xj与Xi的值相容的值。 赋值不需要回溯 将一般的约束图简化为树形式 基于删除节点的 基于合并节点的 基于删除节点的 先对某些变量赋值,使剩下的变量构成一棵树。 例子:澳大利亚的约束图,给SA赋值

文档评论(0)

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

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

1亿VIP精品文档

相关文档