约束传播-智能科学与人工智能优秀PPT.ppt
《约束传播-智能科学与人工智能优秀PPT.ppt》由会员分享,可在线阅读,更多相关《约束传播-智能科学与人工智能优秀PPT.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、约束推理约束推理史忠植史忠植中国科学院计算技术探讨所中国科学院计算技术探讨所高级人工智能高级人工智能第三章2023/4/14史忠植 约束推理2第三章第三章 约束推理约束推理3.1 3.1 概述概述3.2 3.2 回溯法回溯法 3.3 3.3 约束传播约束传播 3.4 3.4 回跳法回跳法 3.5 3.5 约束推理系统约束推理系统COPS COPS 3.6 3.6 ILOG SOLVERILOG SOLVER3.7 3.7 约束逻辑程序设计约束逻辑程序设计在八皇后问题中,处理过程不是依据某种确定的计算法则,而是利用摸索和回溯的探究技术求解。为了求得合法布局,在计算机中要存储布局的当前状态。从最初
2、的布局状态起先,一步步地进行摸索,每摸索一步形成一个新的状态,整个摸索过程形成了一棵隐含的状态树。八皇后问题八皇后问题765432100 1 23 4 5 6 7接受接受DFS/BFSDFS/BFS搜寻策略搜寻策略The DFS/BFS tree will enumerate up to 648 combinations(assume limit depth to 8).648=248=2.8 x 1014Note redundancy:Q1 in(1,3),Q2 in(2,7)vs.Q1 in(2,7),Q2 in(1,3)2023/4/14史忠植 约束推理5概概 述述一个约束满足问题一个约
3、束满足问题(Constraint Satisfaction(Constraint Satisfaction Problem,Problem,简称简称CSP)CSP)包含一组变量与一组变量间的约包含一组变量与一组变量间的约束。束。变量表示领域参数,每个变量都有一个固定的值变量表示领域参数,每个变量都有一个固定的值域。一个变量的值域可能是有限的,例如一个布尔变域。一个变量的值域可能是有限的,例如一个布尔变量的值域包含两个值;也可能是离散无限的,如整数量的值域包含两个值;也可能是离散无限的,如整数域;也可能是连续的,照实数域。域;也可能是连续的,照实数域。x1,x2,xn,x1,x2,xn,D1,D
4、2,Dn,.D1,D2,Dn,.4,5,6,7 4,5,6,7 red,green,blue red,green,blue 约束满足问题约束满足问题CSPCSPGiven:(1)set of variables,(2)domains of the variables (3)constraints that the variables have to satisfyFind:An assignment of values to the variables,so that these values satisfy all the given constraints.In optimisation
5、problems,also specify optimisation criterion 2023/4/146史忠植 约束推理2023/4/14史忠植 约束推理7概概 述述 约束可用于描述领域对象的性质、相互关系、任务要求、目标等。约束 满足问题 的目标就是找到全部变量的一个(或多个)赋值,使全部约束都得到满足。一元谓词。序关系语言,只包含偏序关系或实变量上的大小关系。形如“x-y c”的方程。单位系数的线性方程与不等式,即全部的系数为 -1,0,1。随意系数的线性方程与不等式。约束的布尔组合。代数与三角方程。2023/4/14史忠植 约束推理8概概 述述约束表示易于理解、编码及有效实现,它具
6、有以下优点约束表示易于理解、编码及有效实现,它具有以下优点:约束表示允许以说明性的方式来表达领域学问,表达约束表示允许以说明性的方式来表达领域学问,表达实力较强,应用程序只需指定问题的目标条件及数据间实力较强,应用程序只需指定问题的目标条件及数据间的相互关系。因而具有逻辑表示的类似性质。的相互关系。因而具有逻辑表示的类似性质。约束表示允许变量的域包含随意多个值,而不像命题约束表示允许变量的域包含随意多个值,而不像命题 只取真假二值。所以它保存了问题的一些结构信息,如只取真假二值。所以它保存了问题的一些结构信息,如变量域的大小、变量间的相关性等,从而为问题求解供应变量域的大小、变量间的相关性等,
7、从而为问题求解供应启发式信息。启发式信息。易于并行实现。因为约束网络上的信息传播可以认为是易于并行实现。因为约束网络上的信息传播可以认为是同时的。同时的。适合于递增型系统。约束可以递增式地加入到约束网络。适合于递增型系统。约束可以递增式地加入到约束网络。易于与领域相关的问题求解模型相连接。各种数学规划技易于与领域相关的问题求解模型相连接。各种数学规划技术,方程求解技术等术,方程求解技术等,都可以自然地嵌入约束系统。都可以自然地嵌入约束系统。2023/4/14史忠植 约束推理9约束推理约束推理 约束搜寻约束搜寻主要探讨有限域上的约束满足。对有限域而言,约束满足问题一般状况下是 一个 NP 问题。
8、约束语言2023/4/14史忠植 约束推理10约束搜寻约束搜寻 回溯法。约束传播。智能回溯与真值维护。可变次序例示。局部修正法。2023/4/14史忠植 约束推理11约束语言约束语言CONSTRAINTSCHIPCOPSILOG2023/4/14史忠植 约束推理12CONSTRAINTSCONSTRAINTS约束语言约束语言 CONSTRAINTS是一个面对电路描述的约束表示语言。作为一个约束表示语言,它运用了符号处理技术来求解数学方程。在CONSTRAITS中,物理部件的功能及器件的结构都用约束表示。这些约束一般是线性方程与不等式,也包括条件表达式。约束变量一般是表示物理量的实变量。也有一些
9、取离散值的变量。如开关的状态、三极管的工作状态等。系统接受表达式推理与值推理。并实现相关制导的回溯。2023/4/14史忠植 约束推理13CONSTRAINTSCONSTRAINTS约束语言约束语言 CONSTRAINTS 的一个优点是在类型层次中表示约束,用约束来表示物理对象的功能与结构。其缺点是该语言缺乏类似于面对对象语言中的方法那样的成分,不能定义特定于某个类的概念。同时,约束传播方法比较单一,既缺乏实域上的区间传播机制,也缺乏有限域上的 域传播机制。2023/4/14史忠植 约束推理14约束逻辑程序设计语言约束逻辑程序设计语言CHIPCHIP CHIP(Constraint handl
10、ing in Prolog)就是这样较有影响一个约束逻辑程序设计语言,其目的是简便、敏捷而有效地解决一大类组合问题。它通过供应几种新的计算域而增加逻辑程序设计的实力;有限域、布尔项及有理项,对于每个计算域,都供应有效的约束求解技术,即有限域上的一样性技术,布尔域的布尔合一技术及有理数域上的单纯型法。除此以外,CHIP还包含一个一般的延迟计算机制。CHIP 主要应用于两个领域:运筹学与硬件设计。CHIP 缺乏类型机制,而这种机制对于表达领域概念是极其重要的。2023/4/14史忠植 约束推理15面对对象约束语言面对对象约束语言COPSCOPS COPS系统利用面对对象技术,将说明性约束表达与类型
11、层次结合起来。在形式上吸取了常规语言,主要是面对对象的程序设计语言的基本形式。内部求解时接受约束推理机制,使说明性约束表达式与类型层次相结合,实现学问的结构化封装,充分发挥两者的优点,力图实现一个具有较强表达实力和较高求解效率的约束满足系统。2023/4/14史忠植 约束推理16面对对象约束语言面对对象约束语言COPSCOPSCOPSCOPS的设计考虑了软件工程的应用要求,尽量将一个不确定问的设计考虑了软件工程的应用要求,尽量将一个不确定问题确定化:它允许条件语句与循环语句,而不是单题确定化:它允许条件语句与循环语句,而不是单纯以递归的形式来实现迭代计算;纯以递归的形式来实现迭代计算;通过类方
12、法的重栽实现同一通过类方法的重栽实现同一约束的不同实现,提高了程序的执行效率。约束的不同实现,提高了程序的执行效率。COPSCOPS系统同时是一个系统同时是一个渐增式的开放系统,用户能通过类型层次定义,实现新的数据类渐增式的开放系统,用户能通过类型层次定义,实现新的数据类型和新的约束关系。约束语言型和新的约束关系。约束语言COPSCOPS具有很多人工智能程序设计语具有很多人工智能程序设计语言的特点,如约束传播、面对目标和数据驱动的问题求解、有限言的特点,如约束传播、面对目标和数据驱动的问题求解、有限步的回溯、对象分层中的继承等。步的回溯、对象分层中的继承等。2023/4/14史忠植 约束推理1
13、7 在实际应用中,算法的表现形式千变万化,但是算法的状况也和数据结构类似,很多算法的设计思想具有相像之处,我们可以对它们分类进行学习和探讨。常用的算法大致有如下一些:贪心法分治法:如二分法检索回溯法动态规划法局部搜寻法分支限界法常用的算法常用的算法2023/4/14史忠植 约束推理18 评价一个程序优劣的重要依据是看这个程序的执行须要占用多少机器资源。人们最关切的就是程序所用算法运行时所要花费的时间代价和程序中运用的数据结构占有的空间代价。算法的空间代价(或称空间困难性):当被解决问题的规模(以某种单位计算)由1增至n时,解该问题的算法所需占用的空间也以某种单位由f(1)增至f(n),这时我们
14、称该算法的空间代价是f(n)。算法的时间代价(或称时间困难性):当问题规模以某种单位由1增至n时,对应算法所耗费的时间也以某种单位由g(1)增至g(n),这时我们称算法的时间代价是g(n)。算法分析算法分析2023/4/14史忠植 约束推理19穷尽搜寻方法穷尽搜寻方法穷尽搜寻方法穷尽搜寻方法 即产生全部可能的树,然后依据评价标即产生全部可能的树,然后依据评价标准选择一棵最优的树。准选择一棵最优的树。Exhaustive-Search-Top(P)where P is a CSP of the form(V,D,C)1.f:=the null assignment2.return Exhaust
15、ive-Search(f,P)2023/4/14史忠植 约束推理20穷尽搜寻方法穷尽搜寻方法 Exhaustive-Search(f,P)1.if f is a total assignment of the variables in P2.if f satisfies the constraints in P3.answer:=f4.else 5.answer:=Unsat6.else 7.v:=some variable in P that is not yet assigned a value by f8.answer:=Unsat9.for each value while answe
16、r=Unsat10.f(v):=11.answer:=Exhaustive-Search(f,P)12.return answer2023/4/14史忠植 约束推理21贪心法贪心法贪心法把构造可行解的工作分阶段来完成。在各个贪心法把构造可行解的工作分阶段来完成。在各个阶段,选择那些在某些意义下是局部最优的方案,期阶段,选择那些在某些意义下是局部最优的方案,期望各阶段的局部最优的选择带来整体最优。望各阶段的局部最优的选择带来整体最优。例:例:Dijkstra的最短路径算法、的最短路径算法、Kruskal的求最小的求最小生成树算法、信号灯问题生成树算法、信号灯问题2023/4/14史忠植 约束推理
17、22回溯算法回溯算法有些问题须要彻底的搜寻才能解决问题,有些问题须要彻底的搜寻才能解决问题,然而,彻底的搜寻要以大量的运算时间为代然而,彻底的搜寻要以大量的运算时间为代价,对于这种状况可以通过回溯法来去掉一价,对于这种状况可以通过回溯法来去掉一些分支,从而大大削减搜寻的次数。些分支,从而大大削减搜寻的次数。八皇后问题八皇后问题迷宫问题迷宫问题深度优先周游树或图深度优先周游树或图约束推理 ppt 四皇后问题中隐含的状态树 四皇后问题四皇后问题2023/4/14史忠植 约束推理244-Queens Puzzle2023/4/14史忠植 约束推理254-Queens Tree回溯算法回溯算法Back
18、track Searchempty assignment1st variable2nd variable3rd variableAssignment=回溯算法回溯算法Backtrack Searchempty assignment1st variable2nd variable3rd variableAssignment=(var1=v11)回溯算法回溯算法Backtrack Searchempty assignment1st variable2nd variable3rd variableAssignment=(var1=v11),(var2=v21)回溯算法回溯算法Backtrack Se
19、archempty assignment1st variable2nd variable3rd variableAssignment=(var1=v11),(var2=v21),(var3=v31)回溯算法回溯算法Backtrack Searchempty assignment1st variable2nd variable3rd variableAssignment=(var1=v11),(var2=v21),(var3=v32)回溯算法回溯算法Backtrack Searchempty assignment1st variable2nd variable3rd variableAssign
20、ment=(var1=v11),(var2=v22)回溯算法回溯算法Backtrack Searchempty assignment1st variable2nd variable3rd variableAssignment=(var1=v11),(var2=v22),(var3=v31)2023/4/14史忠植 约束推理33回溯算法回溯算法 Backtracking-Top(P)1 f:=the null assignment2 return Backtracking(f,P)2023/4/14史忠植 约束推理34回溯算法回溯算法 Backtracking(f,P)1 if f is a t
21、otal assignment of the variables in P2 answer:=f3 else 4 v:=some variable in P that is not yet assigned a value by f5 answer:=Unsat6 for each value while answer=Umsat7 f(v):=x8 if f satisfies the constraints in P9 answer:=Backtracking(f,P)10 return answer2023/4/14史忠植 约束推理35Backtracking AlgorithmlBas
22、ed on depth-first recursive searchlApproach1.Tests whether solution has been found2.If found solution,return it3.Else for each choice that can be madea)Make that choiceb)Recurc)If recursion returns a solution,return it4.If no choices remain,return failurelSome times called“search tree”2023/4/14史忠植 约
23、束推理36回溯算法回溯算法 尽管回溯法好于生成测试法,但对于非平凡问题仍旧是低效的。其缘由在于搜寻空间中不同路径的搜寻重复相同的失败子路径。一些探讨者认为,造成这种反复的缘由是所谓的局部不一样性。最简洁的情形是所谓的结点不一样性。对一个变量vi的一个一元约束。存在域中一个值vi不满足该约束。这样,每当vi取到 a 时就会出现不一样性。另一种重复的情形 是所谓的弧不一样性。2023/4/14史忠植 约束推理37 约束传播约束传播CONSTRAINT PROPAGATION弧一样性弧一样性Arc Arc consistency consistency 2023/4/14史忠植 约束推理38弧一样性
24、弧一样性 Arc consistency 假如对vi 的当前域中的全部值x,存在vj的当前域中的某值y使得 vi=x和vj=y是vi与vj之间的约束所允许的,则弧(vi,vj)是弧一样的。弧一样性的概念是有向的。即(vi,vj)是弧一样的并不自动地意味着(vj,vi)是一样的。2023/4/14史忠植 约束推理39 CONSTRAINT PROPAGATIONAll of the Mackworth algorithms make use All of the Mackworth algorithms make use of a Revise procedure.of a Revise pro
25、cedure.Let Dv be the current domain of v,Let Dv be the current domain of v,Let Dw be the current domain of w,Let Dw be the current domain of w,Let P be the constraint predicate that Let P be the constraint predicate that holds between v and w,then Revise updates holds between v and w,then Revise upd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 约束 传播 智能 科学 人工智能 优秀 PPT
限制150内