V alue Withdra w

advertisement
Value Withdrawal
Explanation in CSP
Gerard Ferrand, Willy Lesaint, Alexandre Tessier
Universite d'Orleans, LIFO
Rapport N
o
2000-09
Value Withdrawal Explanation in CSP
Gerard Ferrand
Willy Lesaint
Alexandre Tessier
LIFO, BP 6759, 45067 Orleans Cedex 2, Frane
http://www.univ-orleans.fr/SCIENCES/LIFO
Abstrat
This work is devoted to onstraint solving motivated by the debugging
of onstraint logi programs a la GNU-Prolog. The paper fouses only on
the onstraints. In this framework, onstraint solving amounts to domain
redution. A omputation is formalized by a haoti iteration. The omputed result is desribed as a losure.
This model is well suited to the
design of debugging notions and tools, for example failure explanations or
error diagnosis. In this paper we detail an appliation of the model to an
explanation of a value withdrawal in a domain.
Some other works have
already shown the interest of suh a notion of explanation not only for
failure analysis.
1
Introdution
Constraint Logi Programming (CLP) [11℄ an be viewed as the reunion of
two programming paradigms : logi programming and onstraint programming.
Delarative debugging of onstraints logi programs has been treated in previous
works [8℄ and tools have been produed for this aim [14℄ during the DiSCiPl (Debugging Systems for Constraint Programming) ESPRIT Projet. But these works
only deal with the lausal aspets of CLP. This paper fouses on the onstraint
level. The tools used at this level strongly depend on the onstraint domain.
Here we are interested in a wide eld of appliations of onstraint programming:
nite domains.
The aim of onstraint programming is to solve Constraint Satisfation Problems (CSP) [15℄, that is to provide an instantiation of the variables whih is
orret with respet to the onstraints.
The solver goes towards the solutions ombining two dierent methods. The
rst one (labeling) onsists in partitioning the domains until to obtain singletons
and, testing them. The seond one (domain redution) redues the domains eliminating the values whih annot be orret aording to the onstraints. Labeling
provides exat solutions whereas domain redution simply approximates them.
2
In general, the labeling alone is very expensive and a good ombination of the
two methods is more eÆient.
The main ontribution of this paper is to formalize the domain redution in
order to provide a notion of explanation for the basi event whih is \the withdrawal of a value from a domain". We are inspired by a onstraint programming
language over nite domains, GNU-Prolog [5℄, beause its glass-box approah allows a good understanding of the links between the onstraints and the rules. In
this work labeling mehanism is not onsidered and explanations are only dened
for ar onsisteny rules.
An explanation is a subset of rules used during the omputation and whih
are responsible for the removal of a value from a domain. Several works shown
that detailed analysis of explanations have a lot of appliations [9, 10℄. In dynami problems, the explanations allow to retrat onstraints without beginning
the omputation again. In baktraking algorithms, the explanations avoid to
repeatedly perform the same searh work. This intelligent baktraking an be
applied to sheduling problems. It has been proved eÆient for Open-shop appliations. They are useful for over-onstrained problems too. Explanations provide
a set of onstraints whih an be relaxed in order to obtain a solution. But appliations of explanations are outside the sope of this paper.
An aspet of the debugging of onstraint programs is to understand why we
have a failure (i.e. we do not obtain any solution) [2℄. This ase appears when a
domain beomes empty, that is no value of the domain belongs to a solution. So,
an explanation of why these values have disappeared provides an explanation of
the failure.
Another aspet is error diagnosis. Let us assume an expeted semantis for
the CSP. Consider we are waiting for a solution ontaining a ertain value for a
variable, but this value does not appear in the nal domain. An explanation of
the value withdrawal help us to nd what is wrong in our program.
The paper is organized as follows. Setion 2 gives some notations and basi
denitions for Constraint Satisfation Problems. Setion 3 desribes a model for
domain redution. Setion 4 applies the model to explanations. Next setion is
a onlusion.
2
Preliminaries
We use the following notations: If = ( i )i2I is a family indexed by , and
, we denote by jJ the family ( j )j2J indexed by . If = ( i )i2I is a
family of sets indexed by , we denote by Q the produt Qi2I i = f( i)i2I j
for eah 2 i 2 i g.
Here we only onsider the framework of domain redution as in [17, 5, 4, 16℄.
More general frameworks are desribed in [3, 12℄.
F
J
I
F
F
F
I
i
I; e
I
J
F
F
3
F
F
F
e
A Constraint Satisfation Problem (CSP) is made of two parts, the syntati
part:
a nite set of variable symbols ;
a nite set of onstraint symbols ;
a funtion var : ! P ( ), whih assoiates with eah onstraint symbol
the set of variables of the onstraint;
and the semanti part:
a family of non empty domains indexed by the set of variables = ( x)x2V ,
eah x is the domain of the variable denoted by ( x 6= ;);
a family of tables (sets of tuples) = ( )2C 2 Q2C P (Q Qjvar ) indexed
by the set of onstraints , i.e., for eah 2 , jvar , the
members of are the solutions of .
A tuple 2 Q is a solution of the CSP ( var
) if for eah 2 ,
jvar 2 .
For a given CSP, one is interested in the omputation of the solutions. The
simplest method onsists in generating all the tuples from the initial domains,
then testing them. This generate and test method is learly expensive for wide
domains. So, one prefers to redue the domains rst (\test" and generate).
Here, we fous on the redution stage. The omputing domains must ontain
all the solutions and must be as small as possible. So, these domains are \approximations" of the set of solutions. We desribe now, a model for the omputation
of suh approximations.
V
C
C
V
D
D
x
T
t
3
( )
D
T
t
D
T
C
C
D
T
( )
D
( )
D
V; C;
; D; T
C
T
A Model of the Operational Semantis
Our model is well suited to dene explanations of basi events during the omputation of approximations. Moreover lassial results [3, 12℄ are proved again in
this model.
We assume xed a CSP ( var
).
We want to ompute an approximation of the solutions. The solver is desribed by a set of rules assoiated with the onstraints. We an hoose more
or less aurate rules for eah onstraint (in general, the more aurate are the
rules, the more expensive is the omputation).
A rule works on a subset of the variables of the CSP. It eliminates some
values of one (and only one in our framework) domain whih are inonsistent
with respet to the other domains.
Intuitively, the solver applies the rules one by one replaing the domains of
the variables with those it omputes. The omputation stops when one domain
V; C;
; D; T
4
beomes empty (in this ase, there is no solution), or when the rules annot
redue domains anymore.
We rst desribe the rules, then we show that if no rule is \forgotten", the
resulting domains are the same whatever the order the rules are used.
Denition Q
1 A redution rule of type ( ), where Qand 2 , is a
02
funtion : x2W P ( x ) ! P ( y ) suh that: for eah
x2W P ( x ),
(monotoniity) (for eah 2 , x 0x) ) ( ) ( 0);
(ontratane) ( ) y .
Other works onsider more general kinds of rules [4, 3℄, their types have the
form ( ) with .
r
r
D
W; y
D
r d
Z
V
y
d; d
x
W; Z
W
W
d
d
r d
W
D
r d
d
W
V
Example 1 Hyper-ar onsisteny
Q
Let , 2 , jW and 2QQx2W P ( x). The redution rule
of type ( ) dened by ( ) = f y j 2 ( ) \ g is an hyper-ar onsisteny
rule. removes inonsistent values with respet to the variable domains.
When is f g it is the well known ar onsisteny framework.
W
V
y
W
T
D
W; y
r d
t
d
t
D
d
r
T
r
W
x; y
Example 2 GNU-Prolog
In GNU-Prolog, suh rules are written
[5℄, where is a range dependent
on domains of a set of variables. The rule x in 0..max(y) of type (f g ) is
the funtion whih omputes the intersetion between the domain of and the
domain f0 1
( )g where ( ) is the greatest value in the domain of
.
For the sake of simpliity, for eah rule, we dene its assoiated redution
operator. This operator applies to the whole family of domains. A single domain
is modied, the domain redued by the redution rule.
operator assoiated with the rule Q
of type ( ) is redu r :
Q TheP (redution
Q
x ) ! x2V P ( x ) dened by: for eah 2 x2V P ( x ),
x2V
redu r ( )jV nfyg = jV nfyg ;
redu r ( )y = ( jW ).
Note that redution operators are monotoni and ontratant (but they are not
neessarily idempotent).
Q P ( ), for eah solution
AQ redution
rule
is
orret
if,
for
eah
2
x
x2V
2 , 2 Q ) 2 Q redu r ( ).
x in r
r
x; y ; x
x
;
; : : : ; max y
max y
y
r
D
D
d
d
r d
r
D
t
D
d
d
t
W; y
d
d
t
Lemma 1 A redution rule
D
d
of type
solution t, r((ftxg)x2W ) = fty g.
r
(
W; y
5
) is orret if and only if, for eah
): apply the denition with \redued" to a solution.
(: beause redution operators are monotoni.
Let 2 . A redution rule
of type ( ) with var ( Q) is orret with
Q
respet to if, for eah 2 x2V P ( x), for eah 2 , 2 jvar ) 2
Q
redu r ( )jvar .
Lemma 2 A redution rule of type ( ) is orret w.r.t. a onstraint if and
only if, for eah 2 , ((f xg)x2W ) = f y g.
Proof.
): apply the denition with = (f xg)x2V suh that
( x)x2var 2 .
(: beause redution operators are monotoni.
Note that if a redution rule is orret w.r.t. a onstraint then is orret.
But the onverse does not hold.
Proof.
d
C
r
d
W; y
d
W
D
t
T
t
d
t
( )
( )
r
t
T
r
W; y
t
t
d
t
t
T
( )
r
r
Example 3 GNU-Prolog
The rule : x in 0..max(y) is orret with respet to the onstraint dened
by var ( ) = f g and = f( 7! 0 7! 0) ( 7! 0 7! 1) ( 7! 1 7! 1)g
( x = y = f0 1g and is the onstraint ). Indeed,
( 7! f0g 7! f0g) = f0g \ f0g = f0g;
( 7! f0g 7! f1g) = f0g \ f0 1g = f0g;
( 7! f1g 7! f1g) = f1g \ f0 1g = f1g.
r
D
x; y
D
;
T
x
;y
;
x
r x
;y
r x
;y
;
r x
;y
;
x
;y
;
x
;y
y
Let be a set of redution rules.
The omputation starts from and tries to redue as muh as possible the
domain of eah variable using the redution rules.
The downward losure of by the set of redution rules is the greatest
ommon xpoint of the redution operators assoiated with the redution rules
of .
The downward losure is the most aurate family of domains whih an be
omputed using a set of orret rules. Obviously, eah solution belongs to this
family.
Now, for eah 2 , the inlusion over P ( x) is assumed to be a well-founded
ordering (i.e. eah x is nite).
There exists at least two ways to ompute the downward losure of by a
set of redution rules :
Q P ( ) ! Q P ( ) dened
1. the rst one
is
to
iterate
the
operator
x
x
x2V
x2V
by 7! (Tr2R redu r ( )x)x2V from until to reah a xpoint;
R
D
D
R
R
x
V
D
D
D
R
D
d
d
D
6
D
2. the seond one is the haoti iteration that we are going to reall [3℄.
A run is an innite sequene of operators of . A run is fair if eah 2
appears in it innitely often. Let us dene an iteration of a set of rules w.r.t. a
run.
R
r
R
Denition
2 The iteration of the set of redution rules R from the domain d 2
Q
x2V
P ( x ) with respet to the run
D
dened indutively by:
1.
0
d
=
r1 ; r2 ; : : :
is the innite sequene d0 ; d1 ; d2 ; : : :
;
d
j
2 IN, j =
r +1 ( ).
A haoti iteration is an iteration w.r.t. a fair run.
The operator 7! (Tr2R redu r ( )x)x2V may redue several domains at eah
step. But the omputations are more intriate and some an be useless. In pratie haoti iterations are preferred, they proeed by elementary steps, reduing
only one domain at eah step. The next result of onuene [6℄ ensure that any
haoti iteration reahes the losure. Note that, beause is a family of nite
domains, every iteration from is stationary.
2. for eah
j
d
+1
redu j
d
d
d
D
D
Lemma 3 The limit of every haoti iteration of the redution rules R from D
is the
downward losure of by .
Proof. Let be the downward losure of by . Let
be
a haoti iteration of from with respet to
. Let ! be
the limit of the haoti iteration. Let ( i)i2I v ( i )i2I denotes: for
eah 2 , i i.
For eah , v i, by indution: v = . Assume v i, by
i
i .
monotoniity,
r +1 () = v redu r +1 ( ) =
! v : There exists 2 IN suh that ! = k beause v is a wellfounded ordering. The run is fair, hene k is a ommon xpoint of
the redution operators, thus k v (the greatest ommon xpoint).
D
R
D
R
D
r1 ; r2 ; : : :
A
i
I
i
A
d
B
B
0
d
d
redu i
d
0
1
d ;d ;:::
R
d
i
k
D
d
d
d
+1
d
d
d
The fairness of runs is a onvenient theoretial notion to state the previous
lemma. Every haoti iteration stabilizes, so in pratie the omputation ends
when a ommon xpoint is reahed. Moreover, implementations of solvers use
various strategies in order to determinate the order of invoation of the rules.
Moreover if a domain beomes empty, we know that there is no solution, so an
optimization onsists in stopping the omputation before the losure is reahed.
In that ase, we say that we have a failure iteration.
7
4
Appliation to Event Explanations
Sometimes, when a domain beomes empty or just when a value is removed from
a domain, the user wants an explanation of this phenomenon [10, 2℄. The ase of
failure is the partiular ase where all the values are removed. The basi event
here will be a value withdrawal. Let us onsider an iteration, and let us assume
that at a step a value is removed from the domain of a variable. In general, all
the rules used from the beginning of the iteration are not neessary to explain
the value withdrawal. It is possible to explain the value withdrawal by a subset
of these rules suh that every iteration using this subset of rules removes the
onsidered value. This subset of rules is an explanation of the value withdrawal.
We are going to dene a more preise notion of explanation: this subset will be
strutured as a tree. It will be ahieved in a basi but signiant ar onsisteny
like framework.
So we onsider speial redution rules alled rules of abstrat ar onsisteny.
Suh a rule is binary and its type has the form (f g ), that is it redues the
domain of using the domains of and .
Two funtions : ! and : ! are given. Intuitively, for a rule
, ( ) will be the variable whose domain is modied aording to the domain
of ( ) the other variable.
An abstrat ar onsisteny redution rule (AAC-redution rule in short) is
dened by :
its type is (f ( ) ( )g ( ));
for eah 2 Qx2fin r ;out r g P ( x ), ( ) = f 2 out r j r ( ) \ in r 6= ;g
where r is a funtion out r ! P ( in r ).
Note that is fully haraterized by ( ( ) ( ) r ) and vie versa.
in r is the input domain and out r is the output domain. Intuitively,
(
r ) is a superset of the values onneted to by the onstraint assoiated
with .
x; y ; y
y
x
in
r
R
V
y
out
R
V
out r
in r
r
in r ; out r
d
( )
ar
; out r
( )
D
D
D
( )
r
D
ar
r d
e
d
( )
ar
e
d
( )
( )
in r ; out r ; ar
D
( )
( )
e
e
r
Example 4 Ar onsisteny
In the framework of ar onsisteny, eah onstraint is binary, that is var ( ) =
f g, and it provides two rules: of type (f g ), ( ) = f 2 x j 9 2
7! ) 2 g, that is, for eah 2 x, r1 ( ) = f 2 y j ( 7!
y ( 7!
7! ) 2 g, and the other rule of type (f g ) dened similarly.
Note that it is possible to dene more weak notions of ar onsisteny, with, for
example, r1 ( ) f 2 y j ( 7! 7! ) 2 g.
x; y
d ;
e; y
r1
x
e; y
f
f
T
e
T
ar
x; y ; x
r2
e
f
D
x
D
ar
r1 d
e
e
f
d
D
f
x
x; y ; y
e; y
Example 5 GNU-Prolog
f
T
Let us onsider the onstraint \x #=< y" in GNU-Prolog. This onstraint is
implemented by two redution rules, it is the glass-box paradigm [5, 18℄:
8
of type (f g ) (i.e. ( ) = , ( ) = ), with, for eah 2 x,
r1 ( ) = f 2 y j g;
2. of type (f g ) (i.e. ( ) = , ( ) = ), with, for eah 2 y ,
r2 ( ) = f 2 x j g.
now a set rules, in the sense of indutive denitions [1℄, over
S We( dene
x f g).
x2V
Denition 3 For eah redution rule , for eah 2 out r , we dene the dedution rule:
( ( )) f( ( )) j 2 r ( )g
The rule only depends on and , so it is named ( ) and it is written
( ) : ( ( )) f( ( )) j 2 r ( )g
When r ( ) = ; the dedution rule is redued to \the fat" ( ) : ( ( ))
;, written in short ( ) : ( ( )) .
Intuitively, a dedution rule ( ) : ( ( )) f( ( )) j 2 r ( )g
should be understood as follow: if all the 2 r ( ) are removed from the
domain of ( ) then is removed from the domain Q
of ( ).
The instane of the dedution rule ( ) by 2 x2fin r ;out r g P ( x) is the
following impliation:
1.
r1
x; y ; x
ar
e
f
r2
D
e
x; y ; y
ar
e
D
f
D
in r1
y
out r1
x
e
D
in r2
x
out r2
y
e
D
f
f
e
x
r
e; out r
f; in r
e
e; r
ar
e
f
D
ar
r
( )
e
e; r
e; out r
f; in r
f
ar
e
e
e; r
e; r
e; out r
e; r
e; out r
f; in r
f
in r
e; out r
ar
e
f
ar
e
e
out r
e; r
0
^
d
( )
1
26 in r A ) 26 ( )
f 2ar e
Q
Lemma 4 For eah dedution rule ( ), for eah 2
f
d
e
( )
D
( )
r d
r( )
e; r
d
x2fin(r);out(r)g
P ( x), the
D
( ) by holds.
Proof. Beause of the denition of AAC-redution rules.
From now on, a set of AAC-redution rules is assumed to be xed.
The set of dedution rules for eah 2 and for eah 2 out r forms an
indutive denition [1℄. A proof tree rooted by ( ), 2 y and 2 , is an
explanation for ( ). Intuitively, it provides an explanation of the reason why
has been removed from the domain of . Note that a leaf of an explanation
orresponds to a fat ( ) : ( ( )) , that is the ase where r ( ) = ;.
instane of
e; r
d
R
r
R
e
e; y
e
D
D
( )
y
V
e; y
e
y
e; r
e; out r
ar
e
Example 6 GNU-Prolog
Let us onsider the 3 onstraints x #< y, y #< z, z #< x with x = y = z =
f0 1 2g. The redution rules are: of type (f g ), dened by ( ) = f 2
g and, dened in the same way, of type (f g ), of type
xj9 2 y
(f g ), of type (f g ), of type (f g ), and of type (f g ).
D
;
;
d
r1
f
y; z
x; y ; x
d ;e < f
;y
r4
r2
y; z
;z
r5
z; x ; z
9
D
D
r1 d
x; y ; y
r6
e
r3
z; x ; x
(0 )
(0 )
;x
;x
(1; r3 )
;y
;y
(2; r3 )
(0 )
;z
(0; r1 )
(2 )
(1 )
;y
;y
(2 )
(0; r1 )
(2 )
(1 )
(1; r2 )
(2; r3 )
;x
(2; r5 )
(0; r6 )
(0 )
;x
(0; r6 )
Figure 1: Value Withdrawal Explanations
For example, in GNU-Prolog, is written \x in 0..max(y)-1" and is written
\y in min(x)+1..2".
Figure 1 shows three dierent explanations for (0 ). The rst explanation says:
0 has been removed from the domain of by the redution rule beause 1 and
2 have been removed from the domain of , 1 has been removed from the domain
of by the redution rule beause 2 has been removed from the domain of ,
and so on ...
r1
r2
;x
x
r1
y
y
r3
z
We are going to dene the explanation assoiated with an event \withdrawal
of a value from a domain" in an iteration. But before, we give an intermediary
denition.
Let us onsider an iteration
of from with respet to the run
. Let us assume that the value has disappeared from the domain of
the variable ( i) at the -th step, that is 2 iout r but 62 iout r . Note
that iout r = i( i jfin r ;out r g ) = f 2 iout r j r ( ) \ iin r 6= ;g. So
i
i
r ( ) \ in r = ;, i.e. for eah 2
r ( ), 62 in r , so there exists f
suh that 62 jin r but 2 inj r (note that ( i) = ( j )). We dene :
j
( ) = f( ) j 2 r ( ) 62 jout r 2 out
r g.
Let us now dene explanations. The withdrawal of from iout r will be
explained by the tree expl ( ( i) ) indutively dened as follows :
its root is labeled by ( ( i));
the rule used to onnet the root to its hildren is ( i) : ( ( i))
f( ( i)) j 2 r ( )g (the hildren of the root are labeled by the
( ( i)));
the immediate subtrees are every expl ( ( i) ) suh that ( ) 2 ( ).
0
1
d ;d ;:::
r1 ; r2 ; : : :
( i)
ar i e
d
r
1
( i)
f
p e; i
D
e
out r
d
R
f; j
d
i
1
d
( i)
e
e
( i)
f
f
( i)
f
f
d
1
( i)
d
ar i e
f
1
f
d
( j)
;f
d
e
ar i e
1
d
( i)
in r
( i)
ar i e ; f
1
( i)
d
d
( i)
1
( i)
j
< i
out r f
1
( j)
e
e; out r
d
d
( i)
;i
e; out r
e; r
f; in r
f
e; out r
ar i e
f; in r
f; in r
10
;j
f; j
p e; i
It is important to note that an explanation only depends on the rules : the
are not parts of the explanation. The notion of explanation does not depend
on the i unlike in the instanes of dedution rules.
In general, all the redution rules of the iteration are not used in the explanation.
i
d
d
( )) if and only if (there exists
62 !y ) if and only if ( 62 y , where
Theorem 1 (There exists an explanation for
a haoti iteration with limit
is the downward losure).
!
d
suh that
e
e; y
d
e
The last equivalene is proved by lemma 3. About the rst
one: (: Let
be the haoti iteration. There exists suh
that 2 iy but 62 iy , the explanation is expl ( ). ): let us
onsider a numbering 1
of the nodes of the explanation suh
that the traversal aording to the numbering from to 1 orresponds
to a breadth rst searh algorithm. For eah 2 f1
g, let ( i i)
be the name of the rule whih links the node to its hildren, and let
n be the prex of every iteration w.r.t. a run whih starts by
i
!
n . By indution we show that i 62 out r , so 62 y for every
iteration whose run starts by
n.
It is important to note that the previous proof is onstrutive. The denition
of expl ( ) gives an inremental algorithm to ompute explanations.
Proof.
e
0
1
d ; d ; :::
d
1
e
i
d
e; y; i
;:::;n
n
i
;:::;n
e ;r
i
0
d ;:::;d
r1 ; : : : ; r
e
d
( i)
e
d
r1 ; : : : ; r
e; y; i
5
Conlusion
This paper has given a model for the operational semantis of CSP solvers by
domain redution.
This model is applied to the denition of a notion of explanation. An explanation is a set of rules strutured as a tree. An interesting aspet of our denition
is that a subtree of an explanation is also an explanation (indutive denition).
In the modeling of the operational semantis the rules are any hyper-ar
onsisteny rules while in the denition of explanation the rules are assumed to
be only ar onsisteny rules. A rst perspetive of future work is to extend
explanation to hyper-ar onsisteny rules.
As it is written in the introdution, onstraint solving ombines domain redution and labeling. A seond perspetive is to introdue labeling in our model.
We plan to use explanations in order to diagnose errors in a CSP (aording
to an expeted semantis), in the style of [13, 7℄.
11
Aknowledgements
Disussions with Patrie Boizumault and Narendra Jussien are graefully aknowledged.
Referenes
[1℄ P. Azel. An introdution to indutive denitions. In J. Barwise, editor,
Handbook of Mathematial Logi, volume 90 of Studies in Logi and the
Foundations of Mathematis, hapter C.7, pages 739{782. North-Holland
Publishing Company, 1977.
[2℄ A. Aggoun, F. Bueno, M. Carro, P. Deransart, M. Fabris, W. Drabent,
G. Ferrand, M. Hermenegildo, C. Lai, J. Lloyd, J. Maluszynski, G. Puebla,
and A. Tessier. CP Debugging Needs and Tools. In M. Kamkar, editor,
International Workshop on Automated Debugging, volume 2 of Linkoping
Eletroni Artiles in Computer and Information Siene, 1997.
[3℄ K. R. Apt. The Essene of Constraint Propagation. Theorial Computer
Siene, 221(1{2):179{210, 1999.
[4℄ F. Benhamou. Heterogeneous Constraint Solving. In M. Hanus and
M. Rofrguez-Artalejo, editors, International Conferene on Algebrai and
Logi Programming, volume 1139 of Leture Notes in Computer Siene,
pages 62{76. Springer-Verlag, 1996.
[5℄ P. Codognet and D. Diaz. Compiling Constraints in lp(FD). Journal of
Logi Programming, 27(3):185{226, 1996.
[6℄ P. Cousot and R. Cousot. Automati synthesis of optimal invariant assertions mathematial foundation. In Symposium on Artiial Intelligene and
Programming Languages, volume 12(8) of ACM SIGPLAN Not., pages 1{12,
1977.
[7℄ G. Ferrand. The Notions of Symptom and Error in Delarative Diagnosis
of Logi Programs. In P. A. Fritzson, editor, Automated and Algorithmi
Debugging, volume 749 of Leture Notes in Computer Siene, pages 40{57.
Springer-Verlag, 1993.
[8℄ G. Ferrand and A. Tessier. Positive and Negative Diagnosis for Constraint
Logi Programs in terms of Proof Skeletons. In M. Kamkar, editor, International Workshop on Automated Debugging, volume 2 of Linkoping Eletroni
Artiles in Computer and Information Siene, 1997.
12
[9℄ C. Gueret, N. Jussien, and C. Prins. Using intelligent baktraking to improve branh and bound methods: an appliation to Open-Shop problems.
European Journal of Operational Researh, 2000.
[10℄ N. Jussien. Relaxation de Contraintes pour les Problemes dynamiques. PhD
thesis, Universite de Rennes 1, 1997.
[11℄ K. Marriott and P. J. Stukey. Programming with Constraints: An Introdution. MIT Press, 1998.
[12℄ U. Montanari and F. Rossi. Constraint relaxation may be perfet. Artiial
Intelligene, 48:143{170, 1991.
[13℄ E. Y. Shapiro. Algorithmi Program Debugging. ACM Distinguished Dissertation. MIT Press, 1982.
[14℄ A. Tessier and G. Ferrand. Delarative Diagnosis in the CLP sheme. In
P. Deransart, M. Hermenegildo, and J. Maluszynski, editors, Analysis and
Visualisation Tools for Constraint Programming, hapter 5. Springer-Verlag,
2000. (to appear).
[15℄ E. Tsang. Foundations of Constraint Satisfation. Aademi Press, 1993.
[16℄ M. H. Van Emden. Value Constraints in the CLP sheme. In International
Logi Programming Symposium, post-onferene workshop on Interval Constraints, 1995.
[17℄ P. Van Hentenryk. Constraint Satisfation in Logi Programming. Logi
Programming. MIT Press, 1989.
[18℄ P. Van Hentenryk, V. Saraswat, and Y. Deville. Constraint Proessing in
(FD). Draft, 1991.
13
Download