版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章约束满足问题Review:LastChapterBest-firstsearch
Heuristicfunctionsestimatecostsofshortestpaths
Goodheuristicscandramaticallyreducesearchcost
Greedybest-firstsearchexpandslowesth
—incompleteandnotalwaysoptimal
A*searchexpandslowestg+h
—completeandoptimal
—alsooptimallyefficient(uptotie-breaks,forforwardsearch)
Admissibleheuristicscanbederivedfromexactsolutionofrelaxedproblems
Review:LastChapterLocalsearchalgorithms
thepathtothegoalisirrelevant;thegoalstateitselfisthesolutionkeepasingle"current"state,trytoimproveit
Hill-climbingsearch
dependingoninitialstate,cangetstuckinlocalmaxima
Simulatedannealingsearch
escapelocalmaximabyallowingsome“bad”movesbut graduallydecreasetheirfrequency
Localbeamsearch
Keeptrackofkstatesratherthanjustone
Geneticalgorithms本章大纲CSPexamples
BacktrackingsearchforCSPs
Problemstructureandproblemdecomposition
LocalsearchforCSPs
Constraintsatisfactionproblems(CSPs) Standardsearchproblem:
stateisa“blackbox“–anyolddatastructurethatsupportsgoaltest, eval,successor
任何可以由目标测试、评价函数、后继函数访问的数据结构
CSP:
stateisdefinedbyvariablesXi
withvaluesfromdomain(值域)Di
goaltestisasetofconstraintsspecifyingallowablecombinationsofvaluesforsubsetsofvariables
每个约束包括一些变量的子集,并指定这些子集的值之间允许进行的合并
Simpleexampleofaformalrepresentationlanguage(形式化表示方法)
Allowsusefulgeneral-purpose(通用的,而不是问题特定的)algorithmswithmorepowerthanstandardsearchalgorithmsExample:Map-Coloring变量
WA,NT,Q,NSW,V,SA,T
值域
Di={red,green,blue}
约束:adjacentregionsmusthavedifferentcolors
e.g.,WA≠NT,or(ifthelanguageallowsthis),or
(WA,NT)∈{(red,green),(red,blue),(green,red),(green,blue),…}Example:Map-ColoringSolutionsareassignmentssatisfyingallconstraints,e.g.,
{WA=red,NT=green,Q=red,NSW=green,V=red,SA=blue,T=green}
Constraintgraph(约束图) BinaryCSP:每个约束与2个变量有关
约束图:节点是变量,边是约束General-purposeCSPalgorithms(通用CSP算法)usethegraphstructuretospeedupsearch.
E.g.,Tasmaniaisanindependentsubproblem!CSP的种类离散变量finitedomains有限值域:
n个变量,值域大小d→O(dn)完全赋值
e.g.,BooleanCSPs/布尔CSP问题(NP-complete)
infinitedomains无限值域(integers,strings,etc.)
e.g.,jobscheduling,variablesarestart/enddaysforeachjob
不能通过枚举来描述值域,只能用约束语言
,e.g.,
线性约束可解,
非线性约束不可解连续值域的变量
e.g.,哈勃望远镜观测的开始、结束时间
线性规划问题linearconstraintssolvableinpolynomialtimebylinearprogramming(LP)methods约束的种类Unary(一元)约束只限制单个变量的取值,
e.g.,SA≠green
Binary(二元)约束与两个变量有关,
e.g.,SA≠WA
Higher-order(高阶)约束involve3ormorevariables,
e.g.,cryptarithmetic(密码算数)columnconstraints
偏好约束
(softconstraints),e.g.,redisbetterthangreen
oftenrepresentablebyacostforeachvariableassignment(个体变量赋值的耗散)
→约束优化问题Example:密码算数变量:FTUWROX1X2X3
值域:{0,1,2,3,4,5,6,7,8,9}
约束:
alldiff(F,T,U,W,R,O)
O+O=R+10·X1
X1+W+W=U+10·X2
X2+T+T=O+10·X3X3=F,T≠0,F≠0约束超图Real-worldCSPsAssignmentproblems(分配问题)
e.g.,whoteacheswhatclass
whoreviewswhichpapersTimetablingproblems(时间表安排问题)
e.g.,whichclassisofferedwhenandwhere?Hardwareconfiguration(硬件配置问题)Transportationscheduling(交通调度)Factoryscheduling(工厂调度)Floorplanning(平面布置)Noticethatmanyreal-worldproblemsinvolvereal-valuedvariables
列举分配
指数时间
dn
Butcomplete
canwebecleveraboutexponentialtimealgorithms?
形式化描述标准搜索
(incremental增量形式化)从简单直白的方法开始,状态被定义为已被赋值的变量
初始状态:空的赋值,{}后继函数:给一个未赋值变量赋值使之不与当前状态冲突
→fail如果没有合法赋值
目标测试:检验当前赋值是否完全 1.ThisisthesameforallCSPs!
2.Everysolutionappearsatdepthnwithnvariables
→usedepth-firstsearch
3.Pathisirrelevant,socanalsousecomplete-stateformulation(完全状态形式化)
4.b=(n-l)datdepthl,hencen!·dn
leaves!!!!Backtrackingsearch回溯搜索变量赋值具有可交换性,也就是说
[WA=redthenNT=green]sameas[NT=greenthenWA=red]在搜索树的每个节点上只考虑单个变量的可能赋值
b=dandthereare
dn
leavesDepth-firstsearchforCSPswithsingle-variableassignmentsiscalled
backtrackingsearch回溯搜索是处理CSP问题最基础的无信息搜索算法Cansolven-queensforn≈25回溯搜索BacktrackingexampleBacktrackingexampleBacktrackingexampleBacktrackingexample提高回溯效率General-purposemethodscangivehugegainsinspeed:
1.哪一个变量应该被下一个赋值?
2.赋值应该以什么样的顺序被尝试?
3.能更早察觉到不可避免的失败吗?
4.Canwetakeadvantageofproblemstructure?MinimumremainingvaluesMinimumremainingvalues最少剩余值(MRV):
选择“合法”取值最少的变量
Whyminratherthanmax?
被称为“最受约束变量”
或“失败优先”启发式
Degreeheuristic(度启发式)
在MRV无法抉择时启动度启发式
度启发式:
通过选择涉及对其它未赋值变量的约束数最大的变量提高回溯效率General-purposemethodscangivehugegainsinspeed:
1.哪一个变量应该被下一个赋值?
2.赋值应该以什么样的顺序被尝试?
3.能更早察觉到不可避免的失败吗?
4.Canwetakeadvantageofproblemstructure?最少约束值一个变量被选定,choosetheleastconstrainingvalue(最少约束值):
这个选择的值是在约束图中排除邻居变量的可选值最少的
需注意的是可能需要经过一些计算来确定这个值
结合以上启发式来解决1000queens是可行的提高回溯效率General-purposemethodscangivehugegainsinspeed:
1.哪一个变量应该被下一个赋值?
2.赋值应该以什么样的顺序被尝试?
3.能更早察觉到不可避免的失败吗?
4.Canwetakeadvantageofproblemstructure?Forwardchecking—前向检验Idea:保持记录未赋值变量的剩余合法值
当任一变量没有合法值时结束搜索前向检验Idea:保持记录未赋值变量的剩余合法值
当任一变量没有合法值时结束搜索前向检验Idea:保持记录未赋值变量的剩余合法值
当任一变量没有合法值时结束搜索前向检验Idea:保持记录未赋值变量的剩余合法值
当任一变量没有合法值时结束搜索Constraintpropagation—约束传播前向检验将信息从已赋值变量传播到未赋值变量,但是并不能提前检测出所有矛盾:NT
andSA
cannotbothbeblue!
约束传播必须反复应用直到不在有矛盾Arcconsistency—弧相容最简单的传播形式是使每条弧相容
X→Y是相容的,当且仅当
对变量X中的任意值x都存在相容赋值yArcconsistency—弧相容最简单的传播形式是使每条弧相容
X→Y是相容的,当且仅当
对变量X中的任意值x都存在相容赋值yArcconsistency—弧相容最简单的传播形式是使每条弧相容
X→Y是相容的,当且仅当
对变量X中的任意值x都存在相容赋值y如果
X失去了一个值,X的邻居需要再次核对
Arcconsistency—弧相容最简单的传播形式是使每条弧相容
X→Y是相容的,当且仅当
对变量X中的任意值x都存在相容赋值y如果
X失去了一个值,X的邻居需要再次核对弧相容能比前向检验更早发现矛盾
被运行于搜索前的预处理,或者每一次赋值后弧相容算法AC-3O(n2d3)(butdetectingallisNP-hard)提高回溯效率General-purposemethodscangivehugegainsinspeed:
1.哪一个变量应该被下一个赋值?
2.赋值应该以什么样的顺序被尝试?
3.能更早察觉到不可避免的失败吗?
4.Canwetakeadvantageofproblemstructure?本章大纲CSPexamples
BacktrackingsearchforCSPs
Problemstructureandproblemdecomposition
LocalsearchforCSPs
问题的结构 T岛和大陆是不连通的
约束图中的连通域是可辨认的问题的结构假设每个子问题有总共n个变量中的c个变量最差情况下的工作量为O(n/c·dc),是n的线性函数E.g.,n=80,d=2,c=20 280=4billionyearsat10millionnodes/sec 4·220=0.4secondsat10millionnodes/sec树状结构的CSPsTheorem:iftheconstraintgraphhasnoloops,theCSPcanbesolvedinO(n·d2)time任何一个树状结构的CSP问题可以在变量个数的线性时间内求解ComparetogeneralCSPs,whereworst-casetimeisO(dn)这个性质同样适用于逻辑与概率推理:一个重要的例子:语法约束与推理复杂度之间的关系Algorithmfor树状结构的CSPs1.任选一个节点作为树的根节点,从跟节点到叶节点按顺序排列,每个节点的父节点都在它的前面2.令j从n到2,在弧(Parent(Xj),Xj)上应用弧相容算法,从Xj的值域中删除必要的值3.令j从1到n,赋给变量Xj与变量Parent(Xj)相容的值Complexity:O(n·d2)近似树状结构调整:删除一个变量,修建其邻居的值域割集调整:删除一组变量(环割集)使剩下的约束图为一颗树环割集大小c→运行时间O(dc(n-c)d2),当c很小时比直接回溯有巨大的节省寻找最小的环割集是一个NP难题,但存在有效的近似算法本章大纲CSPexamples
BacktrackingsearchforCSPs
Problemstructureandproblemdecomposition
LocalsearchforCSPs
CSPs的迭代算法爬山算法、模拟退火算法是处理完全状态的形式化问题(所有变量已被赋值)的典型算法应用到CSPs:
允许状态有未满足的约束条件
操作者再次分配变量值变量选择:随机选择任意有冲突的变量选择新值的时候采用
min-conflicts(最小冲突)启发式: choosevaluethatviolatesthefewestcons
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026正高面审答辩-正高050面审答辩妇产科护理历年题库含答案详解
- 2026本港海船船员考试《轮机专业(船舶辅机·轮机员)》历年参考题库含答案详解
- 2026教师职称-广西-广西教师职称(基础知识、综合素质、高中历史)历年参考题库含答案详解3套试卷
- 在线教育平台用户分群分析课程设计
- 保护牙齿微课程设计
- 初中作文暑期课程设计
- 交互式数据新闻可视化平台研究课程设计
- UWB功耗管理课程设计
- 名包回收鉴定技师考试试卷及答案
- 美术编辑岗位设计考试试卷及答案
- 数据中心运维管理SOP文件
- 8D报告培训教材
- 2026年医院抗菌药物临床应用管理试题
- 防范鼠疫应急预案(3篇)
- 五年(2021-2025)中考数学真题分类汇编(新疆专用)18:圆(学生版)
- 2026年一级建造师(港口与航道工程)模拟考试题及答案
- 抗日战争胜利纪念日
- 2024年黎明职业大学辅导员考试笔试真题汇编附答案
- 医药代表培训考核制度
- 车间吸烟管制安全培训课件
- 整机装联工艺与技术
评论
0/150
提交评论