- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CS 问题和传播技术
本次课的内容
•CSP的相关概念
•解决CSP 问题的方法
•传播技术
•AC、GAC算法
现实中约束(Constraint)的例子
• 会议要在10点之前开始
• 工资大于六千元
• 网络的流量不低于50M
• ……
• 约束无处不在,由此形成的约束可满足问
题也在计算机科学中扮演重要角色
Constraint Satisfaction Problem
• Constraint Satisfaction Problem :中文一
般称为约束可满足问题,简称CSP
• 一个CSP 被看做是一个三元 V,D,C ,
其中:
V 是变量的集合
D 是每个变量的值域
C 是一组约束
• 问题的目标是:求一个对变量的赋值,该
赋值满足C 中所有的约束
一个CSP 问题的例子
• 课程时间表问题
• 变量:每个课程对应一个变量,例如语文、数学、
外语等
• 值域:每个变量的值域是可能的上课时间,例如:
上午九点、下午三点等
• 约束:对课程做的一些限制。例如:语文课不能
在上午九点上课,两门课不能同时开课等
• 目标:对于每一门课,求一个上课时间,所形成
的上课时间表要满足所有的约束
CSP的描述方式
• Extensional方式:一个约束本质上是一些
变量的值域的笛卡尔集的子集,
Extensional方式是将这些子集的元素详
细
地写出来。例如变量x、y,他们的值域
均
为{1、2、3},表示两个变量相等的约束,
要
写作:1,1,2,2,3,3
• Intensional方式:是采用一些符号来描述约
束,上面的例子可以用符号:x==y来表示
该约束。
二元约束和非二元约束
• 二元约束:只包含两个变量的约束,例如
不等于,大于,小于
• 非二元约束:包含三个或三个以上变量的
约束,例如alldifferent(X1,X2,X3)
• 此外还有一元约束,只包含一个变量的约
束,一般这样的约束可以通过给定恰当的
值域来描述。
二元约束和非二元约
• 二元约束是NP 完全问题
• 任何非二元约束都可以转换为二元约束,
例如:alldifferent(X1,X2,X3) 可以转换为
二元约 X1 =/= X2, X1 =/= X3, X2 =/= X3
• 在理论上无需非二元约
• 在实际应用中需要:非二元约束在描述上
更紧凑,并且在求解中效率更高,有些非
二元约束有其特有的求解算法
CSP问题的求解技术
• 两类主要方式:
• 1.系统的搜索技术
• 2.局部搜索技术
• 前者是完全搜索技术,无论是否有解,都
可以知道
• 后者是不完全搜索技术,如果有解,可能
给出结果,也可能不给出结果
• 一般来说,后者的求解效率比前者高
系统的搜索技术
• 目前主要的搜索技术
• 算法框架为:
• 1.给一个变量进行赋值
• 2.其他的未被赋值的变量,在值域中可能
有一些值已经不再满足某些约束,删除掉
这些值
• 3.如果某个变量的值域中所有的值都被删
除,则证明该赋值无法导致问题的解,这
时进行回溯,尝试其他的赋值
局部搜索技术
• 算法的基本框架如下:
• 1.首先产生一个完全的赋值,如果该赋值
满足了所有的约束,结束搜索,否则:
• 2.改变某些不被满足中的约束的变量的值
传播技术
• 在前面提到的系统的搜索技术中第二步,根
据已有的赋值来消减未被赋值的变量的值
域,就是传播。当一个变量的值域被消减
后,可能会进一步影响其他变量,导致其
他变量的值域也被消减,所以学术上将其
形象的称为“传播”
• 传播技术在求解CSP问题中占有重要作用
搜索和传播技术示例:六皇后问题
• 皇后问题是计算机领域的经典问题,N皇后
问题是在一个N*N的棋盘上放置N个皇
文档评论(0)