约束满足问题

• 4 min read • 693 words
Tags: CSP
Categories: Introduction to Artificial Intelligence

约束满足问题

1. 约束满足问题概念

约束满足问题(Constraint Satisfaction Problem, CSP)是一类特殊的搜索问题,它提供了一种结构化的方式来表示和解决组合问题。与传统搜索问题不同,CSP关注的是找到变量赋值的组合,使之满足所有约束条件,而不是寻找从起始状态到目标状态的路径。

CSP的优势在于能够利用问题的结构特性,通过推理和预处理显著减少搜索空间,从而比盲目搜索更加高效。

2. CSP的形式化定义

一个约束满足问题由三个组件定义:

  • 变量集合 X={X1,X2,...,Xn}X = \{X_1, X_2, ..., X_n\}:需要赋值的变量
  • 域集合 D={D1,D2,...,Dn}D = \{D_1, D_2, ..., D_n\}:每个变量可能取值的集合
  • 约束集合 CC:限制变量取值组合的条件

a.a. 约束类型

一元约束(Unary Constraints):只涉及单个变量的约束

二元约束(Binary Constraints):涉及两个变量的约束

高阶约束(Higher-order Constraints):涉及三个或更多变量的约束

b.b. CSP的解

  • 赋值(Assignment):为变量指定域中的值
  • 完全赋值(Complete Assignment):所有变量都被赋值
  • 部分赋值(Partial Assignment):只有部分变量被赋值
  • 一致赋值(Consistent Assignment):不违反任何约束的赋值
  • 解(Solution):既完全又一致的赋值