E约束满足人工智能(AI)课件.ppt

上传人(卖家):晟晟文业 文档编号:4169056 上传时间:2022-11-16 格式:PPT 页数:77 大小:749.23KB
下载 相关 举报
E约束满足人工智能(AI)课件.ppt_第1页
第1页 / 共77页
E约束满足人工智能(AI)课件.ppt_第2页
第2页 / 共77页
E约束满足人工智能(AI)课件.ppt_第3页
第3页 / 共77页
E约束满足人工智能(AI)课件.ppt_第4页
第4页 / 共77页
E约束满足人工智能(AI)课件.ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

1、约束满足问题约束满足问题 (CSP)Constraint Satisfaction Problems(CSP)(对于困难的决策,我们将推迟到它变得容易的时候再做决定)R&N:Chap.5我们想做些什么?我们想做些什么?搜索技术通常按照一个任意的次序对可能进行选择,一般很少有效的信息能够帮助如何进行选择 在许多问题中,状态的到达与进行选择的次序无关(“可交换”),即采取不同的次序进行选择也一样可以到达同一个状态 那能否通过选定某种适合的选择次序能够更有效的解决这些问题呢?甚至可以避免进行选择?约束传播约束传播Constraint Propagation 将一个皇后放入到一个方格里 移去所有可能攻

2、击到的方格66555565 5 5 5 5 6 7Constraint Propagation 计算每一行、每一列不会受到攻击的方格数 将一个皇后放置在有着最小数目的行或列上 再次移去可能受到攻击的所有方格3443354 3 3 3 4 5 重复前述过程Constraint Propagation432343 3 3 4 3Constraint Propagation422133 3 3 1Constraint Propagation2212 2 1Constraint PropagationConstraint Propagation211 2Constraint Propagation11

3、 Constraint Propagation我们需要些什么?我们需要些什么?后继函数与目标测试 还需要:通过约束传播(propagate the constraints)信息,比如通过对一个皇后位置的约束来影响其他皇后的位置 提前的失败测试(failure test)约束的清晰表示 约束传播算法约束满足问题约束满足问题(CSP)Constraint Satisfaction Problem(CSP)变量的集合 variables X1,X2,Xn 每一个变量Xi所有可能的取值,构成该变量的值域Di;通常Di是有限的 约束的集合 constraints C1,C2,Cp 每个约束描述了一个变量

4、子集与特定的某些值合法的结合对应关系 目标:每一个变量都得到了一个赋值,且所有的约束得到满足地图着色问题地图着色问题 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 VWANTSAQNSWVTWANTSAQNSWVT8-皇后问题皇后问题 8 个变量 Xi,i=1 to 8 每个变量的值域均为:1,2,8 约束表示为如下形式:Xi=k Xj k for all j=1 to 8,j i 对角线也是相同的约束所有的

5、约束都是二进制表示Street Puzzle(课本习题课本习题5.13)12345Ni=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

6、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 Yellow houseThe owner of the middle house drinks MilkThe Norwegian lives

7、 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?Street Puzzle12345Ni=English,Spaniard,Japanese,Italian,NorwegianCi =Red,Green,White,Yellow,BlueDi=Tea,Coffee,Milk,Fruit-juice,W

8、aterJi=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 drinks TeaThe Norwegian lives in the first house on the leftThe owner of the Green house drinks CoffeeThe Green house is on th

9、e 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 houseThe Violinist drinks Fruit juiceThe Fox is in the house next to the DoctorsThe Horse is next to the Diplomats i,j1,5,ij,Ni

10、 Nj i,j1,5,ij,Ci Cj.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 Japanese is

11、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 Yellow houseThe owner of the middle house drinks MilkThe Norwegian lives ne

12、xt 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 Green)Street Puzzle12345Ni=English,Spaniard,Japanese,Itali

13、an,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 drinks TeaThe Norwegian lives in the first house on

14、 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 houseThe Violinist drinks Fruit juiceThe Fox is in t

15、he 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 Green)一元(unary)约束Street Puzzle12345Ni=English,Spaniard,Japanese,Italian,NorwegianCi =Red,Green,White,Yellow,BlueDi=Tea,Coffee,Milk,Fruit-juice,

16、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 drinks TeaThe Norwegian lives in the first house on the left N1=NorwegianThe owner of the Green house drinks CoffeeThe Green

17、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 juiceThe Fox is in the house next to the DoctorsThe Horse is next to the

18、DiplomatsStreet 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 house C1 RedThe Spaniard has a Dog A1 DogThe Japanese

19、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=Mi

20、lkThe Norwegian lives next door to the Blue houseThe Violinist drinks Fruit juice J3 ViolinistThe Fox is in the house next to the DoctorsThe Horse is next to the Diplomats有限有限CSP vs.无限无限CSPFinite vs.Infinite CSP 有限CSP:每个变量的值域有有限个值 无限CSP:一些或所有的变量的值域是无限的E.g.,实数线性规划:本课程只讨论有限CSPni,ni,11i,22i,0nj,nj,11j,

21、22j,0for i=1,2,.,p:a x+a x+.+a x afor j=1,2,.,q:b x+b x+.+b x bCSP 描述为搜索问题描述为搜索问题 n个变量 X1,.,Xn 合法赋值:Xi1 vi1,.,Xik vik,0 k n,即取值vi1,.,vik满足所有与变量Xi1,.,Xik有关的约束 完全赋值:k由0到n,每个变量都得到了赋值 变量值域大小为d,则有O(dn)种完全赋值 状态:合法赋值 初始状态:空赋值,即 k=0,也就是还没有变量得到赋值 状态的后继:Xi1vi1,.,Xikvik Xi1vi1,.,Xikvik,Xik+1vik+1 目标测试:k=n,即n个变

22、量都得到了赋值 4 变量 X1,.,X4 令节点N的合法赋值为:A=X1 v1,X3 v3 以为变量X4取值为例 令X4 的值域为 v4,1,v4,2,v4,3 A的后继为以下赋值中的合法赋值:X1 v1,X3 v3,X4 v4,1 X1 v1,X3 v3,X4 v4,2 X1 v1,X3 v3,X4 v4,3 回溯搜索回溯搜索Backtracking Search本质即使用递归的简化深度优先算法回溯搜索回溯搜索(3 变量变量)赋值 Assignment=赋值 Assignment=(X1,v11)X1v11回溯搜索回溯搜索(3 变量变量)赋值 Assignment=(X1,v11),(X3,

23、v31)X1v11v31X3回溯搜索回溯搜索(3 变量变量)赋值 Assignment=(X1,v11),(X3,v31)X1v11v31X3X2假设没有一个X2的取值能构成合法赋值于是,搜索算法回溯到前一个变量(X3)并尝试另外的赋值回溯搜索回溯搜索(3 变量变量)赋值 Assignment=(X1,v11),(X3,v32)X1v11X3v32v31X2回溯搜索回溯搜索(3 变量变量)赋值 Assignment=(X1,v11),(X3,v32)X1v11X3v32X2假设仍然没有一个X2的取值能构成合法赋值搜索算法回溯到前一个变量(X3)并尝试另外的赋值。但假设X3只有两个可能的取值。于

24、是算法回溯到X1v31X2回溯搜索回溯搜索(3 变量变量)赋值 Assignment=(X1,v12)X1v11X3v32X2v31X2v12回溯搜索回溯搜索(3 变量变量)Assignment=(X1,v12),(X2,v21)X1v11X3v32X2v31X2v12v21X2回溯搜索回溯搜索(3 变量变量)Assignment=(X1,v12),(X2,v21)X1v11X3v32X2v31X2v12v21X2算法不需要考虑与其他子树中次序一样的变量回溯搜索回溯搜索(3 变量变量)Assignment=(X1,v12),(X2,v21),(X3,v32)X1v11X3v32X2v31X2v

25、12v21X2v32X3回溯搜索回溯搜索(3 变量变量)Assignment=(X1,v12),(X2,v21),(X3,v32)X1v11X3v32X2v31X2v12v21X2v32X3算法不需要考虑那些在其它子树中次序一样的X3赋值回溯搜索回溯搜索(3 变量变量)Assignment=(X1,v12),(X2,v21),(X3,v32)X1v11X3v32X2v31X2v12v21X2v32X3由于只有三个变量,因此赋值已完全回溯搜索回溯搜索(3 变量变量)回溯算法回溯算法Backtracking AlgorithmCSP-BACKTRACKING(A)1.If assignment A

26、 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 failureCall CSP-BACKTRACKING()该递归算法会保存太多的数据到内存中,用迭代改进将会节省许多内存,感兴趣的同

27、学可以进一步思考。地图着色问题地图着色问题Map ColoringWA=redWA=greenWA=blueWA=redNT=greenWA=redNT=blueWA=redNT=greenQ=redWA=redNT=greenQ=blueWANTSAQNSWVTCSP回溯效率的关键问题回溯效率的关键问题CSP-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 val

28、ue 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 failure1)下一个将选择哪一个变量来赋值?The 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

29、discover the contradiction more quickly2)变量X的(多个)值应该按一个什么样的次序进行赋值?The current assignment may be part of a solution.Selecting the right value to assign to X may help discover this solution more quickly3)More on these questions in a short while.CSP回溯效率的关键问题回溯效率的关键问题1)下一个将选择哪一个变量来赋值?当前的赋值不一定就能得到问题的解,正确

30、的选择一个变量将有助于更快的发现约束关系2)变量X的(多个)值应该按一个什么样的次序进行赋值?The current assignment may be part of a solution.Selecting the right value to assign to X may help discover this solution more quickly3)More on these questions in a short while.CSP回溯效率的关键问题回溯效率的关键问题1)下一个将选择哪一个变量来赋值?当前的赋值不一定就能得到问题的解,正确的选择一个变量将有助于更快的发现约束关

31、系2)变量X的(多个)值应该按一个什么样的次序进行赋值?3)当前的赋值可能会是解的一部分,正确的选择一个值赋给X将有助于更快的找到解4)More on these questions in a short while.CSP回溯效率的关键问题回溯效率的关键问题1)下一个将选择哪一个变量来赋值?当前的赋值不一定就能得到问题的解,正确的选择一个变量将有助于更快的发现约束关系2)变量X的(多个)值应该按一个什么样的次序进行赋值?3)当前的赋值可能会是解的一部分,正确的选择一个值赋给X将有助于更快的找到解4)有关问题将很快得到解答CSP回溯效率的关键问题回溯效率的关键问题前向检验前向检验Forward

32、 Checking把值5赋给X1导致变量X2,X3,.,X8的值域减小(值域中的一些值被移去)12345678X1 X2 X3 X4 X5 X6 X7 X8一种简单的约束传播技术:地图着色问题的前向检验地图着色问题的前向检验WANTQNSWVSATRGBRGBRGBRGBRGBRGBRGBTWANTSAQNSWVWANTQNSWVSATRGBRGBRGBRGBRGBRGBRGBRRGBRGBRGBRGBRGBRGBTWANTSAQNSWV前向检验把值 Red 从 NT 和 SA 的值域中移去地图着色问题的前向检验地图着色问题的前向检验WANTQNSWVSATRGBRGBRGBRGBRGBRGB

33、RGBRGBRGBRGBRGBGBRGBRGBGRGBRGBGBRGBTWANTSAQNSWV地图着色问题的前向检验地图着色问题的前向检验WANTQNSWVSATRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBGBRGBRBGRBRGBBRGBRBGRBBBRGBTWANTSAQNSWV地图着色问题的前向检验地图着色问题的前向检验WANTQNSWVSATRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBGBRGBRBGRBRGBBRGBRBGRBBBRGB空集:当前的赋值 (WA R),(Q G),(V B)无法得到(构成)问题的解地图着色问题的前向检验地图着

34、色问题的前向检验前向检验前向检验(通用形式通用形式)一旦一对变量和值(Xv)加入到赋值A,则 do:对于每个A之外的变量 do:对每一个与联系Y和A中的变量的约束C do:将所有不满足C的值从Y的值域中移去回溯算法修改回溯算法修改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 A

35、b.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 failureCSP-BACKTRACKING(A,var-domains)1.If assignment A is complete then return A2.X select a variable not in

36、 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 failure不再需要校验A是否合法回溯算法修改回溯

37、算法修改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 domain then return failured.resul

38、t CSP-BACKTRACKING(A,var-domains)e.If result failure then return result5.Return failure需要传递更新后的变量值域回溯算法修改回溯算法修改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.va

39、r-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回溯算法修改回溯算法修改1)下一个将选择哪一个变量来赋值?最多约束变量启发式 Most-constrained-variable heuristic 最多约束变量启发式 Most-constrained-vari

40、able heuristic2)对该变量的赋值应该按照什么次序进行尝试?最少约束值启发式 Least-constraining-value heuristic以上启发式规则容易使人困惑记住所有的变量最终都将得到一个赋值,然而值域中仅有一个值必须赋给变量最多约束变量启发式最多约束变量启发式1)下一个将选择哪一个变量来赋值?2)选择具有最少剩余值的变量3)基本原理:将分支因子最小化8-Queens4 3 2 3 4每个未赋值变量的值的个数新的赋值前向检验8-Queens4 2 1 3每个未赋值变量的值的个数(新)新的赋值前向检验Map Coloring SA的剩余值域大小为1(剩余值Blue)Q的

41、剩余值域大小为2 NSW,V 和 T的剩余值域大小为3 选择 SAWANTSAQNSWVTWANTSA最多约束变量启发式最多约束变量启发式1)下一个将选择哪一个变量来赋值?在同样拥有最小剩余值域的多个变量(即受到的约束最多)中,选择其中受到其他未赋值变量的约束个数最多的变量基本原理:增加未来移去值的数量,以减少未来的分支因子Map ColoringWANTSAQNSWVTSA 在未进行任何赋值之前,所有变量的值域大小均为3,但SA陷入的约束个数(5)比其他变量多选择SA并对其进行赋值(如 Blue)最少约束值启发式最少约束值启发式2)对选定变量的赋值应该按照什么次序进行?选择X的一个值首先对X

42、进行赋值,该值将最少的移去当前赋值之外的变量值域的值基本原理:由于仅有一个值最终会赋给X,应首先选取最少约束的值,因为该值看起来最不可能导致非法的赋值说明:需要对所有的值采用启发式进行前向检验,而不仅是针对已选的值Map ColoringWANTSAQNSWVTWANT Q的值域还剩余两个值:Blue and Red 把Blue赋给Q,则导致SA剩余0个值,而赋Red则剩余1个值BlueMap ColoringWANTSAQNSWVTWANT Q的值域还剩余两个值:Blue and Red 把Blue赋给Q,则导致SA剩余0个值,而赋Red则剩余1个值Modified Backtracking

43、 AlgorithmCSP-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 domain then return failured

44、.result CSP-BACKTRACKING(A,var-domains)e.If result failure then return result5.Return failure1)Most-constrained-variable heuristic2)Most-constraining-variable heuristic3)Least-constraining-value heuristicApplications of CSP CSP techniques are widely used Applications include:Crew assignments to flig

45、hts Management of transportation fleet Flight/rail schedules Job shop scheduling Task scheduling in port operations Design,including spatial layout design Radiosurgical proceduresRadiosurgeryTumor=badBrain=goodCritical structures=good and sensitiveMinimally invasive procedure that uses a beam of rad

46、iation as an ablative surgical instrument to destroy tumorsThe CyberKnifelinear acceleratorrobot armX-Ray cameras1)Regions of interestInputs2)Dose constraintsCriticalTumorDose to tumorFalloff of dose around tumorFalloff of dose in critical structureDose to critical structureBeam SamplingConstraints

47、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 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 B1Case Results50%Isodose Surface80%Isodose SurfaceLINAC systemCyberknife

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(E约束满足人工智能(AI)课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|