人工智能5解读.ppt

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

人工智能 ━━ 一种现代方法 云南大学 施心陵讲授 第五章 约束满足问题 约束满足问题 ?????????? 约束:用于描述对象的性质、相互关系、任务要求、目标… 一元谓词 序关系语言 形如x-yc的方程 线性方程和不等式 布尔组合 代数和三角方程 约束表示易于理解、编码和实现 约束满足问题 约束满足问题 约束满足问题 约束满足问题 约束图:节点--变量,弧--约束 CSP问题的特点 CSP问题的特点 CSP问题的特点 高阶约束:涉及三个或更多变量 例:密码算术 CSP问题的特点 绝对约束: 任何违反规则的都排除在解之外 偏好约束:指出哪些解是更偏好的 CSP问题的回溯搜索 CSP问题的回溯搜索 度启发式:选择涉及对其他未赋值变量的约束数最大的变量,来降低未来选择的分支因子。 最少约束值启发式:优先选择在约束图中排除邻居变量的可选值最少的。这样能给剩下的变量赋值留下最大的灵活性。 1、前向检验 2、约束传播 3、处理特殊约束 4、智能回溯 当变量X被赋值,则对每个与X相连的未赋值变量Y进行考察,从Y的值域中删去与X矛盾的值。 当变量X被赋值,则对每个与X相连的未赋值变量Y进行考察,从Y的值域中删去与X矛盾的值。 当变量X被赋值,则对每个与X相连的未赋值变量Y进行考察,从Y的值域中删去与X矛盾的值。 当变量X被赋值,则对每个与X相连的未赋值变量Y进行考察,从Y的值域中删去与X矛盾的值。 约束传播 弧相容 有向弧:约束图中连接两个变量 弧相容:如果对于变量X的每个取值x,变量Y都有某个取值能和x保持相容,则连接X-Y的弧是相容的。 当X的值有删除,X的邻居需重新检验相容性。 历时回溯:当一个分支搜索失败就倒退回前一个变量并尝试另一个值。重新访问的是时间最近的决策点。 智能回溯:向后看 倒退回导致失败的变量集合(冲突集)中的一个变量。 局部搜索算法可求解CSP问题,其中CSP问题使用完全状态形式化:初始状态每个变量都赋值,后续函数一次改变一个变量取值。 CSP 的实现 问题的结构 树状结构的CSP问题可以在变量个数的线性时间内求解: 1. 任选一节点作为树的根节点,从根节点到叶节点顺序排列:每个节点的父节点在它前面。 2. j = n to 2: 弧(Xi, Xj)上应用弧相容算法,删除Xj冲突值 3. j = 1 to n:赋给Xj跟Xi的值相容的任何值。 约束图?树 约束图?树 应用弧相容能够更早检测到前向检验不能发现的矛盾。 可在搜索过程中每次赋值后作约束传播,保持弧相容,即从变量值域中删除某值以消除弧不相容。 K相容:如果对于任何k-1个变量的相容赋值,第k个变量总能被赋予一个和前k-1个变量相容的值,则该CSP问题是k相容的。 强K相容:k相容,k-1相容,…,1相容。 N个节点若是强N相容的,则不需要回溯就能求解该CSP问题。 弧相容不能发现WA和NSW不能同时取红色 对高阶约束,有一些特殊的处理,值域用上下界表示,通过边界传播来删除矛盾值 处理特殊约束 变量X的冲突集是通过约束和X相连接的先前已赋值变量的集合。 冲突指导的后向跳转: 设Xj是当前变量,其冲突集conf(Xj) 当Xj的每个可能取值都失败,后向跳转到conf(Xj)中最近一个变量Xi,并置conf(Xi) conf(Xi) U conf(Xj)-{Xi} SA失败回溯到Q,Q的冲突集此时为{NT,NSW,WA} 再回溯到NT,NT的冲突集此时为{NSW,WA} 回溯到NSW 1 2 3 4 5 最小冲突启发式:选择会造成和其他变量的冲突最小的值。 相容性检验的平均次数 基本过程: 1、为问题选择适当的状态及操作形式化描述方法; 2、从某个初始状态出发每次使用一个操作; 3、递增建立操作序列; 4、一直到达到目标。 将CSP问题分解成独立的子问题。 约束图中寻找连通域。 E.g. n=80, d=2 280节点, 10百万节点/s,需4十亿年 4*220节点,需0.4s 树状结构的CSP问题: 任何两个变量最多通过一条路径连通。 树状结构的CSP问题可以在变量个数的线性时间内求解. X1 X6 X2 割集调整:对其中某些变量赋值,并从其他变量的值域中删除不相容值,使剩下的变量能形成树。 原变量至少在一个子问题中出现 若两个原变量有约束,则应至少同时出现在一个子问题。 若一个变量出现在两个子问题中,它必须出现在连接这些子问题的路径上的所有子问题中(保证了任何给定的变量在每个子问题中必须取值相同)。 树分解: 子问题间的约束仅需保持他们的共享变量的相容性。 每个变量有固定的值域 变量的值域可能是有限的,例如BOOL变量的值域包含2个值,可以是

文档评论(0)

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

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

1亿VIP精品文档

相关文档