1: \documentclass[a4paper]{article}
2:
3: % compilation avec latex ou pdflatex
4: \newif\ifpdf
5: \ifx\pdfoutput\undefined
6: \pdffalse
7: \else
8: \pdfoutput=1
9: \pdftrue
10: \fi
11:
12: \usepackage{amssymb}
13: \ifpdf
14: \usepackage{color}
15: \usepackage{garamond}
16: \renewcommand{\sfdefault}{phv}
17: \renewcommand{\ttdefault}{pcr}
18: \usepackage[pdftex]{graphicx}
19: \pdfcompresslevel=9
20: \usepackage{hyperref}
21: \else
22: \newcommand\hyperpage[1]{#1}
23: \usepackage[dvips]{graphicx}
24: \fi
25: \usepackage{theorem}
26: \usepackage[ruled,vlined]{algorithm2e}
27:
28: % Theorems
29: \theoremheaderfont{\scshape}
30: \newtheorem{definition}{Definition}[section]
31: \newtheorem{property}[definition]{Property}
32: \newtheorem{theorem}[definition]{Theorem}
33: \newtheorem{lemma}[definition]{Lemma}
34: \newtheorem{corollary}[definition]{Corollary}
35: \newtheorem{example}{Example}
36: \newtheorem{problem}{Problem}
37:
38: % Proofs with QED
39: \def\proof{\vskip1sp\noindent{\bf Proof:}\enskip\relax\ignorespaces}
40: \def\endproof{\penalty-250%
41: \hbox to 6pt{\hfill}\hfill\llap{%
42: \vbox{\hrule\hbox{\vrule height6pt\hskip6pt\vrule}\hrule}}\medskip}
43:
44: % Algorithm2e
45: \SetKwFunction{Proj}{Project}
46: \SetKwFunction{ProjAC}{AC-Project}
47: \SetKwFunction{Ext}{Extend}
48: \SetKwFunction{ExtAC}{AC-Extend}
49: \SetKwFunction{GAC}{GAC}
50: \SetKwFunction{DAC}{DAC}
51: \SetKwFor{Procedure}{Procedure}{}{}%
52:
53: \renewcommand{\FuncSty}[1]{\textsf{#1}}
54: \renewcommand{\ArgSty}[1]{\textrm{#1}}
55:
56: % Various symbols
57: \def\setN{{\mathbb{N}}}
58: \def\proj{{\!\downarrow\!}}
59:
60: % greatest lower absorbing and lowest upper absorbing - To be used in math mode.
61: \newcommand{\gla}[1]{\underline{#1}}
62: \newcommand{\lua}[1]{\overline{#1}}
63:
64: \title{Arc consistency for soft constraints}
65:
66: \author{Martin Cooper\\
67: \textsf{cooper@irit.fr}\\
68: IRIT, France \and
69: Thomas Schiex\\
70: \textsf{tschiex@toulouse.inra.fr}\\
71: INRA, France}
72: \date{}
73: \begin{document}
74:
75: \maketitle
76:
77: \begin{abstract}
78: The notion of arc consistency plays a central role in constraint
79: satisfaction. It is known
80: since~\cite{Schiex95a,Bistarelli95,Bistarelli97} that the notion of
81: local consistency can be extended to constraint optimisation
82: problems defined by soft constraint frameworks based on an
83: idempotent cost combination operator. This excludes non idempotent
84: operators such as $+$ which define problems which are very important
85: in practical applications such as \textsc{Max-CSP}, where the aim is
86: to minimize the number of violated constraints.
87:
88: In this paper, we show that using a weak additional axiom satisfied
89: by most existing soft constraints proposals, it is possible to
90: define a notion of \emph{soft arc consistency} that extends the
91: classical notion of arc consistency and this even in the case of non
92: idempotent cost combination operators. A polynomial time algorithm
93: for enforcing this soft arc consistency exists and its space and
94: time complexities are identical to that of enforcing arc consistency
95: in CSPs when the cost combination operator is strictly monotonic
96: (for example \textsc{Max-CSP}).
97:
98: A directional version of arc consistency, first introduced
99: in~\cite{CooperFCSP} is potentially even stronger than the
100: non-directional version, since it allows non local propagation of
101: penalties. We demonstrate the utility of directional arc consistency
102: by showing that it not only solves soft constraint problems on
103: trees, but that it also implies a form of local optimality, which we
104: call arc irreducibility.
105: \end{abstract}
106:
107: \section*{Introduction}
108:
109: Compared to other combinatorial optimisation frameworks, the CSP
110: framework is essentially characterised by the ubiquitous use of
111: so-called local consistency properties and enforcing algorithms among
112: which arc consistency is certainly preeminent.
113:
114: The notion of local consistency can be characterised by a set
115: of desirable properties:
116: \begin{itemize}
117: \item local consistency is a relaxation of consistency, which means
118: that for any consistent CSP there is an equivalent non empty locally
119: consistent CSP.
120: \item this equivalent locally consistent CSP, which is unique, can be
121: found in polynomial time by so-called enforcing or filtering
122: algorithms.
123: \end{itemize}
124: Several papers have tried to extend the classical notion of arc
125: consistency to weighted constraint frameworks. In such frameworks, the
126: aim is to find an assignment that minimises combined violations. The
127: first work in this direction is probably~\cite{Rosenfeld76} which
128: defined arc consistency filtering for conjunctive (max-min) fuzzy CSP.
129:
130: This extension was rather straightforward and one might be tempted to
131: think that this would be the case for other frameworks such as
132: \textsc{Max-CSP}, introduced in~\cite{Shapiro81,Freuder92}, where the
133: aim is to find an assignment which minimises the (weighted) number of
134: violated constraints. This turned out not to be the case. Later works
135: tried to extend arc consistency in a systematic way using axiomatic
136: frameworks to characterise the properties of the operator used to
137: combine violations:
138: \begin{itemize}
139: \item the Semi-Ring CSP framework was introduced
140: in~\cite{Bistarelli95,Bistarelli97}. In this work, the extension of
141: arc consistency enforcing is induced by a generalisation of the
142: fundamental relational operators such as projection, intersection
143: and join. The essential conclusion of this work is that extended
144: arc consistency works as long as the operator used to combine
145: violations is idempotent. This includes the case of conjunctive
146: fuzzy CSP (in which we try to minimise the violation of the most
147: violated constraint) and also some other cases with partial orders.
148: For \textsc{Max-CSP} and other related cases, the algorithm may not
149: terminate and may also provide non equivalent CSPs.
150:
151: \item the Valued CSP framework was introduced in~\cite{Schiex95a}.
152: Here, the extension of the arc consistency property is essentially
153: based on the notion of relaxation. The same conclusion as in the
154: Semi-Ring CSP framework was reached for idempotent operators. For
155: other frameworks such as \textsc{Max-CSP}, it was shown that the
156: problem of checking the extended arc consistency property defines an
157: \textsf{NP}-complete problem.
158: \end{itemize}
159: Parallel to these tentative extensions of arc consistency, other
160: research such as~\cite{Wallace94,Bennaceur98,Schiex98,Schiex99} tried
161: to provide improved lower bounds for \textsc{Max-CSP}. The idea of
162: extending arc consistency was abandoned in order to simply provide the
163: most important service, \textit{i.e.} the ability to detect that a CSP has no
164: solution whose cost is below a given threshold.
165:
166: Globally, each of these proposals violates some of the desirable
167: properties of local consistency. In this paper we show that it is
168: possible, by the addition to the Valued CSP framework of a single
169: axiom, to define an extended arc consistency notion that has all the
170: desirable properties of classical arc consistency except for the
171: uniqueness of the arc consistency closure. It has also the pleasant
172: property that in the idempotent operator cases, it reduces to existing
173: working definitions and uniqueness is recovered.
174:
175: It has been shown~\cite{Schiex00b} that a lower bound can easily be
176: built from any of the arc consistency closures and that this lower
177: bound generalises and improves upon existing lower
178: bounds~\cite{Wallace94,Bennaceur98,Schiex98,Schiex99}. In this paper,
179: we also consider a directional version of arc consistency that
180: improves lower bounds by propagating partial inconsistencies and not
181: only value deletions as~\cite{Schiex98,Schiex99}. In fact, we show
182: that directional arc consistency, first defined in~\cite{CooperFCSP},
183: defines a locally optimal lower bound.
184:
185: \section{Notations and definitions}
186:
187: A constraint satisfaction problem (CSP) is a triple $\langle X,D,C\rangle$. $X$
188: is a set of $n$ variables $X=\{1,\ldots,n\}$. Each variable $i \in X$ has a
189: domain of values $d_i \in D$ and can be assigned any value $a \in d_i$,
190: also noted $(i,a)$. $d$ will denote the cardinality of the largest
191: domain of a CSP. $C$ is a set of constraints. Each constraint $c_P \in
192: C$ is defined over a set of variables $P \subseteq X$ (called the scope of
193: the constraint) by a subset of the Cartesian product $\prod_{i\in P} d_i$
194: which defines all consistent tuples of values. The cardinality $|P|$
195: is the arity of the constraint $c_P$. $r$ will denote the largest
196: arity of a CSP. We assume, without loss of generality, that at most
197: one constraint is defined over a given set of variables. The set $C$
198: is partitioned into two sets $C = C^1 \cup C^+$ where $C^1$ contains all
199: unary constraints. For simplification, the unary constraint on
200: variable $i$ will be denoted $c_i$, binary constraints being denoted
201: $c_{ij}$. $e=|C^+|$ will denote the number of non unary constraints in
202: a CSP. If $J\subseteq X$ is a set of variables, then $\ell(J)$ denotes the
203: set of all possible labellings for $J$ \textit{i.e.}, the Cartesian
204: product $\prod_{i\in J}d_i$ of the domains of the variables in $J$. The
205: projection of a tuple of values $t$ onto a set of variables $V \subseteq X$
206: is denoted by $t_{\proj V}$. A tuple of values $t$ satisfies a
207: constraint $c_P$ if $t_{\proj P} \in c_P$. Finally, a tuple of values
208: over $X$ is a solution iff it satisfies all the constraints in $C$.
209:
210:
211: \section{Valued CSP}
212:
213: Valued CSP (or VCSP) were initially introduced in~\cite{Schiex95a}. A
214: valued CSP is obtained by associating a valuation with each
215: constraint. The set $E$ of all possible valuations is assumed to be
216: totally ordered and its maximum element is used to represent total
217: inconsistency. When a tuple violates a set of constraints, its
218: valuation is computed by combining the valuations of all violated
219: constraints using an aggregation operator, denoted by $\oplus$. This
220: operator must satisfy a set of properties that are captured by a set
221: of axioms defining a so-called \emph{valuation structure}.
222:
223: \begin{definition}
224: A {\em valuation structure} is defined as a tuple $\langle E,\oplus,\succcurlyeq\rangle$ such
225: that:
226: \begin{itemize}
227: \item $E$ is a set, whose elements are called valuations, which is
228: totally ordered by $\succcurlyeq$, with a maximum element denoted
229: by $\top$ and a minimum element denoted by $\bot$;
230: \item $E$ is closed under a commutative, associative binary
231: operation $\oplus$ that satisfies:
232: \begin{itemize}
233: \item {\em Identity}\/: $\forall \alpha \in E, \alpha \oplus \bot = \alpha$;
234: \item {\em Monotonicity}\/: $\forall \alpha,\beta,\gamma \in E, (\alpha \succcurlyeq \beta) \Rightarrow
235: \bigl((\alpha \oplus \gamma) \succcurlyeq (\beta \oplus \gamma )\bigr)$;
236: \item {\em Absorbing element}: $\forall \alpha \in E, (\alpha \oplus \top)=\top$.
237: \end{itemize}
238: \end{itemize}
239: \end{definition}
240:
241: When $E$ is restricted to $[0,1]$, this structure of a totally ordered
242: commutative monoid with a monotonic operator is also known in
243: uncertain reasoning, as a triangular co-norm~\cite{DPnormes}.
244: % In the rest of the
245: %paper, we assume that the computation of $\succ$ and $\oplus$ are always polynomial
246: %in the size of their arguments. We also assume $E$ is countable.
247:
248: It is now possible to define valued CSPs. Note that, for the sake of
249: generality, rather than considering that a valuation is associated
250: with each constraint, as in~\cite{Schiex95a}, we consider that a
251: valuation is associated with each tuple of each constraint. As
252: observed in~\cite{Bistarelli99}, the two approaches are essentially
253: equivalent.
254:
255: \begin{definition}
256: A valued CSP is a tuple $\langle X,D,C,S\rangle$ where $X$ is a set of $n$
257: variables $X=\{1,\ldots,n\}$, each variable $i \in X$ has a domain of
258: possible values $d_i \in D$. $C = C^1 \cup C^+$ is a set of
259: constraints and $S = \langle E,\oplus,\succcurlyeq\rangle$ is a valuation
260: structure. Each constraint $c_P \in C$ is defined over a set of
261: variables $P \subseteq X$ as a function $c_P: \prod_{i\in P} d_i \to E$.
262: \end{definition}
263:
264: An assignment $t$ of values to some variables $J \subseteq X$ can be simply
265: evaluated by combining, for all assigned constraints $c_P$ (i.e., such
266: that $P \subseteq J$), the valuations of the projection of the tuple $t$ on $P$:
267: \begin{definition}
268: In a VCSP $V=\langle X,D,C,S\rangle$, the valuation of an assignment
269: $t$ to a set of variables $J \subseteq X$ is defined by:
270: \[\mathcal{V}_{V}(t) = \mathop\bigoplus_{c_P \in C, P \subseteq J}[c(t_{\proj P})] \]
271: \end{definition}
272:
273: The problem usually considered is to find a complete assignment with a
274: minimum valuation. Globally, the semantics of a VCSP is defined by
275: the valuations $\mathcal{V}(t)$ of assignments $t$ to $X$.
276:
277: The choice of axioms is quite natural and is usual in the field of
278: uncertain reasoning. The ordered set $E$ simply allows us to express
279: different degrees of constraint violation. The commutativity and
280: associativity guarantee that the valuation of an assignment is
281: independent of the order in which valuations are combined. The
282: monotonicity of $\oplus$ guarantees that assignment valuations cannot
283: decrease when constraint violations increase. For a more detailed
284: analysis and justification of the VCSP axioms, we invite the reader to
285: consult~\cite{Schiex95a,Schiex99} which also emphasise the difference
286: between idempotent and strictly monotonic aggregation operators $\oplus$.
287: \begin{definition} An operator $\oplus$ is
288: idempotent if $\,\forall \alpha \in E, (\alpha \oplus \alpha) = \alpha$. It is strictly
289: monotonic if $\,\forall \alpha,\beta,\gamma \in E, (\alpha \succ \beta) \land (\gamma \neq \top )\Rightarrow (\alpha \oplus
290: \gamma) \succ (\beta \oplus \gamma)$
291: \end{definition}
292: As shown in~\cite{Schiex95a}, these two properties are incompatible as
293: soon as $|E| > 2$. The only valuation structures with an idempotent
294: operator correspond to classical and possibilistic CSP~\cite{Schiex92}
295: (min-max dual to the conjunctive fuzzy CSP framework) which use $\oplus =
296: \max$ as the aggregation operator. Other soft CSP frameworks such as
297: \textsc{Max-CSP}, lexicographic CSP or probabilistic CSP use a
298: strictly monotonic operator.
299:
300: Arc consistency enforcing must yield an equivalent problem, the
301: so-called arc-consistency closure. Several notions of equivalence were
302: introduced in~\cite{Schiex95a,Schiex99} that enabled us to compare
303: pairs of VCSP with different valuations structure. In this paper, the
304: notion of equivalence will only be used to compare pairs of VCSP with
305: the same valuation structure and can therefore be simplified and
306: strengthened.
307: \begin{definition}
308: Two VCSP $V=\langle X,D,C,S\rangle$ and $V'=\langle X,D,C',S\rangle$ are equivalent iff
309: for all complete assignment $t$ to $X$, we have:
310: \[\mathcal{V}_{V}(t) = \mathcal{V}_{V'}(t) \]
311: \end{definition}
312:
313: \section{Fair valuation structures}
314:
315: We start with an introductory example. In the remainder of the paper,
316: in order to illustrate the notions introduced on concrete examples, we
317: will consider binary weighted \textsc{Max-CSP}s which correspond to
318: valued CSPs using the strictly monotonic valuation structure $\langle\setN \cup
319: \{\infty\}, +, \geq\rangle$. To describe such problems, we use an undirected graph
320: representation where vertices represent values. For all pairs of
321: variables $i,j \in X$ such that $c_{ij}\in C$, for all values $a\in d_i$,
322: $b\in d_j$ such that $c_{ij}(a,b) \neq \bot =0$, an edge connect the values
323: $(i,a)$ and $(j,b)$. The weight of this edge is set to $c_{ij}(a,b)$.
324: Unary constraints are represented by weights associated with vertices,
325: weights equal to $0$ being omitted.
326:
327: Let us consider the weighted \textsc{Max-CSP} in
328: figure~\ref{maxcsp1}(a). It has two variables numbered $1$ and $2$,
329: each with two values $a$ and $b$ together with a single constraint.
330: The constraint forbids pair $((1,b),(2,b))$ with cost $1$ and forbids
331: pairs $((1,a),(2,a))$ and $((1,b),(2,a))$ completely (with cost $\infty$).
332: The pair $((1,a),(2,b))$ is completely authorised and the
333: corresponding edge is therefore omitted.
334:
335: \begin{figure}[bthp]
336: \begin{center}
337: \includegraphics{maxcsp}
338: \end{center}
339: \caption{Four equivalent instances of \textsc{Max-CSP}\label{maxcsp1}}
340: \end{figure}
341:
342: If we assign the value $b$ to variable $1$, it is known for sure that
343: a cost of $1$ must be paid since all extensions of $(1,b)$ to variable
344: $2$ incur a cost of at least $1$. Projecting this minimum cost down
345: from c$_{12}$ would make this explicit and induce a unary constraint
346: on $1$ that forbids $(1,b)$ with cost $1$. However if we simply add
347: this constraint to the \textsc{Max-CSP}, as was proposed
348: in~\cite{Bistarelli95} for problems with an idempotent operator, the
349: resulting CSP is not equivalent. The complete assignment
350: $((1,b),(2,b))$ which initially had a cost of $1$ would now have a
351: cost of $2$. In order to preserve equivalence, we must ``compensate''
352: for the induced unary constraint. This can be done by simply
353: subtracting $1$ from all the tuples that contain the value $(1,b)$.
354: The corresponding equivalent CSP is shown in figure~\ref{maxcsp1}(b):
355: the edge $((1,b),(2,b))$ of cost $1$ has disappeared (the associated
356: weight is now $0$) while the edge $((1,b),(2,a))$ is unaffected since
357: it has infinite weight. We can repeat this process for variable $2$:
358: all extensions of value $(2,a)$ have infinite cost. Thus we can add a
359: unary constraint that completely forbids value $(2,a)$. In this
360: specific case, and because the valuation $\infty$ satisfies $\infty \oplus \infty =
361: \infty$, we can either compensate for this (Figure~\ref{maxcsp1}(c)) or
362: not (Figure~\ref{maxcsp1}(d)). In both cases, an equivalent
363: \textsc{Max-CSP} is obtained. Between the problems in
364: Figure~\ref{maxcsp1}(c)) and~\ref{maxcsp1}(d), we prefer the problem
365: in Figure~\ref{maxcsp1}(d) because it makes information explicit both
366: at the domain and constraint level.
367:
368: This type of projection mechanism underlies most of the lower bounds
369: defined for
370: \textsc{Max-CSP}~\cite{Wallace94,Bennaceur98,Schiex98,Schiex99}. To
371: our knowledge, the introduction of a ``compensation'' mechanism for
372: preserving equivalence was first introduced by~\cite{Koster99b} on
373: \textsc{Max-CSP}, independently of any notion of arc consistency. The
374: use of such mechanism for the definition and establishment of arc
375: consistency appeared in~\cite{Schiex00b} and in a related form
376: in~\cite{Horsch00} (for enforcing so-called probabilistic arc
377: consistency).
378:
379: \begin{figure}[bthp]
380: \begin{center}
381: \includegraphics{maxcsp2}
382: \end{center}
383: \caption{Two equivalent instances of \textsc{Max-CSP}\label{fig2}}
384: \end{figure}
385:
386: Suppose now that the problem in Figure~\ref{maxcsp1} is part of an
387: instance of \textsc{Max-CSP} on four variables, as shown in
388: Figure~\ref{fig2}(a). As in crisp CSP, inconsistencies can propagate
389: from domains up to constraints. The cost of $\infty$ for $(2,a)$ can be
390: duplicated in the costs of the pairs $((2,a),(3,a))$ and
391: $((2,a),(3,b))$. Since $c_{23}(b,b)=\infty$, this in turn implies that
392: the assignment $(b,3)$ inevitably has a cost of $\infty$. No further
393: propagation of infinite costs can be performed.
394:
395: A similar process can be applied to finite costs but one must take
396: care to compensate any cost change. The cost $1$ of $(1,b)$ can be
397: first shifted to the constraint $c_{01}$: the costs of the pairs
398: $((0,a),(1,b))$ and $((0,b),(1,b))$ become equal to $1$ and the cost
399: of the value $(1,b)$ is set to $0$. Since now $c_{01}(a,a) =
400: c_{01}(a,b) = 1$, a cost of $1$ can be projected onto value $(0,a)$.
401: Figure~\ref{fig2}(b) shows the result of such propagations. In the
402: case of finite costs, the process is obviously not terminated since
403: one could forever shift this cost back and forth between values
404: $(0,a)$ and $(1,b)$.
405:
406: \subsection{A new axiom for VCSPs}
407:
408: To formalise and generalise the ideas presented in the previous
409: section to other valuation structures, we have to be able to
410: compensate for the information added by projecting weights down onto
411: domains. This is made possible by the following additional axiom:
412:
413: \begin{definition}\label{fairdef}
414: In a valuation structure $S=\langle E,\oplus,\succcurlyeq\rangle$, if $\alpha,\beta \in E$,
415: $\alpha \preccurlyeq \beta$ and there exists a valuation $\gamma \in E$ such
416: that $\alpha \oplus \gamma = \beta$, then $\gamma$ is known as a difference of $\beta$ and
417: $\alpha$.
418:
419: The valuation structure $S$ is \emph{fair} if for any pair of
420: valuations $\alpha,\beta\in E$, with $\alpha \preccurlyeq \beta$, there exists a
421: maximal difference of $\beta$ and $\alpha$. This unique maximal difference
422: of $\beta$ and $\alpha$ is denoted by $\beta \ominus \alpha$.
423: \end{definition}
424:
425: \begin{lemma}\label{lemma1}
426: Let $S=\langle E,\oplus,\succcurlyeq\rangle$ be a fair valuation structure. Then
427: $\forall u,v,w, \in E, w\preccurlyeq v$, we have $(v \ominus w) \preccurlyeq v$
428: and $(u \oplus w) \oplus (v \ominus w) = (u \oplus v)$.
429: \end{lemma}
430: \begin{proof} By definition, $(v \ominus w) \oplus w = v$. From the monotonicity of
431: $\oplus$, this proves that $(v \ominus w) \preccurlyeq v$ (this inequality
432: becomes strict if $\oplus$ is strictly monotonic and $v\neq \top$). The
433: second property follows from the commutativity and associativity of
434: $\oplus$: we have $(u \oplus w) \oplus (v \ominus w) = u \oplus ((v \ominus w) \oplus w) = (u \oplus
435: v)$.
436: \end{proof}
437:
438: Most existing concrete soft constraint frameworks, including all those
439: with either an idempotent or strictly monotonic operator $\oplus$ are
440: fair.
441: \begin{example}
442: If $\oplus$ is idempotent, then it can easily be shown that
443: $\oplus=\max$~\cite{Schiex95a}. Classical CSPs can be defined as VCSPs
444: over the valuation structure $S=\langle\{\bot,\top\},\max,\succcurlyeq\rangle$,
445: where $\bot$ represents \textit{true} and $\bot$ \textit{false}. The
446: operator $\oplus$ is also idempotent in possibilistic
447: CSPs~\cite{Schiex92} which define a $\min$-$\max$ problem which is
448: dual to the $\max$-$\min$ problem of conjunctive fuzzy
449: CSPs~\cite{Rosenfeld76,CooperFCSP}. When $\oplus=\max$, we have
450: $\ominus=\max$, since $\max(\max(\alpha,\beta),\alpha) = \beta$ whenever
451: $\alpha\preccurlyeq \beta$. When $\alpha=\beta$, then any valuation $\gamma\prec \alpha$ is
452: also a valid difference of $\beta$ and $\alpha$ but it is clearly not
453: maximal.
454: \end{example}
455:
456: \begin{example}
457: In the strictly monotonic valuation structure
458: $\langle\mathbb{N}\cup\{\infty\},+,\geq\rangle$, $\ominus$ is defined by $\beta \ominus \alpha = \beta -
459: \alpha$ for finite valuations $\alpha,\beta\in \mathbb{N}, \alpha\leq \beta$ and $(\infty \ominus
460: \alpha) = \infty$ for all $\alpha \in \mathbb{N}\cup\{\infty\}$. In the general case of
461: any strictly monotonic operator $\oplus$, the difference operator may
462: not exist in $E$, but it has been proved in~\cite{CooperFCSP} that
463: the difference operator can always be constructed by embedding the
464: valuation structure in a larger valuation structure derived from the
465: set $E\times E$, where $(\beta,\alpha)$ represents the imaginary $\beta \ominus \alpha$.
466: This can be compared with embedding $\mathbb{R}$ in $\mathbb{C}$ so
467: as to allow us to take square roots of negative numbers. This
468: construction is interesting for lexicographic CSPs~\cite{Schiex93c}
469: for which differences are not always defined in the original
470: valuation structure. Another possible approach is to transform the
471: lexicographic CSP into a VCSP on the valuation structure
472: $\langle\mathbb{N}\cup\{\infty\},+,\geq\rangle$ using the simple transformation
473: described in~\cite{Schiex95a}.
474: \end{example}
475:
476: %\begin{theorem}[\cite{CooperFCSP}]
477: % Every strictly monotonic valuation structure
478: % $S=\langle E,\oplus,\succcurlyeq\rangle$can be embedded in a valuation structure
479: % $S'=\langle E',\oplus',\succcurlyeq'\rangle$ in which $\oplus'$ has a difference
480: % operation $\ominus$ satisfying $b\oplus'(a\ominus b) = a$ in $E'$ for all $a,b \in
481: % E'$ such that $a \succcurlyeq' b$.
482: %\end{theorem}
483:
484: %\begin{proof}
485: % Define the relation $\equiv$ between pairs of elements of $E\times(E-\{\top\})$
486: % as follows: $\forall a,c \in E, \forall b,d \in (E-\{\top\}), (a,b) \equiv (c,d) \Leftrightarrow
487: % a\oplus d = b \oplus c$.
488:
489: % That $\equiv$ is an equivalence relation follows from the strict
490: % monotonicity of $\oplus$: for $(a,b), (c,d), (e,f) \in E\times(E-\{\top\})$, we
491: % have $(a\oplus d = b\oplus c) \land (c\oplus f = d\oplus e) \Rightarrow a\oplus d\oplus c\oplus f = b\oplus c\oplus
492: % d\oplus e \Rightarrow a\oplus f = b\oplus e$ if $ c\neq \top$. Otherwise, if $c =\top$, this
493: % implies that $a=e=\top$ and therefore again $a\oplus f = b\oplus e$.
494:
495: % Let $E'$ be the set of equivalence classes of $\equiv$ in $\{(a,b)\in
496: % E\times(E-\{\top\})~|~a \succcurlyeq b\}$. If we identify $a\in E$ with the
497: % equivalence class of $(a,\bot)\in E '$, we see that $E '$ is an
498: % extension of $E$. We write $\bot'$ and $\top'$ for (the equivalence
499: % classes of) $(\bot,\bot)$ and $(\top,\bot)$ in $E'$. Define an order
500: % $\succcurlyeq'$ by $(a,b) \succcurlyeq' (c,d) \Leftrightarrow a\oplus d \succcurlyeq
501: % b\oplus c$. It is easy to see that $\succcurlyeq'$ is well-defined. The
502: % aggregation $\oplus'$ is defined as $(a,b) \oplus' (c,d) = (a\oplus c,b\oplus d)$.
503: % The difference $(a,b)\ominus (c,d)$ in $E '$ is defined as $(a\oplus d,b\oplus
504: % c)$ for $(a,b) \in E', (c,d)\in E'-\{\top'\}$ such that $(a,b)
505: % \succcurlyeq' (c,d)$ in $E '$. $\top'\ominus \top'$ is defined as $\top'$.
506:
507: % It remains to show that $S' = \langle E',\oplus',\succcurlyeq'\rangle$ is a fair
508: % valuation structure. That $\succcurlyeq'$ is a total order follows
509: % from:\medskip
510:
511: %\begin{tabular}{ccl}
512: % $(a,b) \succcurlyeq'(c,d) \land (c,d) \succcurlyeq' (a,b)$ & $\Rightarrow$ & $a\oplus d = b
513: % \oplus c \Rightarrow (a,b)\equiv (c,d)$ and \\
514: %$(a,b) \succcurlyeq' (c,d) \land (c,d)\succcurlyeq'(e,f)$& $\Rightarrow$ & $(a\oplus d\succcurlyeq b\oplus c) \land (c\oplus f \succcurlyeq d\oplus e)$\\
515: % & $\Rightarrow$ & $(a\oplus d \oplus c \oplus f \succcurlyeq b\oplus c \oplus d\oplus e \land c\neq \top) \lor$\\
516: % & & $(a=c=\top)$\\
517: %& $\Rightarrow$ & $a\oplus f\succcurlyeq b \oplus e$ (strict monotonicity)\\
518: %& $\Rightarrow$ & $(a,b) \succcurlyeq' (e,f)$\\
519: %\end{tabular}
520:
521: %That $\top'$ and $\bot'$ are the maximum and minimum elements of $E '$
522: %follows from the fact that $\forall (a,b)\in E ', \top\succcurlyeq
523: %a\succcurlyeq b$ which can be rewritten $b\oplus\top \succcurlyeq a\oplus \bot
524: %\succcurlyeq b\oplus\bot$ and therefore $(\top,\bot) \succcurlyeq' (a,b)
525: %\succcurlyeq' (\bot,\bot)$.
526:
527: %The fact that $E '$ is closed under $\oplus$ follows from $(a,b),(c,d)\in
528: %E' \Rightarrow b\neq\top \land d\neq\top \land a\succcurlyeq b \land c\succcurlyeq d \Rightarrow b\oplus d\neq\top \land
529: %a\oplus c\succcurlyeq b\oplus d \Rightarrow (a\oplus c,b\oplus d)\in E '$.
530:
531: %The commutativity and associativity of $\oplus'$ in $E '$ follow directly
532: %form the associativity and commutativity of $\oplus$ in $E$. Furthermore,
533: %the identity axiom $\forall (a,b) \in E ', (a,b)\oplus' (\bot,\bot) \equiv (a,b)$ is
534: %obviously satisfied. Strict monotonicity follows from the fact
535: %that $(a,b),(c,d),(e,f) \in E' \land (a,b) \succ' (c,d) \land (e,f)\not\equiv \top' \Rightarrow
536: %a\oplus d \succ b\oplus c \land \top \neq e \succcurlyeq f \Rightarrow a\oplus e\oplus d\oplus f \succ b\oplus f \oplus
537: %c \oplus e \Rightarrow (a\oplus e,b\oplus f) \succ '(c\oplus e,d\oplus f) \Rightarrow (a,b)\oplus'(e,f) \succ '
538: %(c,d)\oplus'(e,f)$ and the absorbing element axiom is a logical
539: %consequence of the other axioms in valuation structures
540: %(see~\cite{Schiex95a}).
541:
542: %Finally, if we consider $(a,b),(c,d)\in E '$ such that $(c,d)\not\equiv
543: %\top'$ and $(a,b)\succcurlyeq' (c,d)$ then $(c,d)\oplus'((a,b)\ominus(c,d)) \equiv
544: %(c,d)\oplus'(a\oplus d,b\oplus c) \equiv (c\oplus a\oplus d,d\oplus b\oplus c) \equiv (a,b)$ by definition
545: %of $\equiv$ since $d\oplus b \oplus c \neq \top$. When $(c,d)\equiv \top'$, we only need to
546: %consider the case $(a,b) \equiv \top'$ and clearly $\top'\oplus (\top'\ominus\top')\equiv \top'$
547: %as required.
548: %\end{proof}
549:
550: \subsection{Equivalence preserving transformations}
551:
552: As it has been demonstrated in the examples of Figures~\ref{maxcsp1}
553: and~\ref{fig2}, it is possible to transform a \textsc{Max-CSP} into an
554: equivalent but different \textsc{Max-CSP} using local transformations
555: (involving only one non unary constraint). Such operations will be
556: called equivalence-preserving transformations:
557:
558: \begin{definition}
559: The \emph{subproblem} of a VCSP $V=\langle X,D,C,S\rangle$ on $J\subseteq X$ is the
560: VCSP $V(J) = \langle J,D_J,C_J,S\rangle$, where $D_J=\{d_j~:~j\in J\}$ and $C_J
561: = \{c_P \in C~:~P\subseteq J\}$.
562: \end{definition}
563:
564: \begin{definition}
565: For a VCSP $V$, an \emph{equivalence-preserving transformation} of
566: $V$ on $J\subseteq X$ is an operation which transforms the subproblem of
567: $V$ on $J$ into an equivalent VCSP. If $C_J = \{c_P \in C~:~P\subseteq J\}$
568: contains only one non unary constraint, such an operation is called
569: an \emph{equivalence-preserving arc transformation}.
570: \end{definition}
571:
572: \begin{example}
573: The procedures \Proj\ and \Ext\, described in Algorithm~\ref{ext}
574: are examples of equivalence-preserving transformations.
575:
576: \Proj\ transform a VCSP by shifting valuations from the tuples
577: of a given non unary constraint $c_P$ to the value $(i,a)$, where $i\in
578: P, a\in d_i$. In order to preserve equivalence, any increase at the
579: unary level is compensated at the tuple level (line~1 of
580: Algorithm~\ref{ext}).
581:
582: Conversely, \Ext\ shifts the valuation from value $(i,a)$ to the
583: tuples of the constraint $c_P$ where $i\in P$. Again, the fairness of
584: the valuation structure allows us to compensate for the possible
585: increase of the tuple valuations by an operation at the unary level
586: (line~2 of Algorithm~\ref{ext}).
587: \end{example}
588:
589: \begin{algorithm}[htbp]
590: \Procedure{\Proj{$c_P,i,a$}}{
591: $\beta \gets \min_{t \in \ell(P-\{i\})}(c_P(t,a))$\;
592: $c_i(a) \gets c_i(a) \oplus \beta$\;
593: \ForEach{($t\in \ell(P-\{i\})$)}
594: {\lnl{comp}$c_P(t,a) \gets c_P(t,a) \ominus \beta$\;}
595: }
596: \BlankLine
597: \BlankLine
598: \Procedure{\Ext{$i,a,c_P$}}{
599: \ForEach{($t \in \ell(P-\{i\})$)}{
600: $c_P(t,a) \gets c_P(t,a) \oplus c_i(a)$\;
601: }
602: \lnl{abs} $c_i(a) \gets c_i(a) \ominus c_i(a)$\;
603: }
604: \caption{Two basic equivalence-preserving arc-transformations\label{ext}}
605: \end{algorithm}
606:
607: \begin{theorem}
608: Given any fair VCSP $V=\langle X,D,C,S\rangle$, for any $c_P \in C^+$, $i\in P$,
609: $a\in d_i$, the application of \Proj\ or \Ext\ on $V$ yields an
610: equivalent VCSP.
611: \end{theorem}
612: \begin{proof}
613: To demonstrate equivalence, it is sufficient to prove that the value
614: of $c_P(t,a) \oplus c_i(a)$ is an invariant of \Proj{$c_P,i,a$} and
615: \Ext{$i,a,c_P$}. For any $t\in\ell(P-\{i\})$, let $\gamma$ be the initial
616: value of $c_P(t,a)$ and $\delta$ the initial value of $c_i(a)$. After
617: the execution of \Proj, we have $(c_P(t,a) \oplus c_i(a)) = (\gamma \ominus \beta)
618: \oplus (\delta \oplus \beta) = \gamma \oplus \delta$. After the execution of \Ext, we have
619: $(c_P(t,a) \oplus c_i(a)) = (\gamma \oplus \delta) \oplus (\delta \ominus \delta) = \gamma \oplus \delta$. This
620: proves the invariances.
621: \end{proof}
622:
623: As the example of Figure~\ref{fig2} showed in the case of
624: \textsc{Max-CSP}, the iterated application of equivalence-preserving
625: transformations such as \Proj\ and \Ext\ does not necessarily lead to
626: a quiescent state. The two following sections show how a limited
627: application of carefully designed equivalence-preserving
628: transformations can guarantee that a quiescent state will always be
629: reached.
630:
631: \section{Soft Arc consistency}
632:
633: In classical CSPs, arc consistency enforcing always increases the
634: information available on each variable. In the case of soft arc
635: consistency, application of arc transformations will be limited to
636: operations that either increase the information available at the
637: variable level or that increase information available at the
638: constraint level \emph{as long as they do not lower the information
639: available at the variable level}. In the next section, we try to
640: better characterise when this is possible.
641:
642: \subsection{On the structure of valuation structures}
643:
644: \begin{definition}
645: In a valuation structure $\langle E,\oplus,\succcurlyeq\rangle$, an element $\alpha \in
646: E$ is an absorbing element iff $\alpha \oplus \alpha = \alpha$.
647: \end{definition}
648: Absorbing elements can be duplicated without affecting valuations.
649: They can be propagated, in the same way as inconsistencies are in
650: crisp CSPs. Non-absorbing elements $\alpha$ can be shifted from one
651: constraint to another, but each addition of $\alpha$ must be compensated
652: by a subtraction elsewhere.
653:
654: In a valuation structure $\langle E,\oplus,\succcurlyeq\rangle$, if $\oplus$ is
655: idempotent then all elements of $E$ are absorbing. If $\oplus$ is a
656: strictly monotonic operator then the only absorbing elements are $\bot$
657: and $\top$. Intermediate cases occur in the following examples:
658: %\begin{example}
659: % Suppose that a student must obtain $10$ first-year course credits to
660: % be allowed to follow second-year courses, and then must obtain $10$
661: % second-year course credits to be awarded his/her degree.
662:
663: % This can be modelled by a valuation structure of the form:
664: % \[\{(N_1,0)~:~N_1\in\{0,\ldots,10\}\} \cup \{(10,N_2)~:~N_2\in \{0,\ldots,10\}\}\]
665:
666: %where $N_1$ is the number of first-year credits, $N_2$ the number of
667: %second-year credits, and
668:
669: %\begin{eqnarray*}
670: %(N_1,N_2) < (N_1',N_2') & \Leftrightarrow & (N_2 < N_2') \lor (N_2 = N_2' = 0 \land N_1 <N_1')\\
671: %(N_1,N_2) \oplus (N_1',N_2') & = & (\min\{N_1+N_1',10\}, \min\{N_2+N_2',10\})
672: %\end{eqnarray*}
673:
674: %There are three absorbing values in this valuation structure, namely
675: %$(0,0)$, $(10,0)$ and $(10,10)$. This is a fair valuation structure
676: %since $\oplus$ has the following inverse operation $\ominus$:
677:
678: %\[\begin{array}{rcll}
679: %(N_1,N_2) \ominus (N_1',N_2') & = & (N_1-N_1',0\} & (\textrm{if}~(N_2=N_2' = 0) \land N_1<10)\\
680: %(N_1,N_2) \ominus (N_1',N_2') & = & (10,N_2-N_2') & (\textrm{if}~N_1=10)\\
681: %\end{array}\]
682: %\end{example}
683:
684: \begin{example}
685: Imagine the possible sentences for driving offences. Suppose that
686: penalty points (up to a maximum of $12$) are awarded for minor
687: offences, whereas serious offences are penalised by suspension of
688: the offender's driving license for a period of $y$ years, for some
689: positive integer $y$. A driver who accumulates $12$ penalty points
690: receives an automatic one-year suspension of his/her license. The
691: set of sentences can be modelled by a valuation structure
692: $S=\langle E,\oplus,\succcurlyeq\rangle$ of the form:
693: \[E=\{(p,0)~:~p\in\{0,\ldots,12\}\} \cup \{(0,y)~:~y\in\mathbb{N}^*\cup\{\infty\}\} \]
694:
695: \begin{eqnarray*}
696: (p,y) \prec (p',y') & \Leftrightarrow & (y< y') \lor ((y = y'=0) \land (p< p'))\\
697: &&\\
698: (p,0)\oplus(p',0) & = & (\min(p+p',12),0)\\
699: (p,y) \oplus (p',y') & = & (0,y+y')\hspace*{2cm}\textrm{if $(y+y'\neq 0)$}\\
700: \end{eqnarray*}
701: Note that $(12,0)\prec(0,1)$ even though they both give rise to a
702: one-year license suspension. The penalty $(0,1)$ is deemed to be
703: worse because it can be cumulated. For example $(0,1)\oplus(0,1) =
704: (0,2)$, whereas $(12,0)\oplus(12,0) = (12,0)$. Apart from $\bot=(0,0)$ and
705: $\top=(0,\infty)$, this valuation structure contains another absorbing
706: valuation, namely $(12,0)$. This is a fair valuation structure since
707: $\oplus$ has the following inverse operation $\ominus$:
708: \begin{eqnarray*}
709: (p,0)\ominus (p',0) & = & (p-p',0)\quad\textrm{if $p < 12$}\\
710: (12,0) \ominus (p',0) & = & (12,0)\\
711: (0,y) \ominus (p',y') &=& (0,y-y')
712: \end{eqnarray*}
713: \end{example}
714:
715: \begin{example}
716: Another interesting case occurs if, for example, a company wants to
717: minimise both financial loss $F$ and loss of human life $H$ if a
718: fire should break out in its factory. Supposing that the company
719: considers that no price can be put on human life, we must have
720: \[(F,H) < (F',H') \Leftrightarrow (H<H') \lor (H=H' \land F<F')\]
721: If a financial loss of $F_{\max}$ represents bankruptcy, then
722: \[ (F,H)\oplus (F',H') = (\min\{F+F',F_{\max}\},H+H')\]
723: and $(F_{\max},0)$ is an absorbing element which is strictly less than
724: $\top$. Note that this valuation structure is not fair, since it is
725: impossible to define $\alpha = (0,1)\ominus (F_{\max},0)$ such that $\alpha\oplus
726: (F_{\max},0) = (0,1)$.
727: \end{example}
728:
729: \begin{example}
730: Consider a valuation structure $S=\langle\mathbb{N}\cup\{\infty,\top\},\oplus,\geq\rangle$
731: composed of prison sentences. Sentences may be of $n$ years, life
732: imprisonment (represented by $\infty$) or the death penalty
733: (represented by $\top$). There is a rule that states that two life
734: sentences lead automatically to a death sentence: in other words
735: $(\infty\oplus\infty) = \top$. Otherwise, sentences are cumulated in the obvious
736: way: $\forall m, n \in\mathbb{N}, (m\oplus n = m+n)$; $\forall n\in \mathbb{N}, (\infty+n =
737: \infty)$; $\forall \alpha\in E, (\top\oplus\alpha = \top)$. Although every pair $\beta,\alpha \in E,
738: \alpha\leq \beta$ possesses a difference, this valuation structure is not
739: fair since the set of differences of $\infty$ and $\infty$ is $\mathbb{N}$
740: and hence no \emph{maximal} difference of $\infty$ and $\infty$ exists.
741: However, $S$ can easily be rendered fair by replacing $\mathbb{N}$
742: by $\{0,1,2,\ldots,150\}$, for example.
743: \end{example}
744:
745: The following results show that all fair valuation structures are
746: composed of slices separated by absorbing values, each slice being
747: independent of the others.
748:
749: \begin{lemma}\label{lemma2}
750: Let $S=\langle E,\oplus,\succcurlyeq\rangle$ be a valuation structure. If $\alpha,\beta
751: \in E$, $\alpha$ is an absorbing element and $\beta \preccurlyeq\alpha$ then
752: $\alpha\oplus\beta = \alpha$. If $S$ is fair, then $\alpha \ominus \beta = \alpha$.
753: \end{lemma}
754: \begin{proof}
755: Since $\beta\preccurlyeq \alpha$, it follows that $\alpha \preccurlyeq \alpha\oplus \beta
756: \preccurlyeq \alpha\oplus\alpha =\alpha$, by monotonicity. Thus, $\alpha\oplus\beta = \alpha$.
757: Furthermore, $\alpha\oplus\beta = \alpha$ shows that $\alpha$ is a difference of $\alpha$
758: and $\beta$. It is the maximal difference since $\alpha\ominus \beta = (\alpha\ominus\beta)\oplus\bot
759: \preccurlyeq (\alpha\ominus \beta)\oplus\beta = \alpha$, by monotonicity. Thus $\alpha\ominus\beta =\alpha$.
760: \end{proof}
761:
762: \begin{lemma}\label{lemma3}
763: Let $S=\langle E,\oplus,\succcurlyeq\rangle$ be a fair valuation structure. If
764: $\alpha,\beta \in E$, $\alpha$ is an absorbing element and $\beta \succcurlyeq \alpha$
765: then $\alpha\oplus\beta = \beta$ and $\beta \ominus \alpha = \beta$.
766: \end{lemma}
767: \begin{proof}
768: Since $\alpha$ is absorbing, $\beta\oplus\alpha =(\beta\ominus \alpha)\oplus \alpha \oplus\alpha = (\beta\ominus \alpha)\oplus
769: \alpha = \beta$. Furthermore, this shows that $\beta$ is a difference of $\beta$
770: and $\alpha$. It is the maximum difference since $\beta \ominus \alpha\preccurlyeq
771: \beta$, by Lemma~\ref{lemma1}. Thus, $\beta \ominus \alpha = \beta$.
772: \end{proof}
773: %\noindent Notation: Let $S=\langle E,\oplus,\succcurlyeq\rangle$ be a valuation structure and
774: %$\beta\in E$, we denote by $\gla{\beta} = \max\{\alpha \in E~:~(\alpha\preccurlyeq \beta)
775: %\land(\alpha\textrm{~absorbing})\}$, the greatest absorbing lower bound of
776: %$\beta$ in $E$ and by $\lua{\beta} = \min\{\alpha \in E~:~(\alpha\succcurlyeq \beta) \land
777: %(\alpha\textrm{~absorbing})\}$ the lowest absorbing upper bound of $\beta$
778: %in $E$. $\gla{\beta}$ and $\lua{\beta}$ always exist since $\bot$ and $\top$ are
779: %absorbing and respectively the minimum and maximum elements of $E$.
780:
781: \begin{theorem}[Slice Independence Theorem]\label{slicetheo}
782: Let $S=\langle E,\oplus,\succcurlyeq\rangle$ be a fair valuation structure. Let
783: $\beta,\gamma \in E, \beta\preccurlyeq \gamma$, and let $\alpha_0, \alpha_1\in E$ be absorbing
784: valuations such that $\alpha_0\preccurlyeq \gamma\preccurlyeq\alpha_1$. Then
785: $\alpha_0\preccurlyeq (\gamma \oplus\beta) \preccurlyeq \alpha_1$ and $\alpha_0
786: \preccurlyeq (\gamma\ominus\beta) \preccurlyeq \alpha_1$.
787: \end{theorem}
788: \begin{proof}
789: By monotonicity, $\beta\oplus\gamma \preccurlyeq \alpha_1 \oplus \gamma = \alpha_1$ by
790: Lemma~\ref{lemma2}. By Lemma~\ref{lemma3}, $\gamma = \gamma \oplus \alpha_0 = (\gamma \ominus
791: \beta) \oplus \beta \oplus \alpha_0 =(\gamma \ominus \beta) \oplus \alpha_0 \oplus \beta$. Therefore, $((\gamma \ominus
792: \beta) \oplus \alpha_0)$ is a difference of $\gamma$ and $\beta$. Since $\gamma\ominus\beta$ is a
793: maximal difference, $\gamma\ominus\beta \succcurlyeq (\gamma\ominus\beta)\oplus\alpha_0\succcurlyeq
794: \alpha_0$, by monotonicity. The remaining equalities follow from
795: monotonicity.
796: \end{proof}
797:
798: The following results will be useful for the proof of correctness of
799: the arc consistency enforcing algorithm given in the next section.
800: \begin{theorem}\label{maxabs}
801: Let $S=\langle E,\oplus,\succcurlyeq\rangle$ be a fair valuation structure. For
802: all $\alpha\in E$, $\alpha \ominus \alpha$ is the maximal absorbing valuation less than
803: or equal to $\alpha$.
804: \end{theorem}
805: \begin{proof}
806: Let $\beta=\alpha\ominus\alpha$. Now $\alpha\oplus(\beta\oplus\beta) = (\alpha\oplus\beta)\oplus\beta=\alpha\oplus\beta=\alpha$, which
807: shows that $\beta\oplus\beta$ is a difference of $\alpha$ and $\alpha$. By
808: definition~\ref{fairdef}, $\beta$ is the maximal difference. Therefore,
809: $\beta\succcurlyeq \beta\oplus\beta$. Since $\beta\preccurlyeq \beta\oplus\beta$ by
810: monotonicity, we have $\beta=\beta\oplus\beta$ and hence $\beta$ is
811: absorbing. Maximality follows from Theorem~\ref{slicetheo}, since
812: for all absorbing valuations $\alpha_0\preccurlyeq \alpha$, we have
813: $\alpha_0\preccurlyeq (\alpha\ominus\alpha)$.
814: \end{proof}
815:
816: \begin{lemma}\label{lemma4}
817: Let $S=\langle E,\oplus,\succcurlyeq\rangle$ be a fair valuation structure. For
818: all $\alpha,\beta\in E$, $((\alpha\oplus\beta)\ominus\alpha)\ominus\beta = (\alpha\oplus\beta)\ominus(\alpha\oplus\beta)$.
819: \end{lemma}
820: \begin{proof}
821: Let $\gamma = (\alpha\oplus\beta)\ominus(\alpha\oplus\beta)$. By Theorem~\ref{maxabs}, $\gamma$ is
822: absorbing. Now $\gamma\preccurlyeq (\alpha\oplus\beta)$, by Lemma~\ref{lemma1}. Let
823: $\delta = ((\alpha\oplus\beta)\ominus\alpha)\ominus\beta$. Then the fact that $\delta \succcurlyeq \gamma$
824: follows from two applications of the Slide Independence Theorem.
825: But $\delta\oplus(\alpha\oplus\beta) = (\alpha\oplus\beta)$. Therefore $\delta$ is a difference of
826: $(\alpha\oplus\beta)$ and $(\alpha\oplus\beta)$. $\gamma$ being the maximal difference, this
827: shows that $\delta \preccurlyeq \gamma$ and $\delta=\gamma$.
828: \end{proof}
829:
830: \begin{theorem}\label{theoabs}
831: Let $S=\langle E,\oplus,\succcurlyeq\rangle$ be a fair valuation structure. For
832: all $\alpha ,\beta \in E$, either $(\alpha\oplus\beta)\ominus \beta = \alpha$ or $(\alpha\oplus\beta)\ominus \beta =
833: (\alpha\oplus\beta)\ominus(\alpha\oplus\beta)$ which is absorbing and strictly greater
834: than $\alpha$.
835: \end{theorem}
836: \begin{proof}
837: Let $\gamma = (\alpha\oplus\beta)\ominus(\alpha\oplus\beta)$. Now $(\alpha\oplus\beta)\ominus \beta =
838: (((\alpha\oplus\beta)\ominus\beta)\ominus\alpha)\oplus\alpha = \gamma\oplus\alpha$, by Lemma~\ref{lemma4}. Since
839: $\gamma$ is absorbing, $\gamma\oplus \alpha$ equals either $\alpha$ (if $\alpha \succcurlyeq
840: \gamma$, Lemma~\ref{lemma3}) or $\gamma$ (if $\gamma \succcurlyeq \alpha$,
841: Lemma~\ref{lemma2}). In this case, the fact that $\gamma$ is absorbing
842: follows directly from Theorem~\ref{maxabs}.
843: \end{proof}
844:
845: \begin{theorem}\label{finivs}
846: Any VCSP $V=\langle X,D,C,S\rangle$ on a fair valuation structure $S=\langle
847: E,\oplus,\succcurlyeq\rangle$ is equivalent to a VCSP on a valuation
848: structure $S'$ with no more than $2ed^r+2$ absorbing valuations.
849: \end{theorem}
850: \begin{proof}
851: For any $\beta \in E$ define
852: \[\textit{Slice}(\beta) = \{\alpha\in E~:~\nexists \gamma \textrm{~absorbing in~}E \textrm{~s.t.~} (\alpha \prec \gamma \preccurlyeq \beta) \lor (\alpha \succ \gamma \succcurlyeq \beta) \}\]
853:
854: If $\beta$ is absorbing then $\textit{Slice}(\beta) = \{\beta\}$, otherwise
855: $\textit{Slice}(\beta)$ is the set of valuations $\alpha$ for which there
856: is no intermediate absorbing valuation $\gamma$ lying between $\alpha$ and
857: $\beta$. Each $\textit{Slice}(\beta)$ contains at most two absorbing
858: valuations, namely the maximum absorbing valuation less than or
859: equal to $\beta$ (which is in fact $\beta \ominus \beta$, by Theorem~\ref{maxabs})
860: and the minimum absorbing valuation greater than or equal to $\beta$
861: (which may or may not exist).
862:
863: Let $E_0$ be the set of valuations taken on by the cost functions
864: $c_P\in C$ in the VCSP and let
865:
866: \[E' = \{\bot,\top\} \bigcup_{\beta \in E_0} \textit{Slice}(\beta) \]
867:
868: Clearly $E'$ contains at most $2ed^r+2$ absorbing valuations. It
869: is sufficient to show that $E'$ is closed under $\oplus$ and $\ominus$.
870:
871: Consider $\alpha,\beta \in E'$ such that $\alpha \preccurlyeq \beta$ and $\beta \in
872: \textit{Slice}(\beta_o)$ for some $\beta_0 \in E_0$.
873:
874: Suppose that $(\alpha\oplus\beta) \not\in E'$. This implies that $\exists \gamma$
875: absorbing in $E$ such that $\alpha\oplus\beta\succ \gamma\succcurlyeq \beta_0$. But,
876: since $\beta\preccurlyeq\gamma$ by the definition of
877: $\textit{Slice}(\beta_0)$, this contradicts Theorem~\ref{slicetheo}.
878: Similarly, $\beta \ominus \alpha \not\in E'$ implies that $\exists\gamma$ absorbing in $E$
879: such that $\beta\ominus\alpha\prec \gamma\preccurlyeq \beta_0$. But, since $\beta\succcurlyeq
880: \gamma$ by the definition of $\textit{Slice}(\beta_0)$, this again
881: contradicts Theorem~\ref{slicetheo}.
882: \end{proof}
883:
884: By theorem~\ref{finivs}, we can now assume, without loss of
885: generality, that the number of absorbing valuations in the valuation
886: structure is finite.
887:
888: \subsection{A Definition of Soft Arc Consistency}
889:
890: Before giving an arc consistency enforcing algorithm which is valid
891: over any fair valuation structure, we require a formal definition of
892: arc consistency for fair VCSPs. We first consider the usual restriction
893: to binary VCSPs.
894:
895: \begin{definition}\label{sac}
896: A fair binary VCSP is \emph{arc consistent} if for all $i,j \in X$
897: such that $c_{ij} \in C^+$, for all $a \in d_i$ we have:
898: \begin{enumerate}
899: \item\label{conda} $\forall b\in d_j, c_{ij}(a,b) = \bigl(c_i(a)\oplus c_{ij}(a,b)\oplus c_j(b)\bigr) \ominus \bigl(c_i(a)\oplus c_j(b)\bigr)$.
900: \item\label{condb} $c_i(a) = \min_{b\in d_j} (c_i(a) \oplus c_{ij}(a,b))$
901: \end{enumerate}
902: \end{definition}
903:
904: Condition~\ref{conda} states that $c_{ij}(a,b)$ has been increased to
905: the maximal element in $E$ which does not increase the valuation
906: $\bigl(c_i(a)\oplus c_{ij}(a,b)\oplus c_j(b)\bigr)$ of $(a,b)$ on $\{i,j\}$.
907: If $\oplus$ is strictly monotonic or idempotent, then this is equivalent
908: to saying that absorbing valuations have been propagated from $c_i(a)$
909: to $c_{ij}(a,b)$. Condition~\ref{condb} says that we
910: have propagated as much weight as possible from the constraint
911: $c_{ij}$ onto $c_i$.
912:
913: To gain a better understanding of condition~\ref{conda} of
914: Definition~\ref{sac} in the most general case, consider a simple
915: valuation structure in which penalties lies in the range
916: $\{0,1,2,3,4,5\}$ and $\forall \alpha,\beta\in E, (\alpha\oplus\beta = \min(5,\alpha + \beta))$. $5$
917: is absorbing and verifies $5\ominus\alpha = 5$ for all $\alpha\preccurlyeq5$.
918: Figure~\ref{figconda}(a) shows a 2-variable VCSP over this valuation
919: structure. Figure~\ref{figconda}(b) shows the result of enforcing
920: condition~\ref{conda} of Definition~\ref{sac}: $c_{12}(a,a)$ and
921: $c_{12}(b,a)$ can both be increased to $5$ without changing the
922: valuations of the solutions $(a,a)$ and $(b,a)$.
923: Figure~\ref{figconda}(c) shows the result of then enforcing
924: condition~\ref{condb}: penalties are projected down from constraints
925: to domains, as we have seen in the example of Figure~\ref{maxcsp1}.
926:
927: \begin{figure}
928: \begin{center}
929: \includegraphics[width=0.7\textwidth]{figconda}
930: \caption{(a) An example of a VCSP and how conditions~\ref{conda} and~\ref{condb} are enforced\label{figconda}}.
931: \end{center}
932: \end{figure}
933:
934: Definition~\ref{sac} can be generalised to non binary VCSP. We call
935: this generalised arc consistency, to be consistent with the
936: terminology employed in the CSP literature~\cite{Mohr88}.
937:
938: \begin{definition}\label{defgac}
939: A fair VCSP is \emph{generalised arc consistent} if for all $c_P\in
940: C^+$, we have:
941: \begin{enumerate}
942: \item\label{gconda} $\forall t \in \ell(P), c_P(t) = (c_P(t) \oplus \beta) \ominus \beta$, where $\beta = \mathop\bigoplus_{j\in P} c_j(t_{\proj \{j\}})$.
943: \item\label{gcondb} $\forall i\in P, \forall a \in d_i, c_i(a) = \min_{t\in \ell(P-\{i\})} (c_i(a) \oplus c_P(t,a))$
944: \end{enumerate}
945: \end{definition}
946: Having given the necessary definitions, we can now define a
947: generalised arc consistency enforcing algorithm.
948:
949: \subsection{Enforcing generalised arc consistency in fair VCSPs}
950:
951: Arc consistency is established by repeated calls to two subroutines
952: denoted by \ProjAC\ and \ExtAC\ (see Algorithms~\ref{algoproj}
953: and~\ref{algoext} respectively), called \emph{arc consistency
954: operations}. The data structure $Q$ is a queue containing elements
955: $(t,P,\alpha)$, where $\alpha = c_P(t)$. The subroutine \ProjAC{$c_P,i,a$} is
956: a simple modification of the basic equivalence-preserving
957: transformation \Proj\ that memorises VCSP modifications in the queue
958: for further propagation. This simple modification obviously does not
959: alter the fact that it is an equivalence-preserving transformation.
960:
961: \begin{algorithm}[htbp]
962: \Procedure{\ProjAC{$c_P,i,a$}}{
963: $\beta \gets \min_{t \in \ell(P-\{i\})}(c_P(t,a))$\;
964: \If{($c_i(a)\oplus \beta \succ c_i(a)$)}{
965: $c_i(a) \gets c_i(a) \oplus \beta$\;
966: Add $(a,\{i\},c_i(a))$ to $Q$\;
967: \ForEach{($t\in \ell(P-\{i\})$)}
968: {$c_P(t,a) \gets c_P(t,a) \ominus \beta$\;}
969: }
970: }
971: \caption{Projection for Soft AC enforcing\label{algoproj}}
972: \end{algorithm}
973:
974: \begin{lemma}\label{lemmaproj}
975: For any fair VCSP $V=\langle X,D,C,S\rangle$, if $c_P\in C, i\in P, a\in d_i$ then
976: the result of applying \ProjAC{$c_P,i,a$} to a fair VCSP $V$ is an
977: equivalent VCSP in which
978: \[c_i(a) = \min_{t \in \ell(P-\{i\})} (c_i(a) \oplus c_P(t,a))\]
979: \end{lemma}
980: \begin{proof}
981: This property follows from the fact that either $c_i(a)\oplus \beta$ is not
982: strictly greater than $c_i(a)$ and in this case $c_i(a) = c_i(a)\oplus
983: \min_{t \in \ell(P-\{i\})}(c_P(t,a)) = \min_{t \in \ell(P-\{i\})} (c_i(a)
984: \oplus c_P(t,a))$ or else let $t_{\min}$ be the tuple such that
985: $c_P(t_{\min},a) = \min_{t \in \ell(P-\{i\})}(c_P(t,a)) = \beta$ before
986: execution of \ProjAC. Let $\delta$ be the original value of $c_i(a)$.
987: After execution, $c_i(a) = \delta \oplus \beta = c_i(a) \oplus c_P(t_{\min},a)$.
988: Therefore we have $c_i(a) \succcurlyeq \min_{t \in \ell(P-\{i\})}
989: (c_i(a) \oplus c_P(t,a))$. The equality follows from monotonicity.
990: \end{proof}
991:
992: The subroutine \ExtAC{$i,a,c_P$} is a modified version of the
993: equivalence-preserving transformation \Ext\ that propagates an
994: increase in the valuation $c_i(a)$ to all the valuations $c_P(t,a)$
995: for $t \in \ell(P-\{i\})$ when this can be done without any compensation
996: at the unary level. It also memorises the new valuation $\gamma$ of each
997: tuple of $c_P$ in $Q$ for further propagation. In this case, $\gamma$ is
998: always an absorbing valuation (by Theorem~\ref{theoabs}).
999:
1000: \begin{algorithm}[htbp]
1001: \Procedure{\ExtAC{$i,a,c_P$}}{
1002: \ForEach{($t \in \ell(P-\{i\})$)}{
1003: $\beta \gets \mathop\bigoplus_{j\in P}c_j((t,a)_{\proj \{j\}})$\;
1004: $\gamma \gets (c_P(t,a)\oplus\beta) \ominus \beta$\;
1005: \If{($\gamma \succ c_P(t,a)$)}{
1006: $c_P(t,a) \gets \gamma$\;
1007: Add $((t,a),P,c_P(t,a))$ to $Q$\;
1008: }
1009: }
1010: }
1011: \caption{Extension for Soft AC enforcing\label{algoext}}
1012: \end{algorithm}
1013:
1014: \begin{lemma}\label{lemmaext}
1015: For any fair VCSP $V=\langle X,D,C,S\rangle$, if $c_P\in C, i\in P, a\in d_i$
1016: then the result of applying \ExtAC{$i,a,c_P$} to a fair VCSP $V$ is
1017: an equivalent VCSP in which
1018: \[\forall t\in \ell(P-\{i\}), (c_P(t,a) = (c_P(t,a)\oplus \beta)\ominus \beta),\textrm{where~}\beta =\mathop\bigoplus_{j\in P} c_j((t,a)_{\proj \{j\}})\]
1019: \end{lemma}
1020: \begin{proof}
1021: To demonstrate equivalence, it is sufficient to prove that $\forall
1022: t\in\ell(P-\{i\})$, $\beta \oplus c_P(t,a)$ is an invariant of
1023: \ExtAC{$i,a,c_P$}, where $\beta =\mathop\bigoplus_{j\in P} c_j((t,a)_{\proj
1024: \{j\}})$. But this is certainly the case because, if $c_P(t,a) =
1025: \alpha$ before execution of \ExtAC{$i,a,c_P$}, then $\beta \oplus c_P(t,a) = \beta
1026: \oplus ((\alpha \oplus \beta)\ominus \beta) = \beta \oplus \alpha$ after $c_P(t,a)$ is updated by
1027: \ExtAC{$i,a,c_P$}.
1028:
1029: We know that $\alpha\preccurlyeq (\alpha\oplus \beta)\ominus\beta$, since
1030: $\alpha$ is clearly a difference of $\alpha\oplus\beta$ and $\beta$. If $\alpha\prec
1031: (\alpha\oplus\beta) \ominus \beta$, then $c_P(t,a)$ is assigned $(\alpha\oplus\beta) \ominus \beta$.
1032: Hence, after $c_P(t,a)$ is updated by \ExtAC{$i,a,c_P$}, $\beta \oplus
1033: c_P(t,a) = \beta \oplus \alpha$ and $(c_P(t,a) \oplus \beta) \ominus \beta = (\alpha \oplus \beta) \ominus \beta
1034: = c_P(t,a)$.
1035: \end{proof}
1036:
1037: We are now in a position to give an algorithm (Algorithm~\ref{refGAC})
1038: for generalised arc consistency in fair VCSPs.
1039:
1040: \begin{algorithm}
1041: \Procedure{\GAC{}}{
1042: \{ \emph{Initialisation phase} \}\;
1043: \ForEach{$i\in X$}
1044: {
1045: \ForEach{$a\in d_i$}
1046: {
1047: \ForEach{$c_P\in C^+$ s.t. $i\in P$}
1048: {
1049: \ExtAC{$i,a,c_P$}\;
1050: \ProjAC{$c_P,i,a$}\;
1051: }
1052: }
1053: }
1054: \{ \emph{Propagation phase} \}\;
1055: \While{$Q\neq\varnothing$}
1056: {
1057: Extract the first element $(t,P,\alpha)$ from $Q$\;
1058: \If{$c_P(t) = \alpha$}
1059: {
1060: \eIf{$P$ is a singleton $\{i\}$}
1061: {\lForEach{$c_P \in C^+$ s.t. $i\in P$}{\ExtAC{$i,t_{\proj \{i\}},c_P$}\;}}
1062: {\lForEach{$i\in P$} {\ProjAC{$c_P,i,t_{\proj\{i\}}$}\;}}
1063: }
1064: }
1065: }
1066: \caption{Generalised Arc Consistency enforcing for fair VCSPs\label{refGAC}}
1067: \end{algorithm}
1068:
1069: \begin{theorem}
1070: When \GAC\ terminates, the resulting VCSP is generalised arc consistent.
1071: \end{theorem}
1072: \begin{proof}
1073: Consider $(c_P,i,a)$ such that $c_P \in C, i\in P, a\in d_i$. We know
1074: that \ProjAC{$c_P,i,a$} is called at least once during \GAC, since it
1075: is called in the initialisation phase. After the last call to
1076: \ProjAC{$c_P,i,a$}
1077: \[c_i(a) = \min_{t \in \ell(P-\{i\})} (c_i(a)\oplus c_P(t,a))\]
1078: by Lemma~\ref{lemmaproj}. This can only later become invalid by an
1079: increase in some $c_P(t)$ by \ExtAC, which would necessarily be
1080: accompanied by the addition of $(t,P,c_P(t))$ to $Q$ and would hence
1081: entail another call of \ProjAC{$c_P,i,a$}. This contradiction
1082: demonstrates that Condition~\ref{gcondb} in Definition~\ref{defgac} of
1083: generalised arc consistency holds when \GAC\ terminates.
1084:
1085: Consider $t\in\ell(P)$ where $c_P \in C^+$. We know that
1086: \ExtAC{$i,t_{\proj \{i\}},c_P$} is called during the initialisation
1087: phase for each $i \in P$. After the last such call of
1088: \ExtAC{$i,t_{\proj\{i\}},c_P$} for any $i\in P$,
1089: \[\forall t\in \ell(P), c_P(t) = (c_P(t) \oplus \beta) \ominus \beta, \textrm{where~}\beta =\mathop\bigoplus_{j\in P} c_j(t_{\proj \{j\}})\]
1090: by Lemma~\ref{lemmaext}. This could only later become invalid by an
1091: update of $c_P(t)$ or some $c_j(t_{\proj \{j\}})$ by
1092: \ProjAC{$c_N,j,t_{\proj \{j\}}$} for some $c_N\in C$ such that $j\in P\cap
1093: N$. But then a call of \ExtAC{$j,t_{\proj \{j\}},c_P$} would ensue. This
1094: contradiction shows that Condition~\ref{gcondb} of
1095: Definition~\ref{defgac} of generalised arc consistency also holds when
1096: \GAC\ terminates.
1097: \end{proof}
1098:
1099: \begin{theorem}
1100: \GAC\ has polynomial time complexity.
1101: \end{theorem}
1102: \begin{proof}
1103: Let $n_1$ be the number of elements $(t,P,\alpha)$ extracted from $Q$
1104: during \GAC\ such that $P$ is a singleton, and let $n_2$ be the
1105: number of elements $(t,P,\alpha)$ extracted from $Q$ during \GAC\ such
1106: that $|P|\geq 2$. By Theorem~\ref{finivs}, we can assume that the
1107: valuation structure contains at most $2ed^r+2$ absorbing valuations.
1108:
1109: Let $c_P\in C^+$ and $t\in \ell(P)$. By Theorem~\ref{theoabs}, \ExtAC\
1110: can only increase $c_P(t)$ to an absorbing valuation strictly
1111: greater than its previous valuation. \ProjAC\ can decrease $c_P(t)$
1112: but, by the Slice Independence Theorem, only from a non-absorbing
1113: valuation $\gamma$ to a valuation larger than or equal to $\delta = \gamma \ominus
1114: \gamma$, the maximal absorbing valuation less than or equal to $\gamma$.
1115: Thus the sequence of absorbing valuations taken on by $c_P(t)$
1116: during \GAC\ are strictly increasing. Thus for each of the $2ed^r+2$
1117: attainable absorbing valuations $\alpha$, $(t,P,\alpha)$ is added to $Q$ at
1118: most once. Thus $n_2 \leq ed^r(2ed^r+2)$.
1119:
1120: Now $n_1$ cannot exceed the number of calls of \ProjAC\ during \GAC\
1121: since tuples $(t,P,\alpha)$ such that $P$ is a singleton are only added
1122: to $Q$ by \ProjAC. The number of calls of \ProjAC\ is clearly bounded
1123: above by $erd+n_2r$. Thus $n_1+n_2\leq erd+(r+1)n_2 = O(e^2d^{2r})$.
1124: Thus the total number of iterations of the while loop in \GAC\ is a
1125: polynomial function of $e$ and $d$. The results follows immediately.
1126: \end{proof}
1127:
1128: \begin{definition}
1129: An arc consistent closure of a VCSP $V$ is a VCSP which is arc
1130: consistent and which can be obtained from $V$ by a finite sequence
1131: of applications of arc consistency operations \ExtAC\ and \ProjAC.
1132: \end{definition}
1133:
1134: Note that confluence of arc consistency enforcing is lost and
1135: therefore the arc consistent closure of a problem is not necessarily
1136: unique as it is in classical CSPs. Figure~\ref{uniq}(a) shows a
1137: 2-variable VCSP on the valuation structure $\langle\setN\cup\{\infty\}, +,\geq\rangle$.
1138: Each edge has a weight of $1$. Figures~\ref{uniq}(b)
1139: and~\ref{uniq}(c) show two different arc consistency closures of this
1140: VCSP.
1141:
1142:
1143: \begin{figure}[bthp]
1144: \begin{center}
1145: \includegraphics[scale=0.5]{uniq}
1146: \end{center}
1147: \caption{A \textsc{Max-CSP} and two different equivalent arc consistent
1148: closures\label{uniq}}
1149: \end{figure}
1150:
1151: \subsection{Maximum arc consistency}
1152:
1153: One of the practical use of arc consistency in VCSP is the computation
1154: of lower bounds on the valuation of an optimal solution. Obviously,
1155: given a VCSP $V$, the following valuation $f_{\min}(V)$ is always a
1156: lower bound on the cost of an optimal solution:
1157: \[ f_{\min}(V)= \mathop\bigoplus_{c_P \in C}[\min_{t\in \ell(P)} c_P(t)]\]
1158: From this point of view, the closure in ~\ref{uniq}(b) is preferable
1159: to the closure in Figure~\ref{uniq}(c) since it makes explicit the
1160: fact that $1$ is a lower bound on the valuation of all solutions.
1161:
1162: \begin{definition}
1163: A VCSP $V$ is said to be \emph{maximally arc consistent} if it is
1164: arc consistent and if the associated lower bound $f_{\min}(V)$ is
1165: maximum over all arc consistent closures of $V$.
1166: \end{definition}
1167:
1168: The problem of enforcing maximal arc consistency is certainly
1169: practically important and some closely related problems are known to
1170: be \textsf{NP}-hard~\cite{Schiex98a,Schiex95a}. Consider the following
1171: problem:
1172:
1173: \begin{problem}[Max-AC]
1174: Given a VCSP $V=(X,D,C,S)$ and a valuation $\kappa\in S$, does there
1175: exist an arc consistency closure $V'$ of $V$ such that $f_{\min} (V')
1176: \succcurlyeq \kappa$ ?
1177: \end{problem}
1178:
1179: \begin{theorem}
1180: The decision problem \textsc{Max-AC} is \textsf{NP}-complete.
1181: \end{theorem}
1182: \begin{proof}
1183: \textsc{Max-AC} is clearly in \textsf{NP}. It is therefore
1184: sufficient to give a polynomial reduction from \textsc{3-Sat} to
1185: \textsc{Max-AC}.
1186:
1187: Let $I_{\textsc{\scriptsize 3-Sat}}$ be an instance of \textsc{3-Sat},
1188: consisting of $n$ variables and $d$ clauses, each clause being the
1189: disjunction of exactly $3$ literals.
1190:
1191: We assume that each boolean variable $u$ and its negation $\lnot u$
1192: occur exactly the same number of times in $I_{\textsc{\scriptsize 3-Sat}}$. Note
1193: that if this is not initially the case, it can easily be achieved by
1194: adding the required number of tautological clauses of the form $(u
1195: \lor u \lor \lnot u)$ or $(u \lor \lnot u \lor \lnot u)$. We will now construct an instance
1196: $V$ of \textsc{Max-CSP} on $4d$ variables such that $V$ has an arc
1197: consistency closure $V'$ with $f_{\min}(V') \succcurlyeq
1198: \frac{5d}{2}$ iff $I_{\textsc{\scriptsize 3-Sat}}$ is satisfiable. Note that $d$
1199: is necessarily even by our assumption that each variable $u$ and its
1200: negation occur the same number of times.
1201:
1202: \begin{figure}
1203: \begin{center}
1204: \includegraphics[width=0.9\textwidth]{gadget-var}
1205: \caption{The gadget $G(u)$ representing the $m_u$ occurrences of $u$ and the $m_u$ occurrences of $\lnot u$ in $I_{\textsc{\scriptsize 3-Sat}}$\label{gadget-var}}
1206: \end{center}
1207: \end{figure}
1208:
1209: Suppose that the boolean variable $u$ (and its negation $\lnot u$) occur
1210: in exactly $m(u)$ clauses in $I_{\textsc{\scriptsize 3-Sat}}$. Then we add the
1211: gadget $G(u)$ shown in Figure~\ref{gadget-var} to $V$, containing the
1212: $2m(u)$ variables $i(u,r)$, $i(\lnot u,r)$ ($r=1,\ldots,m(u)$), each with
1213: domain-size $3$. Each edge joining value $a$ at variable $i$ and value
1214: $b$ at variable $j$ represents a penalty of $1$, \textit{i.e.}
1215: $c_{ij}(a,b) =1$. For each clause $c$ in $I_{\textsc{\scriptsize 3-Sat}}$, we add
1216: the gadget $H(c)$ shown in Figure~\ref{gadget-cl}, involving a new
1217: variable $i(c)$ connected to three existing variables. In the example
1218: shown, $c\equiv (u\lor v\lor \lnot w)$ where $c$ contains the $p^{th}$ occurrence
1219: of the boolean variable $u$ in $I_{\textsc{\scriptsize 3-Sat}}$, the $q^{th}$
1220: occurrence of $v$ and the $r^{th}$ occurrence of $\lnot w$. In the gadget
1221: $H(c)$ shown in Figure~\ref{gadget-cl}, $i(c)$ is connected to $i(\lnot
1222: u,p)$, $i(\lnot v,q)$ and $i(w,r)$.
1223:
1224: \begin{figure}[bhtp]
1225: \begin{center}
1226: \includegraphics[width=0.4\textwidth]{gadget-cl}
1227: \caption{The gadget $H(c)$ for $c\equiv (u\lor v\lor \lnot w)$.\label{gadget-cl}}
1228: \end{center}
1229: \end{figure}
1230:
1231: Let $M_i = \max_{a\in d_i}(c'_i(a))$, where $c'$ represents the
1232: constraint functions in $V'$. Each variable $i(c)$ can contribute at
1233: most $1$ to $f_{\min}(V')$, \textit{i.e.} $M_{i(c)} \leq 1$. By
1234: construction of $G(u)$, if any variable (\textit{e.g.} $i(u,r)$)
1235: contributes $1$ to $f_{\min}(V')$, then its adjacent variables ($i(\lnot
1236: u,r-1)$ and $i(\lnot u ,r)$) cannot contribute to $f_{\min}(V')$. This
1237: means that the maximum value of $f_{\min}(V')$ is $d+\frac{3d}{2} =
1238: \frac{5d}{2}$, since the total number of variables in the gadgets
1239: $G(u)$ is $3d$. Indeed, $f_{\min}(V') = \frac{5d}{2}$ iff for all
1240: clauses $c$, $M_{i(c)} = 1$ and for all boolean variables $u$,
1241:
1242: \begin{eqnarray}\label{eqn-gadget}
1243: (\forall r\in\{1,\ldots,m(u)\}, M_{i(u,r)} =1 \land M_{i(\lnot u,r)} = 0) & \lor\nonumber\\
1244: (\forall r\in\{1,\ldots,m(u)\}, M_{i(\lnot u,r)} =1 \land M_{i(u,r)} = 0)
1245: \end{eqnarray}
1246:
1247: Consider the clause $c\equiv (u\lor v\lor \lnot w)$, whose gadget $H(c)$ is shown in Figure~\ref{gadget-cl}. By construction of $H(c)$, $M_{i(c)}=1$ implies that
1248:
1249: \[(M_{i(\lnot u,p)} = 0) \lor (M_{i(\lnot v,q)} = 0) \lor (M_{i(w,r)} = 0) \]
1250:
1251: which, in turn, implies from~(\ref{eqn-gadget}), that
1252:
1253: \begin{equation}\label{eqn-gadget2}
1254: (M_{i(u,1)} = 1) \lor (M_{i(v,1)} = 1) \lor (M_{i(w,1)} = 0)
1255: \end{equation}
1256:
1257: Suppose that $V$ has an arc consistency closure $V'$ with
1258: $f_{\min}(V') \succcurlyeq \frac{5d}{2}$. For each variable $u$ in
1259: $I_{\textsc{\scriptsize 3-Sat}}$, set $u = \textit{true}$ iff $M_{i(u,1)} = 1$.
1260: For each clause $c$, for example $c\equiv (u\lor v\lor \lnot w)$, we know
1261: from~(\ref{eqn-gadget2}) that either $u =\textit{true}$,
1262: $v=\textit{true}$ or $w=\textit{false}$. Hence $I_{\textsc{\scriptsize 3-Sat}}$ is
1263: satisfied.
1264:
1265: Suppose that $\omega$ is a model of $I_{\textsc{\scriptsize 3-Sat}}$. In each
1266: gadget $G(u)$ in $V$ and for each $r\in\{1,\ldots,m(u)\}$, if
1267: $u=\textit{true}$ in $\omega$ then project penalties onto $i(u,r)$
1268: from its constraints with the adjacent variables $i(\lnot u, r-1)$ and
1269: $i(\lnot u,r)$; if $u=\textit{false}$ in $\omega$, then project penalties
1270: onto $i(\lnot u,r)$ from its constraints with the adjacent variables
1271: $i(u,r)$ and $i(u,r+1)$. Consider a gadget $H(c)$ in $V$, such as the
1272: gadget illustrated in Figure~\ref{gadget-cl} for $c\equiv(u\lor v\lor\lnot w)$. If
1273: $u=\textit{true}$ in $\omega$, then project penalties onto $i(c)$ from
1274: its constraint with $i(\lnot u,p)$; if $u=\textit{false}$ in $\omega$,
1275: then project penalties onto $i(\lnot u,p)$ from its constraint with
1276: $i(c)$. Similarly, if $\lnot w =\textit{true}$ in $\omega$, then project
1277: penalties onto $i(c)$ from its constraint with $i(w,r)$; if $\lnot w
1278: =\textit{false}$ in $\omega$, then project penalties onto $i(w,r)$
1279: from its constraint with $i(c)$. Let $V'$ be the resulting arc
1280: consistent VCSP. Since each clause is satisfied by $\omega$,
1281: $M_{i(c)}=1$. Furthermore, if $u=\textit{true}$ in $\omega$, then
1282: $M_{i(u,r)} =1$ for $r\in\{1,\ldots,m(u)\}$ and if $u=\textit{false}$ in
1283: $\omega$, then $M_{i(\lnot u,r)} =1 $ for $r\in\{1,\ldots,m(u)\}$. Thus
1284: $f_{\min}(V') = d+\frac{3d}{2} = \frac{5d}{2}$.
1285: \end{proof}
1286:
1287: \subsection{The case of strictly monotonic VCSPs}
1288:
1289: For strictly monotonic VCSPs, the previous algorithm can be improved
1290: using an alternative equivalent definition of arc consistency based on
1291: the notion of the underlying CSP.
1292:
1293: \begin{definition}
1294: The \emph{underlying CSP} of a VCSP $V$ has the same variables and
1295: domains as $V$ together with, for each constraint $c_P\in C$, a crisp
1296: constraint $c'_P$ satisfying $\forall t\in \ell(P) (t\in c'_P \Leftrightarrow c_P(t) \prec \top)$
1297: (i.e., $t$ is not a totally forbidden labelling).
1298: \end{definition}
1299:
1300: In strictly monotonic VCSPs, the only absorbing elements are $\top$ and
1301: $\bot$. This allows us to give an equivalent but simpler definition of
1302: generalised arc consistency:
1303: \begin{theorem}\label{defsmgac}
1304: If $\oplus$ is a strictly monotonic operator, then a VCSP is generalised
1305: arc consistent iff:
1306: \begin{enumerate}
1307: \item\label{smconda} its underlying CSP is generalised arc consistent
1308: \item\label{smcondb} $\forall c_P \in C^+, \forall i\in P, \forall a\in d_i$, if $c_i(a) \prec \top$ then $\exists t\in\ell(P-\{i\}) (c_P(t,a) = \bot)$.
1309: \end{enumerate}
1310: \end{theorem}
1311: \begin{proof}
1312: ($\Rightarrow$) Suppose that a strictly monotonic VCSP is generalised arc
1313: consistent but its underlying CSP is not. Then $\exists c_P \in C, i\in P,
1314: a \in d_i$ such that $(c_i(a) \prec \top) \land (\forall t\in \ell(P-\{i\}) (c_P(t,a)
1315: = \top \lor \exists j\in P-\{i\} (c_j(t_{\proj\{j\}}) = \top)))$. But, by
1316: Condition~\ref{gconda} of Definition~\ref{defgac},
1317: $(c_j(t_{\proj\{j\}}) = \top)$ implies $c_P(t,a) = \top$. Hence, $c_i(a)
1318: = \top$, by Condition~\ref{gcondb} of Definition~\ref{defgac}, which
1319: is a contradiction. Suppose on the other hand that the VCSP is
1320: generalised arc consistent but Condition~\ref{smcondb} of
1321: Theorem~\ref{defsmgac} is not satisfied. Then $\exists c_P \in C^+, i\in P,
1322: a\in d_i$ such that $c_i(a) \prec \top$ and $\forall t\in\ell(P-\{i\}), (c_P(t,a)
1323: \succ \bot)$. But by Condition~\ref{gcondb} of Definition~\ref{defgac},
1324: for some $t\in \ell(P-\{i\}), c_i(a) = c_i(a) \oplus c_P(t,a) \succ c_i(a)$ by
1325: strict monotonicity, which is impossible.\smallskip
1326:
1327: ($\Leftarrow$) Suppose that a strictly monotonic VCSP satisfies
1328: Condition~\ref{smconda} and~\ref{smcondb} of Theorem~\ref{defsmgac}.
1329: Condition~\ref{smcondb} clearly implies Condition~\ref{gcondb} of
1330: Definition~\ref{defgac}. Suppose that Condition~\ref{gconda} of
1331: Definition~\ref{defgac} is not satisfied. Then $\exists c_P\in C, t\in
1332: \ell(P)$ such that $c_P(t) \neq \delta = (c_p(t) \oplus \beta) \ominus \beta$ where $\beta =
1333: \mathop\bigoplus_{j\in P} c_j(t_{\proj \{j\}})$. By
1334: Theorem~\ref{theoabs}, $\delta$ is absorbing, which is only possible
1335: if $c_j(t_{\proj \{j\}})=\top$ for some $j\in P$. But the generalised
1336: arc consistency of the underlying CSP implies $c_P(t) = \top$, which
1337: provides the necessary contradiction.
1338: \end{proof}
1339:
1340: A possible way to enforce soft arc consistency on a strictly monotonic
1341: VCSP is therefore to first enforce classical arc consistency on the
1342: underlying CSP, assign a valuation of $\top$ to all deleted values in
1343: the original VCSP and then enforce the second property by applying
1344: \Proj{$c_P,i,a$} once for all $c_P \in C^+$, all $i \in P$ and all
1345: $a\in d_i$ (see Algorithm~\ref{algoSACSM}).
1346:
1347: \begin{algorithm}
1348: Enforce arc consistency in the underlying CSP\;
1349: \ForEach{$c_P\in C^+$} {
1350: \ForEach{$i \in P$}{
1351: \lForEach{$a \in d_i$}{\Proj{$c_P,i,a$}\;}}
1352: }
1353: \caption{Enforcing soft arc consistency on strictly monotonic VCSPs\label{algoSACSM}}
1354: \end{algorithm}
1355:
1356: The only additional result needed to prove that this algorithm works
1357: is the following one:
1358: \begin{theorem}
1359: Let $V$ be a strictly monotonic VCSP whose underlying CSP is arc
1360: consistent. Then, $\forall c_P\in C^+, \forall i\in P, \forall a\in d_i$, the
1361: application of the equivalence-preserving transformation
1362: \Proj{$c_P,i,a$} yields a VCSP whose underlying CSP is unchanged
1363: (and therefore arc consistent).
1364: \end{theorem}
1365:
1366: \begin{proof}
1367: \Proj{$c_P,i,a$} cannot increase a valuation $c_i(a) \neq \top$ to $\top$
1368: since arc consistency on the underlying CSP would have deleted
1369: $(i,a)$ in this case and therefore we would have set $c_i(a) =\top$.
1370: It cannot decrease the valuation of any tuple such that $c_P(t,a) =
1371: \top$ since $\forall \beta\in E, \top \ominus \beta = \top$.
1372: \end{proof}
1373:
1374: \subsubsection{Improving space complexity}
1375:
1376: If an optimal $O(ed^r)$ arc consistency enforcing algorithm such as
1377: generalised AC7~\cite{Bessiere97} is used to enforce arc consistency
1378: on the underlying CSP of a fair VCSP, Algorithm~\ref{algoSACSM}
1379: establishes arc consistency in $O(ed^r)$ too. However, the space
1380: complexity of this algorithm is dominated by the space complexity of
1381: the modified constraints which requires $O(ed^r)$ valuations. This is
1382: extremely expensive, especially for constraints defined using a cost
1383: function. This space requirement can be reduced using a simple data
1384: structure for representing modifications of costs induced by basic
1385: equivalence-preserving transformations such as \Proj\ and \Ext.
1386:
1387: Let us denote by $c^{or}_P \in C$ the original definition of a
1388: constraint in a fair VCSP by any possible way: explicitly by a table
1389: of valuations or implicitly by a cost function from $\ell(P) \to E$. For
1390: each constraint $c_P$, for each variable $i\in P$, we use $2$ tables of
1391: $d$ valuations noted $\Delta^+_{Pi}$ and $\Delta^-_{Pi}$, initialised to $\bot$.
1392: Let $a\in d_i$:
1393: \begin{itemize}
1394: \item $\Delta^-_{Pi}[a]$ contains the combination of all the valuations
1395: that are projected from $c_P$ onto $(i,a)$;
1396: \item $\Delta^+_{Pi}[a]$ contains the aggregation of all the valuations
1397: that are extended from $(i,a)$ to $c_P$.
1398: \end{itemize}
1399: At any time, the valuation of a tuple $t\in\ell(P)$ in the modified
1400: constraint $c_P$ can simply be obtained by~:
1401:
1402: \[ c_P(t) = c^{or}_P(t) \oplus (\mathop\bigoplus_{i\in P} \Delta^+_{Pi}[t_{\proj \{i\}}]) \ominus (\mathop\bigoplus_{i\in P} \Delta^-_{Pi}[t_{\proj \{i\}}]) \]
1403:
1404: By definition of projection, $(\mathop\bigoplus_{i\in P} \Delta^-_{Pi}[t_{\proj
1405: \{i\}}]) \preccurlyeq (c^{or}_P(t) \oplus (\mathop\bigoplus_{i\in P}
1406: \Delta^+_{Pi}[t_{\proj \{i\}}]))$ and the difference always exists in a
1407: fair VCSP. The space complexity is now reduced to $O(edr)$ instead of
1408: $O(ed^r)$ and our two basic equivalence-preserving transformations
1409: \Proj\ and \Ext\ become space tractable even for large arity
1410: constraints defined using cost functions.
1411:
1412: \begin{algorithm}[htbp]
1413: \Procedure{\Proj{$c_{ij},i,a$}}{
1414: $\displaystyle\alpha \gets \min_{t \in \ell(P-\{i\})}(c^{or}_P(t,a) \oplus (\mathop\bigoplus_{j\in P} \Delta^+_{Pj}[(t,a)_{\proj \{j\}}]) \ominus (\mathop\bigoplus_{j\in P} \Delta^-_{Pj}[(t,a)_{\proj \{j\}}]))$\;
1415: $c_i(a) \gets c_i(a) \oplus \alpha$\;
1416: $\Delta^-_{Pi}[a] \gets \Delta^-_{Pi}[a] \oplus \alpha$\;
1417: }
1418: \BlankLine
1419: \BlankLine
1420: \Procedure{\Ext{$i,a,c_P$}}{
1421: $\alpha \gets c_i(a)$\;
1422: $\Delta^+_{Pi}[a] \gets \Delta^+_{Pi}[a] \oplus \alpha$\;
1423: $c_i(a) \gets c_i(a) \ominus \alpha$\;
1424: }
1425: \caption{Projection and Extension for Soft AC enforcing\label{Proj2}}
1426: \end{algorithm}
1427:
1428: Algorithm~\ref{Proj2} describes the procedures that implement these
1429: transformations with these data structures. The time complexity of
1430: \Ext\ is reduced to $O(1)$ but since computing $c_P(t)$ requires
1431: $O(r)$ $\oplus$ operations, \Proj\ is $O(rd^{r-1})$ instead of
1432: $O(d^{r-1})$. This makes generalised arc consistency enforcing on
1433: strictly monotonic VCSPs $O(red^r)$ in time. For binary constraints, we
1434: recover the usual $O(ed^2)$ time and $O(ed)$ space complexities for
1435: arc consistency enforcing.
1436:
1437: \section{Directional arc consistency}
1438:
1439: In CSPs, directional arc consistency is a weak version of arc
1440: consistency. In VCSPs, the order imposed on variables by directional
1441: arc consistency (first defined in~\cite{CooperFCSP} for strictly
1442: monotonic operators) makes it possible to use the unlimited version of
1443: \Ext (instead of \ExtAC) together with a terminating algorithm. For
1444: this reason, soft directional arc consistency may be stronger than arc
1445: consistency.
1446:
1447: \begin{figure}[bhtp]
1448: \begin{center}
1449: \includegraphics[width=0.85\textwidth]{extp2}
1450: \end{center}
1451: \caption{Enforcing directional arc consistency\label{extp2}}
1452: \end{figure}
1453:
1454: Consider the Max-CSP in figure~\ref{extp2}(a). It includes one binary
1455: constraint that forbids pair $((1,b)(2,b))$ and two unary constraints
1456: that forbid values $(1,a)$ and $(2,a)$. This VCSP is already arc
1457: consistent and the corresponding lower bound $f_{\min}(V)$ is equal to
1458: $0$. However, we can apply \Ext\ on value $(1,a)$, getting the
1459: equivalent VCSP~\ref{extp2}(b) which is not arc consistent. We can
1460: then apply \Proj\ on value $(2,b)$ and obtain the CSP~\ref{extp2}(c)
1461: with a corresponding lower bound $f_{\min}(V) = 1$.
1462:
1463: This improved lower bound has been obtained because we have decided to
1464: pool all the unary valuations on one of the variables. This can be
1465: done successively on all variables using any given variable order. In
1466: the context of branch and bound (or other tree-based search), weights
1467: can for example be propagated towards those variables which occur
1468: earlier in the instantiation order.
1469: \begin{definition}
1470: A binary VCSP is \emph{directional arc consistent} according to an
1471: order $<$ on variables if $\forall c_{ij} \in C^+$ such that $i < j$, $\forall
1472: a\in d_i$
1473: \[c_i(a) = \min_{b\in d_j} (c_i(a) \oplus c_{ij}(a,b) \oplus c_j(b))\]
1474: \end{definition}
1475:
1476: Provided that the VCSP is fair, directional arc consistency can be
1477: established in polynomial time by the procedure \DAC\ in
1478: Algorithm~\ref{algodac}, where \Proj\ and \Ext\ are as given in
1479: Algorithm~\ref{Proj2}.
1480:
1481: \begin{algorithm}
1482: \Procedure{\DAC{}}{
1483: \For{($i \gets (n-1)$ downto $1$)}
1484: {
1485: \ForEach{($j \in X$ s.t. $j> i$ and $c_{ij}\in C$)} {
1486: \{Start of propagation of $c_{ij}$\}\;
1487: \lForEach{($b\in d_j$)} {\Ext{$j,b,c_{ij}$}\;}
1488: \lForEach{($a\in d_i$)}{\Proj{$c_{ij},i,a$}\;}
1489: \{End of propagation of $c_{ij}$\}\;
1490: \lnl{assert} \{Assert $A(i,j): \forall a\in d_i, c_i(a) =\min_{b\in d_j} (c_i(a)
1491: \oplus c_{ij}(a,b)\oplus c_j(b))$\}\;
1492: }
1493: }
1494: }
1495: \caption{Enforcing directional arc consistency on fair binary VCSPs\label{algodac}}
1496: \end{algorithm}
1497:
1498: Since \DAC\ only applies equivalence-preserving transformations, it
1499: yields an equivalent VCSP. The following lemma is needed to prove that
1500: the VCSP obtained is directional arc consistent.
1501:
1502: \begin{lemma}\label{lemmadac}
1503: If $\oplus$ is fair, then
1504: $$(\alpha = \alpha \oplus \beta \oplus \gamma) \land (\alpha' \succcurlyeq \alpha) \land (\gamma'\preccurlyeq \gamma) \Rightarrow (\alpha' = \alpha' \oplus \beta \oplus \gamma') $$
1505: \end{lemma}
1506: \begin{proof}
1507: Suppose that $(\alpha = \alpha \oplus \beta \oplus \gamma) \land (\alpha' \succcurlyeq \alpha) \land
1508: (\gamma'\preccurlyeq \gamma)$. Then $\alpha' \preccurlyeq \alpha'\oplus \beta \oplus \gamma'
1509: \preccurlyeq \alpha'\oplus \beta \oplus \gamma \preccurlyeq (\alpha' \ominus \alpha) \oplus (\alpha \oplus \beta \oplus
1510: \gamma) = (\alpha' \ominus \alpha) \oplus \alpha = \alpha'$. It follows that $\alpha' = \alpha' \oplus \beta
1511: \oplus \gamma'$.
1512: \end{proof}
1513:
1514: \begin{theorem}\label{theodac}
1515: If the binary VCSP is fair, then directional arc consistency can be
1516: established in $O(ed^2)$ time and $O(ed)$ space complexity.
1517: \end{theorem}
1518: \begin{proof}
1519: The assertion $A(i,j)$ is clearly true during execution of \DAC\ at
1520: line~1 of Algorithm~\ref{algodac} when constraint
1521: $c_{ij}$ has just been propagated.
1522:
1523: It suffices to show that $A(i,j)$ cannot be invalidated by later
1524: propagations of constraints $c_{i'j'}$ where $i'<j'$ and $(i'<i) \lor
1525: (i' = i \land j\neq j')$. Such operations may increase $c_i(a)$ and may
1526: decrease $c_j(b)$ but cannot modify $c_{ij}(a,b)$. From
1527: Lemma~\ref{lemmadac}, $c_i(a) = c_i(a) \oplus c_{ij}(a,b) \oplus c_j(b)$
1528: remains true and hence assertion $A(i,j)$ cannot be invalidated by
1529: later propagations and \DAC\ yields a directional arc consistent
1530: VCSP.
1531:
1532: As for time complexity, procedures \Ext\ and \Proj\ are called
1533: $O(ed)$ times and are both $O(d)$ for binary VCSP. \DAC\ is
1534: therefore $O(ed^2)$ in time. The $O(ed)$ space complexity can be
1535: attained using the implementations of \Proj\ and \Ext\ presented in
1536: Algorithm~\ref{Proj2}.
1537: \end{proof}
1538:
1539: When restricted to strictly monotonic VCSP, Theorem~\ref{theodac} can
1540: be related to the result, proved in~\cite{CooperFCSP}, that
1541: \emph{full directional arc consistency}, a stronger version of
1542: directional arc consistency, can be established in $O(ed^2)$ time and
1543: space complexity. A VCSP is full directional arc consistent if and
1544: only if it is simultaneously arc consistent and directional arc
1545: consistent.
1546:
1547: \begin{theorem}
1548: Suppose that the constraint graph of a binary fair VCSP $V$ is a
1549: tree $T$ and that $V$ is directional arc consistent according to some
1550: topological ordering of the tree ($i$ is the father of $j$ in $T \Rightarrow
1551: (i < j)$). Then, for all $a\in d_1$, $c_1(a)$ is the optimal
1552: valuation over all solutions to $V$ in which variable $1$ is
1553: assigned value $a \in d_1$.
1554: \end{theorem}
1555:
1556: \begin{proof}
1557: Let $S$ be the set of all the sons of variable $1$ in $T$ and for
1558: each $j\in S$, let $T_j$ be the set of all variables in the subtree
1559: rooted in $j$. By induction, we assume that $\forall j \in S,\forall b\in d_j$,
1560: the valuation $c_j(b)$ is the optimal valuation over all solutions
1561: to the subproblem on $T_j$. Let $t_{bj}$ be one corresponding
1562: optimal tuple over $T_j$.
1563:
1564: Let $a\in d_1$ and for each $j\in S$, let $b_{ja}$ be a value in $d_j$
1565: that minimises $c_1(a)\oplus c_{1j}(a,b_{ja}) \oplus c_j(b_{ja})$. Since $\forall
1566: i,j \in S, i\neq j$, $T_i \cap T_j = \varnothing$, we can build a tuple $t$ over
1567: $X$ by concatenation of each $t_{b_{ja}j}$ for all $j \in S$ and by
1568: assigning value $a$ to variable $1$. The valuation of the tuple
1569: $t$, is $\mathcal{V}_V(t) = c_1(a) \oplus \mathop\bigoplus_{j\in S}\bigl(c_j(b_{ja}) \oplus c_{1j}(a,b_{ja})\bigr) =c_i(a)$ since the VCSP is
1570: directional arc consistent.
1571:
1572: Suppose there exists $t'$ such that $t_{\proj \{1\}} = a$ and
1573: $\mathcal{V}_V(t') \prec \mathcal{V}_V(t)$. Since the problem is
1574: tree-structured, the valuation of $t'$ can be written as
1575: \[\begin{array}{rclr}
1576: \mathcal{V}_V(t')\!\!\! & =\!\!\! & c_1(a) \oplus \mathop\bigoplus_{j\in S} \bigl(c_{1j}(a,t'_{\proj \{j\}}) \oplus \mathcal{V}_{V(T_j)}(t'_{\proj T_j})\bigr)\!\!\!\!\!\! & \textrm{(tree structure)}\\
1577: & \succcurlyeq\!\!\! & c_1(a) \oplus \mathop\bigoplus_{j\in S}\bigl(c_{1j}(a,t'_{\proj \{j\}}) \oplus c_j(t'_{\proj \{j\}})\bigr) & \textrm{(induction, monotonicity)}\\
1578: & \succcurlyeq\!\!\! & c_1(a) \oplus \mathop\bigoplus_{j\in S}\bigl(c_j(b_{ja}) \oplus c_{1j}(a,b_{ja})\bigr)& \textrm{(definition of $b_{ja}$)}\\
1579: & =\!\!\! & c_1(a) = \mathcal{V}_V(t)\\
1580: \end{array}\]
1581: which shows that no such $t'$ exists.
1582: \end{proof}
1583:
1584:
1585: %\section{Full directional arc consistency}
1586:
1587: %As the VCSP in Figure~\ref{extp2}(c) shows, a VCSP which has been made
1588: %directional arc consistent is not necessarily arc consistent. In this
1589: %example, arc consistency can be recovered by projecting back the
1590: %constraint on the other side (Figure~\ref{extp2}(d)). This leads to the
1591: %following notion:
1592: %\begin{definition}
1593: % A fair binary VCSP is \emph{fully directional arc consistent} for
1594: % the order $>$ of the variables if it is directional arc consistent
1595: % for $>$ and arc consistent.
1596: %\end{definition}
1597:
1598: %\begin{definition}
1599: % A full directional arc consistent closure of a fair binary VCSP $P$
1600: % according to an order $>$ is a VCSP which is fully directional arc
1601: % consistent and which can be obtained from $P$ by a finite sequence
1602: % of applications of arc consistency operations \Ext\ and \Proj.
1603: %\end{definition}
1604:
1605: %By definition, a fully directional AC closure is an AC closure.
1606: %Algorithm~\ref{FDAC} shows that fully directional arc consistent
1607: %closures always exist. We assume that the order $1<\cdots<n$ is used but
1608: %any other order can be used.
1609:
1610: %\begin{algorithm}
1611: % Enforce classical arc consistency on the underlying CSP\;
1612: % \For{$j = n$ down to $2$}{
1613: % \ForEach{$c_{ij} \in C$ s.t. $i < j$} {
1614: % \lnl{proj1} \lForEach{$b\in d_j$}{\Proj{$c_{ij},j,b$}\;}
1615: % }
1616: % \ForEach{$c_{ij} \in C$ s.t. $i < j$} {
1617: % \lnl{ext} \lForEach{$b\in d_j$}{\Ext{$j,b,c_{ij}$}\;}
1618: % \lnl{proj2} \lForEach{$a\in d_i$}{\Proj{$c_{ij},i,a$}\;}
1619: % \lnl{proj3} \lForEach{$b\in d_j$}{\Proj{$c_{ij},j,b$}\;}
1620: % }
1621: % }
1622: %\caption{Enforcing full directional arc consistency\label{FDAC}}
1623: %\end{algorithm}
1624:
1625:
1626: \section{Arc irreducibility}
1627:
1628: We have seen that the cost of generalising arc consistency from crisp
1629: to valued constraint satisfaction problems is the loss of uniqueness
1630: of the arc consistent closure. As Figure~\ref{uniq} showed, two
1631: different arc consistent closures may also induce different lower
1632: bounds via $f_{\min}$.
1633:
1634: If a VCSP $V$ is equivalent to another VCSP $V'$ which is better than
1635: $V$ (according to some formally defined criterion $\mathcal{C}$) then
1636: we say that $V$ is reducible for this criterion. Reducing a VCSP to an
1637: equivalent irreducible problem is, in general, an \textsf{NP}-hard
1638: problem. To see this, consider a CSP. If it is inconsistent
1639: (\emph{i.e.}, has no solution), then its best equivalent problem, for
1640: any reasonable criterion $\mathcal{C}$, is a CSP in which this fact is
1641: made explicit, for example, by having $\forall a\in d_i, c_i(a) = \top$ for
1642: some variable $i\in X$. Since testing consistency of a CSP is an
1643: \textsf{NP}-complete problem, we can deduce that testing global
1644: irreducibility is \textsf{NP}-hard.
1645:
1646: Fortunately, irreducibility has local versions which are analogous to
1647: local consistency. For example, a binary VCSP $V$ is arc-irreducible
1648: if, for all pairs of variables $i,j\in X$, $V$ cannot be improved by
1649: replacing $c_i,c_j,c_{ij}$ by an equivalent set of constraints
1650: $c_i',c_j',c_{ij}'$. However, before giving a formal definition of
1651: arc-irreducibility, we have to consider which criteria we could use to
1652: compare equivalent VCSPs.
1653:
1654: \begin{definition}
1655: A \emph{problem evaluation function} $f$ is a function which, for
1656: each VCSP $V$, assigns a value to $V$ in a totally ordered range.
1657: When comparing two equivalent VCSPs, $V_1$ and $V_2$, $V_1$ is
1658: considered as a better expression of the problem if $f(V_1) >
1659: f(V_2)$.
1660: \end{definition}
1661:
1662: \begin{example} The function $f_{\min}$ previously defined as
1663: \[f_{\min}(V) = \mathop\bigoplus_{c_P\in C} ( \min_{t\in \ell(P)i} (c_P(t))) \]
1664: is a problem evaluation function.
1665: \end{example}
1666:
1667: The main result presented in this section concerns $f_{\min}$, but the
1668: definitions are valid for any problem evaluation function $f$.
1669:
1670: \begin{definition}
1671: A binary VCSP $V$ is \emph{arc-irreducible} with respect to the
1672: problem evaluation function $f$ (or $(2,f)$-irreducible), if $\forall J
1673: \subseteq X, |J| =2$, for all VCSP $V'$ derived from $V$ by an
1674: equivalence-preserving transformation on $J$, $f(V) \geq f(V')$.
1675: \end{definition}
1676: Note that for certain choices of the problem evaluation function $f$,
1677: an arc-irreducible VCSP is not necessarily arc-consistent. For
1678: example, if $\forall i,j\in X, \exists a\in d_i, b\in d_j$ such that $c_i(a) =
1679: c_j(b) = c_{ij}(a,b) = \bot$, then the VCSP is
1680: $(2,f_{\min})$-irreducible but it is not necessarily arc-consistent.
1681: Conversely, the VCSP in Figure~\ref{uniq}(c) is arc consistent, but
1682: not $(2,f_{\min})$-irreducible. The following theorem shows that
1683: there is an important relationship between directional arc consistency
1684: and $(2,f_{\min})$-irreducibility.
1685:
1686: \begin{theorem}\label{dac2ir}
1687: A fair binary VCSP $V=\langle X,D,C,S\rangle$ which is directional arc consistent is
1688: $(2,f_{\min})$ -irreducible.
1689: \end{theorem}
1690: \begin{proof}
1691: Suppose that $V$ is directional arc consistent and let $i,j\in X$ be
1692: such that $i<j$. Then, by definition, $\forall a\in d_i, \exists b\in d_j$ such that
1693: \[c_i(a) = \min_{b\in d_j} (c_i(a) \oplus c_{ij}(a,b) \oplus c_j(b))\]
1694: Thus the minimum valuation of a solution to the subproblem of $V$ on
1695: $\{i,j\}$ is
1696: \[\min_{a\in d_i}(c_i(a))\]
1697: Suppose that this minimum is attained for $a=u\in d_i$ and that $v\in
1698: d_j$ is such that
1699: \begin{equation}\label{eqdac}
1700: c_i(u) = (c_i(u) \oplus c_{ij}(u,v) \oplus c_j(v))
1701: \end{equation}
1702: Now consider a VCSP $V'$ obtained by an equivalence-preserving
1703: transformation of $V$ on $\{i,j\}$ which replaces $c_i, c_j,c_{ij}$
1704: by $c'_i, c'_j,c'_{ij}$. Then
1705: \[f_{\min}(V') = \Bigl(f_{\min}(V) \ominus \bigl(\mathop\bigoplus_{P\subseteq \{i,j\}} [\min_{t\in \ell(P)} c_P(t)]\bigr)\Bigr) \oplus \bigl(\mathop\bigoplus_{P\subseteq \{i,j\}} [\min_{t\in \ell(P)} c'_P(t)] \bigr)\]
1706: since $V$ and $V'$ only differ on $\{i,j\}$. Thus
1707: \[\begin{array}{lcl}
1708: f_{\min}(V')\!\!\!\! & \preccurlyeq\!\!\! & \bigl(f_{\min}(V) \ominus c_i(u)\bigr) \oplus \bigl( c'_i(u)\oplus c'_{ij}(u,v) \oplus c'_j(v)\bigr) \\
1709: & \preccurlyeq\!\!\! & \bigl(f_{\min}(V) \ominus \bigl(c_i(u) \oplus c_{ij}(u,v) \oplus c_j(v)\bigr)\bigr) \oplus\bigl(c'_i(u) \oplus c'_{ij}(u,v) \oplus c'_j(v)\bigr)
1710: \end{array}\]
1711: by equation~\ref{eqdac}. Thus $f_{\min}(V') \preccurlyeq f_{\min}(V)$ due to the
1712: equivalence of the subproblems of $V$ and $V'$ on $\{i,j\}$. Thus, $V$
1713: is $(2,f_{\min})$-irreducible.
1714: \end{proof}
1715:
1716: This result must be considered with care. Given any VCSP $V$,
1717: Theorem~~\ref{dac2ir}. states that any directional arc consistent closure
1718: $V_{dac}$ of $V$ is always $(2,f_{\min})$-irreducible. However, an arc
1719: consistent closure $V_{ac}$ may exist such that $f_{\min}(V_{ac}) \succ
1720: f_{\min}(V_{dac})$.
1721:
1722: \begin{corollary}
1723: Arc-irreducibility with respect to $f_{\min}$ can be established
1724: in $O(ed^2)$ time complexity and $O(ed)$ space complexity on fair
1725: binary VCSPs.
1726: \end{corollary}
1727: \begin{proof}
1728: This follows directly from Theorems~\ref{theodac} and~\ref{dac2ir}.
1729: \end{proof}
1730:
1731:
1732: %\begin{definition}
1733: % A VCSP $V$ is \emph{star arc-irreducible} with respect to the
1734: % problem evaluation function $f$ (or $(2,f)^*$-irreducible), if for
1735: % all VCSP $V'$ derived from $V$ by a finite series of
1736: % equivalence-preserving arc transformations.
1737: % $f(V) \geq f(V')$.
1738: %\end{definition}
1739:
1740: \section*{Conclusion}
1741:
1742: The concept of arc consistency plays an essential role in constraint
1743: satisfaction as a problem simplification operation and as a
1744: tree-pruning technique during search through the detection of local
1745: inconsistencies among the uninstantiated variables. We have shown that
1746: it is possible to generalise arc consistency to any instance of the
1747: valued CSP framework provided the operator for aggregating penalties
1748: has an inverse.
1749:
1750: A polynomial-time algorithm for establishing soft arc consistency
1751: exists. Its space and time complexity is identical to that of
1752: establishing arc consistency in CSPs whenever the aggregation operator
1753: of the VCSP is strictly monotonic, which is the case in
1754: \textsc{Max}-CSP, for example. Contrarily to classical CSP arc
1755: consistency, it does not define a unique arc consistency closure.
1756: This algorithm nevertheless provides an efficient technique for
1757: generating lower bounds on the value of a solution which can be used
1758: during branch-and-bound search as in~\cite{Schiex98,Schiex99}. The
1759: problem of finding the maximal lower bound is however
1760: \textsf{NP}-hard.
1761:
1762: We have also defined a directional version of soft arc consistency
1763: which is potentially stronger since it allows non-local propagation of
1764: penalties. Directional soft arc consistency implies a form of local
1765: optimality in the expression of the VCSP, called arc
1766: irreducibility. Furthermore, the complexity of establishing
1767: directional arc consistency is identical to that of establishing arc
1768: consistency in CSPs.
1769:
1770: %\bibliography{../../bib/CSP,../../bib/pos,../../bib/book}
1771: %\bibliographystyle{acm}
1772: \begin{thebibliography}{10}
1773:
1774: \bibitem{Bennaceur98}
1775: {\sc Affane, M.~S., and Bennaceur, H.}
1776: \newblock A weighted arc consistency technique for {Max-CSP}.
1777: \newblock In {\em Proc.\ of the 13$^{th}$ ECAI\/} (Brighton, United Kingdom,
1778: 1998), pp.~209--213.
1779:
1780: \bibitem{Bessiere97}
1781: {\sc Bessi{\`e}re, C., and R{\'e}gin, J.-C.}
1782: \newblock Arc consistency for general constraints networks: preliminary
1783: results.
1784: \newblock In {\em Proc.\ of the 15$^{th}$ IJCAI\/} (Nagoya, Aichi, Japan,
1785: 1997), pp.~398--404.
1786:
1787: \bibitem{Bistarelli99}
1788: {\sc Bistarelli, S., Fargier, H., Montanari, U., Rossi, F., Schiex, T., and
1789: Verfaillie, G.}
1790: \newblock Semiring-based {CSP}s and valued {CSP}s: Frameworks, properties and
1791: comparison.
1792: \newblock {\em Constraints 4\/} (1999), 199--240.
1793:
1794: \bibitem{Bistarelli95}
1795: {\sc Bistarelli, S., Montanari, U., and Rossi, F.}
1796: \newblock Constraint solving over semirings.
1797: \newblock In {\em Proc.\ of the 14$^{th}$ IJCAI\/} (Montr{\'e}al, Canada, Aug.
1798: 1995).
1799:
1800: \bibitem{Bistarelli97}
1801: {\sc Bistarelli, S., Montanari, U., and Rossi, F.}
1802: \newblock Semiring based constraint solving and optimization.
1803: \newblock {\em Journal of the ACM 44}, 2 (1997), 201--236.
1804:
1805: \bibitem{CooperFCSP}
1806: {\sc Cooper, M.~C.}
1807: \newblock Reduction operations in fuzzy or valued constraint satisfaction.
1808: \newblock {\em Fuzzy Sets and Systems\/} (2002).
1809: \newblock To appear.
1810:
1811: \bibitem{DPnormes}
1812: {\sc Dubois, D., and Prade, H.}
1813: \newblock A class of fuzzy measures based on triangular norms. a general
1814: framework for the combination of uncertain information.
1815: \newblock {\em Int. Journal of Intelligent Systems 8}, 1 (1982), 43--61.
1816:
1817: \bibitem{Schiex93c}
1818: {\sc Fargier, H., Lang, J., and Schiex, T.}
1819: \newblock Selecting preferred solutions in {F}uzzy {C}onstraint {S}atisfaction
1820: {P}roblems.
1821: \newblock In {\em Proc. of the 1$^{st}$ European Congress on Fuzzy and
1822: Intelligent Technologies\/} (1993).
1823:
1824: \bibitem{Freuder92}
1825: {\sc Freuder, E., and Wallace, R.}
1826: \newblock Partial constraint satisfaction.
1827: \newblock {\em Artificial Intelligence 58\/} (Dec. 1992), 21--70.
1828:
1829: \bibitem{Horsch00}
1830: {\sc Horsch, M.~C., and Havens, W.~S.}
1831: \newblock An empirical study of probabilistic arc consistency as a variable
1832: ordering.
1833: \newblock In {\em Principles and Practice of Constraint Programming - CP
1834: 2000\/} (Singapore, Sept. 2000), vol.~1894 of {\em LNCS}, pp.~525--530.
1835:
1836: \bibitem{Koster99b}
1837: {\sc Koster, A.~M.}
1838: \newblock {\em Frequency assignment: Models and Algorithms}.
1839: \newblock PhD thesis, University of Maastricht, The Netherlands, Nov. 1999.
1840: \newblock Available at \textsf{www.zib.de/koster/thesis.html}.
1841:
1842: \bibitem{Schiex99}
1843: {\sc Larrosa, J., Meseguer, P., and Schiex, T.}
1844: \newblock Maintaining reversible {DAC} for {M}ax-{CSP}.
1845: \newblock {\em Artificial Intelligence 107}, 1 (Jan. 1999), 149--163.
1846:
1847: \bibitem{Schiex98}
1848: {\sc Larrosa, J., Meseguer, P., Schiex, T., and Verfaillie, G.}
1849: \newblock Reversible {DAC} and other improvements for solving max-{CSP}.
1850: \newblock In {\em Proc.\ of AAAI'98\/} (Madison, WI, July 1998).
1851:
1852: \bibitem{Mohr88}
1853: {\sc Mohr, R., and Masini, G.}
1854: \newblock Good old discrete relaxation.
1855: \newblock In {\em Proc. of the 8$^{th}$ ECAI\/} (Munchen FRG, 1988),
1856: pp.~651--656.
1857:
1858: \bibitem{Rosenfeld76}
1859: {\sc Rosenfeld, A., Hummel, R., and Zucker, S.}
1860: \newblock Scene labeling by relaxation operations.
1861: \newblock {\em {IEEE} Trans. on Systems, Man, and Cybernetics 6}, 6 (1976),
1862: 173--184.
1863:
1864: \bibitem{Schiex92}
1865: {\sc Schiex, T.}
1866: \newblock Possibilistic constraint satisfaction problems or ``{H}ow to handle
1867: soft constraints~?''.
1868: \newblock In {\em Proc. of the 8$^{th}$ Int. Conf. on Uncertainty in Artificial
1869: Intelligence\/} (Stanford, CA, July 1992).
1870:
1871: \bibitem{Schiex98a}
1872: {\sc Schiex, T.}
1873: \newblock Maximizing the reversible {DAC} lower bound in {M}ax-{CSP} is
1874: \textsf{NP}-hard.
1875: \newblock Tech. Rep. 1998/02, INRA, July 1998.
1876:
1877: \bibitem{Schiex00b}
1878: {\sc Schiex, T.}
1879: \newblock Arc consistency for soft constraints.
1880: \newblock In {\em Principles and Practice of Constraint Programming - CP
1881: 2000\/} (Singapore, Sept. 2000), vol.~1894 of {\em LNCS}, pp.~411--424.
1882:
1883: \bibitem{Schiex95a}
1884: {\sc Schiex, T., Fargier, H., and Verfaillie, G.}
1885: \newblock Valued constraint satisfaction problems: hard and easy problems.
1886: \newblock In {\em Proc.\ of the 14$^{th}$ IJCAI\/} (Montr{\'e}al, Canada, Aug.
1887: 1995), pp.~631--637.
1888:
1889: \bibitem{Shapiro81}
1890: {\sc Shapiro, L., and Haralick, R.}
1891: \newblock Structural descriptions and inexact matching.
1892: \newblock {\em {IEEE} Transactions on Pattern Analysis and Machine Intelligence
1893: 3\/} (1981), 504--519.
1894:
1895: \bibitem{Wallace94}
1896: {\sc Wallace, R.}
1897: \newblock Directed arc consistency preprocessing.
1898: \newblock In {\em Selected papers from the ECAI-94 Workshop on Constraint
1899: Processing}, M.~Meyer, Ed., no.~923 in LNCS. Springer, Berlin, 1995,
1900: pp.~121--137.
1901:
1902: \end{thebibliography}
1903:
1904: \end{document}
1905: