约束补偿问题

title: 正式的定义.
content: 正式来说,约束补偿问题定义为一个三元组formula_1,其中  每个变量formula_5可以在非空的定义域formula_6中取出。每个限制条件(Constraint)formula_7依序对应一对formula_8,其中 formula_9 是formula_10-tuple的变量,formula_11 则是在定义域formula_6中,其对应到的子集合上得到的formula_10-ary 维的关系。 变量的评估(evaluation)是一个函数,其从变量的子集合映射到一组特定的集合,集合内为定义域的子集合所对应到的值,也就是 如果 formula_15,则此评估(evaluation)formula_16满足条件限制formula_17 。  如果一个评估不违反任何的条件限制,我们说这个评估是无矛盾的(consistent)。 如果一个评估包含了所有的变量,我们说这个评估是完备的(complete)。 如果一个评估无矛盾而且完备的,我们说这个评估是一个解(solution),这样的评估就会用来解决CSP。
title: CSPs的解决方法.
content: 定义域有限的约束满足问题通常利用搜索方法来解决。最常用的技术是回溯法(backtracking)、约束传递constraint propagation,以及局部搜索local search的改良。  回溯法 是一种递回算法,它保持部分变量的赋值。一开始,所有的变量都还没被赋值。在每一个步骤中,先选取一个变量,并且将所有可能的值依次赋予该变量。对于每一个值,在限制条件下的局部赋值的无矛盾性(consistency)都进行检查。在符合无矛盾(consistency)的情况下,就会递回地往下呼叫。当所有的值都试过,算法则回溯上层。在这个基本回溯算法中,无矛盾性(consistency)被定义为满足所有的条件限制,且这些条件限制的变量已被赋值。若干回溯变量存在。 回溯法 提高了检查无矛盾性的效率。 回跳法 可以使在某些在某些情况中,透过回溯”一个以上的变量“,来省去部分的搜寻。 约束学习则借由减少新的条件限制,来避免部分的搜寻。 可预见性也常常在回溯法中应用,用来去预期选择一个变量或值的影响,因此常常用来预先判定一个子问题什么时候满足或不满足。 约束传递 (Constraint propagation)技术是用来修饰一个CSP的方法。更精确地说,是一种方法,用来增强一种形式的局部一致性,是一种条件牵连到一组变量或条件限制的一致性。约束传播应用在各个领域。一来,它把问题转化为一个等价但通常是最简单的解决方法。 二来,他可以用来验证满足或不满足于问题。 一般来说他不保证会发生,但是它总是会发生一些形式的约束传递(Constraint propagation)或某些种类的问题。 最有名的惯用的局部一致性是 弧协调性,超弧一致性,和路径一致性。 最流行的方法是AC-3约束传播算法,该算法可以执行弧的一致性。  局部搜索方法 是不完全满足的算法。人们可能找到解决问题的方法, 但这方法可能令我们失望。其反复更改变量来改进整个任务,而得以运作。在每一步,要更改少量变量的值,与整体目标数量的增加条件限制以满足的任务。 最小冲突算法是局部搜索算法和基于特定CSPs原则。在实践中,局部搜索似乎工作当这些变化也受随机选择。整合搜索和局部搜索被开发了,导致混合算法。
title: CSPs的理论方面.
title: 判定问题.
content: CSPs也研究计算复杂性问题和有限模型理论. 一个重要的问题是,是否为每一组的关系、套都可视为CSPs选自只使用关系设置不是在p 或 NP-完全问题. 如果这样一个二分法真实可靠, 那么CSPs提供已知的最大的一个NP 子集,避免NP-intermediate 问题,其存在是证明了Ladner's 理论 在这种假定下 P ≠ NP. Schaefer's 二分法理论 处理所用变量相关时的情况布尔数学运算符, 也就是, 对一个定义域大小为2的。 最近的一个促进dichotomoy二分定理推广到一个更大的类的事务。
title: 功能问题.
content: 相同的情形存在于功能类别之间,FP 和 #P.通过一般的Ladner's 理论, FP 和 #P-complete 也存在问题如果 FP ≠ #P。在这种决策下, 一个#CSP问题被定义为一组关系。每个问题需要输入布尔 公式作为输入,任务是计算数字令人满意的工作。这可以进一步推广利用大域大小和附上一个权重,对每一个满意的赋值和计算这些权值的总和。 众所周知任何复杂的#CSP权重问题既不是FP 也不是 #P-hard问题。
title: CSPs的变型.
content: 经典的造型约束满足问题定义了一个静态模型,呆板的约束。 这个严格的模型的缺点是他很难容易的表现问题。 基于CSP定义的几种修改,提出使该模型广泛适应各种各样的问题。
title: 动态CSPs.
content: 动态CSPs ("DCSP"s) 是有用的,当原有的问题形式以某种方式改变,通常是由于约束集进化,因为要考虑环境。 DCSPs被当做一系列的静态CSPs, 每一个都是转变的前一个变量和约束可以添加或删除限制(放松)。信息在初始的配方发现问题可以用来提炼下一个。解决的方法可分为根据信息的方法在转让:
title: 灵活的CSPs.
content: 经典的CSPs处理约束很严格,意味着"强制的" (每一解决方案必须满足所有问题) 并且"刻板的" (意味着,以至于他们必须被完全满足,否则他们是完全违反了)。 灵活的 CSPs 放宽假设, 部分的"放宽"限制对不遵循的的也一样解决问题。 这类似于preference-based planning. 一些类型的灵活 CSPs 包括:

Summary: 约束补偿问题(CSPs)是种数学的问题,其定义为一组物件(object),而这些物件需要满足一些限制或条件。 CSPs将其问题中的单元(entities)表示成在变量上有限条件的一组同质(homogeneous)的集合, 这类问题透过"约束补偿方法"来解决。CSPs是人工智能和运筹学 的热门主题,因为它们公式中的规律,提供了共同基础来分析、解决很多看似不相关的问题。 CSPs通常呈现高复杂性, 需要同时透过启发式搜索 和 联合搜索 的方法,来在合理的时间内解决问题。 布林可满足性问题 (SAT), 可满足性的理论 (SMT)和回答集程序设计 (ASP) 可以算是某种程度上的约束补偿问题。

Problème de satisfaction de contraintes: Les problèmes de satisfaction de contraintes ou CSP ("") sont des problèmes mathématiques où l'on cherche des états ou des objets satisfaisant un certain nombre de "contraintes" ou de critères. Les CSP font l'objet de recherches intenses à la fois en intelligence artificielle et en recherche opérationnelle. De nombreux CSP nécessitent la combinaison d'heuristiques et de méthodes d'optimisation combinatoire pour être résolus en un temps raisonnable. Ils sont notamment au cœur de la programmation par contraintes, un domaine fournissant des langages de modélisation de problèmes et des outils informatiques les résolvant.