-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
1/28
A G e n e r i c A r c - C o n s i s t e n c y A l g o r i t h m
a n d i t s S p e c i a l i z a t i o n s
1
P a s c a l V a n H e n t e n r y c k
B r o w n U n i v e r s i t y
B o x 1 9 1 0
P r o v i d e n c e , R I 0 2 9 1 2 ( U S A )
Y v e s D e v i l l e
U n i v e r s i t e C a t h o l i q u e d e L o u v a i n ,
P l . S t e B a r b e 2 ,
B - 1 3 4 8 L o u v a i n - L a - N e u v e ( B e l g i u m )
C h o h - M a n T e n g
B r o w n U n i v e r s i t y
B o x 1 9 1 0
P r o v i d e n c e , R I 0 2 9 1 2 ( U S A )
A b s t r a c t
C o n s i s t e n c y t e c h n i q u e s h a v e b e e n s t u d i e d e x t e n s i v e l y i n t h e p a s t a s a w a y o f t a c k l i n g c o n -
s t r a i n t s a t i s f a c t i o n p r o b l e m s ( C S P ) . I n p a r t i c u l a r , v a r i o u s a r c - c o n s i s t e n c y a l g o r i t h m s h a v e
b e e n p r o p o s e d , o r i g i n a t i n g f r o m W a l t z ' s l t e r i n g a l g o r i t h m 2 7 ] a n d c u l m i n a t i n g i n t h e o p -
t i m a l a l g o r i t h m A C - 4 o f M o h r a n d H e n d e r s o n 1 6 ] . A C - 4 r u n s i n O ( e d
2
) i n t h e w o r s t c a s e ,
w h e r e e i s t h e n u m b e r o f a r c s ( o r c o n s t r a i n t s ) a n d d i s t h e s i z e o f t h e l a r g e s t d o m a i n . B e i n g
a p p l i c a b l e t o t h e w h o l e c l a s s o f ( b i n a r y ) C S P , t h e s e a l g o r i t h m s d o n o t t a k e i n t o a c c o u n t t h e
s e m a n t i c s o f c o n s t r a i n t s .
I n t h i s p a p e r , w e p r e s e n t a n e w g e n e r i c a r c - c o n s i s t e n c y a l g o r i t h m A C - 5 . T h i s a l g o r i t h m
i s p a r a m e t r i z e d o n t w o s p e c i e d p r o c e d u r e s a n d c a n b e i n s t a n t i a t e d t o r e d u c e t o A C - 3 a n d
A C - 4 . M o r e i m p o r t a n t , A C - 5 c a n b e i n s t a n t i a t e d t o p r o d u c e a n O ( e d ) a l g o r i t h m f o r a
n u m b e r o f i m p o r t a n t c l a s s e s o f c o n s t r a i n t s : f u n c t i o n a l , a n t i - f u n c t i o n a l , m o n o t o n i c a n d t h e i r
g e n e r a l i z a t i o n t o ( f u n c t i o n a l , a n t i - f u n c t i o n a l , a n d m o n o t o n i c ) p i e c e w i s e c o n s t r a i n t s .
W e a l s o s h o w t h a t A C - 5 h a s a n i m p o r t a n t a p p l i c a t i o n i n c o n s t r a i n t l o g i c p r o g r a m m i n g
o v e r n i t e d o m a i n s 2 4 ] . T h e k e r n e l o f t h e c o n s t r a i n t s o l v e r f o r s u c h a p r o g r a m m i n g l a n g u a g e
i s a n a r c - c o n s i s t e n c y a l g o r i t h m f o r a s e t o f b a s i c c o n s t r a i n t s . W e p r o v e t h a t A C - 5 , i n c o n -
j u n c t i o n w i t h n o d e c o n s i s t e n c y , p r o v i d e s a d e c i s i o n p r o c e d u r e f o r t h e s e c o n s t r a i n t s r u n n i n g
i n t i m e O ( e d )
1
T h i s p a p e r i s a n e x t e n d e d v e r s i o n o f 3 ] .
1
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
2/28
1 I n t r o d u c t i o n
M a n y i m p o r t a n t p r o b l e m s i n a r e a s l i k e a r t i c i a l i n t e l l i g e n c e , o p e r a t i o n s r e s e a r c h a n d h a r d -
w a r e d e s i g n c a n b e v i e w e d a s c o n s t r a i n t s a t i s f a c t i o n p r o b l e m s ( C S P ) . A C S P i s d e n e d b y
a n i t e s e t o f v a r i a b l e s t a k i n g v a l u e s f r o m n i t e d o m a i n s a n d a s e t o f c o n s t r a i n t s b e t w e e n
t h e s e v a r i a b l e s . A s o l u t i o n t o a C S P i s a n a s s i g n m e n t o f v a l u e s t o v a r i a b l e s s a t i s f y i n g a l l
c o n s t r a i n t s a n d t h e p r o b l e m a m o u n t s t o n d i n g o n e o r a l l s o l u t i o n s . M o s t p r o b l e m s i n t h i s
c l a s s a r e N P - c o m p l e t e , w h i c h m e a n s t h a t b a c k t r a c k i n g s e a r c h i s a n i m p o r t a n t t e c h n i q u e i n
t h e i r s o l u t i o n .
M a n y s e a r c h a l g o r i t h m s ( e . g . 2 , 6 , 7 , 8 , 1 1 , 1 9 ] ) , p r e p r o c e s s i n g t e c h n i q u e s a n d c o n s t r a i n t
a l g o r i t h m s ( e . g . 2 7 , 1 8 , 1 2 , 1 4 , 1 6 ] ) h a v e b e e n d e s i g n e d a n d a n a l y z e d f o r t h i s c l a s s o f p r o b -
l e m s s e e t h e r e v i e w s 1 3 , 2 0 ] f o r a c o m p r e h e n s i v e o v e r v i e w o f t h i s a r e a . I n t h i s p a p e r , w e a r e
m a i n l y c o n c e r n e d w i t h ( n e t w o r k ) c o n s i s t e n c y t e c h n i q u e s , a n d a r c c o n s i s t e n c y i n p a r t i c u l a r .
C o n s i s t e n c y t e c h n i q u e s a r e c o n s t r a i n t a l g o r i t h m s t h a t r e d u c e t h e s e a r c h s p a c e b y r e m o v i n g ,
f r o m t h e d o m a i n s a n d c o n s t r a i n t s , v a l u e s t h a t c a n n o t a p p e a r i n a s o l u t i o n . A r c - c o n s i s t e n c y
a l g o r i t h m s w o r k o n b i n a r y C S P a n d m a k e s u r e t h a t t h e c o n s t r a i n t s a r e i n d i v i d u a l l y c o n s i s -
t e n t . A r c - c o n s i s t e n c y a l g o r i t h m s h a v e a l o n g h i s t o r y o f t h e i r o w n t h e y o r i g i n a t e f r o m t h e
W a l t z l t e r i n g a l g o r i t h m 2 7 ] a n d w e r e r e n e d s e v e r a l t i m e s 1 2 ] t o c u l m i n a t e i n t h e o p t i m a l
a l g o r i t h m A C - 4 o f M o h r a n d H e n d e r s o n 1 6 ] . A C - 4 r u n s i n O ( e d
2
) , w h e r e e i s t h e n u m b e r
o f a r c s i n t h e n e t w o r k a n d d i s t h e s i z e o f t h e l a r g e s t d o m a i n .
C o n s i s t e n c y t e c h n i q u e s h a v e r e c e n t l y
2
b e e n a p p l i e d i n t h e d e s i g n o f c o n s t r a i n t l o g i c p r o -
g r a m m i n g ( C L P ) l a n g u a g e s , m o r e p r e c i s e l y i n t h e d e s i g n a n d i m p l e m e n t a t i o n o f C H I P 2 4 , 5 ] .
C H I P a l l o w s t h e s o l v i n g o f a v a r i e t y o f c o n s t r a i n t s o v e r n i t e d o m a i n s , i n c l u d i n g n u m e r i c a l ,
s y m b o l i c , a n d u s e r - d e n e d c o n s t r a i n t s . I t h a s b e e n a p p l i e d t o a v a r i e t y o f i n d u s t r i a l p r o b -
l e m s a n d p r e s e r v e s t h e e c i e n c y o f i m p e r a t i v e l a n g u a g e s w h i l e s h o r t e n i n g t h e d e v e l o p m e n t
t i m e s i g n i c a n t l y . E x a m p l e s o f a p p l i c a t i o n s i n c l u d e g r a p h - c o l o r i n g , w a r e h o u s e l o c a t i o n s ,
c a r - s e q u e n c i n g a n d c u t t i n g s t o c k ( s e e f o r i n s t a n c e 4 , 2 4 ] ) . T h e k e r n e l o f C H I P f o r n i t e
d o m a i n s i s a n a r c - c o n s i s t e n c y a l g o r i t h m b a s e d o n A C - 3 f o r a s e t o f b a s i c b i n a r y c o n s t r a i n t s .
O t h e r ( n o n - b a s i c ) c o n s t r a i n t s a r e a p p r o x i m a t e d i n t e r m s o f t h e b a s i c c o n s t r a i n t s .
T h e r e s e a r c h p r e s e n t e d h e r e o r i g i n a t e d a s a n a t t e m p t t o i m p r o v e f u r t h e r t h e e c i e n c y o f
t h e k e r n e l a l g o r i t h m . T h i s p a p e r m a k e s t w o c o n t r i b u t i o n s . F i r s t , w e p r e s e n t a n e w g e n e r i c
a r c c o n s i s t e n c y a l g o r i t h m A C - 5 . T h e a l g o r i t h m i s g e n e r i c i n t h e s e n s e t h a t i t i s p a r a m e t r i z e d
o n t w o p r o c e d u r e s t h a t a r e s p e c i e d b u t w h o s e i m p l e m e n t a t i o n i s l e f t o p e n . I t c a n b e r e d u c e d
t o A C - 3 a n d A C - 4 b y p r o p e r i m p l e m e n t a t i o n s o f t h e t w o p r o c e d u r e s . M o r e o v e r , w e s h o w
t h a t A C - 5 c a n b e s p e c i a l i z e d t o p r o d u c e a n O ( e d ) a r c c o n s i s t e n c y a l g o r i t h m f o r i m p o r t a n t
c l a s s e s o f c o n s t r a i n t s : f u n c t i o n a l , a n t i - f u n c t i o n a l a n d m o n o t o n i c c o n s t r a i n t s , a s w e l l a s t h e i r
p i e c e w i s e f o r m s . S e c o n d , w e s h o w t h a t t h e k e r n e l o f C H I P c o n s i s t s p r e c i s e l y o f f u n c t i o n a l
a n d m o n o t o n i c c o n s t r a i n t s a n d t h a t A C - 5 , i n c o n j u n c t i o n w i t h n o d e c o n s i s t e n c y , p r o v i d e s a
d e c i s i o n p r o c e d u r e f o r t h e b a s i c c o n s t r a i n t s r u n n i n g i n t i m e O ( e d )
T h i s p a p e r i s o r g a n i z e d a s f o l l o w s . S e c t i o n 2 d e s c r i b e s t h e n o t a t i o n u s e d i n t h i s p a p e r a n d
2
N o t e t h a t , M a c k w o r t h 1 2 ] m e n t i o n e d a s e a r l y a s 1 9 7 7 t h e p o t e n t i a l v a l u e o f c o n s i s t e n c y t e c h n i q u e s f o r
p r o g r a m m i n g l a n g u a g e s .
2
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
3/28
c o n t a i n s t h e b a s i c d e n i t i o n s . S e c t i o n 3 d e s c r i b e s t h e g e n e r i c a r c c o n s i s t e n c y a l g o r i t h m A C - 5
a n d s p e c i e s t w o a b s t r a c t p r o c e d u r e s A r c C o n s a n d L o c a l A r c C o n s . S e c t i o n 4 p r e s e n t s
v a r i o u s r e p r e s e n t a t i o n s f o r t h e d o m a i n s . S e c t i o n s 5 , 6 , a n d 7 s h o w h o w a n O ( e d ) a l g o r i t h m
c a n b e a c h i e v e d f o r v a r i o u s c l a s s e s o f c o n s t r a i n t s b y g i v i n g p a r t i c u l a r i m p l e m e n t a t i o n s o f t h e
t w o p r o c e d u r e s . S e c t i o n 8 i n t r o d u c e s t h e c o n c e p t o f p i e c e w i s e c o n s t r a i n t s , a n d S e c t i o n s 9 , 1 0
a n d 1 1 e x t e n d t h e r e s u l t s f o r p i e c e w i s e f u n c t i o n a l , a n t i - f u n c t i o n a l a n d m o n o t o n i c c o n s t r a i n t s .
S e c t i o n 1 2 s h o w s t h a t A C - 5 , i n c o n j u n c t i o n w i t h n o d e c o n s i s t e n c y , p r o v i d e s a n O ( e d ) d e c i s i o n
p r o c e d u r e f o r t h e b a s i c c o n s t r a i n t s o f C L P o v e r n i t e d o m a i n s . S e c t i o n s 1 3 a n d 1 4 d i s c u s s
r e l a t e d w o r k a n d s t a t e s t h e c o n c l u s i o n s o f t h i s r e s e a r c h .
2 P r e l i m i n a r i e s
W e t a k e t h e f o l l o w i n g c o n v e n t i o n s . V a r i a b l e s a r e r e p r e s e n t e d b y t h e n a t u r a l n u m b e r s 1 : : : n
E a c h v a r i a b l e i h a s a n a s s o c i a t e d n i t e d o m a i n D
i
. A l l c o n s t r a i n t s a r e b i n a r y a n d r e l a t e t w o
d i s t i n c t v a r i a b l e s . I f i a n d j a r e v a r i a b l e s ( i < j ) , w e a s s u m e , f o r s i m p l i c i t y , t h a t t h e r e i s
a t m o s t o n e c o n s t r a i n t r e l a t i n g t h e m , d e n o t e d C
i j
. A s u s u a l , C
i j
( v w ) d e n o t e s t h e b o o l e a n
v a l u e o b t a i n e d w h e n v a r i a b l e s i a n d j a r e r e p l a c e d b y v a l u e s v a n d w r e s p e c t i v e l y . W e a l s o
d e n o t e b y D t h e u n i o n o f a l l d o m a i n s a n d b y d t h e s i z e o f t h e l a r g e s t d o m a i n .
A r c - c o n s i s t e n c y a l g o r i t h m s g e n e r a l l y w o r k o n t h e g r a p h r e p r e s e n t a t i o n o f t h e C S P . W e
a s s o c i a t e a g r a p h G t o a C S P i n t h e f o l l o w i n g w a y . G h a s a n o d e i f o r e a c h v a r i a b l e i . F o r
e a c h c o n s t r a i n t C
i j
r e l a t i n g v a r i a b l e s i a n d j ( i < j ) , G h a s t w o d i r e c t e d a r c s , ( i j ) a n d
( j i ) . T h e c o n s t r a i n t a s s o c i a t e d t o a r c ( i j ) i s C
i j
a n d t h e c o n s t r a i n t a s s o c i a t e d t o ( j i ) i s
C
j i
, w h i c h i s s i m i l a r t o C
i j
e x c e p t t h a t i t s a r g u m e n t s a r e i n t e r c h a n g e d . W e d e n o t e b y e t h e
n u m b e r o f a r c s i n G . W e a l s o u s e a r c ( G ) a n d n o d e ( G ) t o d e n o t e t h e s e t o f a r c s a n d t h e s e t
o f n o d e s o f g r a p h G
W e n o w r e p r o d u c e t h e s t a n d a r d d e n i t i o n s o f a r c c o n s i s t e n c y f o r a n a r c a n d a g r a p h .
D e n i t i o n 1 L e t ( i j ) 2 a r c ( G ) . A r c ( i j ) i s a r c - c o n s i s t e n t w r t D
i
a n d D
j
i 8 v 2
D
i
9 w 2 D
j
: C
i j
( v w )
D e n i t i o n 2 L e t P = D
1
D
n
. A g r a p h G i s a r c - c o n s i s t e n t w r t P i 8 ( i j ) 2 a r c ( G )
: ( i j ) i s a r c - c o n s i s t e n t w i t h r e s p e c t t o D
i
a n d D
j
T h e n e x t d e n i t i o n i s u s e f u l i n s p e c i f y i n g t h e o u t c o m e o f a n a r c - c o n s i s t e n t a l g o r i t h m .
C o n v e n t i o n 3 L e t P = D
1
D
n
a n d P
0
= D
0
1
D
0
n
P t P
0
i s d e n e d a s
( D
1
D
0
1
) ( D
n
D
0
n
) , a n d P v P
0
i s d e n e d a s ( D
1
D
0
1
) & & ( D
n
D
0
n
)
D e n i t i o n 4 L e t P = D
1
D
n
, P
0
= D
0
1
D
0
n
a n d P
0
v P P
0
i s t h e l a r g e s t
a r c - c o n s i s t e n t d o m a i n f o r G i n P i G i s a r c - c o n s i s t e n t w r t P
0
a n d t h e r e i s n o o t h e r P
0 0
w i t h
P
0
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
4/28
p r o c e d u r e I n i t Q u e u e ( o u t Q )
P o s t : Q = f g
f u n c t i o n E m p t y Q u e u e ( i n Q ) : B o o l e a n
P o s t : E m p t y Q u e u e , ( Q = f g )
p r o c e d u r e D e q u e u e ( i n o u t Q o u t i j w )
P o s t : 2 Q
0
a n d Q = Q
0
n
p r o c e d u r e E n q u e u e ( i n i i n o u t Q )
P r e : D
i
a n d i 2 n o d e ( G )
P o s t : Q = Q
0
f ( k i ) 2 a r c ( G ) a n d v 2 g
F i g u r e 1 : T h e Q u e u e M o d u l e
T h e o r e m 5 E x i s t e n c e a n d U n i q u e n e s s ] L e t P = D
1
D
n
. T h e l a r g e s t a r c - c o n s i s t e n t
d o m a i n f o r G i n P e x i s t s a n d i s u n i q u e .
P r o o f T o p r o v e u n i q u e n e s s , n o t e t h a t i f G i s a r c - c o n s i s t e n t w r t P
0
a n d w r t P
0 0
, t h e n G i s
a l s o a r c - c o n s i s t e n t w r t P
0
t P
0 0
. H e n c e t h e u n i o n o f a l l t h e a r c - c o n s i s t e n t d o m a i n s ( i n c l u d e d
b y v i n P ) f o r G i s a l s o a r c - c o n s i s t e n t a n d i s t h e l a r g e s t a r c - c o n s i s t e n t d o m a i n f o r G i n P
b y c o n s t r u c t i o n . E x i s t e n c e i s s t r a i g h t f o r w a r d s i n c e i s a r c - c o n s i s t e n t . 2
T h e p u r p o s e o f a n a r c - c o n s i s t e n c y a l g o r i t h m i s , g i v e n a g r a p h G a n d a s e t P , t o c o m p u t e
P
0
, t h e l a r g e s t a r c - c o n s i s t e n t d o m a i n f o r G i n P
3 T h e N e w A r c - C o n s i s t e n c y A l g o r i t h m
A l l a l g o r i t h m s f o r a r c c o n s i s t e n c y w o r k w i t h a q u e u e c o n t a i n i n g e l e m e n t s t o r e c o n s i d e r . I n
A C - 3 , t h e q u e u e c o n t a i n s a r c s ( i j ) , w h i l e A C - 4 c o n t a i n s p a i r s ( i v ) , w h e r e i i s a n o d e a n d
v i s a v a l u e . T h e n o v e l t y o f A C - 5 i s t h a t i t s q u e u e c o n t a i n s e l e m e n t s , w h e r e
( i j ) i s a n a r c a n d w i s a v a l u e t h a t h a s b e e n r e m o v e d f r o m D
j
a n d j u s t i e s t h e n e e d t o
r e c o n s i d e r a r c ( i j )
T o p r e s e n t A C - 5 , w e p r o c e e d i n s e v e r a l s t e p s . W e r s t p r e s e n t t h e n e c e s s a r y o p e r a t i o n s
o n q u e u e s . T h e n w e g i v e t h e s p e c i c a t i o n o f t h e t w o a b s t r a c t p r o c e d u r e s A r c C o n s a n d
L o c a l A r c C o n s . F i n a l l y w e p r e s e n t t h e a l g o r i t h m i t s e l f a n d p r o v e a n u m b e r o f r e s u l t s .
3 . 1 O p e r a t i o n s o n Q u e u e s
T h e o p e r a t i o n s w e n e e d a r e d e s c r i b e d i n F i g u r e 1 . P r o c e d u r e I n i t Q u e u e s i m p l y i n i -
t i a l i z e s t h e q u e u e t o a n e m p t y s e t . F u n c t i o n E m p t y Q u e u e t e s t s i f t h e q u e u e i s e m p t y .
P r o c e d u r e E n q u e u e ( i Q ) i s u s e d w h e n e v e r t h e s e t o f v a l u e s i s r e m o v e d f r o m D
i
I t
i n t r o d u c e s e l e m e n t s o f t h e f o r m i n t h e q u e u e Q w h e r e ( k i ) i s a n a r c o f t h e c o n -
s t r a i n t g r a p h a n d v 2 . P r o c e d u r e D e q u e u e d e q u e u e s o n e e l e m e n t f r o m t h e q u e u e . I n a l l
s p e c i c a t i o n s , w e t a k e t h e c o n v e n t i o n t h a t a p a r a m e t e r p s u b s c r i p t e d w i t h 0 ( p
0
) r e p r e s e n t s
t h e v a l u e o f p a t c a l l t i m e .
4
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
5/28
p r o c e d u r e A r c C o n s ( i n i j o u t )
P r e : ( i j ) 2 a r c ( G ) D
i
6= a n d D
j
6=
P o s t : = f v 2 D
i
8 w 2 D
j
: C
i j
( v w ) g
p r o c e d u r e L o c a l A r c C o n s ( i n i j w o u t )
P r e : ( i j ) 2 a r c ( G ) w 62 D
j
D
i
6= a n d D
j
6=
P o s t :
1
2
w i t h
1
= f v 2 D
i
C
i j
( v w ) a n d 8 w 2 D
j
: C
i j
( v w ) g
2
= f v 2 D
i
8 w 2 D
j
: C
i j
( v w ) g
F i g u r e 2 : S p e c i c a t i o n o f t h e P r o c e d u r e s
A l l t h e s e o p e r a t i o n s o n q u e u e s e x c e p t P r o c e d u r e E n q u e u e c a n b e a c h i e v e d i n c o n s t a n t
t i m e . P r o c e d u r e E n q u e u e c a n b e i m p l e m e n t e d t o r u n i n O ( s ) w h e r e s i s t h e n u m b e r o f
n e w e l e m e n t s t o i n s e r t i n t h e q u e u e T h e o n l y d i c u l t y i n f a c t i s P r o c e d u r e E n q u e u e I t
r e q u i r e s a d i r e c t a c c e s s f r o m a v a r i a b l e t o i t s a r c s ( w h i c h i s a l w a y s a s s u m e d i n a r c - c o n s i s t e n c y
a l g o r i t h m s ) a n d a l a z y d i s t r i b u t i o n o f v o n t h e a r c s . T o a c h i e v e t h i s r e s u l t , t h e q u e u e c a n b e
o r g a n i z e d t o c o n t a i n e l e m e n t s o f t h e f o r m w h e r e A
k
i s a n a r c a n d v i s
a v a l u e . P r o c e d u r e E n q u e u e ( i Q ) a d d s a n e l e m e n t t o t h e q u e u e ,
w h e r e t h e A
k
a r e a r c s o f t h e f o r m ( j i ) , f o r e a c h v 2 . P r o c e d u r e D e q u e u e p i c k s u p a n
e l e m e n t w i t h m > 0 , r e m o v e s a n A
k
= ( i j ) f r o m t h e s e t , a n d r e t u r n s
i , j , a n d w
3 . 2 S p e c i c a t i o n o f t h e P a r a m e t r i c P r o c e d u r e s
F i g u r e 2 g i v e s t h e s p e c i c a t i o n o f t h e t w o s u b p r o b l e m s . T h e i r i m p l e m e n t a t i o n s f o r v a r i o u s
k i n d s o f c o n s t r a i n t s a r e g i v e n i n t h e n e x t s e c t i o n s . T h e y c a n a l s o b e s p e c i a l i z e d t o p r o d u c e
A C - 3 a n d A C - 4 f r o m A C - 5 .
P r o c e d u r e A r c C o n s ( i j ) c o m p u t e s t h e s e t o f v a l u e s f o r v a r i a b l e i t h a t a r e n o t
s u p p o r t e d b y D
j
. P r o c e d u r e L o c a l A r c C o n s ( i j w ) i s u s e d t o c o m p u t e t h e s e t o f
v a l u e s i n D
i
n o l o n g e r s u p p o r t e d b e c a u s e o f t h e r e m o v a l o f v a l u e w f r o m D
j
N o t e t h a t t h e s p e c i c a t i o n o f L o c a l A r c C o n s g i v e s u s m u c h f r e e d o m i n t h e r e s u l t t o
b e r e t u r n e d . I t i s s u c i e n t t o c o m p u t e
1
t o g u a r a n t e e t h e c o r r e c t n e s s o f A C - 5 . H o w e v e r , t h e
p r o c e d u r e g i v e s u s t h e o p p o r t u n i t y t o a c h i e v e m o r e p r u n i n g ( u p t o
2
) w h i l e s t i l l p r e s e r v i n g
t h e s o u n d n e s s o f t h e a l g o r i t h m . I n t h e e x t r e m e c a s e w h e r e
2
i s c o m p u t e d , t h e e l e m e n t w
i s t h u s n o t t a k e n i n t o a c c o u n t a n d L o c a l A r c C o n s h a s t h e s a m e r e s u l t a s A r c C o n s
3 . 3 A l g o r i t h m A C - 5
W e a r e n o w i n a p o s i t i o n t o p r e s e n t A l g o r i t h m A C - 5 . T h e a l g o r i t h m i s d e p i c t e d i n F i g u r e
3 a n d h a s t w o m a i n s t e p s . I n t h e r s t s t e p , a l l a r c s a r e c o n s i d e r e d o n c e a n d a r c c o n s i s t e n c y
i s e n f o r c e d o n e a c h o f t h e m . P r o c e d u r e R e m o v e ( D ) r e m o v e s t h e s e t o f v a l u e s f r o m
D . T h e s e c o n d s t e p a p p l i e s L o c a l A r c C o n s o n e a c h o f t h e e l e m e n t o f t h e q u e u e , p o s s i b l y
5
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
6/28
A l g o r i t h m A C - 5
P o s t : l e t P
0
= D
1
0
D
n
0
P = D
1
D
n
G i s m a x i m a l l y a r c - c o n s i s t e n t w r t P i n P
0
b e g i n A C - 5
1 I n i t Q u e u e ( Q )
2 f o r e a c h ( i j ) 2 a r c ( G ) d o
3 b e g i n
4 A r c C o n s ( i j , )
5 E n q u e u e ( i Q )
6 R e m o v e ( D
i
)
7 e n d
8 w h i l e n o t E m p t y Q u e u e ( Q ) d o
9 b e g i n
1 0 D e q u e u e ( Q i j w )
1 1 L o c a l A r c C o n s ( i j w , )
1 2 E n q u e u e ( i Q )
1 3 R e m o v e ( D
i
)
1 4 e n d
e n d A C - 5
F i g u r e 3 : T h e A r c - c o n s i s t e n c y A l g o r i t h m A C - 5
p r o c e d u r e I n i t Q u e u e ( o u t Q )
P o s t : 8 ( k i ) 2 a r c ( G ) S t a t u s ( k i ) v = p r e s e n t i f v 2 D
i
= r e j e c t e d i f v =2 D
i
f u n c t i o n E m p t y Q u e u e ( i n Q )
P o s t : 8 ( k i ) 2 a r c ( G ) 8 v S t a t u s ( k i ) v 6= s u s p e n d e d
p r o c e d u r e D e q u e u e ( i n o u t Q o u t i j w )
P o s t : S t a t u s ( i j ) w = r e j e c t e d
p r o c e d u r e E n q u e u e ( i n i i n o u t Q )
P r e : 8 ( k i ) 2 a r c ( G ) 8 v 2 S t a t u s ( k i ) v = p r e s e n t
P o s t : 8 ( k i ) 2 a r c ( G ) 8 v 2 S t a t u s ( k i ) v = s u s p e n d e d
F i g u r e 4 : T h e Q u e u e M o d u l e o n S t r u c t u r e S t a t u s
6
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
7/28
g e n e r a t i n g n e w e l e m e n t s i n t h e q u e u e .
3 . 4 P r o p e r t i e s o f A C - 5
W e r s t p r o v e t h e p a r t i a l c o r r e c t n e s s o f A C - 5 . T e r m i n a t i o n , w h i c h i s s t r a i g h t f o r w a r d , i s
p r o v e n i n t h e c o m p l e x i t y r e s u l t s .
L e m m a 6 L e t P
= D
1
D
n
b e t h e l a r g e s t a r c c o n s i s t e n t d o m a i n f o r G i n P
0
. T h e
i n v a r i a n t P
v P i s p r e s e r v e d i n A C - 5 a t l i n e s 2 a n d 8 .
P r o o f T h e i n v a r i a n t h o l d s f o r t h e r s t e x e c u t i o n o f l i n e 2 , s i n c e D
i
= D
i
0
a n d D
i
D
i
0
E x e c u t i o n o f l i n e 4 p r e s e r v e s t h e i n v a r i a n t b e c a u s e v 2 ) v 62 D
i
, s i n c e P
v P a n d P
i s a r c - c o n s i s t e n t . I t f o l l o w s t h a t D
i
D
i
n a n d l i n e s 5 a n d 6 a l s o p r e s e r v e t h e i n v a r i a n t .
T h e p r o o f f o r t h e i n v a r i a n t i n l i n e 8 i s s i m i l a r . 2
T h e o r e m 7 P a r t i a l C o r r e c t n e s s ] A l g o r i t h m A C - 5 i s p a r t i a l l y c o r r e c t .
P r o o f W e r s t s h o w t h a t G i s a r c - c o n s i s t e n t w r t P w h e n A C - 5 t e r m i n a t e s . I f w e a s s u m e
t h e c o n t r a r y , t h e r e m u s t e x i s t ( i j ) 2 a r c ( G ) a n d v 2 D
i
s u c h t h a t 8 w 2 D
j
: : C
i j
( v w )
T h e v a l u e v m u s t t h e n b e s u p p o r t e d b y s o m e e l e m e n t s o f D
j
0
, o t h e r w i s e i t w o u l d h a v e
b e e n r e m o v e d f r o m D
i
a t l i n e 6 . L e t w
1
: : : w
m
( m > 0 ) b e a l l t h e e l e m e n t s o f D
j
0
s u p -
p o r t i n g v . T h e v a l u e s w
k
( 1 k m ) a r e t h u s r e m o v e d f r o m D
j
0
d u r i n g t h e e x e c u t i o n
a n d e l e m e n t s o f t h e f o r m a r e i n s e r t e d i n t h e q u e u e . S i n c e A C - 5 t e r m i n a t e s ,
L o c a l A r c C o n s ( j i w
l
) i n l i n e 1 1 i s e x e c u t e d f o r s o m e l ( 1 l m ) , w i t h w
k
62 D
j
f o r
a l l k ( 1 k m ) . B y d e n i t i o n o f L o c a l A r c C o n s , v 2 h o l d s a n d l i n e 1 3 r e m o v e s v
f r o m D
i
, r e s u l t i n g i n a c o n t r a d i c t i o n .
N o w , s i n c e P
v P b y L e m m a 6 , w h e r e P
i s t h e l a r g e s t a r c - c o n s i s t e n t d o m a i n f o r G i n
P
0
, i t f o l l o w s t h a t P = P
. T h i s p r o v e s t h e p a r t i a l c o r r e c t n e s s o f A C - 5 . 2
W e n o w t u r n t o t h e c o m p l e x i t y r e s u l t s . T o s i m p l i f y t h e p r e s e n t a t i o n , w e i n t r o d u c e a n e w
d a t a s t r u c t u r e S t a t u s w h i c h i s a t w o - d i m e n s i o n a l a r r a y , t h e r s t d i m e n s i o n b e i n g o n a r c s
a n d t h e s e c o n d o n v a l u e s . W e a l s o g i v e t h e e e c t o f t h e p r o c e d u r e s m a n i p u l a t i n g t h e q u e u e
o n S t a t u s i n F i g u r e 4 . N o t e t h a t t h e a c t u a l i m p l e m e n t a t i o n d o e s n o t n e e d t o p e r f o r m t h e s e
o p e r a t i o n s t h e y a r e j u s t p r e s e n t e d h e r e m e r e l y t o e a s e t h e p r e s e n t a t i o n a n d s i m p l i f y t h e
t h e o r e m .
A l g o r i t h m A C - 5 p r e s e r v e s t h e f o l l o w i n g i n v a r i a n t o n l i n e s 2 a n d 8 f o r S t a t u s :
S t a t u s ( k i ) v = p r e s e n t i v 2 D
i
,
= s u s p e n d e d i v 62 D
i
& h ( k i ) v i 2 Q ,
= r e j e c t e d i v 62 D
i
& h ( k i ) v i =2 Q
W e a r e n o w i n a p o s i t i o n t o p r o v e t h e f o l l o w i n g t h e o r e m .
7
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
8/28
T h e o r e m 8 A l g o r i t h m A C - 5 h a s t h e f o l l o w i n g p r o p e r t i e s : ( 1 ) T h e i n v a r i a n t o n d a t a -
s t r u c t u r e S t a t u s h o l d s o n l i n e s 2 a n d 8 . ( 2 ) A C - 5 e n q u e u e s a n d d e q u e u e s a t m o s t O ( e d )
e l e m e n t s , a n d h e n c e t h e s i z e o f t h e q u e u e i s a t m o s t O ( e d ) . ( 3 ) A C - 5 a l w a y s t e r m i n a t e s . ( 4 )
I f s
1
: : : s
p
a r e t h e n u m b e r o f n e w e l e m e n t s i n t h e q u e u e o n e a c h i t e r a t i o n a t l i n e s 5 a n d 1 2 ,
t h e n s
1
+ + s
p
O ( e d )
P r o o f
P r o p e r t y 1 h o l d s i n i t i a l l y . A s s u m i n g t h a t i t h o l d s i n l i n e 2 , i t a l s o h o l d s a f t e r a n i t e r a t i o n
o f l i n e s 4 t o 6 . L i n e 5 m a k e s s u r e t h a t i s s u s p e n d e d f o r a l l v 2 a n d p u t s t h e m
o n t h e q u e u e , w h i l e l i n e 6 r e m o v e s f r o m D
i
. S o t h e i n v a r i a n t h o l d s a t t h e r s t e x e c u t i o n
o f l i n e 8 . E x e c u t i o n o f l i n e s 1 0 t o 1 3 p r e s e r v e s t h e i n v a r i a n t , l i n e s 1 0 a n d 1 1 m a i n t a i n i t o n
t h e i r o w n , a n d l i n e s 1 2 a n d 1 3 r e s p e c t i v e l y m a k e s u r e t h a t i s s u s p e n d e d f o r a l l
v 2 a n d r e m o v e f r o m D
i
P r o p e r t y 2 h o l d s b e c a u s e e a c h e l e m e n t o f S t a t u s i s a l l o w e d t o m a k e o n l y t w o t r a n s i t i o n s :
o n e f r o m p r e s e n t t o s u s p e n d e d t h r o u g h P r o c e d u r e E n q u e u e a n d o n e f r o m s u s p e n d e d
t o r e j e c t e d t h r o u g h P r o c e d u r e D e q u e u e . H e n c e t h e r e c a n o n l y b e O ( e d ) d e q u e u e s a n d
e n q u e u e s .
P r o p e r t i e s 3 a n d 4 a r e d i r e c t c o n s e q u e n c e s o f P r o p e r t y 2 a n d t h e p r e c o n d i t i o n s o f E n -
q u e u e o n t h e d a t a s t r u c t u r e S t a t u s 2
T h e s p a c e c o m p l e x i t y o f A C - 5 d e p e n d s o n t h e m a x i m a l s i z e o f Q a n d o f t h e s i z e o f t h e
d o m a i n s o f t h e v a r i a b l e s . T h e a b o v e t h e o r e m c a n b e u s e d t o d e d u c e t h e o v e r a l l c o m p l e x i t y
o f A C - 5 f r o m t h e c o m p l e x i t y o f P r o c e d u r e s A r c C o n s a n d L o c a l A r c C o n s
T h e o r e m 9 ( 1 ) I f t h e t i m e c o m p l e x i t y o f A r c C o n s i s O ( d
2
) a n d t h e t i m e c o m p l e x i t y o f
L o c a l A r c C o n s i s O ( d ) , t h e n t h e t i m e c o m p l e x i t y o f A C - 5 i s O ( e d
2
) . ( 2 ) I f t h e t i m e
c o m p l e x i t y o f A r c C o n s i s O ( d ) a n d t h e t i m e c o m p l e x i t y o f L o c a l A r c C o n s ( i , j , w , ) i s
O ( )
3
, t h e n t h e t i m e c o m p l e x i t y o f A C - 5 i s O ( e d )
A C - 3 i s a p a r t i c u l a r c a s e o f A C - 5 w h e r e t h e v a l u e w i s n e v e r u s e d i n t h e i m p l e m e n t a t i o n o f
P r o c e d u r e L o c a l A r c C o n s
4
( i . e . L o c a l A r c C o n s i s i m p l e m e n t e d b y A r c C o n s ) . I n t h i s
c a s e , L o c a l A r c C o n s a n d A r c C o n s a r e O ( d
2
) a n d A C - 5 i s O ( e d
3
) . T h e s p a c e c o m p l e x i t y
i s O ( e + n d ) , s i n c e t h e s i z e o f t h e q u e u e c a n b e r e d u c e d t o O ( e )
A C - 4 i s a l s o a p a r t i c u l a r c a s e o f A C - 5 w h e r e t h e i m p l e m e n t a t i o n o f P r o c e d u r e L o -
c a l A r c C o n s d o e s n o t u s e n o d e i , b u t m a i n t a i n s a d a t a s t r u c t u r e o f s i z e O ( e d
2
) . I n t h i s
c a s e , A r c C o n s i n i t i a l i s e s t h e d a t a s t r u c t u r e a n d i s O ( d
2
) , a n d L o c a l A r c C o n s i s O ( d )
T h e r e s u l t i n g a l g o r i t h m i s O ( e d
2
)
S i n c e O ( e d
2
) i s t h e o p t i m a l t i m e c o m p l e x i t y , t h e r e i s n o w a y t o r e d u c e t h e c o m p l e x i t y
o t h e r t h a n c o n s i d e r i n g p a r t i c u l a r c l a s s e s o f c o n s t r a i n t s , a l l o w i n g t o i m p l e m e n t , i n p a r t i c u -
l a r , P r o c e d u r e A r c C o n s i n O ( d ) . N o t e a l s o t h a t a n a r c - c o n s i s t e n c y a l g o r i t h m i n O ( e d ) i s
3
O ( ) r e a l l y m e a n s O ( m a x ( 1 ) ) , s i n c e i t s h o u l d b e O ( 1 ) w h e n i s e m p t y .
4
S t r i c t l y s p e a k i n g , i n A C - 3 , a r c ( i j ) i s n o t e n q u e u e d w h e n a r c ( j i ) i s m a d e c o n s i s t e n t . T h i s o p t i m i z a t i o n
c o u l d b e a d d e d i n A C - 5 b y a d d i n g j a s a n a r g u m e n t t o E n q u e u e a n d a d d i n g t h e c o n s t r a i n t k 6= j t o i t s
d e n i t i o n .
8
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
9/28
f u n c t i o n S i z e ( i n D ) : I n t e g e r
P o s t : S i z e = D
p r o c e d u r e R e m o v e E l e m ( i n v i n o u t D )
P o s t : D = D
0
n f v g
f u n c t i o n M e m b e r ( i n v D ) : B o o l e a n
P o s t : M e m b e r , ( v 2 D )
f u n c t i o n M i n ( i n D ) : V a l u e
P o s t : M i n = m i n f v 2 D g
f u n c t i o n M a x ( i n D ) : V a l u e
P o s t : M a x = m a x f v 2 D g
f u n c t i o n S u c c ( i n v D ) : V a l u e
P o s t : S u c c = m i n f v 2 D v > v g i f 9 v 2 D v > v
= + 1 o t h e r w i s e
f u n c t i o n P r e d ( i n v D ) : V a l u e
P o s t : P r e d = m a x f v 2 D v < v g i f 9 v 2 D v < v
= ; 1 o t h e r w i s e
F i g u r e 5 : T h e D o m a i n M o d u l e
o p t i m a l f o r a s u b c l a s s o f c o n s t r a i n t s , s i n c e i t i s r e a s o n a b l e t o a s s u m e t h a t w e n e e d t o c h e c k
e a c h v a l u e i n e a c h d o m a i n a t l e a s t o n c e . I n t h e f o l l o w i n g s e c t i o n s , w e c h a r a c t e r i z e c l a s s e s o f
c o n s t r a i n t s t h a t g u a r a n t e e t h a t P r o c e d u r e A r c C o n s i s O ( d ) a n d P r o c e d u r e L o c a l A r c -
C o n s i s l i n e a r l y r e l a t e d t o t h e s i z e o f i t s o u t p u t s e t , h e n c e r e s u l t i n g i n a n A C - 5 a l g o r i t h m
f o r t h e s e c l a s s e s r u n n i n g i n t i m e O ( e d ) a n d s p a c e O ( e d + n d )
4 R e p r e s e n t a t i o n o f D o m a i n s
P a r t i c u l a r i m p l e m e n t a t i o n s o f A r c C o n s a n d L o c a l A r c C o n s p e r f o r m o p e r a t i o n s o n
t h e d o m a i n s d e p i c t e d i n F i g u r e 5 . A s t h e r e a d e r w i l l n o t i c e , t h e o p e r a t i o n s w e d e n e o n t h e
d o m a i n s a r e m o r e s o p h i s t i c a t e d t h a n t h o s e u s u a l l y r e q u i r e d b y a r c - c o n s i s t e n c y a l g o r i t h m s . I n
p a r t i c u l a r , t h e y a s s u m e a t o t a l o r d e r i n g o n t h e d o m a i n D f o r r e a s o n s t h a t w i l l b e c o m e c l e a r
l a t e r .
5
T h e a d d i t i o n a l s o p h i s t i c a t i o n i s n e c e s s a r y t o a c h i e v e t h e b o u n d O ( e d ) f o r m o n o t o n i c
c o n s t r a i n t s .
T h e p r i m i t i v e o p e r a t i o n s o n d o m a i n s a r e a s s u m e d t o t a k e c o n s t a n t t i m e . W e p r e s e n t
h e r e t w o d a t a - s t r u c t u r e s t h a t e n a b l e t o a c h i e v e t h i s r e s u l t .
T h e r s t d a t a s t r u c t u r e a s s u m e s a d o m a i n o f c o n s e c u t i v e i n t e g e r v a l u e s a n d i s d e p i c t e d i n
F i g u r e 6 . T h e e l d s i z e g i v e s t h e s i z e o f t h e d o m a i n , t h e e l d s m i n a n d m a x a r e u s e d t o p i c k
u p t h e m i n i m u m a n d m a x i m u m v a l u e s , t h e e l d e l e m e n t t o t e s t i f a v a l u e i s i n t h e d o m a i n ,
a n d t h e t w o e l d s p r e d a n d s u c c t o a c c e s s i n c o n s t a n t t i m e t h e s u c c e s s o r o r p r e d e c e s s o r o f
a v a l u e i n t h e d o m a i n . T h e o p e r a t i o n R e m o v e E l e m e n t m u s t u p d a t e a l l e l d s t o p r e s e r v e
t h e s e m a n t i c s . T h i s c a n b e d o n e i n c o n s t a n t t i m e .
5
N o t e t h a t i f D i s m a d e u p o f s e v e r a l u n c o n n e c t e d d o m a i n s w i t h d i s t i n c t o r d e r i n g s , i t i s a l w a y s p o s s i b l e
t o t r a n s f o r m t h e u n d e r l y i n g p a r t i a l o r d e r i n g i n t o a t o t a l o r d e r i n g .
9
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
10/28
L e t S = f b : : : B g
D
i
= f v
1
: : : v
m
g S w i t h v
k
< v
k + 1
a n d m > 0
S y n t a x
D
i
: s i z e : i n t e g e r
D
i
: m i n : i n t e g e r 2 S
D
i
: m a x : i n t e g e r 2 S
D
i
: e l e m e n t : a r r a y b B ] o f b o o l e a n s
D
i
: s u c c : a r r a y b B ] o f i n t e g e r s 2 S
D
i
: p r e d : a r r a y b B ] o f i n t e g e r s 2 S
S e m a n t i c s
D
i
: s i z e = m
D
i
: m i n = v
1
D
i
: m a x = v
m
D
i
: e l e m e n t v i v 2 D
i
D
i
: s u c c v
k
= v
k + 1
( 1 k < m )
D
i
: s u c c v
m
= + 1
D
i
: p r e d v
k + 1
= v
k
( 1 k < m )
D
i
: p r e d v
1
= ; 1
F i g u r e 6 : D o m a i n D a t a S t r u c t u r e : C o n s e c u t i v e V a l u e s
L e t S = f e
1
: : : e
a
g w i t h e
k
< e
k + 1
D
i
= f e
v
1
: : : e
v
m
g S w i t h v
k
< v
k + 1
a n d m > 0
S y n t a x
D
i
: s i z e : i n t e g e r
D
i
: m i n : i n t e g e r 2 f 1 : : : a g
D
i
: m a x : i n t e g e r 2 f 1 : : : a g
D
i
: e l e m e n t : s e t o f c o u p l e s ( e v ) w i t h e 2 S a n d v 2 f 0 : : : a g
o r g a n i z e d a s a h a s h t a b l e o n k e y e
D
i
: v a l u e : a r r a y 1 . . . a ] o f e l e m e n t s 2 S
D
i
: s u c c : a r r a y 1 . . . a ] o f i n t e g e r s 2 f 1 : : : a g
D
i
: p r e d : a r r a y 1 . . . a ] o f i n t e g e r s 2 f 1 : : : a g
S e m a n t i c s
D
i
: s i z e = m
D
i
: m i n = v
1
D
i
: m a x = v
m
D
i
: e l e m e n t ( e ) = v ( w i t h e = e
v
) i f e 2 D
i
= 0 o t h e r w i s e
D
i
: v a l u e v = e
v
D
i
: s u c c v
k
= v
k + 1
( 1 k < m )
D
i
: s u c c v
m
= + 1
D
i
: p r e d v
k + 1
= v
k
( 1 k < m )
D
i
: p r e d v
1
= ; 1
F i g u r e 7 : D o m a i n D a t a S t r u c t u r e : S p a r s e V a l u e s
1 0
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
11/28
p r o c e d u r e A r c C o n s ( i n i j o u t )
b e g i n
1 : =
2 f o r e a c h v 2 D
i
d o
3 i f f
i j
( v ) =2 D
j
t h e n
4 : = f v g
e n d
F i g u r e 8 : A r c C o n s f o r F u n c t i o n a l C o n s t r a i n t s
W h e n t h e d o m a i n i s s p a r s e , t h e d a t a s t r u c t u r e d e p i c t e d i n F i g u r e 7 c a n b e u s e d . I t
r e a s o n s a b o u t i n d i c e s i n s t e a d o f v a l u e s a n d u s e a h a s h t a b l e t o t e s t m e m b e r s h i p i n t h e
d o m a i n . A l t h o u g h t h e t i m e c o m p l e x i t y o f m e m b e r s h i p i s t h e o r e t i c a l l y n o t O ( 1 ) , u n d e r
r e a s o n a b l e a s s u m p t i o n s , t h e e x p e c t e d t i m e t o s e a r c h f o r a n e l e m e n t i s O ( 1 ) 1 ] .
F o r e a s e o f p r e s e n t a t i o n , w e a s s u m e i n t h e r e s t o f t h e p a p e r t h a t A C - 5 s t o p s a s s o o n a s
a d o m a i n b e c o m e s e m p t y .
5 F u n c t i o n a l C o n s t r a i n t s
D e n i t i o n 1 0 A c o n s t r a i n t C i s f u n c t i o n a l w r t a d o m a i n D i f o r a l l v ( r e s p . w ) 2 D
t h e r e e x i s t s a t m o s t o n e w ( r e s p . v ) 2 D s u c h t h a t C ( v w )
N o t e t h a t t h e a b o v e d e n i t i o n i s p a r a m e t r i z e d o n a d o m a i n D . S o m e c o n s t r a i n t s m i g h t
n o t b e f u n c t i o n a l i n g e n e r a l b u t b e c o m e f u n c t i o n a l w h e n r e s t r i c t e d t o a d o m a i n o f v a l u e s .
A n e x a m p l e o f a f u n c t i o n a l c o n s t r a i n t i s x = y + 5
C o n v e n t i o n 1 1 I f C
i j
i s a f u n c t i o n a l c o n s t r a i n t , w e d e n o t e b y f
i j
( v ) ( r e s p . f
j i
( w ) ) t h e
v a l u e w ( r e s p . v ) s u c h t h a t C
i j
( v w ) . I f s u c h a v a l u e d o e s n o t e x i s t , t h e f u n c t i o n d e n o t e s a
v a l u e o u t s i d e t h e d o m a i n f o r w h i c h t h e c o n s t r a i n t h o l d s .
T h e r e s u l t s p r e s e n t e d i n t h e p a p e r a s s u m e t h a t i t t a k e s c o n s t a n t t i m e t o c o m p u t e t h e
f u n c t i o n s f
i j
a n d f
j i
i n t h e s a m e w a y a s a r c - c o n s i s t e n c y a l g o r i t h m s a s s u m e t h a t C ( v w ) c a n
b e c o m p u t e d i n c o n s t a n t t i m e .
W e c a n n o w p r e s e n t P r o c e d u r e s A r c C o n s a n d L o c a l A r c C o n s f o r f u n c t i o n a l c o n -
s t r a i n t s , a s d e p i c t e d i n F i g u r e s 8 a n d 9 . I t i s c l e a r t h a t t h e p r o c e d u r e s f u l l l t h e i r s p e c -
i c a t i o n s . O n l y o n e v a l u e p e r a r c n e e d s t o b e c h e c k e d i n P r o c e d u r e A r c C o n s s i n c e t h e
c o n s t r a i n t i s f u n c t i o n a l . P r o c e d u r e L o c a l A r c C o n s c o m p u t e s t h e s e t
1
i n t h i s c a s e a n d
o n l y o n e v a l u e n e e d s t o b e c h e c k e d . P r o c e d u r e s A r c C o n s a n d L o c a l A r c C o n s a r e r e -
s p e c t i v e l y O ( d ) a n d O ( 1 ) f o r f u n c t i o n a l c o n s t r a i n t s . H e n c e w e h a v e a n o p t i m a l a l g o r i t h m .
T h e o r e m 1 2 A l g o r i t h m A C - 5 i s O ( e d ) f o r f u n c t i o n a l c o n s t r a i n t s w r t D
N o t e t h a t f u n c t i o n a l c o n s t r a i n t s a d d n o r e q u i r e m e n t f o r t h e b a s i c o p e r a t i o n s o n t h e
d o m a i n s c o m p a r e d t o t r a d i t i o n a l a l g o r i t h m s .
1 1
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
12/28
p r o c e d u r e L o c a l A r c C o n s ( i n i j w o u t )
b e g i n
1 i f f
j i
( w ) 2 D
i
t h e n
2 : = f f
j i
( w ) g
3 e l s e
4 : =
e n d
F i g u r e 9 : L o c a l A r c C o n s f o r F u n c t i o n a l C o n s t r a i n t s
p r o c e d u r e A r c C o n s ( i n i j o u t )
b e g i n
1 s = S i z e ( D
j
)
2 w
1
= M i n ( D
j
)
3 i f s = 1 t h e n
4 : = f f
j i
( w
1
) g \ D
i
5 e l s e
6 : =
7 e n d
e n d
F i g u r e 1 0 : P r o c e d u r e A r c C o n s f o r A n t i - F u n c t i o n a l C o n s t r a i n t s
6 A n t i - F u n c t i o n a l C o n s t r a i n t s
W h e n t h e n e g a t i o n o f a c o n s t r a i n t i s f u n c t i o n a l ( f o r i n s t a n c e , t h e i n e q u a l i t y r e l a t i o n x 6= y ) ,
a n o p t i m a l a l g o r i t h m c a n a l s o b e a c h i e v e d .
D e n i t i o n 1 3 A c o n s t r a i n t C
i j
i s a n t i - f u n c t i o n a l w r t a d o m a i n D i : C
i j
i s f u n c t i o n a l w r t
D
W i t h a n a n t i - f u n c t i o n a l c o n s t r a i n t , f o r e a c h v a l u e i n t h e d o m a i n t h e r e i s t h u s a t m o s t o n e
v a l u e f o r w h i c h t h e c o n s t r a i n t d o e s n o t h o l d . P r o c e d u r e s A r c C o n s a n d L o c a l A r c C o n s
a r e s h o w n i n F i g u r e s 1 0 a n d 1 1 . W e u s e t h e s a m e c o n v e n t i o n a s f o r f u n c t i o n a l c o n s t r a i n t s .
p r o c e d u r e L o c a l A r c C o n s ( i n i j w o u t )
b e g i n
1 A r c C o n s ( i j )
e n d
F i g u r e 1 1 : P r o c e d u r e L o c a l A r c C o n s f o r A n t i - F u n c t i o n a l C o n s t r a i n t s
1 2
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
13/28
I n s t e a d o f c o n s i d e r i n g e a c h e l e m e n t o f D
i
, w h i c h w o u l d y i e l d a c o m p l e x i t y O ( d ) , t h e
r e s u l t o f A r c C o n s i s h e r e a c h i e v e d b y c o n s i d e r i n g t h e s i z e o f D
j
. I t i s c l e a r t h a t A r c C o n s
f u l l l s i t s s p e c i c a t i o n : f o r D
j
= f w g , t h e r e s u l t i n g s e t s h o u l d c o n t a i n f
i j
( w ) o n l y i f i t i s
a n e l e m e n t o f D
i
. T h e c o m p l e x i t y o f A r c C o n s i s O ( 1 ) . T h i s a l l o w s t h e i m p l e m e n t a t i o n o f
L o c a l A r c C o n s t h r o u g h A r c C o n s , l e a d i n g t o t h e s a m e O ( 1 ) . I n t h i s c a s e , t h e v a l u e w i s
n o t c o n s i d e r e d a n d L o c a l A r c C o n s c o m p u t e s t h e s e t
2
o f i t s s p e c i c a t i o n .
6
T h e o r e m 1 4 A l g o r i t h m A C - 5 i s O ( e d ) f o r a n t i - f u n c t i o n a l c o n s t r a i n t s w r t D
7 M o n o t o n i c C o n s t r a i n t s
W e n o w c o n s i d e r a n o t h e r c l a s s o f c o n s t r a i n t s : m o n o t o n i c c o n s t r a i n t s , f o r e x a m p l e x y ; 3
T h i s c l a s s o f c o n s t r a i n t s r e q u i r e s a t o t a l o r d e r i n g w h i l e t h o s e f o r a r c ( j i ) a r e f
j i
( v ) = m i n f w C
i j
( v w ) g ,
l a s t
j i
= M i n , n e x t
j i
= S u c c ,
j i
= < M o r e o v e r , s i n c e P r o c e d u r e s A r c C o n s a n d
L o c a l A r c C o n s o n l y u s e f
i j
, l a s t
i j
, n e x t
i j
, a n d
i j
f o r a r c ( i j ) , w e o m i t t h e s u b s c r i p t s
i n t h e p r e s e n t a t i o n o f t h e a l g o r i t h m s . T h e s e f u n c t i o n s a r e a s s u m e d t o t a k e c o n s t a n t t i m e t o
e v a l u a t e .
W e a r e n o w i n a p o s i t i o n t o d e s c r i b e t h e i m p l e m e n t a t i o n o f P r o c e d u r e s A r c C o n s a n d
L o c a l A r c C o n s f o r m o n o t o n i c c o n s t r a i n t s . T h e y a r e d e p i c t e d i n F i g u r e s 1 2 a n d 1 3 .
L e m m a 1 7 P r o c e d u r e s A r c C o n s a n d L o c a l A r c C o n s f u l l l t h e i r s p e c i c a t i o n s .
P r o o f P r o c e d u r e A r c C o n s a n d L o c a l A r c C o n s c o m p u t e t h e s e t = f v 2 D
i
v
f ( l a s t ( D
j
) ) g . B y m o n o t o n i c i t y o f t h e c o n s t r a i n t ,
2
w i t h
2
= f v 2 D
i
8 w
0
2
D
j
: : C
i j
( v w
0
) g , a n d
2
\ f v 2 D
i
v f ( l a s t ( D
j
) ) g = . H e n c e =
2
a n d b o t h
p o s t c o n d i t i o n s a r e s a t i s e d . 2
P r o c e d u r e s A r c C o n s a n d L o c a l A r c C o n s h a v e a s m a n y i t e r a t i o n s i n l i n e s 5 a n d 6 a s
t h e r e a r e e l e m e n t s i n t h e r e s u l t i n g s e t . H e n c e i t f o l l o w s t h a t w e h a v e a n o p t i m a l a l g o r i t h m .
6
T h e s e t
1
c a n a l s o b e c o m p u t e d i n O ( 1 ) s i n c e o n e c a n s h o w t h a t
1
=
2
n f f
j i
( w ) g
1 3
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
14/28
p r o c e d u r e A r c C o n s ( i n i j o u t )
b e g i n
1 : =
2 v = l a s t ( D
i
)
3 w h i l e v f ( l a s t ( D
j
) ) d o
4 b e g i n
5 : = f v g
6 v = n e x t ( v D
i
)
7 e n d
e n d
F i g u r e 1 2 : A r c C o n s f o r M o n o t o n i c C o n s t r a i n t s
p r o c e d u r e L o c a l A r c C o n s ( i n i j i n w o u t )
b e g i n
1 A r c C o n s ( i j )
e n d
F i g u r e 1 3 : L o c a l A r c C o n s f o r M o n o t o n i c C o n s t r a i n t s
T h e o r e m 1 8 P r o c e d u r e A C - 5 i s O ( e d ) f o r m o n o t o n i c c o n s t r a i n t s w r t D
I t i s a l s o c l e a r t h a t A C - 5 c a n b e a p p l i e d a t t h e s a m e t i m e t o ( a n t i - ) f u n c t i o n a l a n d
m o n o t o n i c c o n s t r a i n t s w i t h t h e s a m e c o m p l e x i t y .
M o n o t o n i c C o n s t r a i n t s R e v i s i t e d
L e t u s r e c o n s i d e r t h e A r c C o n s p r o c e d u r e f o r m o n o t o n i c c o n s t r a i n t s . W e r s t s h o w t h a t
t h e S u c c a n d P r e d f u n c t i o n s c a n a l w a y s b e a p p l i e d o n t h e i n i t i a l d o m a i n s ( d e n o t e d D
i n i t
i
) ,
t h u s e l i m i n a t i n g t h e n e e d t o u p d a t e p a r t o f t h e d a t a s t r u c t u r e . T h e r e v i s e d p r o c e d u r e
p r o c e d u r e A r c C o n s ( i n i j o u t )
b e g i n
1 : =
2 v = l a s t ( D
i
)
3 w h i l e v f ( l a s t ( D
j
) ) d o
4 b e g i n
5 i f v 2 D
i
t h e n : = f v g
6 v = n e x t ( v D
i n i t
i
)
7 e n d
e n d
F i g u r e 1 4 : R e v i s e d P r o c e d u r e A r c C o n s f o r M o n o t o n i c C o n s t r a i n t s
1 4
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
15/28
p r o c e d u r e L o c a l A r c C o n s ( i n i j i n w o u t )
b e g i n
1 : =
2 i f w l a s t ( D
j
) t h e n
3 b e g i n
4 v = l a s t ( D
i
)
5 w h i l e v f ( l a s t ( D
j
) ) d o
6 b e g i n
7 i f v 2 D
i
t h e n : = f v g
8 v = n e x t ( v D
i n i t
i
)
9 e n d
1 0 e n d
e n d
F i g u r e 1 5 : R e v i s e d P r o c e d u r e L o c a l A r c C o n s f o r M o n o t o n i c C o n s t r a i n t s
A r c C o n s i s d e p i c t e d i n F i g u r e 1 4 . T h e o n l y d i e r e n c e l i e s i n l i n e s 5 a n d 6 , a n d t h u s
o b v i o u s l y h a s n o i n u e n c e o n t h e c o r r e c t n e s s o f A r c C o n s
P r o c e d u r e L o c a l A r c C o n s c o u l d u s e A r c C o n s , b u t a r e v i s e d v e r s i o n i s p r e s e n t e d i n
F i g u r e 1 5 . T h e c o r r e c t n e s s o f L o c a l A r c C o n s i s a c o n s e q u e n c e o f t h e p r e c e d i n g v e r s i o n ,
c o m p u t i n g t h e s e t
2
o f i t s s p e c i c a t i o n , a n d t h e f a c t t h a t w h e n w l a s t ( D
j
) , t h e n
1
i s
e m p t y b y t h e m o n o t o n i c i t y o f C
i j
. I t i s p o s s i b l e t o c o m p u t e
1
,
7
b u t t h i s w o u l d p r e v e n t t h e
r e d u c t i o n o f d o m a i n s a s e a r l y a s p o s s i b l e .
T h e o r e m 1 9 W i t h t h e r e v i s e d i m p l e m e n t a t i o n d e p i c t e d i n F i g u r e s 1 4 a n d 1 5 , P r o c e d u r e
A C - 5 i s O ( e d ) f o r m o n o t o n i c c o n s t r a i n t s w r t D
P r o o f T h i s p r o o f r e q u i r e s t h e u s e o f a m o r t i z e d c o m p l e x i t y 2 2 ] t o s h o w t h a t L o c a l A r -
c C o n s i s O ( d ) a m o r t i z e d . T h e n u m b e r o f i t e r a t i o n s f o r a c a l l t o t h e r e v i s e d v e r s i o n o f
L o c a l A r c C o n s i s n o t O ( d ) i n t h e w o r s t c a s e , s i n c e s o m e e l e m e n t s m a y h a v e b e e n r e m o v e d
f r o m t h e d o m a i n . H o w e v e r , w e c a n a s s o c i a t e , t o e a c h a r c ( i j ) , d c r e d i t s t h a t a r e u s e d e a c h
t i m e a t e s t i n l i n e 5 ( A r c C o n s ) o r i n l i n e 7 ( L o c a l A r c C o n s ) i s e x e c u t e d f o r a r c ( i j ) a n d
n o e l e m e n t i s i n s e r t e d . T h e t o t a l n u m b e r o f c r e d i t s i s t h u s O ( e d ) . T o p r o v e t h e a m o r t i z e d
O ( d ) c o m p l e x i t y , w e s h o w t h a t a t e s t i n l i n e 5 ( A r c C o n s ) o r i n l i n e 7 ( L o c a l A r c C o n s )
i s d o n e a t m o s t o n c e p e r v a l u e i n t h e d o m a i n . S u p p o s e t h a t s u c h a t e s t i s d o n e o n s o m e v
0
T h e n , a f t e r t h e e x e c u t i o n o f t h e f o l l o w i n g R e m o v e , w e h a v e v
0
l a s t ( D
i
) , a n d t h i s v a l u e i s
t h u s n e v e r c o n s i d e r e d a n y m o r e , s i n c e i n e a c h e x e c u t i o n o f A r c C o n s a n d L o c a l A r c C o n s ,
t h e r s t e x e c u t i o n o f t h e t e s t a l w a y s s u c c e e d s . H e n c e , i t f o l l o w s f r o m t h e n u m b e r o f c r e d i t s
a n d t h e c o m p l e x i t y o f t h e r s t a l g o r i t h m t h a t w e s t i l l h a v e a n o p t i m a l A C - 5 a l g o r i t h m . 2
7
I n l i n e 4 i n F i g u r e 1 5 , r e p l a c e f ( l a s t ( D
j
) ) b y f ( w )
1 5
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
16/28
f u n c t i o n N b G r o u p ( i n i j ) : I n t e g e r
P o s t : N b G r o u p = S
i j
; 1
f u n c t i o n S i z e O f G r o u p ( i n i j k ) : I n t e g e r
P r e : 0 k N b G r o u p ( i j )
P o s t : S i z e O f G r o u p = S
i j
k
\ D
i
f u n c t i o n E m p t y G r o u p ( i n i j k ) : B o o l e a n
P r e : 0 k N b G r o u p ( i j )
P o s t : E m p t y G r o u p , S
i j
k
\ D
i
=
p r o c e d u r e E x t e n d ( i n i j k i n o u t )
P r e : 0 k N b G r o u p ( i j )
P o s t : =
0
( S
i j
k
\ D
i
)
S t a t u s - p d ( i j ) k = t r u e
f u n c t i o n G r o u p O f ( i n i j v ) : I n t e g e r
P r e : v 2 D
i n i t
i
P o s t : G r o u p O f = k s u c h t h a t v 2 S
i j
k
f u n c t i o n F i r s t G r o u p ( i n i j ) : I n t e g e r
P o s t : F i r s t G r o u p = m i n f k S
i j
k
\ D
i
6= g
f u n c t i o n L a s t G r o u p ( i n i j ) : I n t e g e r
P o s t : L a s t G r o u p = m a x f k S
i j
k
\ D
i
6= g
f u n c t i o n S i z e ( i n i j ) : I n t e g e r
P o s t : S i z e = f k S
i j
k
\ D
i
6= g
F i g u r e 1 6 : T h e P i e c e w i s e D e c o m p o s i t i o n M o d u l e
8 P i e c e w i s e C o n s t r a i n t s
T h e p r e c e d i n g s e c t i o n s a r e g e n e r a l i z e d t o t h e c a s e w h e n t h e d o m a i n c a n b e p a r t i t i o n e d i n t o
g r o u p s s u c h t h a t e l e m e n t s o f a g r o u p b e h a v e s i m i l a r l y w i t h r e s p e c t t o a g i v e n c o n s t r a i n t .
C o n v e n t i o n 2 0 L e t S , P b e s e t s , a n d C b e a c o n s t r a i n t . C ( S P ) d e n o t e s 8 v 2 S 8 w 2 P :
C ( v w ) : C ( S P ) d e n o t e s 8 v 2 S 8 w 2 P : : C ( v w ) . W e a l s o u s e C ( S w ) f o r C ( S f w g )
D e n i t i o n 2 1 T h e p a r t i t i o n s S = f S
0
: : : S
n
g o f D
i
a n d P = f P
0
: : : P
m
g o f D
j
a r e a
p i e c e w i s e d e c o m p o s i t i o n o f D
i
a n d D
j
w r t C i f o r a l l S
k
2 S P
k
2 P : C ( S
k
P
k
) o r
: C ( S
k
P
k
) h o l d s .
R e p r e s e n t a t i o n o f P i e c e w i s e C o n s t r a i n t s
B e f o r e p r e s e n t i n g t h e i m p l e m e n t a t i o n o f A r c C o n s a n d L o c a l A r c C o n s f o r c o n s t r a i n t s
h a v i n g s o m e p a r t i c u l a r p i e c e w i s e d e c o m p o s i t i o n , w e s h o w i n F i g u r e 1 6 o p e r a t i o n s o n p i e c e -
w i s e d e c o m p o s i t i o n s a r e d e p i c t e d . F o r e a s e o f i m p l e m e n t a t i o n , w e a s s u m e t h a t e l e m e n t s i n
g r o u p s o f a p i e c e w i s e d e c o m p o s i t i o n a r e n e v e r r e m o v e d d u r i n g t h e e x e c u t i o n . T h e p i e c e -
w i s e d e c o m p o s i t i o n o f D
i
a n d D
j
w i t h r e s p e c t t o C
i j
i s d e n o t e d S
i j
= f S
i j
0
: : : S
i j
n
g a n d
S
j i
= f S
j i
0
: : : S
j i
m
g . W e a l s o i n t r o d u c e a n e w d a t a s t r u c t u r e S t a t u s - p d w h i c h i s a t w o -
d i m e n s i o n a l a r r a y , t h e r s t d i m e n s i o n b e i n g o n a r c s ( a s s o c i a t e d w i t h a p i e c e w i s e d e c o m p o -
s i t i o n ) a n d t h e s e c o n d o n g r o u p n u m b e r s . I t s s e m a n t i c s i s t h e f o l l o w i n g :
1 6
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
17/28
L e t S
i j
= f S
i j
0
: : : S
i j
n
g w i t h n 0
S y n t a x
S
i j
: g r o u p : a r r a y 1 . . . n ] o f s e t s
S
i j
: n b g r o u p : i n t e g e r
S
i j
: s i z e : i n t e g e r
S
i j
: s i z e g r o u p : a r r a y 1 . . . n ] o f i n t e g e r s
S
i j
: f i r s t : i n t e g e r
S
i j
: l a s t : i n t e g e r
S e m a n t i c s
S
i j
: g r o u p k = S
i j
k
S
i j
: n b g r o u p = n
S
i j
: s i z e = f k S
i j
k
\ D
i
6= g
S
i j
: s i z e g r o u p k = S
i j
k
\ D
i
S
i j
: f i r s t = m i n f k S
i j
k
\ D
i
6= g
S
i j
: l a s t = m a x f k S
i j
k
\ D
i
6= g
F i g u r e 1 7 : P i e c e w i s e D e c o m p o s i t i o n D a t a S t r u c t u r e
S
i j
k
\ D
i
6= ) S t a t u s - p d ( i j ) k = f a l s e
T h u s , S t a t u s - p d m u s t b e f a l s e w h e n t h e c o r r e s p o n d i n g g r o u p i s n o t e m p t y . O n c e a g a i n ,
t h i s d a t a s t r u c t u r e i s m e r e l y i n t r o d u c e d t o s i m p l i f y t h e p r e s e n t a t i o n a n d i s n o t r e q u i r e d b y
t h e a l g o r i t h m s .
T h e p r i m i t i v e o p e r a t i o n s o n a p i e c e w i s e d e c o m p o s i t i o n a r e a s s u m e d t o t a k e c o n s t a n t
t i m e , e x c e p t t h a t t h e c o m p l e x i t y o f E x t e n d i s a s s u m e d t o b e O ( s ) , w h e r e s i s t h e s i z e o f
S
i j
k
A s i m p l e d a t a s t r u c t u r e t h a t e n a b l e s u s t o a c h i e v e t h e s e r e s u l t s i s g i v e n i n F i g u r e 1 7 .
I t s s p a c e c o m p l e x i t y i s O ( d ) p e r p i e c e w i s e d e c o m p o s i t i o n . T h i s d a t a s t r u c t u r e c a n n o t b e
u p d a t e d b y t h e R e m o v e E l e m p r i m i t i v e i n c o n s t a n t t i m e s i n c e a n e l e m e n t i n a d o m a i n c a n
b e l o n g t o d i e r e n t g r o u p s i n d i e r e n t p i e c e w i s e d e c o m p o s i t i o n s . T h e u p d a t e c a n e a s i l y b e
p e r f o r m e d b y t h e E n q u e u e p r i m i t i v e , h o w e v e r , w i t h o u t a e c t i n g i t s c o m p l e x i t y .
I t i s n o t d i c u l t t o i n i t i a l i z e t h e d a t a s t r u c t u r e i n O ( d ) u n d e r t h e r e a l i s t i c a s s u m p t i o n
t h a t i t t a k e s O ( s ) t o n d t h e s e l e m e n t s i n D
j
( r e s p . D
i
) s u p p o r t i n g a v a l u e v ( r e s p . w ) i n
D
i
( r e s p . D
j
) . I n a d d i t i o n , t h e c o n s t r u c t i o n o f t h e d a t a s t r u c t u r e a s s i g n s a g r o u p n u m b e r t o
e a c h v a l u e , s o t h a t t h e G r o u p O f o p e r a t i o n t r i v i a l l y t a k e s c o n s t a n t t i m e . I n t h e f o l l o w i n g ,
w e a s s u m e t h a t t h e d a t a s t r u c t u r e h a s a l r e a d y b e e n b u i l t .
9 P i e c e w i s e F u n c t i o n a l C o n s t r a i n t s
I n t u i t i v e l y , a p i e c e w i s e f u n c t i o n a l c o n s t r a i n t C
i j
i s a c o n s t r a i n t w h o s e d o m a i n s c a n b e d e -
c o m p o s e d i n t o g r o u p s s u c h t h a t e a c h g r o u p o f D
i
( r e s p . D
j
) i s s u p p o r t e d b y a t m o s t o n e
g r o u p o f D
j
( r e s p . D
i
)
1 7
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
18/28
D e n i t i o n 2 2 A c o n s t r a i n t C
i j
i s p i e c e w i s e f u n c t i o n a l w r t d o m a i n s D
i
, D
j
i t h e r e e x i s t s a
p i e c e w i s e d e c o m p o s i t i o n S = f S
0
: : : S
n
g a n d P = f P
0
: : : P
m
g o f D
i
a n d D
j
w r t C
i j
s u c h
t h a t f o r a l l S
k
2 S ( r e s p . P
k
2 P ) , t h e r e e x i s t s a t m o s t o n e P
k
2 P ( r e s p . S
k
2 S ) , s u c h
t h a t C
i j
( S
k
P
k
)
E x a m p l e s o f f u n c t i o n a l p i e c e w i s e c o n s t r a i n t s a r e t h e m o d u l o ( x = y m o d z ) a n d i n t e g e r
d i v i s i o n ( x = y d i v z ) c o n s t r a i n t s . T h e e l e m e n t c o n s t r a i n t o f t h e C H I P p r o g r a m m i n g
l a n g u a g e 2 4 ] i s a p i e c e w i s e c o n s t r a i n t a s w e l l . F i n a l l y . n o t e t h a t f u n c t i o n a l c o n s t r a i n t s a r e
a s u b c l a s s o f p i e c e w i s e c o n s t r a i n t s , i n w h i c h t h e s i z e o f e a c h g r o u p i n t h e p a r t i t i o n i s e x a c t l y
o n e .
O b v i o u s l y , i n a p i e c e w i s e f u n c t i o n a l c o n s t r a i n t C
i j
, i f a l l t h e u n s u p p o r t e d e l e m e n t s o f
D
i
( r e s p . D
j
) a r e i n t h e s a m e g r o u p ( e . g . S
0
a n d P
0
) , t h e n t h e p i e c e w i s e d e c o m p o s i t i o n s
S = f S
0
: : : S
n
g a n d P = f P
0
: : : P
n
g h a v e t h e s a m e n u m b e r o f g r o u p s a n d t h e g r o u p s c a n
b e r e n u m b e r e d s u c h t h a t t h e f o l l o w i n g h o l d :
P F 1 : C
i j
( S
0
D
j
) a n d : C
i j
( D
i
P
0
)
P F 2 C
i j
( S
k
P
k
) ( 1 k n )
P F 3 : C
i j
( S
k
P
k
) ( 1 k k
0
n a n d k 6= k
0
)
T h e i m p l e m e n t a t i o n o f A r c C o n s a n d L o c a l A r c C o n s f o r p i e c e w i s e f u n c t i o n a l c o n -
s t r a i n t s a s s u m e s a p i e c e w i s e d e c o m p o s i t i o n t h a t s a t i s e s P F 1 { 3 . T h e f o l l o w i n g p r o p e r t y
s t a t e s n e c e s s a r y a n d s u c i e n t c o n d i t i o n s f o r a p i e c e w i s e f u n c t i o n a l c o n s t r a i n t .
P r o p e r t y 2 3 A c o n s t r a i n t C
i j
i s p i e c e w i s e f u n c t i o n a l w r t D
i
a n d D
j
i t h e r e e x i s t s a p a r -
t i t i o n S = f S
0
: : : S
n
g o f D
i
s u c h t h a t
( 1 ) C
i j
( S
k
w ) o r : C
i j
( S
k
w ) ( f o r a l l w 2 D
j
a n d 0 k n )
( 2 ) C
i j
( S
k
w ) ) : C
i j
( S
k
w ) ( f o r a l l w 2 D
j
a n d 0 k k
0
n a n d k 6= k
0
)
P r o o f T h e \ o n l y i f " p a r t i s s t r a i g h t f o r w a r d . F o r t h e \ i f " p a r t , l e t u s a s s u m e t h a t t h e r e i s
s o m e u n s u p p o r t e d e l e m e n t i n D
i
a n d i n D
j
a n d t h a t a l l t h e u n s u p p o r t e d e l e m e n t i n D
i
a r e
i n S
0
( o t h e r w i s e g r o u p s c a n b e m e r g e d a n d r e n u m b e r e d w i t h o u t a e c t i n g c o n d i t i o n s ( 1 ) a n d
( 2 ) . W e c o n s t r u c t P = f P
0
: : : P
n
g i n t h e f o l l o w i n g w a y :
P
k
= f w 2 D
j
9 v 2 S
k
C
i j
( v w ) g ( 1 k n )
P
0
= D
j
n
1 l n
P
l
I t i s s u c i e n t t o p r o v e t h a t P i s a p a r t i t i o n a n d t h a t S a n d P s a t i s f y P F 1 { 3 .
( P i s a p a r t i t i o n ) . ( A ) P
k
\ P
k
= ( k 6= k
0
) . T h i s h o l d s f o r k = 0 o r k
0
= 0 . F o r
k 6= 0 6= k
0
, l e t w 2 P
k
. B y d e n i t i o n o f P
k
, w e h a v e 9 v 2 S
k
: C
i j
( v w ) . H e n c e b y ( 1 ) ,
C
i j
( S
k
w ) . B y ( 2 ) w e h a v e : C
i j
( S
k
w ) , t h a t i s 8 v
0
2 S
k
: : C
i j
( v
0
w ) . H e n c e w 62 P
k
. ( B )
1 8
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
19/28
f u n c t i o n U n s u p p o r t e d ( i n i j k ) : B o o l e a n
P r e : 0 k N b G r o u p ( i j )
P o s t : U n s u p p o r t e d , E m p t y G r o u p ( j i k ) ^ : S t a t u s - p d ( i j ) k
F i g u r e 1 8 : T h e U n s u p p o r t e d F u n c t i o n
p r o c e d u r e A r c C o n s ( i n i j o u t )
b e g i n
1 : =
2 E x t e n d ( i j 0 )
3 f o r k = 1 t o N b G r o u p ( i j ) d o
4 i f U n s u p p o r t e d ( i j k ) t h e n
5 E x t e n d ( i j k )
e n d
F i g u r e 1 9 : A r c C o n s f o r P i e c e w i s e F u n c t i o n a l C o n s t r a i n t s
S u p p o s e t h a t P
k
= ( k > 0 ) . T h e n S
k
= ( i m p o s s i b l e s i n c e S i s a p a r t i t i o n ) , o r S
k
c o n t a i n s
u n s u p p o r t e d e l e m e n t s ( i m p o s s i b l e b y h y p o t h e s i s ) . H e n c e P
k
6=
( P F 1 ) . H o l d b y d e n i t i o n o f S
0
a n d P
0
( P F 2 ) . L e t w 2 P
k
. B y d e n i t i o n o f P
k
, 9 v
0
2 S
k
s u c h t h a t C
i j
( v
0
w ) . B y ( 1 ) , C
i j
( S
k
w ) ,
t h a t i s 8 v 2 S
k
: C
i j
( v w ) . H e n c e C
i j
( S
k
P
k
)
( P F 3 ) . L e t w 2 P
k
. S i n c e P
k
\ P
k
= ( k 6= k
0
) , w 62 P
k
. B y d e n i t i o n o f P
k
, w e h a v e
8 v
0
2 S
k
: : C
i j
( v w ) . H e n c e : C
i j
( S
k
P
k
) 2
T h e p r o c e d u r e s A r c C o n s a n d L o c a l A r c C o n s f o r p i e c e w i s e f u n c t i o n a l c o n s t r a i n t a r e
g i v e n i n F i g u r e s 1 9 a n d 2 0 . L i n e 2 h a n d l e s t h e g r o u p S
i j
0
c o n t a i n i n g a l l t h e u n s u p p o r t e d
e l e m e n t s o f t h e i n i t i a l d o m a i n D
i
. T h e p r o c e d u r e s u s e t h e b o o l e a n f u n c t i o n U n s u p p o r t e d
s p e c i e d i n F i g u r e 1 8 . T h e c o r r e c t n e s s o f t h e s e p r o c e d u r e s i s a i m m e d i a t e c o n s e q u e n c e o f
t h e c o r r e c t n e s s o f p r o c e d u r e s f o r f u n c t i o n a l c o n s t r a i n t s . O n e c a n a l s o e a s i l y s e e t h a t t h e
s e m a n t i c s o f S t a t u s - p d i s a n i n v a r i a n t a t l i n e s 2 a n d 8 i n A C - 5 , a s s u m i n g i t h o l d s i n i t i a l l y .
p r o c e d u r e L o c a l A r c C o n s ( i n i j w o u t )
b e g i n
1 : =
2 k = G r o u p O f ( j i w )
4 i f U n s u p p o r t e d ( i j k ) t h e n
5 E x t e n d ( i j k )
e n d
F i g u r e 2 0 : L o c a l A r c C o n s f o r P i e c e w i s e F u n c t i o n a l C o n s t r a i n t s
1 9
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
20/28
p r o c e d u r e A r c C o n s ( i n i j o u t )
b e g i n
1 : =
2 s = S i z e ( j i )
3 k = F i r s t G r o u p ( j i )
4 i f s = 1 a n d k 6= 0 a n d n o t E m p t y G r o u p ( i j k ) t h e n
5 E x t e n d ( i j k )
e n d
F i g u r e 2 1 : P r o c e d u r e A r c C o n s f o r P i e c e w i s e A n t i - F u n c t i o n a l C o n s t r a i n t s
p r o c e d u r e L o c a l A r c C o n s ( i n i j w o u t )
b e g i n
1 A r c C o n s ( i j )
e n d
F i g u r e 2 2 : P r o c e d u r e L o c a l A r c C o n s f o r P i e c e w i s e A n t i - F u n c t i o n a l C o n s t r a i n t s
T h e t i m e c o m p l e x i t y i s a n a l y z e d g l o b a l l y w i t h i n A C - 5 . I f t h e c o m p l e x i t y o f a l l t h e
e x e c u t i o n o f A r c C o n s a n d L o c a l A r c C o n s f o r a g i v e n a r c ( i j ) i s b o u n d e d b y O ( d ) , t h e n
A C - 5 i s O ( e d ) . T h e c o m p l e x i t y o f e x e c u t i o n o f A r c C o n s a n d L o c a l A r c C o n s d e p e n d
m a i n l y o n t h e n u m b e r o f e x e c u t i o n s o f t h e E x t e n d p r o c e d u r e . F o r a n a r c ( i j ) , b y t h e
s p e c i c a t i o n o f U n s u p p o r t e d a n d E x t e n d ( o n s t a t u s - p d ) , a t m o s t o n e E x t e n d o p e r a t i o n
i s m a d e p e r g r o u p , a n d h e n c e t h e c o m p l e x i t y i s b o u n d e d b y O ( d ) . I f w e u s e a m o r t i z e d
c o m p l e x i t y a s i n t h e c a s e o f m o n o t o n i c c o n s t r a i n t s , i t f o l l o w s t h a t w e h a v e a n o p t i m a l
a l g o r i t h m .
T h e o r e m 2 4 P r o c e d u r e A C - 5 i s O ( e d ) f o r p i e c e w i s e f u n c t i o n a l c o n s t r a i n t s .
1 0 P i e c e w i s e A n t i - F u n c t i o n a l C o n s t r a i n t s
W e n o w t u r n t o p i e c e w i s e a n t i - f u n c t i o n a l c o n s t r a i n t s s u c h a s x 6= y m o d 3 . A p i e c e w i s e
a n t i - f u n c t i o n a l c o n s t r a i n t i s a c o n s t r a i n t w h o s e d o m a i n D
i
a n d D
j
c a n b e d e c o m p o s e d i n
g r o u p s s u c h t h a t e a c h g r o u p o f D
i
( r e s p . D
j
) i s n o t s u p p o r t e d b y a t m o s t o n e g r o u p o f D
j
( r e s p . D
i
)
D e n i t i o n 2 5 A c o n s t r a i n t C
i j
i s a n t i - f u n c t i o n a l w r t D
i
D
j
i : C
i j
i s p i e c e w i s e f u n c t i o n a l
w r t D
i
, D
j
W i t h t h e s a m e n o t a t i o n s a s i n t h e p r e c e d i n g s e c t i o n , p r o c e d u r e s A r c C o n s a n d L o -
c a l A r c C o n s f o r a n t i - f u n c t i o n a l c o n s t r a i n t c a n e a s i l y b e e x t e n d e d i n t h e p i e c e w i s e f r a m e -
w o r k ( s e e F i g u r e s 2 1 a n d 2 2 ) . N o t e t h e t e s t f o r k 6= 0 , s i n c e g r o u p 0 s u p p o r t s a l l g r o u p s . B y
2 0
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
21/28
p r o c e d u r e A r c C o n s ( i n i j o u t )
b e g i n
1 : =
2 k = l a s t ( i j )
3 w h i l e k f ( l a s t ( j i ) ) d o
4 b e g i n
5 i f n o t E m p t y G r o u p ( i j k ) t h e n E x t e n d ( i j k )
6 k = n e x t ( k )
7 e n d
e n d
F i g u r e 2 3 : P r o c e d u r e A r c C o n s f o r P i e c e w i s e M o n o t o n i c C o n s t r a i n t s
a c o m p l e x i t y a n a l y s i s s i m i l a r t o t h a t o f t h e p r e c e d i n g s e c t i o n , o n e c a n s h o w t h a t i n A C - 5
t h e r e w i l l b e a t m o s t o n e e x e c u t i o n o f E x t e n d p e r g r o u p . H e n c e t h e f o l l o w i n g r e s u l t .
T h e o r e m 2 6 A l g o r i t h m A C - 5 i s O ( e d ) f o r p i e c e w i s e a n t i - f u n c t i o n a l c o n s t r a i n t s .
1 1 P i e c e w i s e M o n o t o n i c C o n s t r a i n t s
M o n o t o n i c c o n s t r a i n t s a r e n a l l y g e n e r a l i z e d t o p i e c e w i s e m o n o t o n i c c o n s t r a i n t s , f o r e x a m p l e
x y d i v 5 .
D e n i t i o n 2 7 A c o n s t r a i n t C
i j
i s p i e c e w i s e m o n o t o n i c w r t D
i
, D
j
i t h e r e e x i s t s a p i e c e w i s e
d e c o m p o s i t i o n S = f S
0
: : : S
n
g a n d P = f P
0
: : : P
m
g o f D
i
a n d D
j
w r t C
i j
s u c h t h a t
C
i j
( S
k
P
l
) ) C
i j
( S
k
P
l
) f o r 0 k
0
k n a n d 0 l l
0
m
C o n v e n t i o n 2 8 A s f o r m o n o t o n i c c o n s t r a i n t s , w e a s s o c i a t e t o e a c h a r c ( i j ) t h r e e f u n c -
t i o n s f
i j
, l a s t
i j
, a n d n e x t
i j
a n d a r e l a t i o n
i j
. G i v e n a p i e c e w i s e m o n o t o n i c c o n s t r a i n t C
i j
,
t h e f u n c t i o n s a n d r e l a t i o n f o r a r c ( i j ) a r e : f
i j
( k ) = m a x f f ; 1 g f k
0
C
i j
( S
i j
k
S
j i
k
) g g ,
l a s t
i j
( a b ) = L a s t G r o u p ( a b ) , n e x t
i j
( k ) = k ; 1 ,
i j
= > , w h i l e t h o s e f o r a r c ( j i ) a r e
f
j i
( k ) = m i n f f N b G r o u p ( j i ) + 1 g f k
0
C
i j
( S
i j
k
S
j i
k
) g g , l a s t
j i
( a b ) = F i r s t G r o u p ( a b ) ,
n e x t
j i
( k ) = k + 1 ,
j i
=
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
22/28
p r o c e d u r e L o c a l A r c C o n s ( i n i j i n w o u t )
b e g i n
1 : =
2 k w = G r o u p O f ( i j w )
3 i f k w l a s t ( j i ) t h e n
4 b e g i n
5 k = l a s t ( i j )
6 w h i l e k f ( l a s t ( j i ) ) d o
7 b e g i n
8 i f n o t E m p t y G r o u p ( i j k ) t h e n E x t e n d ( i j k )
9 v = n e x t ( k )
1 0 e n d
1 1 e n d
e n d
F i g u r e 2 4 : P r o c e d u r e L o c a l A r c C o n s f o r P i e c e w i s e M o n o t o n i c C o n s t r a i n t s
1 2 A p p l i c a t i o n
W e d e s c r i b e t h e a p p l i c a t i o n o f A C - 5 t o c o n s t r a i n t l o g i c p r o g r a m m i n g o v e r n i t e d o m a i n s .
C o n s t r a i n t l o g i c p r o g r a m m i n g 9 ] i s a c l a s s o f l a n g u a g e s w h o s e m a i n o p e r a t i o n i s c o n s t r a i n t -
s o l v i n g o v e r a c o m p u t a t i o n d o m a i n . A c o m p u t a t i o n s t e p a m o u n t s t o c h e c k i n g t h e s a t i s a -
b i l i t y o f a c o n j u n c t i o n o f c o n s t r a i n t s .
C o n s t r a i n t l o g i c p r o g r a m m i n g o v e r n i t e d o m a i n s h a s b e e n i n v e s t i g a t e d i n 2 5 , 2 3 , 2 4 ] .
T h i s i s a c o m p u t a t i o n d o m a i n i n w h i c h c o n s t r a i n t s a r e e q u a t i o n s , i n e q u a l i t i e s a n d d i s e q u a -
t i o n s o v e r n a t u r a l n u m b e r t e r m s o r e q u a t i o n s a n d d i s e q u a t i o n s o v e r c o n s t a n t s . N a t u r a l
n u m b e r t e r m s a r e c o n s t r u c t e d f r o m n a t u r a l n u m b e r s , v a r i a b l e s r a n g i n g o v e r a n i t e d o m a i n
o f n a t u r a l n u m b e r s , a n d t h e s t a n d a r d a r i t h m e t i c o p e r a t o r s ( + , , ) . S o m e s y m b o l i c c o n -
s t r a i n t s a r e a l s o p r o v i d e d t o i n c r e a s e e x p r e s s i v e n e s s a n d , i n a d d i t i o n , u s e r s c a n d e n e t h e i r
o w n c o n s t r a i n t s . T h i s c o m p u t a t i o n d o m a i n i s a v a i l a b l e i n C H I P 5 ] a n d i t s c o n s t r a i n t - s o l v e r
i s b a s e d o n c o n s i s t e n c y t e c h n i q u e s , a r i t h m e t i c r e a s o n i n g , a n d b r a n c h a n d b o u n d . I t h a s
b e e n a p p l i e d t o n u m e r o u s p r o b l e m s i n c o m b i n a t o r i a l o p t i m i z a t i o n s u c h a s g r a p h c o l o r i n g ,
w a r e h o u s e l o c a t i o n , s c h e d u l i n g a n d s e q u e n c i n g , c u t t i n g s t o c k , a s s i g n m e n t p r o b l e m s , a n d
m i c r o c o d e l a b e l i n g t o n a m e a f e w ( s e e f o r i n s t a n c e 4 , 2 4 ] ) .
S p a c e d o e s n o t a l l o w u s t o p r e s e n t t h e o p e r a t i o n a l s e m a n t i c s o f t h e l a n g u a g e . L e t u s
j u s t m e n t i o n t h a t t h e k e r n e l o f t h e c o n s t r a i n t s o l v e r i s a n a r c - c o n s i s t e n c y a l g o r i t h m f o r a s e t
o f b a s i c c o n s t r a i n t s . O t h e r ( n o n - b a s i c ) c o n s t r a i n t s a r e a p p r o x i m a t e d i n t e r m s o f t h e b a s i c
c o n s t r a i n t s a n d g e n e r a t e n e w b a s i c c o n s t r a i n t s . T h e b a s i c c o n s t r a i n t s a r e e i t h e r d o m a i n
c o n s t r a i n t s o r a r i t h m e t i c c o n s t r a i n t s , a n d a r e a s f o l l o w s ( v a r i a b l e s a r e r e p r e s e n t e d b y u p p e r -
c a s e l e t t e r s a n d c o n s t a n t s b y l o w e r - c a s e l e t t e r s ) :
d o m a i n c o n s t r a i n t : X 2 f a
1
: : : a
n
g
a r i t h m e t i c c o n s t r a i n t s : a X 6= b a X = b Y + c a X b Y + c a X b Y + c w i t h
2 2
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
23/28
a a
i
b c 0 a n d a 6= o
T h e s e c o n s t r a i n t s h a v e b e e n c h o s e n c a r e f u l l y i n o r d e r t o a v o i d h a v i n g t o s o l v e a n N P -
c o m p l e t e c o n s t r a i n t s a t i s f a c t i o n p r o b l e m . F o r i n s t a n c e , a l l o w i n g t w o v a r i a b l e s i n d i s e q u a t i o n s
o r t h r e e v a r i a b l e s i n i n e q u a l i t i e s o r e q u a t i o n s l e a d s t o N P - c o m p l e t e p r o b l e m s .
W e n o w s h o w t h a t A C - 5 c a n b e t h e b a s i s o f a n e c i e n t d e c i s i o n p r o c e d u r e f o r b a s i c
c o n s t r a i n t s .
D e n i t i o n 3 0 A s y s t e m o f c o n s t r a i n t s S i s a p a i r h A C D C i w h e r e A C i s a s e t o f a r i t h m e t i c
c o n s t r a i n t s a n d D C i s a s e t o f d o m a i n c o n s t r a i n t s s u c h t h a t a n y v a r i a b l e o c c u r r i n g i n a n
a r i t h m e t i c c o n s t r a i n t a l s o o c c u r s i n s o m e d o m a i n c o n s t r a i n t o f S
D e n i t i o n 3 1 L e t S = h A C D C i b e a s y s t e m o f c o n s t r a i n t s . T h e s e t D
x
i s t h e d o m a i n o f
x i n S ( o r i n D C ) i t h e d o m a i n c o n s t r a i n t s o f x i n D C a r e x 2 D
1
: : : x 2 D
k
a n d D
x
i s
t h e i n t e r s e c t i o n o f t h e D
i
' s
L e t u s d e n e a s o l v e d f o r m f o r t h e c o n s t r a i n t s .
D e n i t i o n 3 2 L e t S b e a s y s t e m o f c o n s t r a i n t s . S i s i n s o l v e d f o r m i a n y u n a r y c o n s t r a i n t
C ( X ) i n S i s n o d e - c o n s i s t e n t
8
w i t h r e s p e c t t o t h e d o m a i n o f X i n S , a n d a n y b i n a r y c o n s t r a i n t
C ( X Y ) i n S i s a r c - c o n s i s t e n t w i t h r e s p e c t t o t h e d o m a i n s o f X Y i n S
W e n o w s t u d y a n u m b e r o f p r o p e r t i e s o f s y s t e m s o f c o n s t r a i n t s i n s o l v e d f o r m .
P r o p e r t y 3 3 L e t C ( X Y ) b e t h e b i n a r y c o n s t r a i n t a X b Y + c o r a X b Y + c , a r c -
c o n s i s t e n t w r t D
X
= f v
1
: : : v
n
g D
Y
= f w
1
: : : w
m
g . A s s u m e a l s o t h a t v
1
< : : : < v
n
a n d
w
1
< : : : < w
m
. T h e n w e h a v e t h a t C i s m o n o t o n i c a n d C ( v
1
w
1
) a n d C ( v
n
w
m
) h o l d .
P r o p e r t y 3 4 L e t C ( X Y ) b e t h e b i n a r y c o n s t r a i n t a X = b Y + c w i t h a b 6= 0 , a r c - c o n s i s t e n t
w i t h r e s p e c t t o D
X
= f v
1
: : : v
n
g D
Y
= f w
1
: : : w
m
g . A s s u m e a l s o t h a t v
1
< : : : < v
n
a n d
w
1
< : : : < w
m
. T h e n w e h a v e t h a t C i s f u n c t i o n a l , n = m , a n d C ( v
i
w
i
) h o l d s .
T h e s a t i s a b i l i t y o f a s y s t e m o f c o n s t r a i n t s i n s o l v e d f o r m c a n b e t e s t e d i n a s t r a i g h t f o r -
w a r d w a y .
T h e o r e m 3 5 L e t S = h A C D C i b e a s y s t e m o f c o n s t r a i n t s i n s o l v e d f o r m . S i s s a t i s a b l e
i h D C i i s s a t i s a b l e .
P r o o f I t i s c l e a r t h a t h D C i i s n o t s a t i s a b l e i t h e d o m a i n o f s o m e v a r i a b l e i s e m p t y i n
D C . I f t h e d o m a i n o f s o m e v a r i a b l e i s e m p t y i n D C , t h e n S i s n o t s a t i s a b l e . O t h e r w i s e ,
i t i s p o s s i b l e t o c o n s t r u c t a s o l u t i o n t o S . B y p r o p e r t i e s 3 3 a n d 3 4 , a l l b i n a r y c o n s t r a i n t s o f
S h o l d i f w e a s s i g n t o e a c h v a r i a b l e t h e s m a l l e s t v a l u e i n i t s d o m a i n . M o r e o v e r , b e c a u s e o f
n o d e c o n s i s t e n c y , t h e u n a r y c o n s t r a i n t s a l s o h o l d f o r s u c h a n a s s i g n m e n t . 2
I t r e m a i n s t o s h o w h o w t o t r a n s f o r m a s y s t e m o f c o n s t r a i n t s i n t o a n e q u i v a l e n t o n e i n
s o l v e d f o r m . T h i s i s p r e c i s e l y t h e p u r p o s e o f t h e n o d e - a n d a r c - c o n s i s t e n c y a l g o r i t h m s .
8
A s u s u a l , a u n a r y c o n s t r a i n t C i s n o d e - c o n s i s t e n t w r t D i 8 v 2 D C ( v )
2 3
-
8/8/2019 A Generic Arc-Consistency Algorithmn and Its Specializations
24/28
A l g o r i t h m 3 6 T o t r a n s f o r m t h e s y s t e m o f c o n s t r a i n t s S i n t o a s y s t e m i n s o l v e d f o r m S
0
:
1 . a p p l y a n o d e - c o n s i s t e n c y a l g o r i t h m t o t h e u n a r y c o n s t r a i n t s o f S = h A C D C i t o o b t a i n
h A C D C
0
i
2 . a p p l y a n a r c - c o n s i s t e n c y a