国科大中科院算法讲义CSP与传播第六版_第1页
国科大中科院算法讲义CSP与传播第六版_第2页
国科大中科院算法讲义CSP与传播第六版_第3页
国科大中科院算法讲义CSP与传播第六版_第4页
国科大中科院算法讲义CSP与传播第六版_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本次课的内容 CSP的相关概念的相关概念 解决解决CSP问题的方法问题的方法 传播技术传播技术 AC、GAC算法算法现实中约束(Constraint)的例子 会议要在10点之前开始 工资大于六千元 网络的流量不低于50M 约束无处不在,由此形成的约束可满足问题也在计算机科学中扮演重要角色Constraint Satisfaction Problem Constraint Satisfaction Problem:中文一般称为约束可满足问题,简称CSP 一个CSP被看做是一个三元组,其中: V是变量的集合 D是每个变量的值域 C是一组约束 问题的目标是:求一个对变量的赋值,该赋值满足C中所有的约

2、束一个CSP问题的例子 课程时间表问题 变量:每个课程对应一个变量,例如语文、数学、外语等 值域:每个变量的值域是可能的上课时间,例如:上午九点、下午三点等 约束:对课程做的一些限制。例如:语文课不能在上午九点上课,两门课不能同时开课等 目标:对于每一门课,求一个上课时间,所形成的上课时间表要满足所有的约束CSP的描述方式 Extensional方式:一个约束本质上是一些变量的值域的笛卡尔集的子集, Extensional方式是将这些子集的元素详细地写出来。例如变量x、y,他们的值域均为1、2、3,表示两个变量相等的约束,要写作:, Intensional方式:是采用一些符号来描述约束,上面的

3、例子可以用符号:x=y来表示该约束。二元约束和非二元约束 二元约束:只包含两个变量的约束,例如不等于,大于,小于 非二元约束:包含三个或三个以上变量的约束,例如alldifferent(X1,X2,X3) 此外还有一元约束,只包含一个变量的约束,一般这样的约束可以通过给定恰当的值域来描述。二元约束和非二元约束 二元约束是NP完全问题 任何非二元约束都可以转换为二元约束,例如: alldifferent(X1,X2,X3) 可以转换为二元约束X1 =/= X2, X1 =/= X3, X2 =/= X3 在理论上无需非二元约束 在实际应用中需要:非二元约束在描述上更紧凑,并且在求解中效率更高,有

4、些非二元约束有其特有的求解算法CSP问题的求解技术 两类主要方式: 1. 系统的搜索技术 2. 局部搜索技术 前者是完全搜索技术,无论是否有解,都可以知道 后者是不完全搜索技术,如果有解,可能给出结果,也可能不给出结果 一般来说,后者的求解效率比前者高系统的搜索技术 目前主要的搜索技术 算法框架为: 1. 给一个变量进行赋值 2. 其他的未被赋值的变量,在值域中可能有一些值已经不再满足某些约束,删除掉这些值 3. 如果某个变量的值域中所有的值都被删除,则证明该赋值无法导致问题的解,这时进行回溯,尝试其他的赋值局部搜索技术 算法的基本框架如下: 1. 首先产生一个完全的赋值,如果该赋值满足了所有

5、的约束,结束搜索,否则: 2. 改变某些不被满足中的约束的变量的值传播技术 在前面提到的系统的搜索技术中第二步,根据已有的赋值来消减未被赋值的变量的值域,就是传播。当一个变量的值域被消减后,可能会进一步影响其他变量,导致其他变量的值域也被消减,所以学术上将其形象的称为“传播” 传播技术在求解CSP问题中占有重要作用搜索和传播技术示例:六皇后问题 皇后问题是计算机领域的经典问题,N皇后问题是在一个N*N的棋盘上放置N个皇后,使得每一行、每一列以及每一斜线上不能有两个以上的皇后。 我们用6皇后问题解释一下前文的搜索技术和传播 编码使用六个变量x1,x6,每个变量的值域是1,2,3,4,5,6当xn

6、=m的时候,表示在第n列的第m行放置皇后搜索和传播技术示例:六皇后问题 假设第一步我们给x1赋值为2,表示在第二行第一列放置一个皇后,这时候,为了使得约束可以被满足: 1. 值1,2,3将会从变量x2中被移除 2. 值2,4将会从变量x3中被移除 3. 值2,5将会从变量x4中被移除 4. 值2,6将会从变量x5中被移除 5. 值2将会从变量x6中被移除搜索和传播技术示例:六皇后问题 假第二步给x2赋值为5,这时候,为了使得约束可以被满足: 1. 值5,6将会从变量x3中被移除 2. 值3将会从变量x4中被移除 3. 值5将会从变量x5中被移除 4. 值1将会从变量x6中被移除搜索和传播技术示

7、例:六皇后问题 这时剩下的变量的值域分别是: x3=1,3,x4=1,4,6,x5=1,3,4,x6=3,4, 6 假第三步给x3赋值为3,这时候,为了使得约束可以被满足: 1. 值4将会从变量x4中被移除 2. 值1,3将会从变量x5中被移除 5. 值3,6将会从变量x6中被移除搜索和传播技术示例:六皇后问题 这时剩下的变量的值域分别是: x4=1,6,x5=4,x6=4搜索和传播技术示例:六皇后问题 这个时候我们发现,只能给x5赋值为4,但是这样会导致冲突,因此需要进行回溯 回溯是重新给变量x3赋一个新的值传播和一致性 传播是CSP问题求解的核心技术 一致性(consistency)是传播

8、时需要加在CSP问题上的重要性质 可以说,传播的本质是为整个CSP问题维持某种一致性。原本问题是一致的,当某个值被消减掉之后,问题就变得不一致了,这个时候需要再进行值域的消减,以维护一致性Arc-consistency32,1,32,1,32,1,1 X, Y, Z, T 3X YY = ZT ZX TXYTZ32,1, =1 X, Y, Z, T 3X YY = ZT ZX TXYTZ =1323Arc-consistencyArc-consistencyArc-consistency 只记录值域的变化只记录值域的变化:ABABADRR 例如例如: .2 , 1 to ofdomain re

9、duces constriant ,3 , 2 , 1 ,3 , 2 , 1XYXRXYXRRArc-consistency 修正算法)(jijiiiDRDD图3.3: (a) 非 arc-consistent 的约束问题(b)具备 arc-consistent 的等价约束问题.AC-1)(3enkO复杂性(Mackworth and Freuder, 1986): e = arcs 的数目, n :变量的数目 ,k :值的数目(ek2, 每次迭代, nk 次迭代), 最好情况下有: ek,Arc-consistency : )(2ekAC-3)(3ekO复杂度: 最好情况 O(ek), 因为

10、没一个 arc 可以在 O(2k)步内被处理例子: 一个3变量的约束问题, 有两个约束: z 整除x 和 z 整除 y。 (a) 是原始问题 (b) 执行算法 AC-3 之后.AC-4)(2ekO 复杂度: (Counter 是xj 中xi 的值ai的supports的数目。 S_(xi,ai) 是(xi,ai)所支持的变量-值对的集合)应用了 AC-4的一个例子Arc-consistency 算法 AC-1: 强力搜索, 分布式 AC-3, 基于序列的 AC-4, 基于上下文的, 优化的 AC-5,6,7,. 对某些问题有效 重要重要: 算法要用在搜索的每一个节点上 (n :变量数目, e:

11、约束的数目, k:值域的大小)Mackworth and Freuder (1977,1983), Mohr and Anderson, (1985)(3ekO)(3nekO)(2ekOArc-consistency 够用么? 例子: 三角形图用两种颜色的染色问题,. arc-consistent? consistent? 它不是 path, 或者3-consistent的.Path-consistencyPath-consistencyRevise-3)(kjkikijijijRDRRR 复杂度: O(k3) 最好情况: O(t) 最坏情况: O(tk)PC-1 复杂度: O(n3) 个三元

12、组, 每一个花费 O(k3) 步 O(n3 k3)最大的迭代次数: O(n2 k2) .)(55knOPC-2)(53knO 复杂度: 优化的 PC-4:(每一个被删除的对要增加: 2n-1 个三元组, 对的数目: O(n2 k2) Q的大小是 O(n3 k2), 过程耗时 O(k3) )(33knO例子: path-consistency前后PC-1需要对每个 arc做2个处理过程 , PC-2 不用Path-definition of path-consistencyPath-consistency 算法 应用 Revise-3 (O(k3) 直到无变化为止 Path-consistenc

13、y (3-consistency) 添加了binary constraints. PC-1: PC-2: PC-4 optimal: )(kjkikijijijRDRRR)(55knO)(53knO)(33knOI-consistency更高级别的 consistency, global-consistencyRevise-i)(ikO 复杂度: 对binary constraints 对任意的 constraints: )2(ikO4-皇后的例子I-consistencyPath-consistency vs 3-consistencyNon-binary constraints 的Arc-consistency :Generalized arc-consistency复杂度: O(t k), t :元组的数目.)(xSSxxxDRDDGeneralized arc-consistency的例子 x+y+z = 13 x=2, y=2Global constraintsAlldiff 的例子A = 3,4,5,6B = 3,4C= 2,3,4,5D= 2,3,4E = 3,4Alldiff (A,B,C,D,EArc-consiste

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论