next up previous contents
suivant: Couverture monter: Problèmethèque précédent: Voyageur de commerce   Table des matières

SAT

Soit une expression booléenne à $n$ variables sous forme clausale (conjonction de disjonctions), par exemple,


\begin{displaymath}(x_1\vee \neg x_3\vee x_2) \wedge (\neg x_2) \wedge (\neg x_1
\vee x_3) \wedge (x_3) \wedge (x_1 \vee x_2 \vee x_3 \vee x_4)\end{displaymath}

Les clauses (contenant des disjonctions) sont notées

\begin{displaymath}\{C_1, c_2, \ldots, c_k\}\end{displaymath}

Toute clause est formée de $k_i$ littéraux

\begin{displaymath}C_i = {l_1^i, l_2^i, \ldots, l_{k_i}^i}\end{displaymath}

chaque littéral $l$ est soit une variable ($l = x_j$), soit la négation d'une variable ($l = \not x_j$). Une affectation $\mathcal{A}$ des variables est une application de $\{x_1, \ldots, x_n\}$ dans $\{true, false\}$.

Une clause est satisfaite si au moins un des littéraux qui la forment est satisfait. Une expression sous forme clausale est satisfaite si toutes les clauses sont satisfaites. Le problème est le suivant :

Ce problème (de satisfaction de contraintes) est NP-Complet dans le cas général, et facile si les clauses contiennent au plus $2$ littéraux.. Remarquons que si la question avait été "existe-t-il une affectation qui satisfasse toutes les clauses ?'', ce problème serait un problème de décision.


next up previous contents
suivant: Couverture monter: Problèmethèque précédent: Voyageur de commerce   Table des matières
klaus 2010-08-05