一、定义
一个约束通常指一个包含若干变量的关系表达式,用以表示这些变量所必须满足的条件。约束表示广泛应用于人工智能的各个领域,例如定性推理、基于模型的诊断、自然语言理解、景物分析、任务调度、系统配置、科学实验规划、电子与机械设备的设计与分析等。
约束满足(Constraint Satisfaction Problem 简称CSP)系统的设计是一项困难而艰巨的任务。
当前,约束推理的研究主要几种在两个方面:约束搜索与约束语言。
约束搜索主要研究有限域上的约束满足。对于有限域,约束满足一般情况下属于一个NP问题。目前答题包含一下方法:
回溯法
约束传播
智能回溯与真值维护
可变次序例示
局部修正法
对于约束语言,有以下几种比较典型的约束语言:
CONSTRAINTS
Bertrand
约束逻辑程序设计语言CHIP
约束层次与HCLP
面向对象约束语言COPS
ILOG