人工智能第六章——约束满足问题(CSP)

摘要

本文会讲清楚:
1)什么是CSP(约束满足问题)
2)约束传播与局部相容性
3)CSP形式化为一个搜索问题(回溯法)
4)如何提高搜索效率(变量/值的顺序,提前检查失败等)

一、CSP

使用要素化来描述状态:一组变量,每个变量有自己的值。当每个变量都有自己的赋值同时满足所有关于变量的约束时,问题就得到了解决。这类问题就叫做约束满足问题(CSP),全称Constraint Satisfaction Problem。

CSP利用了状态结构的优势,使用的是通用策略而不是问题专业启发式来求解复杂问题。

主要思想:通过识别违反约束的变量/值的组合迅速消除大规模的搜索空间。

1.2 定义CSP

CSP包含三个成分X,D,C:
X:变量集合 (variables)
D:值域集合,每个变量有自己的值域 (domain)
C:描述变量取值的约束集合 (constraint)

C的形式一般是:

1.3 CSP的优点

《人工智能第六章——约束满足问题(CSP)》

图1.3.1 CSP的优点

对比局部搜索(全分配,每次必须考虑整个状态),但是CSP,是部分分配,每次只需要考虑部分赋值。(一旦不是解,立即丢弃)

1.4 CSP的形式化

用约束语言来表示CSP的约束条件。
一元约束:只限制单个变量的取值
二元约束:与两个变量有关。

变量个数任意的约束称为全局约束。

《人工智能第六章——约束满足问题(CSP)》

图1.4.1 约束优化问题(COP)

二、约束传播

核心思想:局部相容性。

2.1 节点相容

单个变量(对应一个节点)值域中的所有取值满足它的一元约束,就是节点相容的。

2.2 弧相容

如果CSP中某变量值域中所有取值满足该变量所有二元约束,则此变量弧相容。

比如:对变量X1,X2,如果D1中每个数值在D2中都存在一些数值满足弧(X1,X2)的二元约束,那么X1相对X2是弧相容的。

如果每个变量相对其他变量都是弧相容的,则称该网络是弧相容的。

《人工智能第六章——约束满足问题(CSP)》

图2.2.1 弧相容算法AC-3

2.3 路径相容

弧相容可能缩小变量的值域,有时甚至还能找到解(每各变量值域大小都为1时),或者有时发现CSP无解(一些变量的值域大小=0)。

但是弧相容也会失败(比如澳大利亚地图着色问题,如果只有两种颜色,弧相容意义不大),所以才要用更强的相容概念。

路径相容:观察变量得到隐式约束,并以此来加强二元约束。

《人工智能第六章——约束满足问题(CSP)》

图2.3.1 路径相容的定义

2.4 k-相容

如果对于任何k-1个变量的相容赋值,第k个变量总能被赋予一个和前k-1个变量相容的值,那么这个CSP就是k相容的。

三、全局约束

1)Alldiff约束:表示所有相关变量必须取不同的值。
2)atmost约束(另一个重要的高阶约束):也叫资源约束。

如果对于每个变量X和它的取值上下界,每个变量Y都存在某个取值满足X和Y之间的约束,则称该CSP是边界相容(此边界传播广泛应用于实际CSP)。

四、CSP的回溯搜索

很多CSP只用推理是无法求解的,还需要通过搜索来求解。

部分赋值的回溯搜索算法:
可以用标准的深度优先搜索,状态可能是部分赋值,行动是将var=value加入到赋值中。

回溯搜索用于深度优先搜索中,每次为一个变量选一个赋值,没有合法的值的时候就回溯。

《人工智能第六章——约束满足问题(CSP)》

图4.1 CSP的简单回溯算法

五、有效解决CSP

5.1 变量和取值顺序

变量:
1)选择“合法”取值最少的变量——称为最少剩余值(MRV)启发式。(做一个强有力的引导,方便提早遇到失败,从而剪枝)
2)度启发式:通过选择与其他未赋值变量约束最多的变量来试图降低未来的分支因子。(用来打破僵局,如选择第一个着色区域)

值:
最少约束至:优先选择的赋值是给邻居变量留下更多的选择(为了找到一个解,所以没必要排序,二十要最少约束)

5.2 搜索与推理交错进行

前向检验:只要变量X被赋值,就对它进行弧相容检查,对每个通过约束与X相关的未赋值变量Y,从Y值域中删去与X不相容的值。

5.3 智能回溯:向后看

主要概念:前向检验;冲突集;回跳

六、CSP的局部搜索

局部搜索算法对求解许多CSP都是很有效的。它们使用完整状态的形式化:初始状态是给每个变量都赋一个值,搜索过程是一次改变一个变量的取值。

七、文末诗词


满恨游丝兼落絮。红杏开时,一霎(sha,四声)清明雨。浓睡觉来莺乱语。惊残好梦无寻处。
                  ——晏殊《蝶恋花·六曲阑干偎碧树》

    原文作者:八皇后问题
    原文地址: https://blog.csdn.net/weixin_39278265/article/details/80932277
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞