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

上传人:小飞机 文档编号:1284662 上传时间:2022-11-03 格式: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页
点击查看更多>>
资源描述

《E约束满足人工智能(AI)课件.ppt》由会员分享,可在线阅读,更多相关《E约束满足人工智能(AI)课件.ppt(77页珍藏版)》请在三一办公上搜索。

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

2、择,约束传播Constraint Propagation,将一个皇后放入到一个方格里移去所有可能攻击到的方格,约束传播Constraint Propagation将一个,6655556,5 5 5 5 5 6 7,Constraint Propagation,计算每一行、每一列不会受到攻击的方格数将一个皇后放置在有着最小数目的行或列上再次移去可能受到攻击的所有方格,65 5 5 5 5 6 7C,344335,4 3 3 3 4 5,重复前述过程,Constraint Propagation,34 3 3 3 4 5,43234,3 3 3 4 3,Constraint Propagation

3、,3 3 3 4 3,42213,3 3 3 1,Constraint Propagation,3 3 3,221,2 2 1,Constraint Propagation,2 2 1Constraint Propagatio,Constraint Propagation,21,1 2,Constraint Propagation1 2,Constraint Propagation,1,1,Constraint Propagation1,Constraint Propagation,Constraint Propagation,我们需要些什么?,后继函数与目标测试还需要:通过约束传播( pro

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

5、束得到满足,约束满足问题 (CSP) Constraint Satis,地图着色问题,7 个变量 WA,NT,SA,Q,NSW,V,T 每个变量的值域是一样的: red, green, blue 两个相邻的变量不能取相同的值:WANT, WASA, NTSA, NTQ, SAQ, SANSW, SAV,QNSW, NSWV,地图着色问题 7 个变量 WA,NT,SA,Q,NSW,V,8-皇后问题,8 个变量 Xi, i = 1 to 8 每个变量的值域均为: 1,2,8 约束表示为如下形式:Xi = k Xj k for all j = 1 to 8, ji对角线也是相同的约束,所有的约束都是

6、二进制表示,8-皇后问题 8 个变量 Xi, i = 1 to 8所有的,Street Puzzle(课本习题5.13),Ni = 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, Zebra,The Englishman lives i

7、n 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 Yellow houseThe owner

8、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,Who owns the Zebra?Who drinks Water?,Street Puzzle(课本习题5.13)12345Ni,Street Puzzle,Ni = English, Spaniard, Japane

9、se, Italian, NorwegianCi = Red, Green, White, Yellow, BlueDi = Tea, Coffee, Milk, Fruit-juice, WaterJi = Painter, Sculptor, Diplomat, Violinist, DoctorAi = Dog, Snails, Fox, Horse, Zebra,The Englishman lives in the Red houseThe Spaniard has a DogThe Japanese is a PainterThe Italian drinks TeaThe Nor

10、wegian 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 houseThe Violinist

11、 drinks Fruit juiceThe Fox is in the house next to the DoctorsThe Horse is next to the Diplomats,Street Puzzle12345Ni = Englis,Street Puzzle,Ni = English, Spaniard, Japanese, Italian, NorwegianCi = Red, Green, White, Yellow, BlueDi = Tea, Coffee, Milk, Fruit-juice, WaterJi = Painter, Sculptor, Diplo

12、mat, Violinist, DoctorAi = Dog, Snails, Fox, Horse, Zebra,The 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

13、 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 =

14、Japanese) (Ji = Painter),(N1 = Norwegian),其余的类似,留给同学们思考,(Ci = White) (Ci+1 = Green)(C5 White)(C1 Green),Street Puzzle12345Ni = Englis,Street Puzzle,Ni = English, Spaniard, Japanese, Italian, NorwegianCi = Red, Green, White, Yellow, BlueDi = Tea, Coffee, Milk, Fruit-juice, WaterJi = Painter, Sculptor

15、, Diplomat, Violinist, DoctorAi = Dog, Snails, Fox, Horse, Zebra,The 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 th

16、e 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,(Ni = English) (Ci = Red)

17、,(Ni = Japanese) (Ji = Painter),(N1 = Norwegian),(Ci = White) (Ci+1 = Green)(C5 White)(C1 Green),一元(unary)约束,Street Puzzle12345Ni = Englis,Street Puzzle,Ni = English, Spaniard, Japanese, Italian, NorwegianCi = Red, Green, White, Yellow, BlueDi = Tea, Coffee, Milk, Fruit-juice, WaterJi = Painter, Scu

18、lptor, Diplomat, Violinist, DoctorAi = Dog, Snails, Fox, Horse, Zebra,The 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 house i

19、s 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 Diplo

20、mats,Street Puzzle12345Ni = Englis,Street Puzzle,Ni = 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, Zebra,The Englishman lives in the Red ho

21、use 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 CoffeeThe Green house is on the right of the White houseThe Sculptor breeds SnailsThe Diplomat lives in the Yello

22、w 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 Horse is next to the Diplomats,Street Puzzle12345Ni = Englis,有限CSP vs. 无限CSPFinite vs. Infinite CSP,有限C

23、SP : 每个变量的值域有有限个值无限CSP : 一些或所有的变量的值域是无限的E.g., 实数线性规划:本课程只讨论有限CSP,有限CSP vs. 无限CSPFinite vs. Inf,CSP 描述为搜索问题,n个变量 X1, ., Xn合法赋值 : Xi1 vi1, ., Xik vik, 0 k n, 即取值vi1, ., vik满足所有与变量Xi1, ., Xik有关的约束完全赋值: k由0到n,每个变量都得到了赋值 变量值域大小为d, 则有O(dn) 种完全赋值状态: 合法赋值初始状态: 空赋值 , 即 k = 0,也就是还没有变量得到赋值状态的后继: Xi1vi1, ., Xik

24、vik Xi1vi1, ., Xikvik, Xik+1vik+1目标测试: k = n,即n个变量都得到了赋值,CSP 描述为搜索问题n个变量 X1, ., Xn,E约束满足人工智能(AI)课件,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 ,4 变量 X1, ., X4,E约束满足人工智能(AI)课件,回溯搜索B

25、acktracking Search,本质即使用递归的简化深度优先算法,回溯搜索Backtracking Search本质即使用递,回溯搜索(3 变量),赋值 Assignment = ,回溯搜索(3 变量)赋值 Assignment = ,赋值 Assignment = (X1,v11),X1,v11,回溯搜索(3 变量),赋值 Assignment = (X1,v11)X1v1,赋值 Assignment = (X1,v11), (X3,v31),X1,v11,v31,X3,回溯搜索(3 变量),赋值 Assignment = (X1,v11), (X3,赋值 Assignment = (

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

27、前一个变量(X3)并尝试另外的赋值。但假设X3只有两个可能的取值。于是算法回溯到X1,v31,X2,回溯搜索(3 变量),赋值 Assignment = (X1,v11), (X3,赋值 Assignment = (X1,v12),X1,v11,X3,v32,X2,v31,X2,v12,回溯搜索(3 变量),赋值 Assignment = (X1,v12)X1v1,Assignment = (X1,v12), (X2,v21),X1,v11,X3,v32,X2,v31,X2,v12,v21,X2,回溯搜索(3 变量),Assignment = (X1,v12), (X2,v2,Assignme

28、nt = (X1,v12), (X2,v21),X1,v11,X3,v32,X2,v31,X2,v12,v21,X2,算法不需要考虑与其他子树中次序一样的变量,回溯搜索(3 变量),Assignment = (X1,v12), (X2,v2,Assignment = (X1,v12), (X2,v21), (X3,v32),X1,v11,X3,v32,X2,v31,X2,v12,v21,X2,v32,X3,回溯搜索(3 变量),Assignment = (X1,v12), (X2,v2,Assignment = (X1,v12), (X2,v21), (X3,v32),X1,v11,X3,v3

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

30、is complete then return AX select a variable not in AD select an ordering on the domain of XFor each value v in D do Add (Xv) to AIf A is valid thenresult CSP-BACKTRACKING(A)If result failure then return resultReturn failureCall CSP-BACKTRACKING(),该递归算法会保存太多的数据到内存中,用迭代改进将会节省许多内存,感兴趣的同学可以进一步思考。,回溯算法B

31、acktracking Algorithm该递,地图着色问题Map Coloring,地图着色问题Map ColoringWA=redWA=,CSP回溯效率的关键问题,CSP-BACKTRACKING(A)If assignment A is complete then return AX select a variable not in AD select an ordering on the domain of XFor each value v in D do Add (Xv) to AIf a is valid thenresult CSP-BACKTRACKING(A)If resu

32、lt failure then return resultReturn failure,CSP回溯效率的关键问题,下一个将选择哪一个变量来赋值?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 discover the contradiction more quickly变量X的(多个)值应该按一个什么样的次序进行赋值?The curr

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

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

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

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

37、当前的赋值 (WA R), (Q G), (V B)无法得到(构成)问题的解,地图着色问题的前向检验,WANTQNSWVSATRGBRGBRGBRGBRGBRGB,前向检验 (通用形式),一旦一对变量和值(Xv)加入到赋值A ,则 do: 对于每个A之外的变量 do: 对每一个与联系Y和A中的变量的约束C do: 将所有不满足C的值从Y的值域中移去,前向检验 (通用形式)一旦一对变量和值(Xv)加入到赋值A,回溯算法修改,CSP-BACKTRACKING(A, var-domains)If assignment A is complete then return AX select a var

38、iable not in AD select an ordering on the domain of XFor each value v in D do Add (Xv) to Avar-domains forward checking(var-domains, X, v, A)If a variable has an empty domain then return failureresult CSP-BACKTRACKING(A, var-domains)If result failure then return resultReturn failure,回溯算法修改,CSP-BACKT

39、RACKING(A, var-domains)If assignment A is complete then return AX select a variable not in AD select an ordering on the domain of XFor each value v in D do Add (Xv) to Avar-domains forward checking(var-domains, X, v, A)If a variable has an empty domain then return failureresult CSP-BACKTRACKING(A, v

40、ar-domains)If result failure then return resultReturn failure,不再需要校验A是否合法,回溯算法修改,不再需要校验A是否合法回溯算法修改,CSP-BACKTRACKING(A, var-domains)If assignment A is complete then return AX select a variable not in AD select an ordering on the domain of XFor each value v in D do Add (Xv) to Avar-domains forward che

41、cking(var-domains, X, v, A)If a variable has an empty domain then return failureresult CSP-BACKTRACKING(A, var-domains)If result failure then return resultReturn failure,需要传递更新后的变量值域,回溯算法修改,需要传递更新后的变量值域回溯算法修改,CSP-BACKTRACKING(A, var-domains)If assignment A is complete then return AX select a variabl

42、e not in AD select an ordering on the domain of XFor each value v in D do Add (Xv) to Avar-domains forward checking(var-domains, X, v, A)If a variable has an empty domain then return failureresult CSP-BACKTRACKING(A, var-domains)If result failure then return resultReturn failure,回溯算法修改,回溯算法修改,下一个将选择

43、哪一个变量来赋值? 最多约束变量启发式 Most-constrained-variable heuristic 最多约束变量启发式 Most-constrained-variable heuristic对该变量的赋值应该按照什么次序进行尝试? 最少约束值启发式 Least-constraining-value heuristic,以上启发式规则容易使人困惑记住所有的变量最终都将得到一个赋值,然而值域中仅有一个值必须赋给变量,下一个将选择哪一个变量来赋值? 最多约束变量启发式 M,最多约束变量启发式,下一个将选择哪一个变量来赋值?选择具有最少剩余值的变量基本原理: 将分支因子最小化,最多约束变量

44、启发式下一个将选择哪一个变量来赋值?,8-Queens,4 3 2 3 4,每个未赋值变量的值的个数,新的赋值,前向检验,8-Queens4 3 2 3 4,8-Queens,4 2 1 3,每个未赋值变量的值的个数(新),新的赋值,前向检验,8-Queens4 2 1,Map Coloring,SA的剩余值域大小为1(剩余值Blue)Q的剩余值域大小为2NSW, V 和 T的剩余值域大小为3 选择 SA,SA,Map ColoringSA的剩余值域大小为1(剩余值Blu,最多约束变量启发式,下一个将选择哪一个变量来赋值?在同样拥有最小剩余值域的多个变量(即受到的约束最多)中,选择其中受到其他

45、未赋值变量的约束个数最多的变量基本原理: 增加未来移去值的数量,以减少未来的分支因子,最多约束变量启发式下一个将选择哪一个变量来赋值?,Map Coloring,SA,在未进行任何赋值之前,所有变量的值域大小均为3,但SA陷入的约束个数(5)比其他变量多选择SA并对其进行赋值(如 Blue),Map ColoringWANTSAQNSWVTSA在未进行,最少约束值启发式,对选定变量的赋值应该按照什么次序进行?选择X的一个值首先对X进行赋值,该值将最少的移去当前赋值之外的变量值域的值基本原理: 由于仅有一个值最终会赋给X ,应首先选取最少约束的值,因为该值看起来最不可能导致非法的赋值说明: 需要

46、对所有的值采用启发式进行前向检验,而不仅是针对已选的值,最少约束值启发式对选定变量的赋值应该按照什么次序进行?,Map Coloring,Q的值域还剩余两个值: Blue and Red把Blue赋给Q ,则导致SA剩余0个值,而赋Red则剩余1个值,Map ColoringWANTSAQNSWVTWANT,Blue,Map Coloring,Q的值域还剩余两个值: Blue and Red把Blue赋给Q ,则导致SA剩余0个值,而赋Red则剩余1个值,BlueMap ColoringWANTSAQNSWVT,Modified Backtracking Algorithm,CSP-BACKT

47、RACKING(A, var-domains)If assignment A is complete then return AX select a variable not in AD select an ordering on the domain of XFor each value v in D do Add (Xv) to Avar-domains forward checking(var-domains, X, v, A)If a variable has an empty domain then return failureresult CSP-BACKTRACKING(A, v

48、ar-domains)If result failure then return resultReturn failure,1) Most-constrained-variable heuristic2) Most-constraining-variable heuristic3) Least-constraining-value heuristic,Modified Backtracking Algorith,Applications of CSP,CSP techniques are widely usedApplications include: Crew assignments to

49、flightsManagement of transportation fleetFlight/rail schedulesJob shop scheduling Task scheduling in port operationsDesign, including spatial layout designRadiosurgical procedures,Applications of CSPCSP techniq,Radiosurgery,Tumor = bad,Brain = good,Critical structures = good and sensitive,Minimally

50、invasive procedure that uses a beam of radiation as an ablative surgical instrument to destroy tumors,RadiosurgeryTumor = badBrain =,The CyberKnife,linear accelerator,robot arm,X-Ray cameras,The CyberKnifelinear accelerat,Inputs,1) Regions of interest,Inputs1) Regions of interest,Inputs,2) Dose cons

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号