国科大中科院算法讲义csp与传播第六版.docVIP

国科大中科院算法讲义csp与传播第六版.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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个皇后, 使得每一行、每一列以及每一斜线上不能 有两个以上的皇后。 ? 我们用6皇后问题解释一下前文的搜索技术 和传播 ? 编码使用六个变量x1,……,x6,每个变量的 值域是{1,2,3,4,5,6}当xn=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中被移除 搜索和传播

文档评论(0)

152****7770 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档