A Generic Arc-Consistency Algorithmn and Its Specializations

  • Upload
    ravg10

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

  • 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