+ All Categories
Home > Documents > 10.1.1.86.1417

10.1.1.86.1417

Date post: 02-Jun-2018
Category:
Upload: andika-saputra
View: 215 times
Download: 0 times
Share this document with a friend

of 18

Transcript
  • 8/11/2019 10.1.1.86.1417

    1/18

  • 8/11/2019 10.1.1.86.1417

    2/18

    P , a n d t h e B o o l e a n r e l a t i o n i s t h e t r a n s i t i o n r e l a t i o n T , i . e . t h e s e t o f v a l i d

    p r e s e n t - s t a t e , n e x t - s t a t e c o m b i n a t i o n s . ( F o r h a r d w a r e , i t i s c o n v e n i e n t t o a l s o

    i n c l u d e t h e p r i m a r y i n p u t s i n t h e d e n i t i o n o f T ) . T h e u s e o f B D D s t o r e p r e s e n t

    t h e c h a r a c t e r i s t i c f u n c t i o n o f t h e r e l a t i o n , t h e i n p u t , a n d t h e i m a g e s e t , a l l o w s

    i m a g e c o m p u t a t i o n t o b e p e r f o r m e d e c i e n t l y t h r o u g h B o o l e a n o p e r a t i o n s a n d

    v a r i a b l e q u a n t i c a t i o n . A s a n e x a m p l e o f i t s a p p l i c a t i o n , t h e s e t o f r e a c h a b l e

    s t a t e s c a n b e c o m p u t e d b y s t a r t i n g f r o m a s e t P w h i c h d e n o t e s t h e s e t o f i n i t i a l

    s t a t e s o f a s y s t e m , a n d u s i n g i m a g e c o m p u t a t i o n i t e r a t i v e l y , u n t i l a x p o i n t i s

    r e a c h e d .

    A n u m b e r o f r e s e a r c h e r s h a v e p r o p o s e d t h e u s e o f p a r t i t i o n e d t r a n s i t i o n e d

    r e l a t i o n s 6 , 2 1 ] , w h e r e t h e B D D f o r t h e e n t i r e t r a n s i t i o n r e l a t i o n i s n o t b u i l t

    a p r i o r i . T y p i c a l l y , t h e p a r t i t i o n s a r e r e p r e s e n t e d u s i n g m u l t i p l e B D D s , a n d

    t h e i r c o n j u n c t i o n i s i n t e r l e a v e d w i t h e a r l y v a r i a b l e q u a n t i c a t i o n d u r i n g i m a g e

    c o m p u t a t i o n . M a n y h e u r i s t i c s h a v e b e e n p r o p o s e d t o n d a g o o d q u a n t i c a t i o n

    s c h e d u l e , i . e . a n o r d e r i n g o f t h e c o n j u n c t i o n s w h i c h m i n i m i z e s t h e n u m b e r o f p e a k

    v a r i a b l e s 1 1 , 1 9 ] . T h e r e h a s a l s o b e e n a n i n t e r e s t i n u s i n g d i s j u n c t i v e p a r t i t i o n s

    o f t h e t r a n s i t i o n r e l a t i o n s a n d s t a t e s e t s 8 , 1 7 , 1 8 ] , w h i c h e e c t i v e l y s p l i t s t h e

    i m a g e c o m p u t a t i o n i n t o s m a l l e r s u b p r o b l e m s .

    T h e B D D - b a s e d a p p r o a c h e s w o r k w e l l w h e n i t i s p o s s i b l e t o r e p r e s e n t t h e

    s e t s o f s t a t e s a n d t h e t r a n s i t i o n r e l a t i o n ( a s a w h o l e , o r i n a u s e f u l l y p a r t i t i o n e d

    f o r m ) u s i n g B D D s . U n f o r t u n a t e l y , B D D s i z e i s v e r y s e n s i t i v e t o t h e n u m b e r

    o f v a r i a b l e s , v a r i a b l e o r d e r i n g , a n d t h e n a t u r e o f t h e l o g i c e x p r e s s i o n s b e i n g

    r e p r e s e n t e d . I n s p i t e o f a l a r g e b o d y o f w o r k , t h e p u r e l y B D D - b a s e d a p p r o a c h

    h a s b e e n u n r e l i a b l e f o r d e s i g n s o f r e a l i s t i c s i z e a n d f u n c t i o n a l i t y .

    1 . 2 C o m b i n i n g B D D s w i t h S A T - b a s e d M e t h o d s

    A n a l t e r n a t i v e , u s e d e x t e n s i v e l y i n t e s t i n g a p p l i c a t i o n s 1 3 ] , i s t o r e p r e s e n t t h e

    t r a n s i t i o n r e l a t i o n i n C o n j u n c t i v e N o r m a l F o r m ( C N F ) a n d u s e B o o l e a n S a t i s -

    a b i l i t y C h e c k i n g ( S A T ) f o r v a r i o u s k i n d s o f a n a l y s i s . S A T s o l v e r t e c h n o l o g y h a s

    i m p r o v e d s i g n i c a n t l y i n r e c e n t y e a r s w i t h a n u m b e r o f s o p h i s t i c a t e d p a c k a g e s

    n o w a v a i l a b l e , e . g . 1 6 ] .

    C1

    C2

    INMiterOut

    POPI

    CUT

    F i g . 1 . M i t e r C i r c u i t f o r C o m b i n a t i o n a l V e r i c a t i o n

    F o r c h e c k i n g e q u i v a l e n c e o f t w o g i v e n c o m b i n a t i o n a l c i r c u i t s C 1 a n d C 2 , a

    t y p i c a l a p p r o a c h i s t o p r o v e t h a t t h e X O R o f t h e i r c o r r e s p o n d i n g o u t p u t s , c a l l e d

  • 8/11/2019 10.1.1.86.1417

    3/18

    t h e m i t e r c i r c u i t o u t p u t , c a n n e v e r e v a l u a t e t o 1 , a s s h o w n i n F i g u r e 1 . T h i s

    p r o o f c a n b e p r o v i d e d e i t h e r b y b u i l d i n g a B D D f o r t h e m i t e r , o r b y u s i n g a

    S A T s o l v e r t o p r o v e t h a t n o s a t i s f y i n g a s s i g n m e n t e x i s t s f o r t h e m i t e r o u t p u t .

    I n c a s e s w h e r e t h e t w o m e t h o d s f a i l i n d i v i d u a l l y , B D D s a n d S A T c a n a l s o b e

    c o m b i n e d , f o r e x a m p l e , i n t h e m a n n e r s h o w n i n F i g u r e 1 . A c u t i s i d e n t i e d i n

    t h e m i t e r c i r c u i t t o d i v i d e t h e c i r c u i t i n t o t w o p a r t s : t h e p a r t P

    I

    o f t h e c i r c u i t

    b e t w e e n t h e c i r c u i t i n p u t s a n d t h e c u t , a n d t h e p a r t P

    O

    o f t h e c i r c u i t b e t w e e n

    t h e c u t a n d t h e o u t p u t . A B D D i s b u i l t f o r P

    O

    , w h i l e P

    I

    i s r e p r e s e n t e d i n C N F .

    A S A T s o l v e r t h e n t r i e s t o e n u m e r a t e a l l v a l i d c o m b i n a t i o n s a t t h e c u t u s i n g t h e

    C N F f o r P

    I

    , w h i l e c h e c k i n g t h a t i t i s n o t c o n t a i n e d i n t h e o n - s e t o f t h e B D D f o r

    P

    O

    1 2 ] . E n u m e r a t i n g t h e v a l i d c o m b i n a t i o n s a t t h e c u t c o r r e s p o n d s e x a c t l y t o

    c o m p u t i n g t h e i m a g e o f t h e i n p u t s e t o v e r t h e B o o l e a n r e l a t i o n c o r r e s p o n d i n g

    t o P

    I

    . O t h e r w a y s o f c o m b i n i n g B D D s a n d S A T f o r e q u i v a l e n c e c h e c k i n g h a v e

    a l s o b e e n p r o p o s e d 5 ] .

    F o r p r o p e r t y c h e c k i n g , t h e e e c t i v e n e s s o f S A T s o l v e r s f o r n d i n g b u g s h a s

    a l s o b e e n d e m o n s t r a t e d i n t h e c o n t e x t o f b o u n d e d m o d e l c h e c k i n g a n d s y m b o l i c

    r e a c h a b i l i t y a n a l y s i s 1 , 2 , 2 2 ] . T h e c o m m o n t h e m e i s t o c o n v e r t t h e p r o b l e m o f

    i n t e r e s t i n t o a S A T p r o b l e m , b y d e v i s i n g t h e a p p r o p r i a t e p r o p o s i t i o n a l B o o l e a n

    f o r m u l a , a n d t o u t i l i z e o t h e r n o n - c a n o n i c a l r e p r e s e n t a t i o n s o f s t a t e s e t s . H o w -

    e v e r , t h e y a l l e x p l o i t t h e k n o w n a b i l i t y o f S A T s o l v e r s t o n d a s i n g l e s a t i s f y i n g

    s o l u t i o n w h e n i t e x i s t s . T o o u r k n o w l e d g e , n o a t t e m p t h a s b e e n m a d e t o f o r -

    m u l a t e t h e p r o b l e m s i n a w a y t h a t a S A T s o l v e r i s u s e d t o n d a l l s a t i s f y i n g

    s o l u t i o n s .

    I n o u r a p p r o a c h t o i m a g e c o m p u t a t i o n , w e u s e B D D s t o r e p r e s e n t s t a t e

    s e t s , a n d a C N F f o r m u l a t o r e p r e s e n t t h e t r a n s i t i o n r e l a t i o n . A l l v a l i d n e x t

    s t a t e c o m b i n a t i o n s a r e e n u m e r a t e d u s i n g a b a c k t r a c k i n g s e a r c h a l g o r i t h m f o r

    S A T t h a t e x h a u s t i v e l y v i s i t s t h e e n t i r e s p a c e o f p r i m a r y i n p u t , p r e s e n t s t a t e

    a n d n e x t s t a t e v a r i a b l e s . H o w e v e r , r a t h e r t h a n u s i n g S A T t o e n u m e r a t e e a c h

    s o l u t i o n a l l t h e w a y d o w n t o a l e a f , w e i n v o k e B D D - b a s e d i m a g e c o m p u t a t i o n a t

    i n t e r m e d i a t e p o i n t s w i t h i n t h e S A T d e c i s i o n p r o c e d u r e , w h i c h e e c t i v e l y o b t a i n s

    a l l s o l u t i o n s b e l o w t h a t p o i n t i n t h e s e a r c h t r e e . I n a s e n s e , o u r a p p r o a c h c a n b e

    r e g a r d e d a s S A T p r o v i d i n g a d i s j u n c t i v e d e c o m p o s i t i o n o f t h e i m a g e c o m p u t a t i o n

    i n t o m a n y s u b p r o b l e m s , e a c h o f w h i c h i s h a n d l e d i n t h e s t a n d a r d w a y u s i n g

    B D D s . I n t h i s r e s p e c t , o u r w o r k i s c l o s e s t t o t h a t o f M o o n e t a l . 1 7 ] , w h o

    i n d e p e n d e n t l y f o r m u l a t e d a d e c o m p o s i t i o n p a r a d i g m s i m i l a r t o o u r s . H o w e v e r ,

    t h e r e a r e s i g n i c a n t d i e r e n c e s i n t h e d e t a i l s , a n d w e d e f e r t h a t d i s c u s s i o n t o

    S e c t i o n 7 .

    W e s t a r t b y p r o v i d i n g t h e n e c e s s a r y b a c k g r o u n d o n a t y p i c a l S A T d e c i s i o n

    p r o c e d u r e i n t h e n e x t s e c t i o n . O u r p r o p o s e d a l g o r i t h m f o r i m a g e c o m p u t a t i o n

    i s d e s c r i b e d i n d e t a i l i n t h e s e c t i o n s t h a t f o l l o w . T o w a r d s t h e e n d , w e p r o v i d e

    e x p e r i m e n t a l r e s u l t s f o r r e a c h a b i l i t y a n a l y s i s , w h i c h v a l i d a t e t h e i n d i v i d u a l i d e a s

    a n d t h e o v e r a l l a p p r o a c h p r o p o s e d b y u s , a n d d e s c r i b e s o m e o f o u r w o r k i n

    p r o g r e s s .

  • 8/11/2019 10.1.1.86.1417

    4/18

    2 B a c k g r o u n d : S a t i s a b i l i t y C h e c k i n g ( S A T )

    T h e B o o l e a n S a t i s a b i l i t y ( S A T ) p r o b l e m i s a w e l l - k n o w n 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 w i t h m a n y a p p l i c a t i o n s i n c o m p u t e r - a i d e d d e s i g n , s u c h a s t e s t

    g e n e r a t i o n , l o g i c v e r i c a t i o n a n d t i m i n g a n a l y s i s . G i v e n a B o o l e a n f o r m u l a , t h e

    o b j e c t i v e i s t o e i t h e r n d a n a s s i g n m e n t o f 0 - 1 v a l u e s t o t h e v a r i a b l e s s o t h a t t h e

    f o r m u l a e v a l u a t e s t o t r u e , o r e s t a b l i s h t h a t s u c h a n a s s i g n m e n t d o e s n o t e x i s t .

    T h e B o o l e a n f o r m u l a i s t y p i c a l l y e x p r e s s e d i n C o n j u n c t i v e N o r m a l F o r m ( C N F ) ,

    a l s o c a l l e d p r o d u c t - o f - s u m s f o r m . E a c h s u m t e r m ( c l a u s e ) i n t h e C N F i s a s u m

    o f s i n g l e l i t e r a l s , w h e r e a l i t e r a l i s a v a r i a b l e o r i t s n e g a t i o n . A n n - c l a u s e i s a

    c l a u s e w i t h n l i t e r a l s . F o r e x a m p l e , ( v i + v j ' + v k ) i s a 3 - c l a u s e . I n o r d e r f o r t h e

    e n t i r e f o r m u l a t o e v a l u a t e t o 1 , e a c h c l a u s e m u s t b e s a t i s e d , i . e . , e v a l u a t e t o 1 .

    Initialize(); // all var made "free"do {

    Implications();

    status = Bound();

    if (status == contradiction)

    if (active_var->assigned_val ==

    active_var->first_val)

    active_var->assigned_val =

    !active_var->first_val;

    else

    prev_var = Backtrack();

    if (prev_var == NULL)

    soln = no_soln;

    return;

    endif;

    endif

    else

    active_var = Next_free_var();

    if (active_var == NULL)

    soln = found;

    return;

    endif;

    active_var->first_val =

    active_var->assigned_val = Val();

    endif;

    } While ();

    F i g . 2 . B a c k t r a c k i n g S e a r c h P r o c e d u r e f o r S A T

    T h e c o m p l e x i t y o f t h i s p r o b l e m i s k n o w n t o b e N P - C o m p l e t e . I n p r a c t i c e ,

    m o s t o f t h e c u r r e n t S A T s o l v e r s a r e b a s e d o n t h e D a v i s - P u t n a m a l g o r i t h m 1 0 ] .

    T h e b a s i c a l g o r i t h m b e g i n s f r o m a n e m p t y a s s i g n m e n t , a n d p r o c e e d s b y a s s i g n i n g

    a 0 o r 1 v a l u e t o o n e f r e e v a r i a b l e a t a t i m e . A f t e r e a c h a s s i g n m e n t , t h e a l g o r i t h m

    d e t e r m i n e s t h e d i r e c t a n d t r a n s i t i v e i m p l i c a t i o n s o f t h a t a s s i g n m e n t o n o t h e r

    v a r i a b l e s , t y p i c a l l y c a l l e d b o u n d i n g . I f n o c o n t r a d i c t i o n i s d e t e c t e d d u r i n g t h e

    i m p l i c a t i o n p r o c e d u r e , t h e a l g o r i t h m p i c k s t h e n e x t f r e e v a r i a b l e , a n d r e p e a t s

    t h e p r o c e d u r e . O t h e r w i s e , t h e a l g o r i t h m a t t e m p t s a n e w p a r t i a l a s s i g n m e n t b y

    c o m p l e m e n t i n g t h e m o s t r e c e n t l y a s s i g n e d v a r i a b l e f o r w h i c h o n l y o n e v a l u e h a s

    b e e n t r i e d s o f a r . T h i s s t e p i s c a l l e d b a c k t r a c k i n g . T h e a l g o r i t h m t e r m i n a t e s

  • 8/11/2019 10.1.1.86.1417

    5/18

    e i t h e r w h e n a l l c l a u s e s h a v e b e e n s a t i s e d a n d a s o l u t i o n h a s b e e n f o u n d , o r

    w h e n a l l p o s s i b l e a s s i g n m e n t s h a v e b e e n e x h a u s t e d . T h e a l g o r i t h m i s c o m p l e t e

    i n t h a t i t w i l l n d a s o l u t i o n i f i t e x i s t s .

    P s e u d o c o d e f o r t h e b a s i c D a v i s - P u t n a m s e a r c h p r o c e d u r e i s s h o w n i n F i g u r e

    2 . T h e f u n c t i o n a n d v a r i a b l e n a m e s h a v e o b v i o u s m e a n i n g s . T h i s p r o c e d u r e h a s

    b e e n r e n e d o v e r t h e y e a r s b y m e a n s o f e n h a n c e m e n t s t o t h e I m p l i c a t i o n s ( ) ,

    B o u n d ( ) , B a c k t r a c k ( ) , N e x t f r e e v a r ( ) a n d V a l ( ) f u n c t i o n s . T h e G R A S P

    w o r k 1 5 ] p r o p o s e d t h e u s e o f n o n - c h r o n o l o g i c a l b a c k t r a c k i n g b y p e r f o r m i n g a

    c o n i c t a n a l y s i s , a n d a d d i t i o n o f c o n i c t c l a u s e s t o t h e d a t a b a s e i n o r d e r t o

    a v o i d r e p e a t i n g t h e s a m e c o n t r a d i c t i o n i n t h e f u t u r e .

    3 I m a g e C o m p u t a t i o n

    T h e m a i n c o n t r i b u t i o n i n o u r p a p e r i s t h e n o v e l a l g o r i t h m f o r i m a g e c o m p u t a t i o n

    b y c o m b i n i n g B D D - a n d S A T - b a s e d t e c h n i q u e s i n a s i n g l e i n t e g r a t e d f r a m e w o r k .

    I n r e l a t i o n s h i p t o c u r r e n t S A T s o l v e r s , o u r c o n t r i b u t i o n s a r e l a r g e l y s p e c i c t o

    t h e i r u s e f o r i m a g e c o m p u t a t i o n . T h e y a r e o r t h o g o n a l t o t h e m o s t a d v a n c e d

    f e a t u r e s f o u n d i n s t a t e - o f - t h e - a r t S A T a l g o r i t h m s l i k e G R A S P 1 6 ] , a n d i n d e e d

    a d d t o t h e m .

    3 . 1 R e p r e s e n t a t i o n F r a m e w o r k

    O u r r e p r e s e n t a t i o n f r a m e w o r k c o n s i s t s o f u s i n g B D D s t o r e p r e s e n t t h e i n p u t a n d

    i m a g e s e t s , a n d a C N F f o r m u l a t o r e p r e s e n t t h e B o o l e a n r e l a t i o n . T h i s c h o i c e i s

    m o t i v a t e d b y t h e f a c t t h a t B D D - b a s e d m e t h o d s f r e q u e n t l y f a i l b e c a u s e o f t h e i r

    i n a b i l i t y t o e e c t i v e l y m a n i p u l a t e t h e B D D ( s ) f o r t h e t r a n s i t i o n r e l a t i o n , i n i t s

    e n t i r e t y o r i n p a r t i t i o n e d f o r m . F u r t h e r m o r e , s i n c e B D D s f o r t h e i n p u t a n d i m a g e

    s e t s m i g h t a l s o b e c o m e l a r g e f o r c o m p l e x s y s t e m s , w e d o n o t r e q u i r e t h a t a s i n g l e

    B D D b e u s e d t o r e p r e s e n t t h e s e s e t s . A n y d i s j u n c t i v e l y d e c o m p o s e d s e t o f B D D s

    w i l l w o r k w i t h o u r a p p r o a c h . T h i s s e t u p i s s h o w n p i c t o r i a l l y i n F i g u r e 3 . F o r o u r

    c u r r e n t p r o t o t y p e , w e u s e a s i m p l e \ c h r o n o l o g i c a l " d i s j u n c t i v e p a r t i t i o n i n g , s u c h

    t h a t w h e n e v e r t h e B D D s i z e f o r a s e t b e i n g a c c u m u l a t e d c r o s s e s a t h r e s h o l d , a

    n e w B D D i s c r e a t e d f o r s t o r i n g f u t u r e a d d i t i o n s t o t h e s e t . W e a r e e x p l o r i n g u s e

    o f a l t e r n a t i v e r e p r e s e n t a t i o n s t o m a n a g e t h e s e s e t s .

    3 . 2 I m a g e C o m p u t a t i o n U s i n g C N F - B D D s

    T h e s t a n d a r d i m a g e c o m p u t a t i o n f o r m u l a i s s h o w n b e l o w i n E q u a t i o n ( 1 ) , w h e r e

    x , y , a n d w d e n o t e t h e s e t o f p r e s e n t s t a t e , n e x t s t a t e , a n d p r i m a r y i n p u t v a r i -

    a b l e s , r e s p e c t i v e l y P ( x ) d e n o t e s t h e i n p u t s e t , a n d T ( x w y ) d e n o t e s t h e t r a n -

    s i t i o n r e l a t i o n .

    I m a g e ( P T ) ( y ) = 9 x w : P ( x ) T ( x w y ) ( 1 )

    I n o u r f r a m e w o r k , P ( x ) a n d I m a g e ( y ) a r e r e p r e s e n t e d a s ( m u l t i p l e ) B D D s ,

    w h i l e T i s r e p r e s e n t e d a s a C N F f o r m u l a i n t e r m s o f x w y a n d s o m e a d d i t i o n a l

  • 8/11/2019 10.1.1.86.1417

    6/18

    Relation

    (CNF)

    Input Set(Multiple BDDs)

    Image Set(Multiple BDDs)

    Relation

    (CNF)

    Input Set(Multiple BDDs)

    Image Set(Multiple BDDs)

    Input Set(Multiple BDDs)

    Image Set(Multiple BDDs)

    F i g . 3 . T h e C N F - B D D s R e p r e s e n t a t i o n S e t u p

    v a r i a b l e s z , w h i c h d e n o t e i n t e r n a l s i g n a l s i n t h e c i r c u i t . W e c o m p u t e t h e i m a g e

    s e t b y e n u m e r a t i n g a l l s o l u t i o n s t o t h e C N F f o r m u l a T , a n d r e c o r d i n g o n l y t h e

    c o m b i n a t i o n s o f y v a r i a b l e s , w h i l e r e s t r i c t i n g t h e v a l u e s o f x v a r i a b l e s t o t h o s e

    t h a t s a t i s f y P ( x ) . N o t e t h a t b y r e s t r i c t i n g t h e x v a r i a b l e s t o s a t i s f y P ( x ) , w e a r e

    e e c t i v e l y p e r f o r m i n g t h e c o n j u n c t i o n i n t h e a b o v e f o r m u l a . T h i s r e s t r i c t i o n i s

    p e r f o r m e d b y w h a t w e c a l l B D D B o u n d i n g . E s s e n t i a l l y , d u r i n g t h e S A T s e a r c h

    p r o c e d u r e , a n y p a r t i a l a s s i g n m e n t t o t h e x v a r i a b l e s t h a t d o e s n o t b e l o n g t o

    t h e o n - s e t o f t h e B D D ( s ) P ( x ) i s p r u n e d i m m e d i a t e l y 1 2 ] . N o t e a l s o , t h a t b y

    e n u m e r a t i n g a l l ( n o t a s i n g l e ) s o l u t i o n t o t h e C N F f o r m u l a , a n d b y c o n s i d e r -

    i n g c o m b i n a t i o n s o f o n l y y v a r i a b l e s a m o n g t h e s e s o l u t i o n s , w e a r e e e c t i v e l y

    p e r f o r m i n g a q u a n t i c a t i o n o v e r a l l t h e o t h e r v a r i a b l e s ( x w z ) .

    W e a l s o u s e U n r e a c h e d ( y ) a s a c a r e - s e t f o r t h e i m a g e s e t . I n a p p l i c a t i o n s s u c h

    a s r e a c h a b i l i t y a n a l y s i s w h e r e i m a g e c o m p u t a t i o n i s p e r f o r m e d i t e r a t i v e l y , t h i s

    s e t c a n b e c o m p u t e d a s t h e n e g a t i o n o f t h e c u r r e n t s e t o f r e a c h e d s t a t e s . A g a i n ,

    b y u s i n g B D D ( s ) t o r e p r e s e n t U n r e a c h e d ( y ) , w e c a n o b t a i n a d d i t i o n a l p r u n i n g o f

    t h e S A T s e a r c h s p a c e b y p e r f o r m i n g B D D B o u n d i n g a g a i n s t t h i s i m a g e c a r e - s e t .

    T o s u m m a r i z e , w e u s e t h e f o l l o w i n g e q u a t i o n f o r i m a g e c o m p u t a t i o n :

    I m a g e ( P T ) ( y ) = 9 x w z : P ( x ) T ( x w z y ) U n r e a c h e d ( y ) ( 2 )

    4 B D D B o u n d i n g

    A n a i v e a p p r o a c h f o r p e r f o r m i n g B D D B o u n d i n g i s t o e n u m e r a t e e a c h c o m p l e t e

    S A T s o l u t i o n u p t o t h e l e a f o f t h e s e a r c h t r e e , a n d t h e n c h e c k i f t h e s o l u t i o n

    s a t i s e s t h e g i v e n B D D ( s ) . T h i s i s o b v i o u s l y i n e c i e n t s i n c e t h e n u m b e r o f S A T

    s o l u t i o n s m a y b e v e r y l a r g e .

    I n o u r s e t u p , t h e x = y v a r i a b l e s a r e s h a r e d b e t w e e n t h e i n p u t / i m a g e s e t

    B D D ( s ) a n d t h e C N F f o r m u l a . T h e r e f o r e , w h e n e v e r a v a l u e i s s e t t o o r i m -

    p l i e d o n o n e o f t h e s e v a r i a b l e s i n S A T , w e c a n c h e c k i f t h e i n t e r s e c t i o n o f t h e

    p a r t i a l a s s i g n m e n t w i t h t h e g i v e n B D D ( s ) i s n o n - n u l l . I f i t i s i n d e e d n o n - n u l l ,

    t h e S A T p r o c e d u r e c a n p r o c e e d f o r w a r d . O t h e r w i s e i t m u s t b a c k t r a c k , s i n c e n o

    s o l u t i o n c o n s i s t e n t w i t h t h e c o n j u n c t i o n s c a n b e f o u n d u n d e r t h i s s u b t r e e . I n o u r

    e a r l i e r w o r k o n c o m b i n a t i o n a l v e r i c a t i o n , w e h a d c a l l e d t h i s t h e E a r l y B o u n d i n g

    a p p r o a c h 1 2 ] , a n d h a d d e m o n s t r a t e d a s i g n i c a n t r e d u c t i o n i n t h e n u m b e r o f

  • 8/11/2019 10.1.1.86.1417

    7/18

    Bound(sat,lit,input_bdd) {

    if (lit_is_input_set_variable(lit)){

    new_bdd =

    project_variable_in_bdd(input_bdd,lit);if (bdd_equal_zero(new_bdd))

    return contradiction;

    else

    input_bdd = new_bdd;

    } // rest of the procedure is unchanged

    F i g . 4 . P s e u d o - c o d e f o r B D D B o u n d i n g

    b a c k t r a c k s d u e t o p r u n i n g o l a r g e s u b s p a c e s o f t h e s e a r c h t r e e . N o t e t h a t t h e

    s m a l l e r t h e b o u n d i n g s e t , t h e g r e a t e r t h e p r u n i n g , a n d t h e f a s t e r t h e S A T s o l v e r

    i s l i k e l y t o b e .

    4 . 1 B o u n d i n g A g a i n s t t h e I m a g e S e t : A P o s i t i v e F e e d b a c k E e c t

    I n a d d i t i o n t o b o u n d i n g a g a i n s t t h e i n p u t s e t P ( x ) a n d t h e i m a g e c a r e - s e t

    U n r e a c h e d ( y ) , a f u n d a m e n t a l s p e e d - u p i n o u r i m a g e c o m p u t a t i o n p r o c e d u r e

    c a n b e o b t a i n e d b y a l s o b o u n d i n g a g a i n s t t h e B D D s o f t h e c u r r e n t l y c o m p u t e d

    i m a g e s e t d e n o t e d C u r r e n t ( y ) . N o t e t h a t U n r e a c h e d ( y ) d o e s n o t c h a n g e d u r i n g

    a s i n g l e i m a g e c o m p u t a t i o n , w h i l e C u r r e n t ( y ) i s u p d a t e d d y n a m i c a l l y , a s n e w

    s o l u t i o n s f o r t h e i m a g e s e t a r e e n u m e r a t e d . T h e r e f o r e , i f a p a r t i a l a s s i g n m e n t

    o v e r y v a r i a b l e s i s c o n t a i n e d i n C u r r e n t ( y ) , i t i m p l i e s t h a t a n y e x t e n s i o n t o a

    f u l l a s s i g n m e n t h a s a l r e a d y b e e n e n u m e r a t e d . T h e r e f o r e , i t s e r v e s n o p u r p o s e f o r

    t h e S A T s o l v e r t o e x p l o r e f u r t h e r , a n d i t c a n b a c k t r a c k . A s a r e s u l t , a p o s i t i v e

    f e e d b a c k e e c t i s c r e a t e d i n w h i c h t h e l a r g e r t h e i m a g e s e t g r o w s , t h e f a s t e r t h e

    S A T s o l v e r i s l i k e l y t o b e a b l e t o g o t h r o u g h t h e r e m a i n i n g p o r t i o n o f t h e s e a r c h

    s p a c e .

    4 . 2 I m p l e m e n t a t i o n D e t a i l s : B o u n d i n g t h e x V a r i a b l e s

    F o r B D D B o u n d i n g a g a i n s t P ( x ) , w e m o d i f y t h e B o u n d ( ) f u n c t i o n o f F i g u r e

    2 , s o t h a t i t c h e c k s t h e s a t i s f a c t i o n o f a p a r t i a l a s s i g n m e n t o n x v a r i a b l e s w i t h

    t h e o n - s e t o f t h e B D D s f o r P ( x ) . A g a i n , i f t h e p a r t i a l a s s i g n m e n t h a s a n u l l

    i n t e r s e c t i o n w i t h e a c h B D D , t h e S A T s o l v e r i s m a d e t o b a c k t r a c k , j u s t a s i f

    t h e r e w e r e a c o n t r a d i c t i o n .

    T h e p s e u d o - c o d e f o r t h e B o u n d ( ) p r o c e d u r e f o r a s i n g l e B D D i s s h o w n i n

    F i g u r e 4 . I n t h i s p r o c e d u r e , t h e i n i t i a l a r g u m e n t i s t h e B D D f o r P ( x ) , a n d

    t h e r e c u r s i v e a r g u m e n t m a i n t a i n s i t s p r o j e c t e d v e r s i o n d o w n t h e s e a r c h t r e e .

    T h e p r o j e c t v a r i a b l e i n b d d ( ) p r o c e d u r e , c a n b e e a s i l y i m p l e m e n t e d b y u s -

    i n g e i t h e r t h e b d d s u b s t i t u t e ( ) o r t h e b d d c o f a c t o r ( ) o p e r a t i o n s a v a i l a b l e

    i n s t a n d a r d B D D p a c k a g e s 2 0 ] . U n f o r t u n a t e l y , t h e s e s t a n d a r d B D D o p e r a t i o n s

    r e p r e s e n t a c o n s i d e r a b l e o v e r h e a d i n t e r m s o f u n i q u e t a b l e a n d c a c h e l o o k u p s . I n

    o u r i m p l e m e n t a t i o n , w e u s e a s i m p l e a s s o c i a t i o n l i s t t o k e e p t r a c k o f t h e x v a r i -

    a b l e a s s i g n m e n t s . P r o j e c t i n g ( u n - p r o j e c t i n g ) a v a r i a b l e i s a c c o m p l i s h e d s i m p l y

    b y s e t t i n g ( u n - s e t t i n g ) i t s v a l u e i n t h e a s s o c i a t i o n { a c o n s t a n t - t i m e o p e r a t i o n .

  • 8/11/2019 10.1.1.86.1417

    8/18

    H o w e v e r , c h e c k i n g a g a i n s t a z e r o b d d r e q u i r e s a t r a v e r s a l o f t h e a r g u m e n t B D D ,

    b y t a k i n g b r a n c h e s d i c t a t e d b y t h e v a r i a b l e a s s o c i a t i o n . I f a n y p a t h t o a o n e b d d

    i s f o u n d , t h e t r a v e r s a l i s t e r m i n a t e d , a n d t h e B D D i s c e r t i e d t o b e n o t e q u a l

    t o t h e z e r o b d d . I n t h e w o r s t c a s e , t h i s t a k e s t i m e p r o p o r t i o n a l t o t h e s i z e o f

    t h e B D D . A s a f u r t h e r e n h a n c e m e n t , f o r e a c h B D D n o d e , w e a s s o c i a t e a v a l u e

    i n d i c a t i n g t h e p r e s e n c e o r a b s e n c e o f a p a t h t o a o n e b d d f r o m t h a t n o d e . T h i s

    b i t m u s t b e m o d i e d o n l y i f t h e v a l u e o f a v a r i a b l e b e l o w t h i s n o d e i s m o d i e d .

    A s a r e s u l t , t h e a v e r a g e c o m p l e x i t y o f t h e e m p t i n e s s c h e c k i s l i k e l y b e t t e r t h a n

    t h e B D D s i z e .

    4 . 3 I m p l e m e n t a t i o n D e t a i l s : B o u n d i n g t h e y V a r i a b l e s

    D u r i n g t h e S A T s e a r c h , i f t h e i n t e r s e c t i o n o f a p a r t i a l a s s i g n m e n t o v e r y v a r i -

    a b l e s a n d ( U n r e a c h e d ( y ) ! C u r r e n t ( y ) ) i s n o n - n u l l , e x p l o r a t i o n s h o u l d p r o c e e d

    f u r t h e r d o w n t h a t p a t h , o t h e r w i s e i t c a n b a c k t r a c k .

    /* Each BDD node has a user-defined field that indicates if the sub-graphbelow it is tautologically one, zero or neither (TWO_BDD) */

    /* B_array is an array of BDD nodes, V_array is the array of variables andtheir values */

    bdd_equal_zero(B_array, V_array) {

    /* Leaves */if (any BDD in B_array is ZERO_BDD)

    return ZERO_BDD;

    if (each BDD in B_array is ONE_BDD)

    return ONE_BDD;

    if (only one BDD in B_array is TWO_BDD)

    return TWO_BDD;

    /* Non-leaf case */NewB_array = remove_one_bdds(B_array);

    if (is_in_cache(NewB_array, &Val))

    return Val;

    /* get top var from all the BDDs in NewB_array */Top_var = get_top_var(NewB_array);

    ThenB_array = get_then(NewB_array, Top_var);

    ElseB_array = get_else(NewB_array, Top_var);

    Proj_value = get_proj_val(Top_var, V_array);

    if (Proj_value == ONE) {

    Val = bdd_equal_zero(ThenB_array, V_array);

    } else if Proj_value == ZERO) {

    Val = bdd_equal_zero(ElseB_array, V_array);

    } else {

    Val0 = bdd_equal_zero(ThenB_array, V_array);

    Val1 = bdd_equal_zero(ElseB_array, V_array);

    if (Val0 == Val1) {

    Val = Val0;

    } else {

    Val = TWO_BDD;

    }

    }

    insert_in_cache(newB_array, Val);

    return Val;

    }

    }

    F i g . 5 . D e t e r m i n i n g E m p t i n e s s o f t h e P r o d u c t o f M u l t i p l e B D D s w i t h P r o j e c t i o n s

    R e c a l l t h a t w e a l l o w u s e o f a d i s j u n c t i v e p a r t i t i o n i n g o f t h e r e a c h e d s t a t e

    s e t R =

    i

    R

    i

    . T h e r e f o r e , b o t h t h e U n r e a c h e d a n d ! C u r r e n t s e t s c a n b e r e p r e -

  • 8/11/2019 10.1.1.86.1417

    9/18

    s e n t e d a s p r o d u c t o f B D D s , i . e . U n r e a c h e d ( y ) = \

    i

    ! R

    i

    ( y ) , a n d ! C u r r e n t ( y ) =

    \

    i

    ! C u r r e n t

    i

    ( y ) . R a t h e r t h a n p e r f o r m i n g a n e x p l i c i t p r o d u c t o f t h e m u l t i p l e

    B D D s , t h e p a r t i a l a s s i g n m e n t o v e r y v a r i a b l e s i s p r o j e c t e d s e p a r a t e l y o n t o e a c h

    B D D . T h e n t h e t h e m u l t i p l e B D D s a r e t r a v e r s e d i n a l o c k - s t e p m a n n e r b y u s i n g

    a m o d i e d b d d e q u a l z e r o ( ) p r o c e d u r e , t o d e t e r m i n e i f t h e r e e x i s t s a p a t h i n

    t h e i r p r o d u c t t h a t l e a d s t o a o n e b d d . T h e p s e u d o c o d e f o r t h i s i s s h o w n i n F i g -

    u r e 5 , w h e r e t h e g i v e n p r o c e d u r e a s s u m e s t h a t p r o j e c t i o n o f v a r i a b l e v a l u e s o n t o

    t h e i n d i v i d u a l B D D s h a s a l r e a d y b e e n c a r r i e d o u t . I n t h e a c t u a l i m p l e m e n t a t i o n ,

    t h e p r o j e c t i o n o f v a r i a b l e s a n d d e t e c t i o n o f e m p t i n e s s a r e d o n e i n a s i n g l e p a s s ,

    a l o n g w i t h h a n d l i n g o f c o m p l e m e n t e d B D D n o d e s . T h e w o r s t - c a s e c o m p l e x i t y

    i s t h a t o f a c t u a l l y c o m p u t i n g a c o m p l e t e p r o d u c t , b u t i n p r a c t i c e t h e p r o c e d u r e

    t e r m i n a t e s a s s o o n a s a n y p a t h t o o n e b d d i s f o u n d .

    5 B D D s a t S A T L e a v e s

    S o f a r w e h a v e e x p l a i n e d o u r a l g o r i t h m f o r i m a g e c o m p u t a t i o n i n t e r m s o f e n u -

    m e r a t i n g a l l s o l u t i o n s o f t h e C N F f o r m u l a u s i n g S A T - s o l v i n g t e c h n i q u e s , w h i l e

    p e r f o r m i n g B D D B o u n d i n g w h e r e p o s s i b l e i n o r d e r t o p r u n e t h e s e a r c h s p a c e .

    T h i s s t i l l s u e r s f r o m s o m e d r a w b a c k s o f a p u r e l y S A T - b a s e d a p p r o a c h , i . e . s o -

    l u t i o n s a r e e n u m e r a t e d o n e - a t - a - t i m e , w i t h o u t a n y r e u s e . T o s o m e e x t e n t t h i s

    d r a w b a c k i s c o u n t e r e d b y e x a m i n i n g p a r t i a l s o l u t i o n s ( c u b e s ) f o r i n c l u s i o n a n d

    f o r p r u n i n g , b u t w e c a n a c t u a l l y d o b e t t e r .

    I t i s u s e f u l i n t h i s r e g a r d t o c o m p a r e a p u r e l y S A T - b a s e d a p p r o a c h v s . a

    p u r e l y B D D - b a s e d a p p r o a c h . I n e s s e n c e , b o t h w o r k o n t h e s a m e s e a r c h s p a c e o f

    B o o l e a n v a r i a b l e s { S A T s o l v e r s u s e a n e x p l i c i t d e c i s i o n t r e e , w h i l e B D D o p e r -

    a t i o n s w o r k o n t h e u n d e r l y i n g D A G s . A B D D - b a s e d a p p r o a c h i s m o r e s u i t a b l e

    f o r c a p t u r i n g a l l s o l u t i o n s s i m u l t a n e o u s l y . H o w e v e r , d u e t o t h e v a r i a b l e o r d e r i n g

    r e s t r i c t i o n , i t c a n s u e r f r o m a s i z e b l o w u p i n t h e i n t e r m e d i a t e / n a l r e s u l t s . O n

    t h e o t h e r h a n d , a S A T d e c i s i o n t r e e h a s n o v a r i a b l e o r d e r i n g r e s t r i c t i o n , a n d c a n

    t h e r e f o r e p o t e n t i a l l y m a n a g e l a r g e r p r o b l e m s . H o w e v e r , s i n c e i t i s n o t c a n o n i c a l ,

    m a n y s u b p r o b l e m c o m p u t a t i o n s m a y g e t r e p e a t e d .

    BDD Computations

    PathPath

    Top-level SAT Decision Tree

    F i g . 6 . B D D s a t S A T L e a v e s

  • 8/11/2019 10.1.1.86.1417

    10/18

    I n o r d e r t o c o m b i n e t h e r e l a t i v e a d v a n t a g e s o f b o t h , w e u s e a S A T d e c i s i o n

    t r e e t o o r g a n i z e t h e t o p - l e v e l s e a r c h s p a c e . W i t h i n t h i s t r e e , a l o n g a n y p a t h ,

    r a t h e r t h a n u s i n g t h e S A T - s o l v e r t o e x p l o r e t h e t r e e f u r t h e r , w e c a n i n v o k e a

    B D D - b a s e d a p p r o a c h t o c o m p u t e a l l s o l u t i o n s i n t h e s u b - t r e e u n d e r t h a t p a t h .

    T h i s i n t e g r a t e d s c h e m e , w h i c h w e c a l l B D D s a t S A T L e a v e s , i s i l l u s t r a t e d p i c -

    t o r i a l l y i n F i g u r e 6 . I n a s e n s e , t h e S A T d e c i s i o n t r e e c a n b e r e g a r d e d a s a

    d i s j u n c t i v e p a r t i t i o n i n g o f a l a r g e p r o b l e m a t t h e r o o t i n t o s m a l l e r s u b p r o b l e m s

    a t t h e l e a v e s , e a c h o f w h i c h c a n b e h a n d l e d b y a p u r e l y B D D - b a s e d a p p r o a c h .

    5 . 1 L e a f S u b p r o b l e m : B D D - b a s e d I m a g e C o m p u t a t i o n

    T h e f o r m u l a t i o n o f t h e B D D s u b p r o b l e m t o b e s o l v e d a t e a c h l e a f o f t h e S A T

    d e c i s i o n t r e e i s s h o w n b e l o w :

    N e w ( y ) = P a t h ( y

    0

    ) ^ 9 x " w " z " : P ( x ) j

    P a t h ( x

    0

    )

    U n s a t ( x " w " z " y " ) ( 3 )

    T h i s c o m p u t e s t h e i m a g e s e t s o l u t i o n s N e w f r o m a s u b - t r e e r o o t e d a t t h e e n d

    o f a p a t h i n t h e S A T d e c i s i o n t r e e . H e r e , f o r a s e t o f v a r i a b l e s v , t h e a s s i g n e d s e t

    i s d e n o t e d v

    0

    , a n d t h e u n a s s i g n e d s e t i s d e n o t e d v " . P a t h ( x

    0

    ) = P a t h ( y

    0

    ) d e n o t e

    t h e B D D s r e p r e s e n t i n g t h e p a r t i a l a s s i g n m e n t o f x = y v a r i a b l e s a l o n g t h e p a t h .

    U n s a t ( x " w " z " y " ) d e n o t e s t h e p r o d u c t o f a l l u n s a t i s e d c l a u s e s a t t h e e n d

    o f t h e p a t h , p r o j e c t e d b y t h e a s s i g n e d v a r i a b l e s a l o n g t h a t p a t h , e x p r e s s e d i n

    t e r m s o f t h e u n a s s i g n e d v a r i a b l e s a p p e a r i n g i n t h e o r i g i n a l C N F f o r m u l a . F i n a l l y ,

    P ( x ) j

    P a t h ( x

    0

    )

    d e n o t e s t h e r e s t r i c t i o n o f t h e s e t P ( x ) t o t h e p a r t i a l a s s i g n m e n t s

    o f x a l o n g t h e p a t h .

    N o t e t h a t i n t h i s e q u a t i o n , t h e p a r t f o l l o w i n g t h e e x i s t e n t i a l q u a n t i c a t i o n i s

    i d e n t i c a l i n f o r m u l a t i o n t o a s t a n d a r d p u r e l y B D D - b a s e d a p p r o a c h . T h e d i e r -

    e n c e i s o n l y i n t h e g r a n u l a r i t y o f t h e B o o l e a n r e l a t i o n U n s a t , a n d i t s c o n j u n c -

    t i v e d e c o m p o s i t i o n . I n a s t a n d a r d a p p r o a c h , t h e B o o l e a n r e l a t i o n T ( x w y ) i s a

    t r a n s i t i o n r e l a t i o n , e x p r e s s e d i n t e r m s o f t h e p r e s e n t s t a t e , p r i m a r y i n p u t , a n d

    n e x t s t a t e v a r i a b l e s o n l y . F u r t h e r m o r e , i t s c o n j u n c t i v e d e c o m p o s i t i o n i s t y p i c a l l y

    b a s e d o n s p l i t t i n g t h e n e x t s t a t e v a r i a b l e s .

    I n o u r a p p r o a c h , t h e B o o l e a n r e l a t i o n i s e x p r e s s e d a s a C N F f o r m u l a o v e r t h e

    s e t o f p r e s e n t s t a t e , p r i m a r y i n p u t , n e x t s t a t e , a n d i n t e r m e d i a t e v a r i a b l e s d e n o t -

    i n g s i g n a l s o n i n t e r n a l g a t e s t h a t i m p l e m e n t t h e n e x t s t a t e l o g i c o f t h e s e q u e n t i a l

    c i r c u i t . F u r t h e r m o r e , t h e c o n j u n c t i v e d e c o m p o s i t i o n f o l l o w s t h e s t r u c t u r a l d e -

    c o m p o s i t i o n o f t h e c i r c u i t i n t o g a t e s . T h o u g h t h i s n e r - g r a i n e d a p p r o a c h m u s t

    h a n d l e m o r e n u m b e r o f B o o l e a n v a r i a b l e s t h a n t h e s t a n d a r d a p p r o a c h , i t a l s o

    a l l o w s a g r e a t e r p o t e n t i a l f o r e a r l y q u a n t i c a t i o n , w h i c h h a s b e e n n o t e d t o h e l p

    o v e r c o m e t h e b l o w u p d u r i n g i m a g e c o m p u t a t i o n ( d e s c r i b e d i n d e t a i l i n t h e n e x t

    s e c t i o n ) .

    A n o t h e r b e n e t o f u s i n g t h e n e - g r a i n e d C N F p a r t i t i o n s i s t h a t t h e r e i s n o

    p e n a l t y f o r p e r f o r m i n g p r e - i m a g e c o m p u t a t i o n s . M a n y r e s e a r c h e r s h a v e n o t e d

    t h a t b a c k w a r d s y m b o l i c t r a v e r s a l i s l e s s e c i e n t t h a n f o r w a r d t r a v e r s a l . T h i s

    i s p a r t l y d u e t o h a v i n g t o h a n d l e t h e t y p i c a l l y i r r e g u l a r u n r e a c h a b l e p a r t o f

  • 8/11/2019 10.1.1.86.1417

    11/18

    t h e s t a t e s p a c e . F u r t h e r m o r e , m o s t m e t h o d s u s e p a r t i t i o n s b a s e d o n s p l i t t i n g

    t h e n e x t s t a t e ( y ) v a r i a b l e s , w h i l e s h a r i n g t h e p r e s e n t s t a t e ( x ) v a r i a b l e s . T h i s

    s c h e m e i s g o o d f o r p e r f o r m i n g i m a g e c o m p u t a t i o n s w i t h e a r l y q u a n t i c a t i o n o f

    x v a r i a b l e s , b u t i t d o e s n o t w o r k v e r y w e l l f o r p r e - i m a g e c o m p u t a t i o n s w h e r e t h e

    y v a r i a b l e s n e e d t o b e q u a n t i e d . I n c o n t r a s t , o u r n e - g r a i n e d C N F f o r m u l a t i o n

    i s s y m m e t r i c w i t h r e s p e c t t o t h e x a n d y v a r i a b l e s . T h e r e f o r e , o u r m e t h o d c a n

    b e a p p l i e d e q u a l l y w e l l f o r i m a g e a s w e l l a s p r e - i m a g e c o m p u t a t i o n s .

    5 . 2 L e a f S u b p r o b l e m : Q u a n t i c a t i o n S c h e d u l e

    I n p r a c t i c e , i t i s i m p o r t a n t t o c h o o s e a g o o d q u a n t i c a t i o n s c h e d u l e , i . e . a n

    o r d e r i n g o n t h e c o n j u n c t i o n s o f t h e p a r t i t i o n s t h a t a v o i d s i n t e r m e d i a t e b l o w u p

    d u r i n g i m a g e c o m p u t a t i o n . T y p i c a l l y , a g o o d s c h e d u l e t r i e s t o m i n i m i z e t h e

    n u m b e r o f a c t i v e v a r i a b l e s i n a l i n e a r i z e d s c h e d u l e , b y a n a l y z i n g t h e v a r i a b l e

    s u p p o r t s e t s o f t h e i n d i v i d u a l p a r t i t i o n s 1 1 , 1 7 , 1 9 ] .

    L e a f I m a g e C o m p u t a t i o n ( ) f

    B = f p r o j e c t e d P ( x ) , p r o j e c t e d u n s a t c l a u s e s g / / s e t o f B D D s

    d o f

    v = m i n c o s t v a r i a b l e ( B ) / / c h o o s e v a r i a b l e v

    C = f b | b 2 B , b d e p e n d s o n v g / / g a t h e r c o n j u n c t s f o r v

    c = a n d s m o o t h ( C , v ) / / q u a n t i f y v a l o n g w i t h c o n j u n c t i o n

    r e p l a c e ( B , C , c ) / / r e p l a c e c o n j u n c t s C i n B b y c

    g w h i l e ( v a r i a b l e s t o b e q u a n t i f i e d )

    c = a n d ( B )

    n e w = a n d ( p a t h ( y ) , c )

    g

    F i g . 7 . L e a f I m a g e C o m p u t a t i o n

    F o r e a c h l e a f i m a g e c o m p u t a t i o n , t h e p s e u d o - c o d e f o r t h e q u a n t i c a t i o n

    s c h e d u l e i s s h o w n i n F i g u r e 7 . W e s t a r t w i t h a c o l l e c t i o n B o f B D D s c o n s i s t -

    i n g o f t h e p r o j e c t e d P ( x ) ( a n d p o t e n t i a l l y U n r e a c h e d ( y ) ) , a n d a B D D f o r e v e r y

    p r o j e c t e d u n s a t i s e d c l a u s e . N e x t , w e h e u r i s t i c a l l y s e l e c t a v a r i a b l e v t o b e q u a n -

    t i e d . W e g r e e d i l y c h o o s e t h e m i n i m u m c o s t v a r i a b l e , w h e r e c o s t i s e s t i m a t e d a s

    t h e p r o d u c t o f t h e i n d i v i d u a l B D D s i z e s t h a t t h e v a r i a b l e a p p e a r s i n . O n c e v i s

    s e l e c t e d , w e g a t h e r i n s e t C a l l c o n j u n c t s t h a t v a p p e a r s i n . T h i s i s f o l l o w e d b y

    c o n j u n c t i o n a n d q u a n t i c a t i o n o f v i n C , a n d t h i s r e s u l t r e p l a c e s t h e s e t C i n B .

    ( S i n c e t h e y v a r i a b l e s c a n n o t b e q u a n t i e d , w e n e v e r c h o o s e t h e m . ) T h i s b a s i c

    l o o p i s i t e r a t e d u n t i l n o m o r e v a r i a b l e s c a n b e q u a n t i e d . T h e r e m a i n i n g B D D s

    ( w i t h o n l y y v a r i a b l e s ) a r e c o n j o i n e d t o g e t h e r , a n d t h e r e s u l t i s c o n j o i n e d w i t h

    p a t h ( y ) ( t h e c u b e o f a s s i g n e d y v a r i a b l e s ) , t o g i v e t h e s e t o f n e w i m a g e s o l u t i o n s

    c o r r e s p o n d i n g t o t h a t p a t h .

    N o t e t h a t t h i s f o r m u l a t i o n d o e s n o t d e p e n d o n a l i v e v a r i a b l e a n a l y s i s o v e r a

    l i n e a r i z e d s c h e d u l e b u t c o n s i d e r s t h e a c t u a l B D D s i z e s f o r s e l e c t i o n . T h e r e f o r e , i t

  • 8/11/2019 10.1.1.86.1417

    12/18

    1 /* This function finds all solutions to a SAT Clause database,2 using GRASP with BDD bounding, BDDs-at-SAT Leaves */4 Find_all_solutions(Clause database, Bdds) {

    5 if (Preprocess() == FAILURE)6 return FAILURE;

    7 if (Bdd_bounding() == FAILURE)

    8 return FAILURE;

    10 while (1) {// loop #1:exploringdec. tree to incr. depth11 if (BDDs_at_Leaves()) {

    13 handle_bdd_solution(); //stop exploring tree14 /* for other solutions: backtrack chronologically */15 if (Backtrack_chrono() == FAILURE) {

    16 return NO_MORE_SOLUTIONS;

    17 } /* else backtracking takes place*/

    18 } else {

    19 /* explore tree to increased depth */20 if (Select_next_variable() == FAILURE)

    21 break; /* out of loop #1 */22 }

    23 /* loop #2: check conflicts after decision / backtracking

    */24 while (1) {

    25 /* loop #3: while there is a logical conflict */26 while (Deduce() == CONFLICT) {

    27 if (First_val() || Implied_Val()) {

    28 /* perform diagnosis */29 if (Diagnose() == CONFLICT) {

    30 /* the conflict cannot be resolved any more */31 return NO_MORE_SOLUTIONS;

    32 }

    33 /* else conflict driven backtracking takes place */34 } else {

    35 /* second value of var: backtrack chronologically */

    36 if(Backtrack_chrono()==FAILURE)37 return NO_MORE_SOLUTIONS;

    38 /* else backtracking takes place */39 }

    40 } /* end of loop #3*/41 /* at this point, there is no conflict */42 if (Bdd_Bounding() == SUCCESS) {

    43 if (Solution_found()) {

    44 handle_sat_solution();

    45 /* for other solutions: backtrack chronologically */46 if(Backtrack_chrono()==FAILURE)

    47 return NO_MORE_SOLUTIONS;

    49 } else { // else backtracking takes place50 /* unresolved clauses: increase depth */51 break;// out of loop #252 }

    53 } else {//BDD bnding fails: backtrack chronologically55 if (Backtrack_chrono()==FAILURE)

    56 return NO_MORE_SOLUTIONS;

    57 }

    58 } // end of loop #259 } // end of loop #160 return SUCCESS;

    61 }

    F i g . 8 . C o m p l e t e I m a g e C o m p u t a t i o n P r o c e d u r e

    i s b e t t e r a b l e t o b a l a n c e t h e c o m p u t a t i o n i n t h e f o r m o f a t r e e o f c o n j u n c t i o n s ,

    r a t h e r t h a n a l i n e a r s e r i e s o f c o n j u n c t i o n s . I n o u r e x p e r i m e n t s , t h i s h e u r i s t i c

    p e r f o r m e d f a r b e t t e r t h a n o t h e r s b a s e d o n v a r i a b l e s u p p o r t s .

    6 T h e C o m p l e t e I m a g e C o m p u t a t i o n P r o c e d u r e

    O u r c o m p l e t e p r o c e d u r e f o r e n u m e r a t i n g a l l s o l u t i o n s o f t h e i m a g e s e t i s s h o w n i n

    F i g u r e 8 . I t i s b a s e d o n t h e p u b l i c l y a v a i l a b l e G R A S P S A T - s o l v e r 1 6 ] . W e s t a r t

    b y d e s c r i b i n g i t s o r i g i n a l s k e l e t o n . A f t e r t h e i n i t i a l p r e p r o c e s s i n g , t h e p r o c e d u r e

    c o n s i s t s o f a n o u t e r l o o p # 1 ( l i n e 1 0 ) t h a t e x p l o r e s t h e S A T d e c i s i o n t r e e t o

    i n c r e a s e d d e p t h i f n e c e s s a r y . T h e i n n e r l o o p # 2 ( l i n e 2 4 ) i s u s e d p r i m a r i l y t o

    p r o p a g a t e c o n s t r a i n t s a n d c h e c k f o r c o n i c t s a f t e r e i t h e r a d e c i s i o n v a r i a b l e i s

    c h o s e n , o r a f t e r b a c k t r a c k i n g t a k e s p l a c e t o i m p l y a c e r t a i n v a l u e o n a v a r i a b l e .

    L o o p # 3 ( l i n e 2 6 ) a c t u a l l y p e r f o r m s t h e d e d u c t i o n t o c h e c k f o r c o n t r a d i c t i o n s

    a n d t r i e s t o r e s o l v e t h e c o n i c t u s i n g d i a g n o s i s u n t i l t h e r e i s n o m o r e c o n i c t .

    I n G R A S P , c l a u s e s a r e a d d e d t o r e c o r d c a u s e s o f a l l b a c k t r a c k i n g o p e r a t i o n s ,

    i n c l u d i n g t h o s e u s e d t o e n u m e r a t e m u l t i p l e s o l u t i o n s .

    T h e c o m p l e t e n e s s a r g u m e n t f o r o u r p r o c e d u r e w i t h r e s p e c t t o n d i n g a l l

    s o l u t i o n s o f t h e i m a g e s e t i s b a s e d l a r g e l y o n t h e c o m p l e t e n e s s o f t h e o r i g i n a l

    p r o c e d u r e i n G R A S P 1 4 ] . T h e a d d i t i o n s w e h a v e m a d e t o t h e o r i g i n a l p r o c e d u r e

    c o n s i s t o f i n t r o d u c i n g t h e t e c h n i q u e s o f B D D s a t S A T L e a v e s ( l i n e s 1 1 - 1 8 ) , a n d

    B D D B o u n d i n g ( l i n e s 7 - 8 , l i n e s 4 2 - 5 7 ) . T h e o n l y o t h e r m o d i c a t i o n w e h a v e

    m a d e i s t o p e r f o r m c o n i c t a n a l y s i s o n l y i f t h e v a l u e o f t h e d e c i s i o n v a r i a b l e i s

    t h e r s t v a l u e b e i n g t r i e d , o r i f i t s s e c o n d v a l u e h a s b e e n i m p l i e d ( l i n e 2 7 ) .

  • 8/11/2019 10.1.1.86.1417

    13/18

    T h e c o r r e c t n e s s o f n d i n g a l l B D D s o l u t i o n s a t t h e l e a v e s , a n d o f p r u n i n g t h e

    s e a r c h s p a c e w h e n B D D B o u n d i n g f a i l s f o l l o w s f r o m t h e a r g u m e n t s d e s c r i b e d i n

    t h e p r e v i o u s s e c t i o n s . N o t e t h a t i n b o t h t h e s e c a s e s , w e p e r f o r m a c h r o n o l o g i c a l

    b a c k t r a c k i n g ( l i n e s 1 4 - 1 7 , l i n e s 5 4 - 5 6 ) i n o r d e r t o s e a r c h f o r t h e n e x t s o l u t i o n .

    I n c a s e B D D B o u n d i n g s u c c e e d s ( l i n e 4 2 ) , w e c h e c k w h e t h e r a s o l u t i o n i s f o u n d ,

    i . e . w h e t h e r a l l c l a u s e s a r e s a t i s e d . I f t h e y a r e , a S A T s o l u t i o n h a s b e e n f o u n d ,

    w h i c h i s h a n d l e d i n t h e u s u a l w a y , f o l l o w e d b y c h r o n o l o g i c a l b a c k t r a c k i n g t o n d

    t h e n e x t s o l u t i o n ( l i n e s 4 5 - 4 8 ) .

    T h e r e a s o n f o r t h e m o d i c a t i o n ( l i n e 2 7 ) i s t h a t w e d o n o t w i s h t o a d d c l a u s e s

    t o r e c o r d t h e c a u s e s o f c h r o n o l o g i c a l b a c k t r a c k i n g . I n o u r m o d i e d G R A S P a l -

    g o r i t h m , c h r o n o l o g i c a l b a c k t r a c k i n g t a k e s p l a c e a f t e r a s o l u t i o n h a s b e e n f o u n d ,

    o r a f t e r B D D B o u n d i n g f a i l s . H o w e v e r , w h e n c l a u s e s f o r c h r o n o l o g i c a l b a c k -

    t r a c k i n g a r e n o t r e c o r d e d , G R A S P ' s c o n i c t a n a l y s i s d u r i n g d i a g n o s i s b e c o m e s

    i n c o m p l e t e , a n d i t m a y b e e r r o n e o u s t o p e r f o r m n o n - c h r o n o l o g i c a l b a c k t r a c k -

    i n g b a s e d o n t h i s c o n i c t a n a l y s i s . T h e r e f o r e , i f t h e s e c o n d v a l u e o f a v a r i a b l e i s

    i m p l i e d b y s o m e c l a u s e ( e i t h e r a n o r i g i n a l , o r a c o n i c t c l a u s e ) , w e d o a l l o w d i a g -

    n o s i s t o t a k e p l a c e . O t h e r w i s e , w e d i s a b l e n o n - c h r o n o l o g i c a l b a c k t r a c k i n g b y n o t

    p e r f o r m i n g a n y d i a g n o s i s a t a l l . I n s t e a d , w e p e r f o r m a s i m p l e c h r o n o l o g i c a l b a c k -

    t r a c k i n g ( l i n e s 3 4 - 3 9 ) . N o t e t h a t p e r f o r m i n g c h r o n o l o g i c a l b a c k t r a c k i n g i n s t e a d

    o f n o n - c h r o n o l o g i c a l b a c k t r a c k i n g c a n a t m o s t a e c t t h e p r o c e d u r e ' s e c i e n c y ,

    n o t i t s c o m p l e t e n e s s .

    7 W h y S A T ?

    A s m e n t i o n e d e a r l i e r , t h e r e h a s b e e n r e c e n t i n t e r e s t i n u s i n g d i s j u n c t i v e d e c o m -

    p o s i t i o n s o f t h e i m a g e c o m p u t a t i o n p r o b l e m u s i n g p u r e l y B D D s , w i t h s u b s t a n -

    t i a l l y i m p r o v e d p r a c t i c a l r e s u l t s 8 , 1 7 ] . O u r u s e o f a S A T d e c i s i o n t r e e t o s p l i t

    t h e s e a r c h t r e e , a n d u s e o f t h e B D D - b a s e d i m a g e c o m p u t a t i o n s a t i t s l e a v e s

    t o p e r f o r m t h e c o n j o i n i n g , r e s u l t s i n a s i m i l a r d e c o m p o s i t i o n . H o w e v e r , i n o u r

    v i e w , S A T p r o v i d e s m a n y m o r e a d v a n t a g e s t h a n j u s t a d i s j u n c t i v e d e c o m p o s i -

    t i o n , w h i c h a l s o d i e r e n t i a t e o u r a p p r o a c h f r o m t h e r e s t .

    I n p a r t i c u l a r , i t a l l o w s u s t o e a s i l y p e r f o r m i m p l i c a t i o n s o f a v a r i a b l e d e c i s i o n

    ( s p l i t t i n g ) . I n p r i n c i p l e , d e r i v i n g i m p l i c a t i o n s c a n b e d o n e i n n o n - S A T c o n t e x t s

    a s w e l l , e . g . d i r e c t l y o n c i r c u i t s t r u c t u r e , u s i n g B D D s e t c . H o w e v e r , t o o u r b e s t

    k n o w l e d g e , t h i s h a s n o t b e e n d o n e i n p r a c t i c e f o r i m a g e c o m p u t a t i o n . B y u s -

    i n g a s t a n d a r d s t a t e - o f - t h e - a r t S A T p a c k a g e 1 6 ] , w e a r e u t i l i z i n g t h e y e a r s o f

    p r o g r e s s i n t h i s d i r e c t i o n , a s w e l l a s i n r e l a t e d t e c h n i q u e s o f e c i e n t b a c k t r a c k -

    i n g a n d c o n i c t a n a l y s i s , w h i c h a l l h e l p t o w a r d p r u n i n g t h e u n d e r l y i n g s e a r c h

    s p a c e . O u r u s e o f B D D B o u n d i n g i s a n a d d i t i o n a l p r u n i n g t e c h n i q u e , w h i c h a l -

    l o w s u s t o p e r f o r m e a r l y b a c k t r a c k i n g w i t h o u t e v e n i n v o k i n g a B D D - b a s e d l e a f

    c o m p u t a t i o n .

    A n o t h e r d i e r e n c e o f o u r a p p r o a c h f r o m t h e r e s t i s i n t h e g r a n u l a r i t y o f o u r

    u n d e r l y i n g s e a r c h s p a c e . S i n c e w e f o c u s o n t h e C N F f o r m u l a f o r t h e t r a n s i t i o n

    r e l a t i o n , w h i c h i s d e r i v e d d i r e c t l y f r o m a g a t e - l e v e l s t r u c t u r a l d e s c r i p t i o n o f t h e

    d e s i g n , w e o b t a i n a v e r y n e - g r a i n e d p a r t i t i o n o f t h e r e l a t i o n , w h i c h i s a l s o s y m -

  • 8/11/2019 10.1.1.86.1417

    14/18

    m e t r i c w i t h r e s p e c t t o i m a g e a n d p r e - i m a g e c o m p u t a t i o n s . T h i s a l l o w s u s t o

    s p l i t t h e o v e r a l l i n t o m u c h n e r p a r t i t i o n s , w h e r e d e c i s i o n ( s p l i t t i n g ) v a r i a b l e s

    c a n a l s o b e i n t e r n a l s i g n a l s . W e u s e b o t h B D D - b a s e d a n d S A T - b a s e d c r i t e r i a

    f o r s e l e c t i o n o f t h e s e v a r i a b l e s , e . g . e s t i m a t e o f c o f a c t o r B D D s i z e s 8 ] , n u m b e r

    o f c l a u s e s a v a r i a b l e a p p e a r s i n , e t c . W e a r e a l s o e x p l o r i n g S A T - b a s e d c r i t e r i a

    t a r g e t e d t o w a r d s n d i n g m u l t i p l e , a n d n o t s i n g l e , s o l u t i o n s . F o r e a c h p a r t i t i o n

    i t s e l f , t h e n e r l e v e l o f g r a n u l a r i t y a l l o w s u s t o e x p l o i t t h e b e n e t s o f e a r l y q u a n -

    t i c a t i o n t o a g r e a t e r d e g r e e . T h i s i s r e e c t e d i n o u r B D D - b a s e d q u a n t i c a t i o n

    s c h e d u l e a l g o r i t h m , w h i c h u s e s d i e r e n t c r i t e r i a ( a c t u a l B D D s i z e s ) f o r s e l e c t i n g

    t h e v a r i a b l e t o b e q u a n t i e d , a n d i s o r g a n i z e d a s a t r e e o f c o n j u n c t i o n s , r a t h e r

    t h a n a l i n e a r s e r i e s .

    F i n a l l y , o u r a i m i s t o c o m b i n e S A T a n d B D D s i n a s e a m l e s s m a n n e r i n

    o r d e r t o f a c i l i t a t e a s m o o t h a n d a d a p t i v e t r a d e o b e t w e e n t i m e a n d s p a c e f o r

    s o l v i n g t h e i m a g e c o m p u t a t i o n p r o b l e m . I n o u r a l g o r i t h m , t h e m o v e f r o m S A T

    t o B D D s o c c u r s w h e n a B D D s u b p r o b l e m i s t r i g g e r e d . I d e a l l y , w e w o u l d l i k e t o

    d o t h i s w h e n e v e r w e c o u l d b e s u r e t h a t t h e B D D s w o u l d n o t b l o w u p . H o w e v e r ,

    t h e r e s e e m s t o b e n o s i m p l e m e a s u r e t o p r e d i c t t h i s a p r i o r i . W e a r e c u r r e n t l y

    e x p e r i m e n t i n g w i t h s e v e r a l h e u r i s t i c s b a s e d o n n u m b e r o f u n a s s i g n e d v a r i a b l e s ,

    s i z e o f t h e p r o j e c t e d P ( x ) s e t e t c . W e h a v e a l s o i m p l e m e n t e d a s i m p l e t i m e o u t

    m e c h a n i s m f o r t h e B D D s u b p r o b l e m , w h i c h a l l o w s u s t o r e t u r n b a c k t o S A T ,

    i n o r d e r t o p e r f o r m s o m e m o r e s p l i t s ( u n l i k e 1 7 ] ) . S i n c e C N F f o r m u l a s a n d

    B D D s a r e e n t i r e l y i n t e r c h a n g e a b l e , t h e b o u n d a r y b e t w e e n S A T a n d B D D s i s

    s o m e w h a t a r b i t r a r y . I n p r i n c i p l e , i t i s p o s s i b l e t o f r e e l y i n t e r m i x C N F s a n d

    B D D s f o r v a r i o u s p a r t s o f t h e c i r c u i t , a n d p e r f o r m r e q u i r e d a n a l y s i s o n t h e m o r e

    a p p r o p r i a t e r e p r e s e n t a t i o n . O u r a p p r o a c h i s a s t e p i n t h i s d i r e c t i o n .

    8 E x p e r i m e n t s

    W e h a v e i m p l e m e n t e d a n i n i t i a l p r o t o t y p e o f o u r i m a g e c o m p u t a t i o n a l g o r i t h m

    b a s e d o n t h e C U D D B D D p a c k a g e 2 0 ] a n d t h e G R A S P S A T s o l v e r 1 6 ] . T h i s

    s e c t i o n d e s c r i b e s o u r e x p e r i m e n t a l r e s u l t s o n s o m e I S C A S b e n c h m a r k c i r c u i t s

    k n o w n t o b e d i c u l t f o r r e a c h a b i l i t y a n a l y s i s . A l l e x p e r i m e n t s w e r e r u n o n a n

    U l t r a S P A R C w o r k s t a t i o n , w i t h a 2 9 6 M H z p r o c e s s o r , a n d 7 6 8 M B m e m o r y .

    S i n c e o u r m a i n c o n t r i b u t i o n h e r e i s t o m a k e t h e c o r e s t e p o f i m a g e c o m p u t a -

    t i o n m o r e r o b u s t , w e o n l y f o c u s o n e x p e r i m e n t s f o r e x a c t r e a c h a b i l i t y a n a l y s i s .

    O u r a l g o r i t h m c a n b e e a s i l y a d a p t e d a n d e n h a n c e d i n m a n y o r t h o g o n a l d i r e c -

    t i o n s s u c h a s i t s u s e i n a p p r o x i m a t e r e a c h a b i l i t y a n a l y s i s , i n v a r i a n t c h e c k i n g , a n d

    m o d e l c h e c k i n g . W e a r e c u r r e n t l y w o r k i n g o n p o r t i n g t h i s p r o t o t y p e t o V I S 3 ]

    i n o r d e r t o u s e i t s i n f r a s t r u c t u r e f o r s u c h a p p l i c a t i o n s , a n d a l s o t o h a v e a c c e s s

    t o a w i d e r s e t o f b e n c h m a r k s .

    A c o m p a r i s o n o f o u r p r o t o t y p e , w h i c h w e c a l l t h e C N F - B D D p r o t o t y p e , w i t h

    V I S 3 ] i s s h o w n i n T a b l e 1 . I t s h o w s r e s u l t s f o r p e r f o r m i n g a n e x a c t r e a c h a b i l i t y

    a n a l y s i s u s i n g p u r e b r e a d t h - r s t t r a v e r s a l o n s o m e b e n c h m a r k c i r c u i t s k n o w n t o

    b e d i c u l t t o h a n d l e i n p r a c t i c e . T h e c i r c u i t n a m e a n d n u m b e r o f l a t c h e s a r e

    s h o w n i n C o l u m n s 1 a n d 2 , r e s p e c t i v e l y . F o r o u r a p p r o a c h , a m e a s u r e o f c i r c u i t

  • 8/11/2019 10.1.1.86.1417

    15/18

    C kt # FF # Vars # Steps # Re ache d V is Time

    States (s ) T im e (s ) M em (M B) P ea k (M Nodes ) Leav e s B ound s

    s 1 2 6 9 3 7 6 2 4 1 0 1 .1 3 E +0 9 3 3 7 4 18 7 7 4 6 0 .6 1 5 1 5 0 5 2 7 8

    s 1 5 1 2 5 7 8 6 6 1 0 2 4 1 .6 6 E +1 2 2 3 6 2 6 33 7 2 8 0 .3 4 1 3 2 8 9 3 5 6 5

    s 1 4 2 3 7 4 7 4 8 1 1 (p ) 7 .9 9 E +0 9 7 4 0 2 2 4 2 5 4 0 1 .1 6 2 1 7 3 2 9

    1 3 (p ) 7 .9 6 E+1 0 -- 5 8 8 3 2 7 4 6 .8 6 3 3 0 4 5 2

    s 53 7 8 1 6 4 2 9 7 8 6 (p ) 2 .4 7 E +1 6 31 3 4 6 1 9 0 2 4 1 9 7 2 .4 6 6 8 3 4 8

    8 (p ) 2 .3 6 E+1 7 -- 2 9 2 3 0 2 0 2 2 .4 9 8 1 4 2 1

    C N F B D D

    T a b l e 1 . R e s u l t s f o r E x a c t R e a c h a b i l i t y A n a l y s i s

    c o m p l e x i t y i s t h e n u m b e r o f v a r i a b l e s a p p e a r i n g i n o u r C N F r e p r e s e n t a t i o n o f

    t h e t r a n s i t i o n r e l a t i o n { s h o w n i n C o l u m n 3 . T h e n u m b e r o f s t e p s c o m p l e t e d i s

    s h o w n i n C o l u m n 4 , w h e r e a \ ( p ) " i n d i c a t e s p a r t i a l t r a v e r s a l . C o l u m n 5 r e p o r t s

    t h e n u m b e r o f s t a t e s r e a c h e d . I n C o l u m n 6 , w e r e p o r t t h e C P U t i m e t a k e n ( i n

    s e c o n d s ) b y V I S . F o r t h e s e e x p e r i m e n t s w e u s e d a t i m e o u t o f 1 0 h o u r s . H o w e v e r ,

    s o m e t i m e s V I S r u n s i n t o m e m o r y l i m i t a t i o n s b e f o r e t h e t i m e o u t i t s e l f , i n d i c a t e d

    a s " { " i n t h i s c o l u m n . C o l u m n s 7 t h r o u g h 1 1 p r o v i d e n u m b e r s f o r o u r C N F - B D D

    p r o t o t y p e . C o l u m n 7 r e p o r t s t h e C P U t i m e t a k e n ( i n s e c o n d s ) . C o l u m n s 8 a n d 9

    r e p o r t t h e m e m o r y u s e d , a n d t h e n u m b e r o f p e a k B D D n o d e s , a s r e p o r t e d b y t h e

    C U D D p a c k a g e . T o g i v e a n i d e a o f t h e e c i e n c y o f o u r m o d i e d S A T s o l v e r , w e

    r e p o r t t h e n u m b e r o f B D D s s u b p r o b l e m s ( L e a v e s ) , a n d t h e n u m b e r o f b a c k t r a c k s

    d u e t o B D D B o u n d i n g ( B o u n d s ) i n C o l u m n s 1 0 a n d 1 1 , r e s p e c t i v e l y . I n a l l o u r

    e x p e r i m e n t s , w e d i d n o t o b s e r v e a n y n o n - c h r o n o l o g i c a l b a c k t r a c k i n g i n t h e S A T

    s o l v e r . T h e r e f o r e , t h e t o t a l n u m b e r o f b a c k t r a c k s d u r i n g i m a g e c o m p u t a t i o n f o r

    a l l s t e p s i s t h e s u m o f C o l u m n s 1 0 a n d 1 1 .

    I t c a n b e s e e n t h a t t h e p e r f o r m a n c e o f o u r C N F - B D D p r o t o t y p e i s b e t t e r

    t h a n V I S i n 3 o f 4 c i r c u i t s . F o r s 1 5 1 2 , o u r p r o t o t y p e i s w o r s e l i k e l y d u e t o t h e

    l a r g e n u m b e r o f s t e p s { 1 0 2 4 , a n d t h e o v e r h e a d i n e v e r y s t e p o f r e - s t a r t i n g t h e

    S A T s o l v e r . F o r s 1 2 6 9 , o u r p r o t o t y p e p e r f o r m s b e t t e r t h a n V I S b y a b o u t a f a c t o r

    f a c t o r o f 2 . F o r b o t h o f t h e s e c i r c u i t s , t h e C N F - B D D n u m b e r s a r e w o r s e t h a n

    t h o s e r e p o r t e d r e c e n t l y b y M o o n e t . a l 1 7 ] { 8 9 1 s e c . f o r s 1 2 6 9 , a n d 2 0 1 6 s e c . f o r

    s 1 5 1 2 . T h e r e a l g a i n s f r o m o u r a p p r o a c h c a n b e s e e n i n t h e m o r e d i c u l t c i r c u i t s

    s 1 4 2 3 a n d s 5 3 7 8 , w h e r e n e i t h e r V I S n o r o u r p r o t o t y p e c a n p e r f o r m c o m p l e t e

    t r a v e r s a l . F o r s 1 4 2 3 , V I S w a s a b l e t o c o m p l e t e u p t o s t e p 1 1 . F o r t h e s a m e

    n u m b e r o f s t e p s , o u r p r o t o t y p e i s f a s t e r t h a n V I S b y m o r e t h a n a f a c t o r o f 3 . I n

    f a c t , o u r p r o t o t y p e i s a b l e t o c o m p l e t e t w o a d d i t i o n a l s t e p s o f t h e r e a c h a b i l i t y

    c o m p u t a t i o n i n t h e t i m e a l l o t t e d c o m p a r e d t o V I S . S i m i l a r l y , f o r s 5 3 7 8 , o u r

    p r o t o t y p e i s f a s t e r t h a n V I S u p t o s t e p 6 , a n d i s a b l e t o c o m p l e t e 2 a d d i t i o n a l

    s t e p s i n t h e t i m e a l l o t t e d . A s c a n b e s e e n f r o m t h e C o l u m n s s h o w i n g M e m a n d

    P e a k , o u r a p p r o a c h s e e m s n o t t o b e m e m o r y b o u n d y e t , f o r t h e s e e x p e r i m e n t s .

    O n t h e o t h e r h a n d , V I S g e t s m e m o r y b o u n d i n t h e a l l o t t e d t i m e . F u r t h e r m o r e ,

    t h e n u m b e r o f b a c k t r a c k s i s a l s o w e l l u n d e r c o n t r o l , w i t h B D D B o u n d i n g b e i n g

    v e r y e e c t i v e i n p r u n i n g t h e S A T s e a r c h s p a c e . F o r a l l o u r e x p e r i m e n t s , t h e

    o v e r h e a d o f c o m p u t i n g t h e B D D B o u n d i n g i n f o r m a t i o n w a s n e g l i g i b l e .

  • 8/11/2019 10.1.1.86.1417

    16/18

    s1423

    Step #Reac hed T im e(s ) Peak Liv e T im e(s) Peak Liv e Leav es BoundB

    1 545 2 14308 2627 0.7 22484 249 2 12

    2 3345 2.5 19418 3847 4.9 31682 337 8 14

    3 55569 5.6 32704 4010 4.1 42924 550 9 18

    4 3.92E+05 14.1 35770 6766 5.6 50078 1352 13 22

    5 2.08E+06 39.4 55188 15773 8.4 50078 2629 9 19

    6 8.49E+06 81.4 74606 19824 11.6 64386 6562 12 20

    7 3.37E+07 391.7 17696 35849 20.8 82782 13061 10 19

    8 1.11E+08 867.4 320908 64126 27.4 123662 33262 8 17

    9 4.90E+08 3050 8 88118 199237 125.4 2 24840 93492 34 61

    10 1.68E+09 7991.3 1634178 413060 521.8 531440 253527 58 72

    11 7.99E+09 18705.2 4027702 650065 1357.1 1168146 585034 51 55

    12 2.30E+10 -- -- -- 2 100.8 4259696 1538532 33 44

    13 7.96E+10 -- -- -- 1 694.3 6865796 4098655 80 79

    5882.9 327 452

    Nano Trav CNF-BDD

    T a b l e 2 . R e s u l t s o n M e m o r y U s a g e f o r C i r c u i t s 1 4 2 3

    T o c o n t r a s t t h e m e m o r y r e q u i r e m e n t s o f o u r a p p r o a c h w i t h a s t a n d a r d p u r e l y

    B D D - b a s e d a p p r o a c h , w e c o n d u c t e d d e t a i l e d e x p e r i m e n t s f o r s 1 4 2 3 . A t t h i s t i m e ,

    w e w e r e n o t a b l e t o c h a n g e t h e V I S i n t e r f a c e i n o r d e r t o e x t r a c t t h e m e m o r y

    u s a g e s t a t i s t i c s w e n e e d e d . T h e r e f o r e , t h e s e e x p e r i m e n t s w e r e c o n d u c t e d u s i n g a

    s t a n d - a l o n e t r a v e r s a l p r o g r a m c a l l e d \ n a n o t r a v " , w h i c h i s d i s t r i b u t e d a l o n g w i t h

    t h e C U D D p a c k a g e 2 0 ] . I n g e n e r a l , n a n o t r a v p e r f o r m s w o r s e t h a n V I S , s i n c e

    i t d o e s n o t i n c l u d e s o p h i s t i c a t e d h e u r i s t i c s f o r e a r l y q u a n t i c a t i o n o r c l u s t e r i n g

    o f t h e p a r t i t i o n e d t r a n s i t i o n r e l a t i o n . T h i s l i m i t a t i o n d o e s a e c t t h e m e m o r y

    r e q u i r e m e n t s t o s o m e e x t e n t , b u t w e p r e s e n t T a b l e 2 m a i n l y t o s h o w t h e o v e r a l l

    t r e n d . I n t h i s t a b l e , t h e n u m b e r o f s t e p s a n d r e a c h e d s t a t e s i s s h o w n i n C o l u m n s

    1 a n d 2 . F o r n a n o t r a v , C o l u m n 3 r e p o r t s t h e C P U t i m e t a k e n ( i n s e c o n d s ) . T h e

    n u m b e r o f p e a k n o d e s a n d l i v e n o d e s a t t h e e n d o f e a c h i m a g e c o m p u t a t i o n a r e

    s h o w n i n C o l u m n s 4 a n d 5 , r e s p e c t i v e l y . C o l u m n s 6 , 7 , 8 r e p o r t t h e s a m e f o r

    o u r C N F - B D D a p p r o a c h . W e a l s o r e p o r t t h e n u m b e r o f B D D s a t S A T L e a v e s

    ( L e a v e s ) , a n d t h e n u m b e r o f b a c k t r a c k s d u e t o B D D B o u n d i n g ( B o u n d s ) i n

    C o l u m n s 9 a n d 1 0 , r e s p e c t i v e l y .

    A s c a n b e s e e n c l e a r l y f r o m t h i s t a b l e , t h e m e m o r y r e q u i r e m e n t s c o n t i n u e

    t o g r o w w i t h t h e n u m b e r o f s t e p s . H o w e v e r , t h i s g r o w t h i s a t a f a s t e r p a c e f o r

    n a n o t r a v t h a n i t i s f o r t h e C N F - B D D p r o t o t y p e . A t t h e 1 1 t h s t e p , t h e p e a k

    B D D n o d e s f o r n a n o t r a v a r e g r e a t e r t h a n f o r C N F - B D D b y a f a c t o r o f 4 . N o t

    s u r p r i s i n g l y , t h e C N F - B D D c a n c o m p l e t e t w o m o r e r e a c h a b i l i t y s t e p s i n a b o u t

    t h e s a m e t i m e . F u r t h e r m o r e , t h e C N F - B D D p r o t o t y p e i s s t i l l n o t l i m i t e d b y

    m e m o r y w h i l e p e r f o r m i n g t h e 1 4 t h s t e p , b u t i s f o r c e d t o t i m e o u t a f t e r 1 0 h o u r s .

  • 8/11/2019 10.1.1.86.1417

    17/18

    I n o u r a p p r o a c h , w e c a n t r a d e o b e t w e e n S A T s o l v e r s a n d B D D s b y d y -

    n a m i c a l l y c h a n g i n g t h e c o n d i t i o n s f o r t r i g g e r i n g B D D s a t S A T l e a v e s . H o w e v e r ,

    t h i s o n l y p r o v i d e s a m e m o r y - t i m e t r a d e o f o r t h e p u r p o s e o f i m a g e c o m p u t a -

    t i o n . I t d o e s n o t r e d u c e t h e m e m o r y r e q u i r e m e n t s i n u s i n g m o n o l i t h i c B D D s

    f o r r e p r e s e n t i n g s t a t e s e t s . A s d e s c r i b e d i n t h e e a r l i e r s e c t i o n s , o u r a p p r o a c h i s

    c o m p l e t e l y s u i t e d f o r h a n d l i n g s t a t e s e t s i n t h e f o r m o f d i s j u n c t i v e p a r t i t i o n s

    ( m u l t i p l e B D D s ) . W e a r e c u r r e n t l y w o r k i n g o n e x t e n d i n g o u r p r o t o t y p e i n t h i s

    d i r e c t i o n .

    9 C o n c l u s i o n s a n d O n g o i n g W o r k

    I n c o n c l u s i o n , w e h a v e p r e s e n t e d a n i n t e g r a t e d a l g o r i t h m f o r i m a g e c o m p u t a t i o n

    w h i c h c o m b i n e s t h e r e l a t i v e m e r i t s o f S A T s o l v e r s a n d B D D s , w h i l e a l l o w i n g

    a d y n a m i c i n t e r a c t i o n b e t w e e n t h e t w o . I n a d d i t i o n , t h e u s e o f a n e - g r a i n e d

    C N F f o r m u l a a l l o w e d u s t o e x p l o r e t h e b e n e t s o f e a r l y q u a n t i c a t i o n i n t h e

    B D D s u b p r o b l e m s . T h i s c a n p o t e n t i a l l y n d a p p l i c a t i o n i n p u r e l y B D D - b a s e d

    a p p r o a c h e s a s w e l l .

    A p a r t f r o m e x t e n d i n g o u r p r o t o t y p e t o h a n d l e o t h e r a p p l i c a t i o n s s u c h a s a p -

    p r o x i m a t e t r a v e r s a l , i n v a r i a n t c h e c k i n g a n d C T L m o d e l c h e c k i n g , a n u m b e r o f

    e n h a n c e m e n t s t o t h e b a s i c i m a g e c o m p u t a t i o n s t r a t e g y a r e p o s s i b l e . S p e c i c a l l y ,

    w e a r e c o n s i d e r i n g v a r i o u s f o r m s o f p a r t i t i o n i n g i n c l u d i n g d i s j u n c t i v e p a r t i t i o n -

    i n g o f t h e r e a c h e d s e t , e x p l o i t i n g d i s j o i n t p a r t i t i o n s i n t h e C N F f o r m u l a ( a n d

    m a x i m i z i n g t h i s e e c t t h r o u g h a p p r o p r i a t e v a r i a b l e s e l e c t i o n ) , a n d p a r t i t i o n -

    i n g t h e c i r c u i t s t r u c t u r a l l y . T h e S A T - B D D a p p r o a c h w o r k s b e s t w h e n i t h a s a

    l a r g e r e a c h e d s e t t o b o u n d a g a i n s t . W e a r e e x p e r i m e n t i n g w i t h t h e u s e o f a n

    u n d e r - a p p r o x i m a t e t r a v e r s a l a s a p r e p r o c e s s i n g s t e p t o g e n e r a t e a l a r g e r e a c h e d

    s e t , b e f o r e s t a r t i n g a n e x a c t t r a v e r s a l . S i m i l a r l y , t h e S A T - B D D f r a m e w o r k n a t u -

    r a l l y a l l o w s e x p l o r a t i o n o f v a r i o u s c o m b i n a t i o n s o f D F S , B F S , a n d h y b r i d s e a r c h

    t e c h n i q u e s t a r g e t e d a t n d i n g b u g s .

    R e f e r e n c e s

    1 . P . A . A b d u l l a , P . B j e s s e , a n d N . E e n . S y m b o l i c r e a c h a b i l i t y a n a l y s i s b a s e d o n

    S A T - s o l v e r s . I n T o o l s a n d A l g o r i t h m s f o r t h e A n a l y s i s a n d C o n s t r u c t i o n o f S y s t e m s

    ( T A C A S ) , 2 0 0 0 .

    2 . A . B i e r e , A . C i m a t t i , E . M . C l a r k e , a n d Y . Z h u . S y m b o l i c m o d e l c h e c k i n g w i t h o u t

    B D D s . I n T o o l s a n d A l g o r i t h m s f o r t h e A n a l y s i s a n d C o n s t r u c t i o n o f S y s t e m s

    ( T A C A S ) , v o l u m e 1 5 7 9 o f L e c t u r e N o t e s i n C o m p u t e r S c i e n c e , 1 9 9 9 .

    3 . R . K . B r a y t o n e t a l . V I S : A s y s t e m f o r v e r i c a t i o n a n d s y n t h e s i s . I n R . A l u r a n d

    T . H e n z i n g e r , e d i t o r s , P r o c e e d i n g s o f t h e I n t e r n a t i o n C o n f e r e n c e o n C o m p u t e r -

    A i d e d V e r i c a t i o n , v o l u m e 1 1 0 2 o f L e c t u r e N o t e s i n C o m p u t e r S c i e n c e , p a g e s 4 2 8 {

    4 3 2 , J u n e 1 9 9 6 .

    4 . R . E . B r y a n t . G r a p h - b a s e d a l g o r i t h m s f o r B o o l e a n f u n c t i o n m a n i p u l a t i o n . I E E E

    T r a n s a c t i o n s o n C o m p u t e r s , C - 3 5 ( 8 ) : 6 7 7 { 6 9 1 , A u g . 1 9 8 6 .

    5 . J . B u r c h a n d V . S i n g h a l . T i g h t i n t e g r a t i o n o f c o m b i n a t i o n a l v e r i c a t i o n m e t h o d s .

    I n P r o c e e d i n g s o f t h e I n t e r n a t i o n a l C o n f e r e n c e o n C o m p u t e r - A i d e d D e s i g n , p a g e s

    5 7 0 { 5 7 6 , 1 9 9 8 .

  • 8/11/2019 10.1.1.86.1417

    18/18

    6 . J . R . B u r c h , E . M . C l a r k e , a n d D . E . L o n g . R e p r e s e n t i n g c i r c u i t s m o r e e c i e n t l y

    i n s y m b o l i c m o d e l c h e c k i n g . I n P r o c e e d i n g s o f t h e 2 8 t h D e s i g n A u t o m a t i o n C o n -

    f e r e n c e , p a g e s 4 0 3 { 4 0 7 , J u n e 1 9 9 1 .

    7 . J . R . B u r c h , E . M . C l a r k e , D . E . L o n g , K . L . M c M i l l a n , a n d D . L . D i l l . S y m b o l i c

    m o d e l c h e c k i n g f o r s e q u e n t i a l c i r c u i t v e r i c a t i o n . I E E E T r a n s a c t i o n s o n C o m p u t e r -

    A i d e d D e s i g n , 1 3 ( 4 ) : 4 0 1 { 4 2 4 , A p r . 1 9 9 4 .

    8 . G . C a b o d i , P . C a m u r a t i , a n d S . Q u e r . I m p r o v i n g t h e e c i e n c y o f B D D - b a s e d

    o p e r a t o r s b y m e a n s o f p a r t i t i o n i n g . I E E E T r a n s a c t i o n s o n C o m p u t e r - A i d e d D e s i g n

    o f I n t e g r a t e d C i r c u i t s a n d S y s t e m s , 1 8 ( 5 ) : 5 4 5 { 5 5 6 , M a y 1 9 9 9 .

    9 . O . C o u d e r t , C . B e r t h e t , a n d J . C . M a d r e . V e r i c a t i o n o f s y n c h r o n o u s s e q u e n t i a l

    m a c h i n e s u s i n g s y m b o l i c e x e c u t i o n . I n P r o c e e d i n g s o f t h e I n t e r n a t i o c a l W o r k s h o p

    o n A u t o m a t i c V e r i c a t i o n M e t h o d s f o r F i n i t e S t a t e S y s t e m s , v o l u m e 4 0 7 o f L e c t u r e

    N o t e s i n C o m p u t e r S c i e n c e , p a g e s 3 6 5 { 3 7 3 , J u n e 1 9 8 9 .

    1 0 . M . D a v i s a n d H . P u t n a m . A c o m p u t i n g p r o c e d u r e f o r q u a n t i c a t i o n t h e o r y . J o u r -

    n a l o f t h e A C M , 7 : 2 0 1 { 2 0 5 , 1 9 6 0 .

    1 1 . D . G e i s t a n d I . B e e r . E c i e n t m o d e l c h e c k i n g b y a u t o m a t i c o r d e r i n g o f t r a n s i t i o n

    r e l a t i o n p a r t i t i o n s . I n P r o c e e d i n g s o f t h e I n t e r n a t i o n C o n f e r e n c e o n C o m p u t e r -

    A i d e d V e r i c a t i o n , v o l u m e 8 1 8 o f L e c t u r e N o t e s i n C o m p u t e r S c i e n c e , p a g e s 2 9 9 {

    3 1 0 , 1 9 9 4 .

    1 2 . A . G u p t a a n d P . A s h a r . I n t e g r a t i n g a B o o l e a n s a t i s a b i l i t y c h e c k e r a n d B D D s f o r

    c o m b i n a t i o n a l v e r i c a t i o n . I n P r o c e e d i n g s o f t h e V L S I D e s i g n C o n f e r e n c e , J a n .

    1 9 9 8 .

    1 3 . T . L a r r a b e e . T e s t p a t t e r n g e n e r a t i o n u s i n g B o o l e a n s a t i s a b i l i t y . I E E E T r a n s a c -

    t i o n s o n C o m p u t e r - A i d e d D e s i g n o f I n t e g r a t e d C i r c u i t s a n d S y s t e m s , 1 1 ( 1 ) : 4 { 1 5 ,

    J a n . 1 9 9 2 .

    1 4 . J . P . M a r q u e s - S i l v a . S e a r c h A l g o r i t h m s f o r S a t i s a b i l i t y P r o b l e m s i n C o m b i n a t i o n a l

    S w i t c h i n g C i r c u i t s . P h D t h e s i s , E E C S D e p a r t m e n t , U n i v e r s i t y o f M i c h i g a n , M a y

    1 9 9 5 .

    1 5 . J . P . M a r q u e s - S i l v a a n d K . A . S a k a l l a h . G r a s p : A n e w s e a r c h a l g o r i t h m f o r s a t i s -

    a b i l i t y . I n P r o c e e d i n g s o f t h e I n t e r n a t i o n a l C o n f e r e n c e o n C o m p u t e r - A i d e d D e s i g n ,

    p a g e s 2 2 0 { 2 2 7 , N o v . 1 9 9 6 .

    1 6 . J . P . M a r q u e z - S i l v a . G r a s p p a c k a g e . h t t p : / / a l g o s . i n e s c . p t / ~ j p m s / s o f t w a r e . h t m l .

    1 7 . I . - H . M o o n , J . K u k u l a , K . R a v i , a n d F . S o m e n z i . T o s p l i t o r t o c o n j o i n : T h e q u e s -

    t i o n i n i m a g e c o m p u t a t i o n . I n P r o c e e d i n g s o f t h e D e s i g n A u t o m a t i o n C o n f e r e n c e ,

    p a g e s 2 3 { 2 8 , J u n e 2 0 0 0 .

    1 8 . A . N a r a y a n , A . J . I s l e s , J . J a i n , R . K . B r a y t o n , a n d A . S a n g i o v a n n i - V i n c e n t e l l i .

    R e a c h a b i l i t y a n a l y s i s u s i n g p a r t i t i o n e d R O B D D s . I n P r o c e e d i n g s o f t h e I n t e r n a -

    t i o n a l C o n f e r e n c e o n C o m p u t e r - A i d e d D e s i g n , p a g e s 3 8 8 { 3 9 3 , 1 9 9 7 .

    1 9 . R . K . R a n j a n , A . A z i z , R . K . B r a y t o n , B . F . P l e s s i e r , a n d C . P i x l e y . E c i e n t

    B D D a l g o r i t h m s f o r F S M s y n t h e s i s a n d v e r i c a t i o n . I n I n t e r n a t i o n a l W o r k s h o p

    f o r L o g i c S y n t h e s i s , M a y 1 9 9 5 . L a k e T a h o e , C A .

    2 0 . F . S o m e n z i e t a l . C U D D : U n i v e r s i t y o f C o l o r a d o D e c i s i o n D i a g r a m P a c k a g e .

    h t t p : / / v l s i . c o l o r a d o . e d u / ~ f a b i o / C U D D / .

    2 1 . H . J . T o u a t i , H . S a v o j , B . L i n , R . K . B r a y t o n , a n d A . S a n g i o v a n n i - V i n c e n t e l l i .

    I m p l i c i t s t a t e e n u m e r a t i o n o f n i t e s t a t e m a c h i n e s u s i n g B D D s . I n P r o c e e d i n g s o f

    t h e I n t e r n a t i o n a l C o n f e r e n c e o n C o m p u t e r - A i d e d D e s i g n , p a g e s 1 3 0 { 1 3 3 , 1 9 9 0 .

    2 2 . P . W i l l i a m s , A . B i e r e , E . M . C l a r k e , a n d A . G u p t a . C o m b i n i n g d e c i s i o n d i a g r a m s

    a n d S A T p r o c e d u r e s f o r e c i e n t s y m b o l i c m o d e l c h e c k i n g . I n P r o c e e d i n g s o f t h e

    I n t e r n a t i o n C o n f e r e n c e o n C o m p u t e r - A i d e d V e r i c a t i o n , v o l u m e 1 8 5 5 o f L e c t u r e

    N o t e s i n C o m p u t e r S c i e n c e , p a g e s 1 2 4 { 1 3 8 , 2 0 0 0 .