《E约束满足人工智能.pptx》由会员分享,可在线阅读,更多相关《E约束满足人工智能.pptx(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、约束传播Constraint Propagation将一个皇后放入到一个方格里移去所有可能攻击到的方格第1页/共76页66555565 5 5 5 5 6 7Constraint Propagation计算每一行、每一列不会受到攻击的方格数将一个皇后放置在有着最小数目的行或列上再次移去可能受到攻击的所有方格第2页/共76页3443354 3 3 3 4 5重复前述过程Constraint Propagation第3页/共76页432343 3 3 4 3Constraint Propagation第4页/共76页422133 3 3 1Constraint Propagation第5页/共76
2、页2212 2 1Constraint Propagation第6页/共76页Constraint Propagation211 2第7页/共76页Constraint Propagation11 第8页/共76页Constraint Propagation第9页/共76页我们需要些什么?后继函数与目标测试还需要:通过约束传播(propagate the constraints)信息,比如通过对一个皇后位置的约束来影响其他皇后的位置提前的失败测试(failure test)约束的清晰表示 约束传播算法第10页/共76页约束满足问题(CSP)Constraint Satisfaction Pro
3、blem(CSP)变量的集合 variables X1,X2,Xn每一个变量Xi所有可能的取值,构成该变量的值域Di;通常Di是有限的约束的集合 constraints C1,C2,Cp每个约束描述了一个变量子集与特定的某些值合法的结合对应关系目标:每一个变量都得到了一个赋值,且所有的约束得到满足第11页/共76页地图着色问题 7 个变量 WA,NT,SA,Q,NSW,V,T 每个变量的值域是一样的:red,green,blue 两个相邻的变量不能取相同的值:WA NT,WA SA,NT SA,NT Q,SA Q,SA NSW,SA V,Q NSW,NSW VWANTSAQNSWVTWANTS
4、AQNSWVT第12页/共76页8-皇后问题 8 个变量 Xi,i=1 to 8 每个变量的值域均为:1,2,8 约束表示为如下形式:Xi=k Xj k for all j=1 to 8,j i对角线也是相同的约束所有的约束都是二进制表示第13页/共76页Street Puzzle(课本习题5.13)12345Ni=English,Spaniard,Japanese,Italian,NorwegianCi =Red,Green,White,Yellow,BlueDi=Tea,Coffee,Milk,Fruit-juice,WaterJi=Painter,Sculptor,Diplomat,Vi
5、olinist,DoctorAi=Dog,Snails,Fox,Horse,ZebraThe Englishman lives in the Red houseThe Spaniard has a DogThe Japanese is a PainterThe Italian drinks TeaThe Norwegian lives in the first house on the leftThe owner of the Green house drinks CoffeeThe Green house is on the right of the White houseThe Sculp
6、tor breeds SnailsThe Diplomat lives in the Yellow houseThe owner of the middle house drinks MilkThe Norwegian lives next door to the Blue houseThe Violinist drinks Fruit juiceThe Fox is in the house next to the DoctorsThe Horse is next to the DiplomatsWho owns the Zebra?Who drinks Water?第14页/共76页Str
7、eet Puzzle12345Ni=English,Spaniard,Japanese,Italian,NorwegianCi =Red,Green,White,Yellow,BlueDi=Tea,Coffee,Milk,Fruit-juice,WaterJi=Painter,Sculptor,Diplomat,Violinist,DoctorAi=Dog,Snails,Fox,Horse,ZebraThe Englishman lives in the Red houseThe Spaniard has a DogThe Japanese is a PainterThe Italian dr
8、inks TeaThe Norwegian lives in the first house on the leftThe owner of the Green house drinks CoffeeThe Green house is on the right of the White houseThe Sculptor breeds SnailsThe Diplomat lives in the Yellow houseThe owner of the middle house drinks MilkThe Norwegian lives next door to the Blue hou
9、seThe Violinist drinks Fruit juiceThe Fox is in the house next to the DoctorsThe Horse is next to the Diplomats i,j1,5,ij,Ni Nj i,j1,5,ij,Ci Cj.第15页/共76页Street Puzzle12345Ni=English,Spaniard,Japanese,Italian,NorwegianCi =Red,Green,White,Yellow,BlueDi=Tea,Coffee,Milk,Fruit-juice,WaterJi=Painter,Sculp
10、tor,Diplomat,Violinist,DoctorAi=Dog,Snails,Fox,Horse,ZebraThe Englishman lives in the Red houseThe Spaniard has a DogThe Japanese is a PainterThe Italian drinks TeaThe Norwegian lives in the first house on the leftThe owner of the Green house drinks CoffeeThe Green house is on the right of the White
11、 houseThe Sculptor breeds SnailsThe Diplomat lives in the Yellow houseThe owner of the middle house drinks MilkThe Norwegian lives next door to the Blue houseThe Violinist drinks Fruit juiceThe Fox is in the house next to the DoctorsThe Horse is next to the Diplomats(Ni=English)(Ci=Red)(Ni=Japanese)
12、(Ji=Painter)(N1=Norwegian)其余的类似,留给同学们思考(Ci=White)(Ci+1=Green)(C5 White)(C1 Green)第16页/共76页Street Puzzle12345Ni=English,Spaniard,Japanese,Italian,NorwegianCi =Red,Green,White,Yellow,BlueDi=Tea,Coffee,Milk,Fruit-juice,WaterJi=Painter,Sculptor,Diplomat,Violinist,DoctorAi=Dog,Snails,Fox,Horse,ZebraThe E
13、nglishman lives in the Red houseThe Spaniard has a DogThe Japanese is a PainterThe Italian drinks TeaThe Norwegian lives in the first house on the leftThe owner of the Green house drinks CoffeeThe Green house is on the right of the White houseThe Sculptor breeds SnailsThe Diplomat lives in the Yello
14、w houseThe owner of the middle house drinks MilkThe Norwegian lives next door to the Blue houseThe Violinist drinks Fruit juiceThe Fox is in the house next to the DoctorsThe Horse is next to the Diplomats(Ni=English)(Ci=Red)(Ni=Japanese)(Ji=Painter)(N1=Norwegian)(Ci=White)(Ci+1=Green)(C5 White)(C1 G
15、reen)一元(unary)约束第17页/共76页Street Puzzle12345Ni=English,Spaniard,Japanese,Italian,NorwegianCi =Red,Green,White,Yellow,BlueDi=Tea,Coffee,Milk,Fruit-juice,WaterJi=Painter,Sculptor,Diplomat,Violinist,DoctorAi=Dog,Snails,Fox,Horse,ZebraThe Englishman lives in the Red houseThe Spaniard has a DogThe Japanes
16、e is a PainterThe Italian drinks TeaThe Norwegian lives in the first house on the left N1=NorwegianThe owner of the Green house drinks CoffeeThe Green house is on the right of the White houseThe Sculptor breeds SnailsThe Diplomat lives in the Yellow houseThe owner of the middle house drinks Milk D3=
17、MilkThe Norwegian lives next door to the Blue houseThe Violinist drinks Fruit juiceThe Fox is in the house next to the DoctorsThe Horse is next to the Diplomats第18页/共76页Street Puzzle12345Ni=English,Spaniard,Japanese,Italian,NorwegianCi =Red,Green,White,Yellow,BlueDi=Tea,Coffee,Milk,Fruit-juice,Water
18、Ji=Painter,Sculptor,Diplomat,Violinist,DoctorAi=Dog,Snails,Fox,Horse,ZebraThe Englishman lives in the Red house C1 RedThe Spaniard has a Dog A1 DogThe Japanese is a PainterThe Italian drinks TeaThe Norwegian lives in the first house on the left N1=NorwegianThe owner of the Green house drinks CoffeeT
19、he Green house is on the right of the White houseThe Sculptor breeds SnailsThe Diplomat lives in the Yellow houseThe owner of the middle house drinks Milk D3=MilkThe Norwegian lives next door to the Blue houseThe Violinist drinks Fruit juice J3 ViolinistThe Fox is in the house next to the DoctorsThe
20、 Horse is next to the Diplomats第19页/共76页有限CSP vs.无限CSPFinite vs.Infinite CSP有限CSP:每个变量的值域有有限个值无限CSP:一些或所有的变量的值域是无限的E.g.,实数线性规划:本课程只讨论有限CSP第20页/共76页CSP 描述为搜索问题n个变量 X1,.,Xn合法赋值:Xi1 vi1,.,Xik vik,0 k n,即取值vi1,.,vik满足所有与变量Xi1,.,Xik有关的约束完全赋值:k由0到n,每个变量都得到了赋值 变量值域大小为d,则有O(dn)种完全赋值状态:合法赋值初始状态:空赋值,即 k=0,也就是
21、还没有变量得到赋值状态的后继:Xi1vi1,.,Xikvik Xi1vi1,.,Xikvik,Xik+1vik+1目标测试:k=n,即n个变量都得到了赋值第21页/共76页第22页/共76页4 变量 X1,.,X4令节点N的合法赋值为:A=X1 v1,X3 v3 以为变量X4取值为例令X4 的值域为 v4,1,v4,2,v4,3A的后继为以下赋值中的合法赋值:X1 v1,X3 v3,X4 v4,1 X1 v1,X3 v3,X4 v4,2 X1 v1,X3 v3,X4 v4,3 第23页/共76页第24页/共76页回溯搜索Backtracking Search本质即使用递归的简化深度优先算法第2
22、5页/共76页回溯搜索(3 变量)赋值 Assignment=第26页/共76页赋值 Assignment=(X1,v11)X1v11回溯搜索(3 变量)第27页/共76页赋值 Assignment=(X1,v11),(X3,v31)X1v11v31X3回溯搜索(3 变量)第28页/共76页赋值 Assignment=(X1,v11),(X3,v31)X1v11v31X3X2假设没有一个X2的取值能构成合法赋值于是,搜索算法回溯到前一个变量(X3)并尝试另外的赋值回溯搜索(3 变量)第29页/共76页赋值 Assignment=(X1,v11),(X3,v32)X1v11X3v32v31X2回
23、溯搜索(3 变量)第30页/共76页赋值 Assignment=(X1,v11),(X3,v32)X1v11X3v32X2假设仍然没有一个X2的取值能构成合法赋值搜索算法回溯到前一个变量(X3)并尝试另外的赋值。但假设X3只有两个可能的取值。于是算法回溯到X1v31X2回溯搜索(3 变量)第31页/共76页赋值 Assignment=(X1,v12)X1v11X3v32X2v31X2v12回溯搜索(3 变量)第32页/共76页Assignment=(X1,v12),(X2,v21)X1v11X3v32X2v31X2v12v21X2回溯搜索(3 变量)第33页/共76页Assignment=(X
24、1,v12),(X2,v21)X1v11X3v32X2v31X2v12v21X2算法不需要考虑与其他子树中次序一样的变量回溯搜索(3 变量)第34页/共76页Assignment=(X1,v12),(X2,v21),(X3,v32)X1v11X3v32X2v31X2v12v21X2v32X3回溯搜索(3 变量)第35页/共76页Assignment=(X1,v12),(X2,v21),(X3,v32)X1v11X3v32X2v31X2v12v21X2v32X3算法不需要考虑那些在其它子树中次序一样的X3赋值回溯搜索(3 变量)第36页/共76页Assignment=(X1,v12),(X2,v
25、21),(X3,v32)X1v11X3v32X2v31X2v12v21X2v32X3由于只有三个变量,因此赋值已完全回溯搜索(3 变量)第37页/共76页回溯算法Backtracking AlgorithmCSP-BACKTRACKING(A)1.If assignment A is complete then return A2.X select a variable not in A3.D select an ordering on the domain of X4.For each value v in D do a.Add(Xv)to Ab.If A is valid theni.re
26、sult CSP-BACKTRACKING(A)ii.If result failure then return result5.Return failureCall CSP-BACKTRACKING()该递归算法会保存太多的数据到内存中,用迭代改进将会节省许多内存,感兴趣的同学可以进一步思考。第38页/共76页地图着色问题Map ColoringWA=redWA=greenWA=blueWA=redNT=greenWA=redNT=blueWA=redNT=greenQ=redWA=redNT=greenQ=blueWANTSAQNSWVT第39页/共76页CSP回溯效率的关键问题CSP-B
27、ACKTRACKING(A)1.If assignment A is complete then return A2.X select a variable not in A3.D select an ordering on the domain of X4.For each value v in D do a.Add(Xv)to Ab.If a is valid theni.result CSP-BACKTRACKING(A)ii.If result failure then return result5.Return failure第40页/共76页1)下一个将选择哪一个变量来赋值?The
28、 current assignment may not lead to any solution,but the algorithm still does know it.Selecting the right variable to which to assign a value may help discover the contradiction more quickly2)变量X的(多个)值应该按一个什么样的次序进行赋值?The current assignment may be part of a solution.Selecting the right value to assig
29、n to X may help discover this solution more quicklyMore on these questions in a short while.CSP回溯效率的关键问题第41页/共76页1)下一个将选择哪一个变量来赋值?当前的赋值不一定就能得到问题的解,正确的选择一个变量将有助于更快的发现约束关系2)变量X的(多个)值应该按一个什么样的次序进行赋值?The current assignment may be part of a solution.Selecting the right value to assign to X may help disco
30、ver this solution more quicklyMore on these questions in a short while.CSP回溯效率的关键问题第42页/共76页1)下一个将选择哪一个变量来赋值?当前的赋值不一定就能得到问题的解,正确的选择一个变量将有助于更快的发现约束关系2)变量X的(多个)值应该按一个什么样的次序进行赋值?当前的赋值可能会是解的一部分,正确的选择一个值赋给X将有助于更快的找到解More on these questions in a short while.CSP回溯效率的关键问题第43页/共76页1)下一个将选择哪一个变量来赋值?当前的赋值不一定就能
31、得到问题的解,正确的选择一个变量将有助于更快的发现约束关系2)变量X的(多个)值应该按一个什么样的次序进行赋值?当前的赋值可能会是解的一部分,正确的选择一个值赋给X将有助于更快的找到解有关问题将很快得到解答CSP回溯效率的关键问题第44页/共76页前向检验Forward Checking把值5赋给X1导致变量X2,X3,.,X8的值域减小(值域中的一些值被移去)12345678X1 X2 X3 X4 X5 X6 X7 X8一种简单的约束传播技术:第45页/共76页地图着色问题的前向检验WANTQNSWVSATRGBRGBRGBRGBRGBRGBRGBTWANTSAQNSWV第46页/共76页W
32、ANTQNSWVSATRGBRGBRGBRGBRGBRGBRGBRRGBRGBRGBRGBRGBRGBTWANTSAQNSWV前向检验把值 Red 从 NT 和 SA 的值域中移去地图着色问题的前向检验第47页/共76页WANTQNSWVSATRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBGBRGBRGBGRGBRGBGBRGBTWANTSAQNSWV地图着色问题的前向检验第48页/共76页WANTQNSWVSATRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBGBRGBRBGRBRGBBRGBRBGRBBBRGBTWANTSAQNSWV地图着色问题的前向
33、检验第49页/共76页WANTQNSWVSATRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBGBRGBRBGRBRGBBRGBRBGRBBBRGB空集:当前的赋值 (WA R),(Q G),(V B)无法得到(构成)问题的解地图着色问题的前向检验第50页/共76页前向检验(通用形式)一旦一对变量和值(Xv)加入到赋值A,则 do:对于每个A之外的变量 do:对每一个与联系Y和A中的变量的约束C do:将所有不满足C的值从Y的值域中移去第51页/共76页回溯算法修改CSP-BACKTRACKING(A,var-domains)1.If assignment A is comp
34、lete then return A2.X select a variable not in A3.D select an ordering on the domain of X4.For each value v in D do a.Add(Xv)to Ab.var-domains forward checking(var-domains,X,v,A)c.If a variable has an empty domain then return failured.result CSP-BACKTRACKING(A,var-domains)e.If result failure then re
35、turn result5.Return failure第52页/共76页CSP-BACKTRACKING(A,var-domains)1.If assignment A is complete then return A2.X select a variable not in A3.D select an ordering on the domain of X4.For each value v in D do a.Add(Xv)to Ab.var-domains forward checking(var-domains,X,v,A)c.If a variable has an empty d
36、omain then return failured.result CSP-BACKTRACKING(A,var-domains)e.If result failure then return result5.Return failure不再需要校验A是否合法回溯算法修改第53页/共76页CSP-BACKTRACKING(A,var-domains)1.If assignment A is complete then return A2.X select a variable not in A3.D select an ordering on the domain of X4.For each
37、 value v in D do a.Add(Xv)to Ab.var-domains forward checking(var-domains,X,v,A)c.If a variable has an empty domain then return failured.result CSP-BACKTRACKING(A,var-domains)e.If result failure then return result5.Return failure需要传递更新后的变量值域回溯算法修改第54页/共76页CSP-BACKTRACKING(A,var-domains)1.If assignmen
38、t A is complete then return A2.X select a variable not in A3.D select an ordering on the domain of X4.For each value v in D do a.Add(Xv)to Ab.var-domains forward checking(var-domains,X,v,A)c.If a variable has an empty domain then return failured.result CSP-BACKTRACKING(A,var-domains)e.If result fail
39、ure then return result5.Return failure回溯算法修改第55页/共76页1)下一个将选择哪一个变量来赋值?最多约束变量启发式 Most-constrained-variable heuristic 最多约束变量启发式 Most-constrained-variable heuristic2)对该变量的赋值应该按照什么次序进行尝试?最少约束值启发式 Least-constraining-value heuristic以上启发式规则容易使人困惑记住所有的变量最终都将得到一个赋值,然而值域中仅有一个值必须赋给变量第56页/共76页最多约束变量启发式1)下一个将选择哪
40、一个变量来赋值?选择具有最少剩余值的变量基本原理:将分支因子最小化第57页/共76页8-Queens4 3 2 3 4每个未赋值变量的值的个数新的赋值前向检验第58页/共76页8-Queens4 2 1 3每个未赋值变量的值的个数(新)新的赋值前向检验第59页/共76页Map ColoringSA的剩余值域大小为1(剩余值Blue)Q的剩余值域大小为2NSW,V 和 T的剩余值域大小为3 选择 SAWANTSAQNSWVTWANTSA第60页/共76页最多约束变量启发式1)下一个将选择哪一个变量来赋值?在同样拥有最小剩余值域的多个变量(即受到的约束最多)中,选择其中受到其他未赋值变量的约束个数
41、最多的变量基本原理:增加未来移去值的数量,以减少未来的分支因子第61页/共76页Map ColoringWANTSAQNSWVTSA在未进行任何赋值之前,所有变量的值域大小均为3,但SA陷入的约束个数(5)比其他变量多选择SA并对其进行赋值(如 Blue)第62页/共76页最少约束值启发式2)对选定变量的赋值应该按照什么次序进行?选择X的一个值首先对X进行赋值,该值将最少的移去当前赋值之外的变量值域的值基本原理:由于仅有一个值最终会赋给X,应首先选取最少约束的值,因为该值看起来最不可能导致非法的赋值说明:需要对所有的值采用启发式进行前向检验,而不仅是针对已选的值第63页/共76页Map Col
42、oringWANTSAQNSWVTWANTQ的值域还剩余两个值:Blue and Red把Blue赋给Q,则导致SA剩余0个值,而赋Red则剩余1个值第64页/共76页BlueMap ColoringWANTSAQNSWVTWANTQ的值域还剩余两个值:Blue and Red把Blue赋给Q,则导致SA剩余0个值,而赋Red则剩余1个值第65页/共76页Modified Backtracking AlgorithmCSP-BACKTRACKING(A,var-domains)1.If assignment A is complete then return A2.X select a var
43、iable not in A3.D select an ordering on the domain of X4.For each value v in D do a.Add(Xv)to Ab.var-domains forward checking(var-domains,X,v,A)c.If a variable has an empty domain then return failured.result CSP-BACKTRACKING(A,var-domains)e.If result failure then return result5.Return failure1)Most-
44、constrained-variable heuristic2)Most-constraining-variable heuristic3)Least-constraining-value heuristic第66页/共76页Applications of CSPCSP techniques are widely usedApplications include:Crew assignments to flightsManagement of transportation fleetFlight/rail schedulesJob shop scheduling Task scheduling
45、 in port operationsDesign,including spatial layout designRadiosurgical procedures第67页/共76页RadiosurgeryTumor=badBrain=goodCritical structures=good and sensitiveMinimally invasive procedure that uses a beam of radiation as an ablative surgical instrument to destroy tumors第68页/共76页The CyberKnifelinear
46、acceleratorrobot armX-Ray cameras第69页/共76页Inputs1)Regions of interest第70页/共76页Inputs2)Dose constraintsCriticalTumorDose to tumorFalloff of dose around tumorFalloff of dose in critical structureDose to critical structure第71页/共76页Beam Sampling第72页/共76页Constraints 2000 Tumor 22002000 B2+B4 22002000 B4
47、22002000 B3+B4 22002000 B3 22002000 B1+B3+B4 22002000 B1+B4 22002000 B1+B2+B4 22002000 B1 22002000 B1+B2 2200 0 Critical 5000 B2 500TCB1B2B3B4T 2000 Tumor 22002000 B2+B4 22002000 B4 22002000 B3+B4 22002000 B3 22002000 B1+B3+B4 22002000 B1+B4 22002000 B1+B2+B4 22002000 B1 22002000 B1+B2 2200 2000 Tumor 22002000 B42000 B3B1+B3+B4 2200B1+B2+B4 22002000 B1第73页/共76页Case Results50%Isodose Surface80%Isodose SurfaceLINAC systemCyberknife第74页/共76页第75页/共76页感谢您的观赏第76页/共76页
限制150内