View
218
Download
0
Category
Preview:
Citation preview
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
1/19
F a s t e r M a x i m u m a n d M i n i m u m
M e a n C y c l e A l g o r i t h m s f o r
S y s t e m P e r f o r m a n c e A n a l y s i s
A l i D a s d a n
y
a n d R a j e s h K . G u p t a
z
T e c h n i c a l R e p o r t 9 7 - 0 7
F e b r u a r y 1 9 9 7
y
D e p a r t m e n t o f C o m p u t e r S c i e n c e
U n i v e r s i t y o f I l l i n o i s a t U r b a n a - C h a m p a i g n
U r b a n a , I L 6 1 8 0 1
E - m a i l : d a s d a n @ c s . u i u c . e d u
z
D e p a r t m e n t o f I n f o r m a t i o n a n d C o m p u t e r S c i e n c e
U n i v e r s i t y o f C a l i f o r n i a , I r v i n e , C A 9 2 6 9 7
E - m a i l : r g u p t a @ i c s . u c i . e d u
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
2/19
F a s t e r M a x i m u m a n d M i n i m u m
M e a n C y c l e A l g o r i t h m s f o r
S y s t e m P e r f o r m a n c e A n a l y s i s
A l i D a s d a n
D e p a r t m e n t o f C o m p u t e r S c i e n c e
U n i v e r s i t y o f I l l i n o i s a t U r b a n a - C h a m p a i g n
1 3 0 4 W . S p r i n g e l d A v e . , U r b a n a , I L 6 1 8 0 1
E - m a i l : d a s d a n @ c s . u i u c . e d u
R a j e s h K . G u p t a
D e p a r t m e n t o f I n f o r m a t i o n a n d C o m p u t e r S c i e n c e , 2 0 8 B I E R F
U n i v e r s i t y o f C a l i f o r n i a
I r v i n e , C A 9 2 6 9 7 - 3 4 2 5
E - m a i l : r g u p t a @ i c s . u c i . e d u
A b s t r a c t
M a x i m u m a n d m i n i m u m m e a n c y c l e p r o b l e m s a r e i m p o r t a n t p r o b l e m s w i t h m a n y a p p l i c a -
t i o n s i n p e r f o r m a n c e a n a l y s i s o f s y n c h r o n o u s a n d a s y n c h r o n o u s d i g i t a l s y s t e m s i n c l u d i n g r a t e
a n a l y s i s o f e m b e d d e d s y s t e m s , i n d i s c r e t e - e v e n t s y s t e m s , a n d i n g r a p h t h e o r y . K a r p ' s a l g o r i t h m
i s o n e o f t h e f a s t e s t a n d c o m m o n e s t a l g o r i t h m s f o r b o t h o f t h e s e p r o b l e m s . W e p r e s e n t t h i s
p a p e r m a i n l y i n t h e c o n t e x t o f t h e m a x i m u m m e a n c y c l e p r o b l e m . W e s h o w t h a t K a r p ' s a l -
g o r i t h m p r o c e s s e s m o r e v e r t i c e s a n d a r c s t h a n n e e d e d t o n d t h e m a x i m u m c y c l e m e a n o f a
d i g r a p h . T h i s o b s e r v a t i o n m o t i v a t e d u s t o p r o p o s e a n e w g r a p h u n f o l d i n g s c h e m e t h a t r e m e d i e s
t h i s d e c i e n c y a n d l e a d s t o t h r e e f a s t e r a l g o r i t h m s w i t h d i e r e n t c h a r a c t e r i s t i c s . A s y m p t o t i c
a n a l y s i s t e l l s u s t h a t o u r a l g o r i t h m s a l w a y s r u n f a s t e r t h a n K a r p ' s a l g o r i t h m . E x p e r i m e n t s o n
b e n c h m a r k g r a p h s c o n r m t h i s f a c t f o r m o s t o f t h e g r a p h s . L i k e K a r p ' s a l g o r i t h m , t h e y a r e a l s o
a p p l i c a b l e t o b o t h t h e m a x i m u m a n d m i n i m u m m e a n c y c l e p r o b l e m s . M o r e o v e r , o n e o f t h e m i s
a m o n g t h e f a s t e s t t o d a t e .
1
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
3/19
I . I n t r o d u c t i o n
T h e a v e r a g e w e i g h t o f a d i r e c t e d c y c l e i s t h e t o t a l w e i g h t o f t h e a r c s o n t h e c y c l e d i v i d e d b y
t h e t o t a l n u m b e r o f t h e a r c s o n t h e c y c l e , a n d i s c a l l e d t h e c y c l e m e a n . T h e m a x i m u m m e a n c y c l e
p r o b l e m f o r a d i r e c t e d g r a p h d i g r a p h w i t h c y c l e s i s t o n d a c y c l e h a v i n g t h e m a x i m u m a v e r a g e
w e i g h t , c a l l e d t h e m a x i m u m c y c l e m e a n , o v e r a l l d i r e c t e d c y c l e s i n t h e g r a p h . S u c h a c y c l e i s
c a l l e d a c r i t i c a l c y c l e . T h e m i n i m u m m e a n c y c l e p r o b l e m a n d t h e m i n i m u m c y c l e m e a n a r e
d e n e d a n a l o g o u s l y . B o t h o f t h e s e p r o b l e m s h a v e m a n y i m p o r t a n t a p p l i c a t i o n s i n p e r f o r m a n c e
a n a l y s i s o f d i g i t a l s y s t e m s , i n d i s c r e t e - e v e n t s y s t e m s , a n d i n g r a p h t h e o r y . F o r i n s t a n c e , s o m e
o f t h e u s e s i n p e r f o r m a n c e a n a l y s i s t h a t a r e m o r e r e l e v a n t t o o u r s t u d y a r e a s f o l l o w s . T h e
m i n i m u m m e a n c y c l e p r o b l e m h a s a p p l i c a t i o n s i n n d i n g t h e c y c l e p e r i o d i n a n a s y n c h r o n o u s
s y s t e m 1 , 2 , a n d i n d a t a - o w p a r t i t i o n i n g o f s y n c h r o n o u s s y s t e m s 3 ; t h e m a x i m u m m e a n c y c l e
p r o b l e m h a s a p p l i c a t i o n s i n n d i n g t h e i t e r a t i o n b o u n d o f a d a t a - o w g r a p h f o r d i g i t a l s i g n a l
p r o c e s s i n g 4 , i n p e r f o r m a n c e a n a l y s i s o f s y n c h r o n o u s , a s y n c h r o n o u s , o r m i x e d s y s t e m s 5 , a n d
i n r a t e a n a l y s i s f o r e m b e d d e d s y s t e m s 6 .
T h e a p p l i c a t i o n i n r a t e a n a l y s i s f o r e m b e d d e d s y s t e m s i s t h e r e a s o n t h a t w e h a v e b e c o m e
i n t e r e s t e d i n t h e m a x i m u m m e a n c y c l e p r o b l e m . W e h a v e r e c e n t l y p r o p o s e d a f r a m e w o r k f o r
a n i n t e r a c t i v e a n a l y s i s o f r a t e c o n s t r a i n t s a n d d e b u g g i n g o f t h e i r v i o l a t i o n s i n a n e m b e d d e d
s y s t e m 6 . R a t e c o n s t r a i n t s a r e o f t e n i m p o s e d b y d e s i g n e r s o n t h e e x e c u t i o n r a t e o f e a c h p r o c e s s
i n t h e s y s t e m i n o r d e r t o e n s u r e c o r r e c t t i m i n g b e h a v i o r a n d a c h i e v e p e r f o r m a n c e g o a l s . T h e s e
c o n s t r a i n t s a r e u s u a l l y p l a c e d u n d e r a n o v e r a l l v i e w o f t h e s y s t e m a n d i n a n a d h o c m a n n e r . A s
t h e d e s i g n g o e s a l o n g , i t b e c o m e s m o r e a n d m o r e d i c u l t f o r t h e s y s t e m t o c o n f o r m t o t h e s e
c o n s t r a i n t s . D u e t o d i v e r s e i n t e r a c t i o n s o f t h e p r o c e s s e s i n t h e s y s t e m w i t h o n e a n o t h e r a n d t h e
s y s t e m ' s e n v i r o n m e n t , s y n t h e s i z i n g e v e n o n e p r o c e s s c a n c r e a t e c o n s t r a i n t v i o l a t i o n s f o r a l l t h e
o t h e r p r o c e s s e s . D e s i g n e r s m a y n e e d t o m a k e r e n e m e n t s a s v i o l a t i o n s o c c u r . H o w e v e r , s p o t t i n g
t h e s e v i o l a t i o n s a n d d e b u g g i n g t h e m a r e t e d i o u s a n d d i c u l t t a s k s d u e t o t h e c o m p l e x i t y a n d s i z e
o f c u r r e n t d e s i g n s , t h e n u m b e r o f r e n e m e n t s n e e d e d , a n d s o o n . O u r f r a m e w o r k a u t o m a t e s t h i s
w h o l e p r o c e s s . T h e f r a m e w o r k i n c l u d e s m o d u l e s t o c h e c k t h e c o n s i s t e n c y o f t h e i m p o s e d r a t e
c o n s t r a i n t s , c o m p u t e t h e e x e c u t i o n r a t e o f e a c h p r o c e s s r a t e a n a l y s i s , c o m p a r e t h e i m p o s e d
a n d c o m p u t e d r a t e s t o c h e c k s a t i s a b i l i t y o r f o r p o s s i b l e c o n s t r a i n t v i o l a t i o n s , o u t p u t u s e f u l
i n f o r m a t i o n t o h e l p t h e d e s i g n e r i n c a s e o f v i o l a t i o n s . T h i s u s e f u l i n f o r m a t i o n i s u s u a l l y i n
t h e f o r m o f c r i t i c a l c y c l e s , w h i c h a r e a b y p r o d u c t o f a m a x i m u m m e a n c y c l e a l g o r i t h m . T h e
i n t e r a c t i v e n a t u r e o f t h i s f r a m e w o r k r e q u i r e s i t t o b e v e r y f a s t . T h e m o s t t i m e c o n s u m i n g p a r t i s
t h e r a t e a n a l y s i s p a r t , a n d t h e r a t e a n a l y s i s p a r t u s e s a m a x i m u m m e a n c y c l e a l g o r i t h m . E v e n
a s m a l l i m p r o v e m e n t i n r u n n i n g t i m e o f t h e m a x i m u m m e a n c y c l e a l g o r i t h m e m p l o y e d c a n p a y
o a l o t a s t h e t i m e s a v e d c a n a c c u m u l a t e t o b i g g a i n s b e c a u s e t h e n u m b e r o f r e n e m e n t s o r
i t e r a t i o n s t o c a r r y o u t s u c h a c o n s t r a i n t - d r i v e n d e s i g n o f e m b e d d e d s y s t e m s i s n o t k n o w n i n
a d v a n c e a n d c a n p o t e n t i a l l y b e l a r g e .
T h e r e a r e m a n y a l g o r i t h m s p r o p o s e d f o r t h e m i n i m u m m e a n c y c l e p r o b l e m , e . g . , 1 , 7 , 8 ,
9 , 1 0 , 1 1 . A m o r e c o m p l e t e l i s t i s g i v e n i n 7 . I n t h i s p a p e r , w e f o c u s o n K a r p ' s a l g o r i t h m 8
a m o n g t h e m b e c a u s e o f t h r e e r e a s o n s : 1 i t h a s o n e o f t h e b e s t a s y m p t o t i c r u n n i n g t i m e s , 2
i t a l s o w o r k s f o r t h e m a x i m u m m e a n c y c l e p r o b l e m a s p r o v e d i n 1 2 , a n d 3 i t i s u s u a l l y
t h e a l g o r i t h m o f c h o i c e 3 , 4 , 5 . O r i g i n a l l y , K a r p 8 g a v e a t h e o r e m K a r p ' s t h e o r e m t o
c h a r a c t e r i z e t h e m i n i m u m c y c l e m e a n i n a d i g r a p h a n d a n a l g o r i t h m t o c o m p u t e i t e c i e n t l y .
A l t h o u g h t h e r u n n i n g t i m e o f K a r p ' s a l g o r i t h m i s g i v e n i n 8 a s O n m f o r a s t r o n g l y c o n n e c t e d
d i g r a p h w i t h n n o d e s a n d m a r c s , i t s a c t u a l r u n n i n g t i m e i s n m , i . e . , i t s b e s t a n d w o r s t c a s e
r u n n i n g t i m e s a r e t h e s a m e , a s a l s o o b s e r v e d i n 7 , 1 1 . I n t h i s p a p e r , K a r p ' s t h e o r e m a n d
2
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
4/19
a l g o r i t h m r e f e r t o t h e i r m a x i m u m m e a n c y c l e f o r m s a s d e n e d i n 1 2 .
I n t h i s p a p e r , w e p r o p o s e a g r a p h u n f o l d i n g s c h e m e f o r t h e m a x i m u m m e a n c y c l e p r o b l e m .
T h i s s c h e m e i s a l s o a p p l i c a b l e t o t h e m i n i m u m m e a n c y c l e p r o b l e m . T h e p r o p o s e d s c h e m e
l e a d s t o t h r e e n e w a l g o r i t h m s . T h e s e a l g o r i t h m s h a v e d i e r e n t c h a r a c t e r i s t i c s i n t e r m s o f a c -
t u a l r u n n i n g t i m e , a s y m p t o t i c r u n n i n g t i m e , d a t a s t r u c t u r e s , a n d i m p l e m e n t a t i o n c o m p l e x i t y .
W e e v a l u a t e t h e s e a l g o r i t h m s u s i n g a s y m p t o t i c a n a l y s i s a n d r u n n i n g e x p e r i m e n t s o n b e n c h m a r k
g r a p h s . A s y m p t o t i c a n a l y s i s t e l l s u s t h a t o u r a l g o r i t h m s a r e a l w a y s f a s t e r t h a n K a r p ' s a l g o r i t h m .
E x p e r i m e n t a l r e s u l t s v a l i d a t e s t h i s f a c t f o r m o s t o f t h e t e s t c a s e s i n p r a c t i c e . T h e m a i n c o n t r i -
b u t i o n o f t h i s p a p e r i s t h e a p p l i c a t i o n o f o u r u n f o l d i n g s c h e m e t o t h e m a x i m u m a n d m i n i m u m
m e a n c y c l e p r o b l e m s a n d t h e a l g o r i t h m s i t y i e l d s .
T h e r e s t o f t h e 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 . x I I g i v e s t h e n e c e s s a r y d e n i t i o n s a n d o u r
n o t a t i o n . x I I I d i s c u s s e s K a r p ' s t h e o r e m a n d K a r p ' s a l g o r i t h m i n d e t a i l . T h e n , w e m o t i v a t e
o u r a p p r o a c h o n a n e x a m p l e g r a p h i n x I V . O u r u n f o l d i n g s c h e m e i s d i s c u s s e d i n d e t a i l i n x V
W e e x p l a i n t h e d e t a i l s o f o u r a l g o r i t h m s i n x V I . U n f o l d i n g g e n e r a t e s a g r a p h c a l l e d u n f o l d e d
g r a p h , a n d t h e r u n n i n g t i m e o f o u r a l g o r i t h m s d e p e n d s o n t h e s i z e o f t h a t g r a p h . x V I I d e v e l o p s
b o u n d s o n t h e s i z e o f t h e u n f o l d e d g r a p h . U s i n g t h e s e b o u n d s , w e w o r k o u t t h e t i m e a n d s p a c e
c o m p l e x i t y a n a l y s i s o f e a c h a l g o r i t h m i n x V I I I . W e n e x t d i s c u s s o u r e x p e r i m e n t s o n b e n c h m a r k
g r a p h s a n d t h e i r r e s u l t s i n x I X . F i n a l l y , w e c o n c l u d e t h i s p a p e r i n x X
I I . D e f i n i t i o n s a n d N o t a t i o n
L e t G = V ; E b e a d i g r a p h w h e r e t h e v e r t e x s e t V h a s n v e r t i c e s a n d t h e a r c s e t E h a s m
a r c s . E a c h a r c e = u ; v f r o m v e r t e x u t o v e r t e x v h a s a w e i g h t w e = w u ; v . W e a l l o w G t o
h a v e s e l f - l o o p s , i . e . , a r c s f r o m a n d t o t h e s a m e v e r t e x ; t h u s , m c a n b e e q u a l t o n
2
. W e u s e t h e
a d j a c e n c y - l i s t r e p r e s e n t a t i o n o f G w i t h t w o a r r a y s , A d j I n a n d A d j O u t , w h e r e e a c h a r r a y h a s n
l i s t s , o n e f o r e a c h v e r t e x i n V . T h e l i s t A d j I n v f o r v e r t e x v c o n t a i n s a l l t h e p r e d e c e s s o r s o f v ,
i . e . , a l l t h o s e v e r t i c e s u s u c h t h a t t h e r e i s a n a r c u ; v i n E . S i m i l a r l y , t h e l i s t A d j O u t v f o r
v e r t e x v c o n t a i n s a l l t h e s u c c e s s o r s o f v , i . e . , a l l t h o s e v e r t i c e s u s u c h t h a t t h e r e i s a n a r c v ; u
i n E
A p a t h o f l e n g t h k f r o m v e r t e x u t o v e r t e x u
0
i s a s e q u e n c e v
0
; v
1
; : : : ; v
k
o f v e r t i c e s s u c h
t h a t u = v
0
, u
0
= v
k
, a n d v
i , 1
; v
i
2 E f o r i = 1 ; 2 ; : : : ; k . T h e w e i g h t w p o f p a t h p i s t h e
s u m o f t h e w e i g h t s o f t h e a r c s i n p . A p a t h v
0
; v
1
; : : : ; v
k
i s a c y c l e i f v
0
= v
k
. T h e m e a n
w e i g h t C o f a c y c l e C o f l e n g t h k i s d e n e d a s w C = k . T h e m e a n w e i g h t o f a c y c l e g i v e s
t h e a v e r a g e w e i g h t o f e a c h a r c o n t h e c y c l e . T h e m a x i m u m c y c l e m e a n
o f a d i g r a p h G i s
e q u a l t o m a x
C
f C g w h e r e C r a n g e s o v e r a l l d i r e c t e d c y c l e s i n G . T h e m i n i m u m c y c l e m e a n
i s d e n e d a n a l o g o u s l y . A c y c l e w h o s e m e a n w e i g h t e q u a l s t h e m a x i m u m c y c l e m e a n i s c a l l e d a
c r i t i c a l c y c l e . W e a d o p t t h e f o l l o w i n g c o n v e n t i o n s a s i n 7 : 1 t h e m a x i m u m o v e r a n e m p t y s e t
i s , 1 ; 2 , 1 + w = , 1 f o r a n y w , 3 , 1 + 1 = 0 . B y t h e r s t c o n v e n t i o n , w e a s s u m e t h a t
t h e i n p u t g r a p h s i n t h i s p a p e r h a v e a t l e a s t o n e a r c . 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 v e r y l a r g e
r e a l n u m b e r t o r e p r e s e n t 1 , w h i c h e x p l a i n s w h y t h e t h i r d c o n v e n t i o n h o l d s .
I I I . K a r p ' s T h e o r e m a n d A l g o r i t h m
L e t G b e a s t r o n g l y c o n n e c t e d d i g r a p h a n d s b e a n a r b i t r a r y v e r t e x t h e s o u r c e . F o r e v e r y
v 2 V a n d e v e r y n o n n e g a t i v e i n t e g e r k , d e n e D
k
v a s t h e m a x i m u m w e i g h t o f a p a t h o f l e n g t h
k f r o m s t o v ; i f n o s u c h p a t h e x i s t s , t h e n D
k
v = , 1 . T h e n , t h e m a x i m u m c y c l e m e a n
o f
G i s g i v e n b y t h e f o l l o w i n g t h e o r e m . I t s p r o o f c a n b e f o u n d i n 8 , 1 2 .
3
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
5/19
T h e o r e m 1 : K a r p ' s T h e o r e m T h e m a x i m u m c y c l e m e a n
o f G i s g i v e n b y
= m a x
v 2 V
m i n
0 k n , 1
D
n
v , D
k
v
n , k
1
I f G i s n o t s t r o n g l y c o n n e c t e d , t h e n w e c a n n d t h e m a x i m u m c y c l e m e a n b y n d i n g t h e
s t r o n g l y c o n n e c t e d c o m p o n e n t s o f G i n l i n e a r t i m e , d e t e r m i n i n g t h e m a x i m u m c y c l e m e a n f o r
e a c h c o m p o n e n t , a n d t h e n t a k i n g t h e l a r g e s t o f t h e s e a s t h e m a x i m u m c y c l e m e a n o f G . U n l e s s
s t a t e d o t h e r w i s e , w e c o n s i d e r o n l y s t r o n g l y c o n n e c t e d g r a p h s h e n c e f o r t h .
I n 8 , K a r p ' s a l g o r i t h m i s g i v e n b y t h e f o l l o w i n g r e c u r r e n c e f o r D
k
v :
D
k
v = m a x
u v 2 E
D
k , 1
u + w u ; v ; k = 1 ; 2 ; : : : ; n 2
w i t h t h e i n i t i a l c o n d i t i o n s D
0
s = 0 a n d D
0
v = , 1 , v 6= s . T h i s i s a l s o t h e f o r m u s e d i n
o t h e r w o r k s , e . g . , 7 , 1 3 , 1 4 . W e g i v e t h e a l g o r i t h m i n F i g . 1 , c a l l e d K a r p ' s a l g o r i t h m , t o
c o m p u t e
b a s e d o n t h i s r e c u r r e n c e . T h e a l g o r i t h m m a i n l y l l s t h e e n t r i e s o f a n a r r a y o f s i z e
n + 1 n , c a l l e d t h e t a b l e a n d l a b e l e d D , s u c h t h a t D k ; v = D
k
v f o r k = 0 ; 1 ; : : : ; n a n d
v 2 V . W e s a y t h a t r o w k o f D r e p r e s e n t s t h e k t h l e v e l o r l e v e l k
F o r s i m p l i c i t y , w e p r e s e n t t h i s a l g o r i t h m a n d o u r a l g o r i t h m s i n t h r e e p a r t s : h e a d , b o d y , a n d
t a i l . T h e s e p a r t s a l m o s t a l w a y s r e a l i z e t h e s a m e g o a l s f o r a l l t h e a l g o r i t h m s . B e l o w w e e x p l a i n
K a r p ' s a l g o r i t h m i n d e t a i l . M a n y p o i n t s w i l l a l s o a p p l y t o o u r a l g o r i t h m s .
T h e h e a d i n i t i a l i z e s e a c h t a b l e e n t r y w i t h , 1 a n d d e t e r m i n e s t h e s o u r c e . N o t e t h a t , 1 i s
b o t h t h e i d e n t i t y f o r t h e m a x o p e r a t i o n a n d i s a a g t o i n d i c a t e t h e l a c k o f a p a t h . I n c a s e o f
K a r p ' s a l g o r i t h m , w e s e l e c t t h e r s t v e r t e x o f t h e v e r t e x l i s t a s t h e s o u r c e d e n o t e d s b e c a u s e t h e
s o u r c e c a n b e a n a r b i t r a r y v e r t e x a s g u a r a n t e e d b y K a r p ' s t h e o r e m . M o r e o v e r , K a r p ' s a l g o r i t h m
t a k e s t h e s a m e t i m e r e g a r d l e s s o f t h e i d e n t i t y o f t h e s o u r c e . T h e l e n g t h o f t h e p a t h f r o m s t o
i t s e l f , D 0 ; s , i s s e t t o 0 , a n d t h e e n d o f t h e p r e d e c e s s o r l i s t , 0 ; s , i s s e t t o N I L . W e l a t e r u s e
t h e a r r a y t o c o n s t r u c t c r i t i c a l c y c l e s .
T h e b o d y n d s D
k
v f o r e a c h v e r t e x v 2 V a n d e a c h k = 1 ; 2 ; : : : ; n , a n d c o n s t r u c t s t h e
p r e d e c e s s o r l i s t s i n . T h e b o d y b a s i c a l l y u s e s t h e r e c u r r e n c e i n E q . 2 . T h a t i s , f o r e a c h v e r t e x v ,
i t c h e c k s e v e r y p r e d e c e s s o r u o f v l i n e 7 , a n d c o m p u t e s D
k
v a s D
k
v = m a x f D
k
v ; D
k , 1
u +
w u ; v g l i n e s 8 - 9 . I f D
k
v h a p p e n s t o b e u p d a t e d d u e t o a p r e d e c e s s o r u , u i s a l s o d e s i g n a t e d
a s t h e p r e d e c e s s o r o f v i n t h e p r e d e c e s s o r l i s t s l i n e 1 0 .
T h e t a i l n i s h e s u p t h e w o r k b y c o m p u t i n g E q . 1 . F o r e a c h v e r t e x v , i t c o m p u t e s t h e f r a c t i o n
i n E q . 1 f o r e a c h k = 0 ; 1 ; : : : ; n , 1 , t a k e s t h e m i n i m u m o f a l l t h e s e f r a c t i o n s c o r r e s p o n d i n g t o
t h e m i n o p e r a t i o n i n E q . 1 , a n d s t o r e s t h e r e s u l t i n M v . T h e p a r t i c u l a r k t h a t l e a d s t o t h e
m i n i m u m i n M v i s a l s o r e c o r d e d i n K v , w h i c h w i l l b e u s e f u l f o r c r i t i c a l c y c l e c o n s t r u c t i o n .
A s f o r t h e m a x o p e r a t i o n i n E q . 1 , t h e t a i l c h e c k s M v a s t h e y a r e c o m p u t e d a n d u p d a t e s
l i n e s 1 8 - 1 9 . T h e o f l i n e 2 1 i s t h e m a x i m u m c y c l e m e a n
. T h e v e r t e x t h a t l e a d s t o
i s
a l s o s t o r e d i n v
f o r l a t e r r e f e r e n c e i n c r i t i c a l c y c l e c o n s t r u c t i o n .
I V . M o t i v a t i o n
W e g i v e t h e e x a m p l e d i g r a p h i n F i g . 2 t o i l l u s t r a t e K a r p ' s a l g o r i t h m a s w e l l a s b a s e o u r
m o t i v a t i o n o n . T h e d i g r a p h i n F i g . 2 a i s t h e i n p u t g r a p h w i t h 4 v e r t i c e s a n d 5 a r c s . T h e
d i a g r a m i n F i g . 2 b p r e s e n t s h o w t h e a l g o r i t h m w o r k s s t a r t i n g f r o m t h e s o u r c e s a n d g i v e s t h e
t a b l e e n t r i e s . E a c h r o w c o l u m n o f c i r c l e s c o r r e s p o n d s t o a r o w c o l u m n o f t h e t a b l e w h e r e e a c h
r o w i s i d e n t i e d b y a n i n t e g e r a n d e a c h c o l u m n b y a v e r t e x . T h e s y m b o l r e p r e s e n t s , 1 . T h e
n u m b e r s j u s t t o t h e r i g h t o f e a c h c i r c l e r e p r e s e n t t h e v a l u e s s t o r e d a t t h e c o r r e s p o n d i n g t a b l e
4
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
6/19
I n p u t : A s t r o n g l y c o n n e c t e d d i g r a p h G = V E
O u t p u t
o f G
* H e a d *
1 f o r e a c h l e v e l k k = 0 1 ; : : : ; n d o
2 f o r e a c h v e r t e x v 2 V d o
3 D k v , 1
4 D 0 s 0 0 s N I L * s i s a n y v e r t e x i n V *
* B o d y *
5 f o r e a c h l e v e l k k = 1 2 ; : : : ; n d o
6 f o r e a c h v e r t e x v 2 V d o
7 f o r e a c h p r e d e c e s s o r v e r t e x u 2 A d j I n v d o
8 i f D k v D k , 1 u + w u v t h e n
9 D k v D k , 1 u + w u v * m a x *
1 0 k v u
* T a i l *
1 1 , 1
1 2 f o r e a c h v e r t e x v 2 V d o
1 3 M v + 1 * t h e i d e n t i t y f o r m i n *
1 4 f o r e a c h l e v e l k k = 0 1 ; : : : ; n , 1 d o
1 5 i f M v D n v , D k v = n , k t h e n
1 6 M v D n v , D k v = n , k * m i n *
1 7 K v k
1 8 i f M v t h e n
1 9 M v * m a x *
2 0 v
v
2 1 r e t u r n
F i g . 1 . K a r p ' s m a x i m u m m e a n c y c l e a l g o r i t h m .
e n t r i e s , e . g . , D 2 ; c = 9 a n d D 3 ; a = , 1 . T h e r e a r e t w o c y c l e s i n t h i s g r a p h : s ; a ; b ; c ; s
a n d s ; b ; c ; s . A s w e h a v e o n l y t w o c y c l e s , w e c a n j u s t u s e t h e d e n i t i o n o f t h e m a x i m u m
c y c l e m e a n i n s t e a d o f E q . 1 t o n d t h e m a x i m u m c y c l e m e a n . T h e m a x i m u m c y c l e m e a n i s t h e n
m a x f 3 + 4 + 7 + 2 = 4 ; 2 + 7 + 2 = 3 g = 4 , a n d s ; a ; b ; c ; s i s t h e c r i t i c a l c y c l e .
O n e i m p o r t a n t p o i n t i s t h a t t h e r u n n i n g t i m e s o f K a r p ' s a l g o r i t h m a n d o u r a l g o r i t h m s a r e
p r o p o r t i o n a l t o t h e n u m b e r o f v e r t i c e s a n d t h e a r c s v i s i t e d d u r i n g t h e p r o c e s s . A s a r e s u l t , w e
w a n t t o r e d u c e t h e i r n u m b e r s . K a r p ' s a l g o r i t h m v i s i t s e v e r y a r c s o l i d o r d o t t e d i n t h e d i a g r a m
t o l l t h e e n t r i e s o f t h e t a b l e . T h i s i s b e c a u s e a t e a c h l e v e l , K a r p ' s a l g o r i t h m h a s t o c h e c k e v e r y
p r e d e c e s s o r o f e a c h v e r t e x a t t h a t l e v e l e x c e p t f o r t h e 0 t h l e v e l . T h u s , K a r p ' s a l g o r i t h m v i s i t s
2 0 a r c s f o r t h i s e x a m p l e , t h e t o t a l n u m b e r o f s o l i d a n d d o t t e d a r c s . H o w e v e r , i f w e e x c l u d e a l l
t h e d o t t e d a r c s , c o r r e s p o n d i n g t o t h e d i a g r a m i n F i g . 2 c , t h e r e m a i n i n g s o l i d a r c s a r e e n o u g h
t o n d t h e s a m e m a x i m u m c y c l e m e a n . I f w e d o s o , w e w i l l v i s i t o n l y 9 a r c s , w h i c h m e a n s m o r e
t h a n 5 0 l e s s w o r k . W h y i s t h i s s o ? C o n s i d e r t h e r e c u r r e n c e g i v e n i n E q . 2 . I f D
k , 1
u = , 1
f o r a p r e d e c e s s o r u o f v , t h e n u c a n n o t c o n t r i b u t e t o t h e c o m p u t a t i o n o f D
k
v . I n o t h e r w o r d s ,
i f t h e r e i s n o p a t h f r o m s t o u w i t h k , 1 a r c s , t h e n t h e p a t h f r o m s t o v w i t h k a r c s , i f e x i s t s ,
c a n n o t p a s s t h r o u g h u . I n p a r t i c u l a r , i f D
k , 1
u = , 1 f o r e v e r y p r e d e c e s s o r u o f v , t h e r e
i s n o n e e d e v e n t o t o u c h a n y o f t h e s e p r e d e c e s s o r s a t a l l b e c a u s e D
k
v = , 1 b y d e n i t i o n .
T h e s e a r g u m e n t s p r o v e t h a t i t d o e s n o t n e c e s s a r y t o c h e c k e v e r y p r e d e c e s s o r o f e a c h v e r t e x a t
e v e r y l e v e l . H o w c a n w e e n s u r e t h a t ? I f w e i m p l e m e n t t h e r e c u r r e n c e a b o v e a s i t i s , w h i c h
m a k e s v d e p e n d e n t o n a l l o f i t s p r e d e c e s s o r s a n d i s t h e s c h e m e t h a t K a r p ' s a l g o r i t h m u s e s , w e
5
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
7/19
4
7
2
3
(a)
s a
bc
a b c
0
1
2
4
3
k
(b)
v
s
0
3
7
11 14
14 1316
a b c
0
1
2
4
3
k
v
s
0
3 2
7
11 14
14 1316
9
(c)
2
2
9
F i g . 2 . a A 4 - v e r t e x d i g r a p h . b T h e e n t r i e s o f D a n d a r c s v i s i t e d . c T h e s o l i d a r c s o f b .
c a n n o t e l i m i n a t e u n n e c e s s a r y w o r k . I n s t e a d , w e p r o p o s e t h e f o l l o w i n g u n f o l d i n g s c h e m e , w h i c h
w e f o r m a l l y d e n e i n t h e n e x t s e c t i o n . I n t u i t i v e l y , i t w o r k s a s f o l l o w s : s t a r t i n g f r o m t h e s o u r c e ,
v i s i t i n t h e n e x t l e v e l t h e s u c c e s s o r s o f a l l t h e v e r t i c e s i n t h e c u r r e n t l e v e l u n t i l t h e n t h l e v e l i s
r e a c h e d . I n t h e c a s e o f t h e e x a m p l e a b o v e , v i s i t t h e s u c c e s s o r s a a n d b o f s a t t h e 1 s t l e v e l , v i s i t
o n l y t h e s u c c e s s o r s o f a a n d b i n t h e 2 n d l e v e l , w h i c h a r e b a n d c , a n d s o o n .
V . U n f o l d i n g
U n f o l d i n g i s t h e s c h e m e t h a t w e p r o p o s e t o r e d u c e t h e w o r k r e q u i r e d t o n d t h e m a x i m u m
c y c l e m e a n . I t i s a l s o a p p l i c a b l e t o t h e m i n i m u m m e a n c y c l e p r o b l e m . T h i s s c h e m e i s t h e b a s i s o f
a l l o u r a l g o r i t h m s . T h e c o n c e p t o f u n f o l d i n g i s n o t n e w , e . g . , s e e 1 3 , 1 5 , b u t o u r f o r m u l a t i o n
o f u n f o l d i n g i s . M o r e o v e r , t o o u r k n o w l e d g e , w e a r e t h e r s t t o u s e i t f o r t h e m a x i m u m a n d
m i n i m u m m e a n c y c l e p r o b l e m s .
G o i n g f r o m t h e k t h l e v e l o f a g r a p h G t o t h e k + 1 t h l e v e l i s c a l l e d t h e k + 1 t h i t e r a t i o n
o f G . T h i s i t e r a t i o n v i s i t s a l l t h e a r c s t h a t o r i g i n a t e f r o m t h e k t h l e v e l . W e a l s o s a y t h a t t h e
0 t h l e v e l c o r r e s p o n d s t o t h e 0 t h i t e r a t i o n . G i v e n a g r a p h G = V ; E , u n f o l d i n g g e n e r a t e s a l l t h e
i t e r a t i o n s f r o m t h e 0 t h t o t h e n t h a n d a l s o c r e a t e s a n e w g r a p h , c a l l e d t h e u n f o l d e d g r a p h a n d
d e n o t e d G
U
= V
U
; E
U
, i n t h e p r o c e s s . T h e u n f o l d e d g r a p h i s a w e i g h t e d g r a p h w i t h w e i g h t e d
v e r t i c e s a n d a r c s . A r c w e i g h t s d i r e c t l y c o m e f r o m t h o s e i n G b u t t h e v e r t e x w e i g h t s a r e c o m p u t e d
d u r i n g u n f o l d i n g . V e r t i c e s i n t h e u n f o l d e d g r a p h a r e d e n o t e d a s v
k
, c o r r e s p o n d i n g t o v e r t e x v
i n G , w h e r e k i n d i c a t e s t h a t v
k
i s i n s e r t e d i n t o G
U
i n t h e k t h i t e r a t i o n . A l s o n o t e t h a t v
k
i s a t
l e v e l k . T h e w e i g h t o f v e r t e x v
k
i n G
U
i s D
k
v , a n d D
k
v i s a s d e n e d i n x I I I .
U n f o l d i n g p r o c e e d s b y t h e f o l l o w i n g t w o r u l e s f o r k = 0 ; 1 ; : : : ; n , 1 . L e t s 2 V b e t h e v e r t e x
d e s i g n a t e d a s t h e s o u r c e .
1 . I n i t i a l l y , s
0
i s i n V
U
, a n d D
0
s = 0 .
2 . I f v
k
2 V
U
a n d v ; u 2 E , t h e n v
k
; u
k + 1
2 E
U
w i t h w v
k
; u
k + 1
= w v ; u a n d d o e i t h e r
o f t h e f o l l o w i n g :
a i f u
k + 1
62 V
U
, t h e n u
k + 1
2 V
U
w i t h D
k + 1
u = D
k
v + w v ; u , o r
b i f u
k + 1
2 V
U
, t h e n u
k + 1
2 V
U
w i t h D
k + 1
u = m a x f D
k + 1
u ; D
k
v + w v ; u g
T h e r s t r u l e a b o v e i n i t i a l i z e s t h e w e i g h t o f u
k + 1
w h e n i t i s i n s e r t e d i n t o V
U
f o r t h e r s t t i m e ,
a n d t h e s e c o n d r u l e u p d a t e s i t s w e i g h t i f n e c e s s a r y . I n o u r a l g o r i t h m s , w e c o m b i n e t h e t w o p a r t s
6
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
8/19
a b c
0
1
2
4
3
k
v
s
a b c
0
1
2
4
3
k
v
s
0
3 2
7
11
a b c
0
1
2
4
3
k
v
s
0
3 2
7
11 14
14 1316
a b c
0
1
2
4
3
k
v
s
0
3 2
a b c
0
1
2
4
3
k
v
s
0
3
(c)(a) (b)
(d) (e)
0
9
99
14
2
7
F i g . 3 . U n f o l d i n g o f t h e g r a p h i n F i g . 2 a .
o f t h e s e c o n d r u l e a b o v e i n t o o n e b y a p p r o p r i a t e i n i t i a l i z a t i o n , i . e . , b y i n i t i a l i z i n g t h e v e r t e x
w e i g h t s t o , 1 b e f o r e p r o c e s s i n g t h e m .
F i g . 3 i l l u s t r a t e s t h e a b o v e r u l e s o n t h e e x a m p l e g r a p h o f F i g . 2 a . T h e i t e r a t i o n s f r o m 0
t o 4 c o r r e s p o n d t o d i a g r a m s a t o c , r e s p e c t i v e l y . S i n c e w e u s e t h e t a b l e D t o i m p l e m e n t
u n f o l d i n g , w e p r e s e n t t h e i t e r a t i o n s a n d t h e u n f o l d e d g r a p h o n t h e t a b l e . I n t h i s g u r e , e a c h
c i r c l e e m p t y o r l l e d r e p r e s e n t s a n e n t r y o f D s u c h t h a t e a c h e n t r y h a s t h e v a l u e s h o w n t o t h e
r i g h t o f t h e c o r r e s p o n d i n g c i r c l e . T h e l l e d c i r c l e s a n d t h e a r c s a r e t h e v e r t i c e s a n d t h e a r c s o f t h e
u n f o l d e d g r a p h . W e d o n o t s h o w t h e a r c w e i g h t s b e c a u s e t h e y a r e r e a d i l y a v a i l a b l e f r o m F i g . 2 a ;
m o r e o v e r , t h e v e r t e x w e i g h t s o f t h e u n f o l d e d g r a p h c a n e a s i l y b e d e t e r m i n e d : t h e n u m b e r r i g h t
t o e a c h v e r t e x i s i t s w e i g h t . A s F i g . 3 e s h o w s , t h e u n f o l d e d g r a p h h a s 1 0 v e r t i c e s a n d 9 a r c s : a
l l e d c i r c l e a t t h e k t h r o w a n d v t h c o l u m n c o r r e s p o n d s t o v e r t e x v
k
, a n d a n a r c b e t w e e n v e r t i c e s
v
k
a n d u
k + 1
t o a r c v
k
; u
k + 1
o f t h e u n f o l d e d g r a p h , i . e . , V
U
= f s
0
; a
1
; b
1
; b
2
; c
2
; s
3
; c
3
; s
4
; a
4
; b
4
g
a n d E
U
= f s
0
; a
1
; s
0
; b
1
; a
1
; b
2
; b
1
; c
2
; b
2
; c
3
; c
2
; s
3
; s
3
; a
4
; s
3
; b
4
; c
3
; s
4
g
N o t e t h a t t h e u n f o l d e d g r a p h i s a n i t e , a c y c l i c g r a p h . I t i s n i t e b e c a u s e t h e t o t a l n u m b e r
o f i t e r a t i o n s r e q u i r e d i s n , a n d i t i s a c y c l i c b e c a u s e i t i s i m p o s s i b l e t o c r e a t e a b a c k e d g e o n e
f r o m a h i g h e r l e v e l t o a l o w e r o n e h e n c e a c y c l e b y c o n s t r u c t i o n . T h i s p r o p e r t y a l o n e i m p l i e s
t h a t t h e v e r t e x w e i g h t s c a n b e c o m p u t e d i n p o l y n o m i a l t i m e . M o r e o v e r , u s i n g t h i s p r o p e r t y , t h e
a r g u m e n t i n x I V , a n d i n d u c t i o n o n k , w e c a n p r o v e t h e c o r r e c t n e s s o f u n f o l d i n g . A s s u c h a p r o o f
7
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
9/19
i s q u i t e e a s y , w e j u s t m e n t i o n t h e f o l l o w i n g l e m m a w i t h o u t p r o o f .
L e m m a 1 : U n f o l d i n g c o r r e c t l y c o m p u t e s D
k
v f o r e a c h v 2 V a n d k = 0 ; 1 ; : : : ; n
W e h a v e t o m e n t i o n o n e m o r e p r o p e r t y o f u n f o l d i n g a s i t w i l l l a t e r h a v e s o m e i m p l i c a t i o n s f o r
m e m o r y s p a c e a l l o c a t e d i n t w o o f o u r a l g o r i t h m s b y c o n s t r a i n i n g t h e t o t a l n u m b e r o f v e r t i c e s i n
o n e i t e r a t i o n . T h e k + 1 s t i t e r a t i o n o f u n f o l d i n g i s b e t w e e n t h e l e v e l s k a n d k + 1 o n l y . I t
i n v o l v e s t h e v e r t i c e s a t b o t h o f t h e s e l e v e l s a n d t h e a r c s f r o m t h e k t h t o t h e k + 1 s t b u t n o
m o r e . A c t u a l l y , K a r p ' s a l g o r i t h m h a s a s i m i l a r p r o p e r t y . T h u s ,
L e m m a 2 : U n f o l d i n g w o r k s o n e x a c t l y t w o l e v e l s i n o n e i t e r a t i o n .
V I . F a s t e r M a x i m u m M e a n C y c l e A l g o r i t h m s
W e n o w g i v e t h r e e a l g o r i t h m s , n a m e d D G 1 , D G 2 , a n d D G 3 , t o c o m p u t e t h e m a x i m u m c y c l e
m e a n i n a s t r o n g l y c o n n e c t e d d i g r a p h . T h e s e a l g o r i t h m s a r e a l l b a s e d o n u n f o l d i n g . T h e y a r e
p r e s e n t e d i n d e c r e a s i n g o r d e r i n t e r m s o f t h e i r a s y m p t o t i c r u n n i n g t i m e s b u t i n i n c r e a s i n g o r d e r
i n t e r m s o f s o p h i s t i c a t i o n a n d t h e i r a c t u a l r u n n i n g t i m e s . M o r e o v e r , t h e y a r e p r e s e n t e d i n t h e
c o n t e x t o f t h e m a x i m u m m e a n c y c l e p r o b l e m . T o a p p l y t h e s e a l g o r i t h m s t o t h e m i n i m u m m e a n
c y c l e p r o b l e m , w e h a v e t o e x c h a n g e m i n o p e r a t i o n w i t h m a x o p e r a t i o n a n d , 1 w i t h + 1 , o r
v i c e v e r s a .
I n K a r p ' s a l g o r i t h m a n d o u r a l g o r i t h m s , t h e m o s t t i m e c o n s u m i n g p a r t i s u s u a l l y t h e b o d y .
A l s o i n o u r c a s e , i t i s m a i n l y t h e b o d y t h a t i m p l e m e n t s u n f o l d i n g . T h e b o d y o f K a r p ' s a l g o r i t h m
h a s v e r y t i g h t l o o p s , a n d t h e i n n e r m o s t l o o p c o n t a i n s o n l y o n e c o n d i t i o n a l a n d t w o a s s i g n m e n t s .
W e t r i e d t o m a k e D G 1 a s s i m i l a r t o K a r p ' s a l g o r i t h m a s p o s s i b l e t o m a k e u s e o f t h a t a d v a n t a g e
o f K a r p ' s a l g o r i t h m . D G 2 i s a m o r e s o p h i s t i c a t e d i m p l e m e n t a t i o n o f u n f o l d i n g t o o b t a i n b e t t e r
a s y m p t o t i c t i m e c o m p l e x i t y i n t h e b o d y , a n d D G 3 i s a f u r t h e r i m p r o v e m e n t o n D G 2 .
A l l o f o u r a l g o r i t h m s a r e a s y m p t o t i c a l l y f a s t e r t h a n K a r p ' s a l g o r i t h m . O n e m o r e a d v a n t a g e i s
t h a t i t d o e s m a t t e r f o r o u r a l g o r i t h m s h o w w e c h o o s e o u r s o u r c e v e r t e x . W i t h a s u i t a b l e " s o u r c e ,
t h e w o r k d o n e b y t h e a l g o r i t h m s c a n b e f u r t h e r r e d u c e d . W e u s e a f u n c t i o n F i n d S o u r c e G t o
n d s u c h a s o u r c e . T h i s f u n c t i o n i s e x p l a i n e d i n x V I - D .
A . O u r F i r s t A l g o r i t h m D G 1
O u r r s t a l g o r i t h m , c a l l e d D G 1 , i s g i v e n i n F i g . 4 . D G 1 h a s a l m o s t t h e s a m e s t r u c t u r e a s
K a r p ' s a l g o r i t h m . W e t r i e d t o m a k e t h e i n n e r m o s t l o o p i n D G 1 t o c o n t a i n a s f e w s t a t e m e n t s a s
p o s s i b l e w h i l e s t i l l u s i n g u n f o l d i n g . T h e u s e o f u n f o l d i n g i s e v i d e n t f r o m t h e c h a n g e o f k f r o m
0 t o n , 1 l i n e 7 , a n d t h e u s e o f t h e s u c c e s s o r l i s t s A d j O u t l i n e 1 1 . M a i n d i e r e n c e s f r o m
K a r p ' s a l g o r i t h m a r e t h e c a l l t o F i n d S o u r c e G i n t h e h e a d t o d e t e r m i n e a s u i t a b l e s o u r c e , t h e
u s e o f V i s i t a n d t u r n , a n d t h e e l i m i n a t i o n o f s o m e u n n e c e s s a r y w o r k i n t h e t a i l . F i n d S o u r c e G
i s e x p l a i n e d l a t e r i n d e t a i l .
T h e n e e d f o r V i s i t a n d t u r n c a n b e e x p l a i n e d a s f o l l o w s . D G 1 s t i l l g o e s o v e r e v e r y v e r t e x
a t e v e r y l e v e l b u t e l i m i n a t e s u n n e c e s s a r y a r c v i s i t s u s i n g V i s i t a n d t u r n . I n i t i a l l y , V i s i t s ; 0 i s
s e t t o t r u e t o i n d i c a t e t h a t u n f o l d i n g b e g i n s b y v i s i t i n g t h e s o u r c e s . T h e a g t u r n i s u s e d t o
d i e r e n t i a t e b e t w e e n t h e t w o l e v e l s n e e d e d b y L e m m a 2 s u c h t h a t w h a t e v e r t h e v a l u e o f t u r n
i s f o r t h e c u r r e n t l e v e l , i t s v a l u e f o r t h e n e x t l e v e l i s 1 , t u r n . S u p p o s e w e a r e a t l e v e l k w i t h
t u r n s e t t o 0 . W e c o u l d a l s o h a v e t u r n s e t t o 1 b e c a u s e i t i s m o r e i m p o r t a n t t h a t t u r n t o g g l e s
b e t w e e n l e v e l s r a t h e r t h a n t h a t t u r n i s 0 o r 1 . T h e n , i f v i s t o b e v i s i t e d a t t h i s l e v e l , v m u s t
p a s s t h e t e s t a t l i n e 9 . L i n e 1 0 s h o w s t h a t v i s b e i n g v i s i t e d a t l e v e l k . S i n c e t h e s u c c e s s o r s o f v
a r e t o b e v i s i t e d i n t h e n e x t l e v e l l e v e l k + 1 b y t h e d e n i t i o n o f u n f o l d i n g , t h e i r V i s i t e l d s
a r e s e t t o t r u e a t l i n e 1 5 .
8
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
10/19
T h e t a i l i s a l m o s t t h e s a m e a s t h a t o f K a r p ' s a l g o r i t h m e x c e p t f o r l i n e 1 9 . L i n e 1 9 g u a r a n t e e s
t h a t t h e r e w i l l b e n o p r o c e s s i n g f o r v e r t e x v i f D
n
v = , 1 , i . e . , i f t h e r e i s n o p a t h o f l e n g t h n
f r o m s t o v . T h e p r o o f o f t h e c o r r e c t n e s s o f t h i s a r g u m e n t c a n b e s t a t e d u s i n g t h e d e n i t i o n o f
t h e D v a l u e s a n d K a r p ' s t h e o r e m . F i r s t , w e k n o w t h a t t h e r e w i l l b e a t l e a s t o n e p a t h o f l e n g t h n
f r o m s t o s o m e v e r t e x i n G a s w e a s s u m e t h a t G i s s t r o n g l y c o n n e c t e d w i t h a t l e a s t o n e a r c . T h i s
i m p l i e s t h a t t h e a r r a y M w i l l h a v e a t l e a s t o n e r e a l v a l u e . N o w a s s u m e D
n
v = , 1 f o r s o m e
v e r t e x v . A g a i n s i n c e G i s s t r o n g l y c o n n e c t e d , t h e r e i s a t l e a s t o n e r e a l n u m b e r i n t h e c o l u m n
f o r v i n D , a n d s o t h e f r a c t i o n i n K a r p ' s t h e o r e m t a k e s o n t h e v a l u e o f , 1 f o r v a t l e a s t o n c e .
B y n o t i n g t h a t K a r p ' s t h e o r e m r s t i n v o l v e s a m i n i m i z a t i o n o p e r a t i o n i n t h e c o l u m n f o r v i n D ,
a n d a l s o u s i n g t h e t h i r d c o n v e n t i o n o f x I I , w e n d t h a t M v = , 1 . T h e f a c t t h a t t h i s v a l u e
i s t h e i d e n t i t y f o r t h e m a x o p e r a t i o n a n d s o d o e s n o t a e c t t h e o u t p u t o f t h e m a x o p e r a t i o n a t
l i n e s 2 5 - 2 6 c o m p l e t e s t h e p r o o f .
I n p u t : A s t r o n g l y c o n n e c t e d d i g r a p h G = V E
O u t p u t
o f G
* H e a d *
1 f o r e a c h l e v e l k k = 0 1 ; : : : ; n d o
2 f o r e a c h v e r t e x v 2 V d o
3 D k v , 1
4 S e t V i s i t v 0 V i s i t v 1 f a l s e f o r 8 v 2 V
5 s F i n d S o u r c e G D 0 s 0
6 0 s N I L t u r n = 0 V i s i t s ; t u r n t r u e
* B o d y *
7 f o r e a c h l e v e l k k = 0 1 ; : : : ; n , 1 d o
8 f o r e a c h v e r t e x v 2 V d o
9 i f V i s i t v ; t u r n = t r u e t h e n
1 0 V i s i t v ; t u r n f a l s e
1 1 f o r e a c h s u c c e s s o r v e r t e x u 2 A d j O u t v d o
1 2 i f D k + 1 u D k v + w v u t h e n
1 3 D k + 1 u D k v + w v u * m a x *
1 4 k + 1 u v
1 5 V i s i t u 1 , t u r n t r u e
1 6 t u r n 1 , t u r n
* T a i l *
1 7 , 1
1 8 f o r e a c h v e r t e x v 2 V d o
1 9 i f V i s i t v ; t u r n = t r u e t h e n
2 0 M v + 1 * t h e i d e n t i t y f o r m i n *
2 1 f o r e a c h l e v e l k k = 0 1 ; : : : ; n , 1 d o
2 2 i f M v D n v , D k v = n , k t h e n
2 3 M v D n v , D k v = n , k * m i n *
2 4 K v k
2 5 i f M v t h e n
2 6 M v * m a x *
2 7 v
v
2 8 r e t u r n
F i g . 4 . O u r r s t m a x i m u m m e a n c y c l e a l g o r i t h m D G 1 .
9
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
11/19
B . O u r S e c o n d A l g o r i t h m D G 2
O u r s e c o n d a l g o r i t h m , c a l l e d D G 2 , i s g i v e n i n F i g . 5 . D G 2 r e v e a l s t h e a v o r o f u n f o l d i n g
b e t t e r b e c a u s e i t t o u c h e s o n a s m a n y v e r t i c e s a n d a r c s a s r e q u i r e d b y u n f o l d i n g . W e u s e a
c i r c u l a r q u e u e , d e n o t e d Q , t o p r o c e s s t h e v e r t i c e s o f t h e u n f o l d e d g r a p h . B y L e m m a 2 , Q s h o u l d
h a v e a s i z e o f 2 n e l e m e n t s a s t h e r e c a n n o t b e m o r e t h a n 2 n e l e m e n t s i n t w o s u c c e s s i v e l e v e l s .
T h i s r e n d e r s u n n e c e s s a r y t h e n e e d f o r a c h e c k t o s e e i f Q i s f u l l . T h e r e i s a l s o n o n e e d f o r a c h e c k
t o s e e i f Q i s e m p t y b e c a u s e G h a s a t l e a s t o n e a r c b y a s s u m p t i o n .
T h e h e a d i s l i k e t h a t o f D G 1 b u t t h e t a i l i s e x a c t l y t h e s a m e a s t h a t o f K a r p ' s a l g o r i t h m .
T h e h e a d a n d t h e b o d y c o n t a i n q u e u e f u n c t i o n s a s a p p r o p r i a t e . E a c h q u e u e e l e m e n t c o n t a i n s
a v e r t e x v a n d t h e l e n g t h o f t h e p a t h f r o m s t o v , w h i c h i s a l s o t h e l e v e l n u m b e r a t w h i c h v
i s v i s i t e d . L i n e 9 e l i m i n a t e s d u p l i c a t e s f r o m t h e q u e u e . W e u s e d a n a r r a y a n d s t a n d a r d q u e u e
f u n c t i o n s t o i m p l e m e n t t h e q u e u e .
I n p u t : A s t r o n g l y c o n n e c t e d d i g r a p h G = V E
O u t p u t
o f G
* H e a d *
1 f o r e a c h l e v e l k k = 0 1 ; : : : ; n d o
2 f o r e a c h v e r t e x v 2 V d o
3 D k v , 1
4 s F i n d S o u r c e G D 0 s 0
5 0 s N I L E n q u e u e Q 0 s
* B o d y *
6 k ; v D e q u e u e Q
7 d o
8 f o r e a c h s u c c e s s o r v e r t e x u 2 A d j O u t v d o
9 i f D k + 1 u = , 1 t h e n
1 0 E n q u e u e Q ; k + 1 u
1 1 i f D k + 1 u D k v + w v u t h e n
1 2 D k + 1 u D k v + w v u * m a x *
1 3 k + 1 u v
1 4 k ; v D e q u e u e Q
1 5 w h i l e k n
* T a i l *
1 6 , 1
1 7 f o r e a c h v e r t e x v 2 V d o
1 8 M v + 1 * t h e i d e n t i t y f o r m i n *
1 9 f o r e a c h l e v e l k k = 0 1 ; : : : ; n , 1 d o
2 0 i f M v D n v , D k v = n , k t h e n
2 1 M v D n v , D k v = n , k * m i n *
2 2 K v k
2 3 i f M v t h e n
2 4 M v * m a x *
2 5 v
v
2 6 r e t u r n
F i g . 5 . O u r s e c o n d m a x i m u m m e a n c y c l e a l g o r i t h m D G 2 .
1 0
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
12/19
C . O u r T h i r d A l g o r i t h m D G 3
O u r t h i r d a l g o r i t h m , c a l l e d D G 3 , i s g i v e n i n F i g . 6 . D G 3 i s b a s e d o n D G 2 , t h e m a i n d i e r e n c e
b e i n g t h a t D G 2 e l i m i n a t e s t h e i n i t i a l i z a t i o n o f D i n t h e h e a d . T o d o t h a t , w e n o t e d t h a t a
v e r t e x v m a y n o t b e i n c l u d e d a t e a c h i t e r a t i o n o f u n f o l d i n g , i . e . , t h e e n t r y D k ; v w i l l s t a y a t
, 1 f o r s o m e k e v e n a f t e r t h e l a s t i t e r a t i o n . B u t , t h e t a i l m u s t k n o w w h i c h e n t r i e s o f t h e t a b l e
D c o n t a i n a v a l i d e n t r y , i . e . , a n e n t r y t h a t i s n o t , 1 . T h e a r r a y V a l i d p o i n t s t o v a l i d e n t r i e s :
V a l i d k ; v g i v e s t h e l a s t l e v e l o b t a i n e d f r o m a r r a y L a s t L e v e l t h a t i s l e s s t h a n k a n d s u c h t h a t
D V a l i d k ; v ; v 6= , 1 . O n l y t h e v a l i d e n t r i e s a r e i n i t i a l i z e d l i n e 1 4 . T h e e n t r i e s o f V a l i d a r e
l i k e a l i n k e d l i s t a n d t h e e n d o f t h e l i s t i s s i g n i e d b y , 1 . T h e t a i l i s a l s o a l t e r e d a c c o r d i n g l y .
T h e r e s t i s s e l f - e x p l a n a t o r y . N o t e t h a t w e c a n a l s o u s e l i n k e d l i s t s i n s t e a d o f t h e t a b l e D b e c a u s e
f o r s p a r s e g r a p h s , m a n y o f t h e t a b l e e n t r i e s a r e p r o b a b l y n o t n e e d e d . W e a l s o i m p l e m e n t e d
t h i s e x t e n s i o n b u t s a w t h a t t h e r e s u l t i n g a l g o r i t h m w a s v e r y s l o w a l t h o u g h i t h a d t h e l o w e s t
a s y m p t o t i c s p a c e c o m p l e x i t y .
D . F i n d i n g a S u i t a b l e S o u r c e
T h e s o u r c e v e r t e x m e n t i o n e d i n K a r p ' s t h e o r e m i s a r b i t r a r y . H o w e v e r , a d i e r e n t s o u r c e m a y
p a y o a l o t . F o r e x a m p l e , c o n s i d e r t h e s a m e e x a m p l e g i v e n i n F i g . 2 . I n c , t h e u n f o l d e d
g r a p h c o n t a i n s 9 a r c s w h e n u n f o l d i n g s t a r t s f r o m s . S u p p o s e i n s t e a d w e s e l e c t e d b a s t h e s o u r c e .
T h e n , t h e u n f o l d e d g r a p h w o u l d c o n t a i n 6 a r c s , y i e l d i n g a n i m p r o v e m e n t i n t h e r u n n i n g t i m e .
B a s i c a l l y , b y a s u i t a b l e s o u r c e , w e m e a n a s o u r c e v e r t e x t h a t l e a d s t o t h e o p t i m u m " u n f o l d i n g ,
b y w h i c h w e m e a n t h e o n e w i t h t h e s m a l l e s t u n f o l d e d g r a p h i n t e r m s o f t h e n u m b e r o f a r c s .
H o w c a n w e n d t h e o p t i m u m u n f o l d i n g t h e n ? W e c a n u n f o l d t h e g r a p h s t a r t i n g f r o m e a c h
v e r t e x o n c e a n d s e l e c t a s t h e s o u r c e t h e v e r t e x l e a d i n g t o t h e l e a s t a r c s . T h e p r o b l e m w i t h t h i s
a p p r o a c h i s t h a t i t w i l l t a k e t i m e p r o b a b l y l a r g e r t h a n t h e r u n n i n g t i m e o f t h e w h o l e p r o c e s s
o f n d i n g t h e m a x i m u m c y c l e m e a n . T h e n , w e s h o u l d r e s o r t t o a f a s t h e u r i s t i c . T h e f u n c t i o n
F i n d S o u r c e G g i v e n i n F i g . 7 i m p l e m e n t s o u r h e u r i s t i c . O u r h e u r i s t i c i s t o u n f o l d t h e g r a p h
f o r a l i m i t e d n u m b e r , d e n o t e d N , o f i t e r a t i o n s , s t a r t i n g f r o m e a c h v e r t e x , a n d r e t u r n i n g a s t h e
s o u r c e t h e v e r t e x l e a d i n g t o t h e l e a s t n u m b e r o f a r c s i n t h e s e N i t e r a t i o n s . W e d i d e x p e r i m e n t s
o n o u r t e s t s u i t e b y c h a n g i n g N f r o m 1 t o 3 0 , a n d s a w t h a t N = 1 0 w o r k e d r e a s o n a b l y w e l l ,
c o m p r o m i s i n g b e t w e e n t h e r u n n i n g t i m e a n d t h e s o l u t i o n q u a l i t y . N o t e t h a t t h e i m p l e m e n t a t i o n
o f F i n d S o u r c e G a s s u m e s t h a t t h e d e g r e e o f e a c h v e r t e x i s a v a i l a b l e . U s i n g t h e s e d e g r e e s a n d
t h e a r r a y s F a n d L f o r F i r s t a n d L a s t , i t c o u n t s t h e n u m b e r o f a r c s t h a t w i l l r e s u l t f r o m
u n f o l d i n g t h e g r a p h N t i m e s . T h e r u n n i n g t i m e o f F i n d S o u r c e G i s N n + m , w h i c h i s
e q u a l t o m a s N i s a c o n s t a n t a n d G i s s t r o n g l y c o n n e c t e d .
E . F i n d i n g A C r i t i c a l C y c l e
W e s o m e t i m e s n e e d t o n d a c r i t i c a l c y c l e a s w e l l a s i t s m e a n , w h i c h i s t h e c a s e i n t h e f r a m e w o r k
m e n t i o n e d i n x I . W e n o t e d t h a t o n l y 7 , 8 , a n d 1 4 g i v e s o m e i n f o r m a t i o n a s t o h o w t o n d
a c r i t i c a l c y c l e . H o w e v e r , n e i t h e r o f t h e m g i v e i t i n a n a l g o r i t h m i c f o r m . D u e t o i t s i m p o r t a n c e ,
w e p r e s e n t a n a l g o r i t h m i n F i g . 8 t o n d o n e . R e c a l l t h a t i n t h e t a i l s o f t h e a l g o r i t h m s a b o v e ,
w e s a v e t h e v e r t e x i n v
t h a t l e a d s t o t h e m a x i m u m c y c l e m e a n . T h e a l g o r i t h m i n F i g . 8 r s t
c o n s t r u c t s a p a t h o f l e n g t h n f r o m s t o v
u s i n g t h e i n f o r m a t i o n s t o r e d i n a r r a y a n d p u t s i t
i n t o a r r a y P . T h e n , i t n d s t h e w e i g h t o f e a c h p r e x o f t h i s p a t h t o f a c i l i t a t e n d i n g t h e w e i g h t
o f a n y s u b p a t h o f t h e p a t h i n P . U s i n g a r r a y K o f t h e k v a l u e s r e c o r d e d i n t h e t a i l s , w e n d t h e
l e n g t h o f t h e c r i t i c a l c y c l e o n P , w h i c h i s n , K v
. F i n a l l y , w e g o t h r o u g h e a c h s u b p a t h o f t h a t
l e n g t h o n P a n d c h e c k i t s w e i g h t t o s e e i f i t i s a c r i t i c a l c y c l e . W e o u t p u t t h e c y c l e a s s o o n a s w e
1 1
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
13/19
I n p u t : A s t r o n g l y c o n n e c t e d d i g r a p h G = V E
O u t p u t
o f G
* H e a d *
1 f o r e a c h v e r t e x v 2 V d o
2 L a s t L e v e l v , 1
3 s F i n d S o u r c e G
4 D 0 s 0 0 s N I L
5 V a l i d 0 s , 1 L a s t L e v e l s 0
6 E n q u e u e Q 0 s
* B o d y *
7 k ; v D e q u e u e Q
8 d o
9 f o r e a c h s u c c e s s o r v e r t e x u 2 A d j O u t v d o
1 0 i f L a s t L e v e l u k + 1 t h e n
1 1 E n q u e u e Q ; k + 1 u
1 2 V a l i d k + 1 u L a s t L e v e l u
1 3 L a s t L e v e l u k + 1
1 4 D k + 1 u , 1
1 5 i f D k + 1 u D k v + w v u t h e n
1 6 D k + 1 u D k v + w v u * m a x *
1 7 k + 1 u v
1 8 k ; v D e q u e u e Q
1 9 w h i l e k n
* T a i l *
2 0 , 1
2 1 f o r e a c h v e r t e x v 2 V d o
2 2 i f L a s t L e v e l v = n t h e n
2 3 M v + 1 * t h e i d e n t i t y f o r m i n *
2 4 k V a l i d n v
2 5 w h i l e k , 1 d o
2 6 i f M v D n v , D k v = n , k t h e n
2 7 M v D n v , D k v = n , k * m i n *
2 8 K v k
2 9 k V a l i d k v
3 0 i f M v t h e n
3 1 M v * m a x *
3 2 v
v
3 3 r e t u r n
F i g . 6 . O u r t h i r d m a x i m u m m e a n c y c l e a l g o r i t h m D G 3 .
n d i t . T h e r u n n i n g t i m e o f t h i s a l g o r i t h m i s n b e c a u s e i t i s d o m i n a t e d b y l o o p s a n d t h e o t h e r
s t e p s t a k e c o n s t a n t t i m e , i n c l u d i n g l i n e 1 0 a s w P k , 1 ; P k = D k ; P k , D k , 1 ; P k , 1 .
A l t h o u g h t h i s a l g o r i t h m n d s o n l y o n e c r i t i c a l c y c l e , w e c a n m o d i f y i t t o n d m o r e . R e c a l l
t h a t i n t h e t a i l s , w e r s t c o m p u t e t h e m i n o f t h e c o l u m n s o f D i n t o a r r a y M a n d t h e n n d t h e
m a x o f t h e s e m i n i m u m v a l u e s . I t i s p o s s i b l e t h a t t h e r e a r e m o r e t h a n o n e v a l u e a m o n g t h e s e
m i n i m u m v a l u e s t h a t i s e q u a l t o t h e m a x i m u m f o u n d . W e c a n e a s i l y g o t h r o u g h t h e M a r r a y
e n t r i e s a n d c a n d e t e r m i n e a l l t h e s e m i n i m u m v a l u e s . T h e n , w e c a n r u n t h i s a l g o r i t h m f o r e a c h
v e r t e x t h a t h a s o n e o f t h e s e m i n i m u m v a l u e s i n s t e a d o f j u s t f o r v
. M o r e o v e r , t h e p a t h s t o r e d
i n t o P m a y c o n t a i n m o r e t h a n o n e c r i t i c a l c y c l e , a n d s o w e c a n c o n t i n u e c h e c k i n g a f t e r o u t p u t t i n g
e a c h c r i t i c a l c y c l e f o u n d .
1 2
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
14/19
I n p u t : A s t r o n g l y c o n n e c t e d d i g r a p h G = V E
O u t p u t : A s o u r c e v e r t e x s
1 f o r e a c h v e r t e x v 2 V d o
2 F v 0
3 f o r e a c h i t e r a t i o n i = 1 ; : : : ; N d o
4 f o r e a c h v e r t e x v 2 V d o
5 L v d v
6 f o r e a c h s u c c e s s o r v e r t e x u 2 A d j O u t v d o
7 L v L v + F u
8 f o r e a c h v e r t e x v 2 V d o
9 F v L v
1 0 F i n d s s u c h t h a t L s = m i n
v 2 V
f L v g
1 1 r e t u r n s
F i g . 7 . O u r a l g o r i t h m t o n d a s u i t a b l e s o u r c e v e r t e x .
I n p u t
v
, a n d a r r a y
O u t p u t : A c r i t i c a l c y c l e o f G
1 k n
2 P k v
3 w h i l e k 0 d o
4 P k , 1 k P k
5 k k , 1
* P n o w h a s a p a t h f r o m s t o v
*
6 k 0
7 W k 0
8 w h i l e k n d o
9 k k + 1
1 0 W k W k , 1 + w P k , 1 P k
* W n o w h a s a l l p r e x p a t h c o s t s o n P *
1 1 l e n n , K v
1 2 k 0
1 3 w h i l e k K v
d o
1 4 i f P k = P k + l e n a n d W k + l e n , W k =
t h e n
1 5 r e t u r n P k P k + l e n
1 6 k k + 1
F i g . 8 . A l g o r i t h m t o n d a c r i t i c a l c y c l e .
V I I . B o u n d i n g t h e S i z e o f U n f o l d e d G r a p h
I n t h i s s e c t i o n , w e d e r i v e b o u n d s o n t h e s i z e o f t h e u n f o l d e d g r a p h . T h e s e b o u n d s a r e a l s o
i n s t r u m e n t a l i n u n d e r s t a n d i n g t h e i m p r o v e m e n t s w e h a v e o b t a i n e d i n t h e r u n n i n g t i m e . L e t
t v , c v a n d d v b e t h e n u m b e r o f t i m e s a n a r c o r i g i n a t e s f r o m v e r t e x v e x c e p t a t t h e 0 t h
l e v e l , t h e n u m b e r o f l e v e l s e x c e p t t h e 0 t h l e v e l a t w h i c h v i s i n c l u d e d , a n d t h e o u t - d e g r e e o f
v , r e s p e c t i v e l y . C o n s i d e r a s t r o n g l y c o n n e c t e d g r a p h G = V ; E w i t h n v e r t i c e s a n d m a r c s
t h a t m a y a l s o i n c l u d e s e l f - l o o p s . T h e n , w e h a v e t h e f o l l o w i n g e q u a t i o n s f o r t h e u n f o l d e d g r a p h
G
U
= V
U
; E
U
:
E
U
= d s +
X
v 2 V
d v t v ; a n d V
U
= 1 +
X
v 2 V
c v 3
w h e r e t h e r s t t e r m i n e a c h e q u a t i o n i s f o r t h e s o u r c e v e r t e x a t t h e 0 t h l e v e l . N o t e t h e s p e c i a l
r e l a t i o n s h i p b e t w e e n t v a n d c v : i f v i s i n c l u d e d a t t h e n t h l e v e l , t h e n t v = c v , 1 , o r e l s e
1 3
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
15/19
t v = c v
S i n c e w e a l l o w s e l f - l o o p s , w e h a v e 1 d v n . A l s o , w e h a v e n l e v e l s i n t o t a l w h e n w e
e x c l u d e t h e 0 t h l e v e l . T h u s , a n a r c c a n o r i g i n a t e f r o m v e r t e x v i f v i s i n c l u d e d a t a n y o r a l l o f
t h e l e v e l s f r o m 1 t o n , 1 , i . e . , 1 t v n , 1 , a n d v c a n b e i n c l u d e d a t a n y o r a l l o f t h e l e v e l s
f r o m 1 t o n , i . e . , 1 c v n . I n c l u s i o n a t s u c c e s s i v e l e v e l s p r o b a b l y s t e m s f r o m s e l f - l o o p s .
P l u g g i n g t h e s e v a l u e s i n t o E q . 3 , w e c a n b o u n d t h e s i z e o f t h e u n f o l d e d g r a p h i n t e r m s o f t h e
p a r a m e t e r s o f G a s
m E
U
n , 1 m + n ; a n d 1 + n V
U
1 + n
2
; 4
w h e r e n , 1 m + n n m i f n m , w h i c h i s t h e c a s e w h e n G i s s t r o n g l y c o n n e c t e d . T h e s m a l l e s t
u n f o l d e d g r a p h o c c u r s w h e n G i s a r i n g w i t h n v e r t i c e s a n d n a r c s , a n d t h e l a r g e s t o n e o c c u r s
w h e n G i s a c o m p l e t e g r a p h w i t h s e l f - l o o p s o n e v e r y v e r t e x .
V I I I . C o m p l e x i t y A n a l y s e s
F o r s p a c e c o m p l e x i t y a n a l y s i s , w e n o t e t h a t t h e a r r a y s u s e d i n t h e a l g o r i t h m s c o n s u m e m u c h
o f t h e s p a c e . E v e r y a l g o r i t h m u s e s D , a n a r r a y o f s i z e n + 1 n . T h e o t h e r a r r a y s a r e a t m o s t
a s l a r g e a s D . H e n c e , w e c a n s a y t h a t t h e s p a c e u s a g e i s d o m i n a t e d b y D , a n d a l l t h e a l g o r i t h m s
h a v e t h e s a m e s p a c e c o m p l e x i t y o f n
2
F o r t i m e c o m p l e x i t y a n a l y s i s , w e w i l l e x a m i n e e a c h a l g o r i t h m s e p a r a t e l y . F o r K a r p ' s a l g o r i t h m ,
o u r a n a l y s i s i s f a i r l y s t r a i g h t f o r w a r d a n d p r o c e e d s a s f o l l o w s . T h e r u n n i n g t i m e i s d o m i n a t e d
b y t h e n e s t e d f o r l o o p s i n e a c h p a r t : T h e h e a d r u n s i n n
2
; t h e b o d y g o e s t h r o u g h e a c h
p r e d e c e s s o r o f e a c h v e r t e x a t e v e r y l e v e l , s o r u n s i n n m ; n a l l y , t h e t a i l v i s i t s e a c h t a b l e
e n t r y , a n d s o r u n s i n n
2
. T h e t o t a l r u n n i n g t i m e c o m e s t o n
2
+ n m , w h i c h i s n m a s
w e a s s u m e t h a t t h e i n p u t i s a s t r o n g l y c o n n e c t e d g r a p h .
A s f o r D G 1 , w e h a v e t h e f o l l o w i n g . T h e h e a d i n i t i a l i z e s t h e t a b l e a n d a r r a y V i s i t , w h i c h t a k e
n
2
t i m e a n d n t i m e r e s p e c t i v e l y . F i n d S o u r c e r u n s i n m , s o t h e h e a d r u n s i n n
2
t i m e i n t o t a l . T h e b o d y c h e c k s e v e r y v e r t e x a t e v e r y l e v e l b u t v i s i t s t h e a r c s o f t h e u n f o l d e d
g r a p h o n l y . S o , i t r u n s i n n
2
+ E
U
. T h e t a i l r u n s i n n
2
i n t h e w o r s t c a s e b u t c a n r u n
i n l e s s t i m e d u e t o l i n e 1 9 , e . g . , i f t h e g r a p h i s a r i n g , t h e t a i l t a k e s l i n e a r t i m e . H e n c e , t h e t a i l
r u n s i n O n
2
t i m e , a n d t h e t o t a l r u n n i n g t i m e f o r D G 1 i s n
2
+ E
U
A s f o r D G 2 , t h e h e a d e v e n w i t h F i n d S o u r c e a n d t h e t a i l h a v e t h e s a m e r u n n i n g t i m e a s
t h o s e i n K a r p ' s a l g o r i t h m . T h u s , t h e y b o t h r u n i n n
2
t i m e . T h e b o d y v i s i t s o n l y t h e v e r t i c e s
a n d t h e a r c s i n t h e u n f o l d e d g r a p h a n d r u n s i n E
U
. H e n c e , t h e t o t a l r u n n i n g t i m e f o r D G 2
i s n
2
+ E
U
. H e r e a l s o n o t e t h a t t h e q u e u e f u n c t i o n s r u n i n c o n s t a n t t i m e .
A s f o r D G 3 , t h e h e a d m a i n l y h a s a f o r l o o p t o i n i t i a l i z e L a s t L e v e l a n d F i n d S o u r c e , s o r u n s
i n m d u e t o t h e l a t t e r . T h e b o d y , s i m i l a r t o t h a t o f D G 2 , v i s i t s o n l y t h e v e r t i c e s a n d t h e a r c s
i n t h e u n f o l d e d g r a p h a n d r u n s i n E
U
. T h e t a i l h a s a n i n t e r e s t i n g b e h a v i o r . D u e t o t h e u s e
o f a r r a y V a l i d , t h e t a i l c h e c k s o n l y t h e v e r t i c e s i n t h e u n f o l d e d g r a p h . A l s o , d u e t o l i n e 2 2 , i t
r u n s i n O V
U
t i m e . T h u s , t h e t o t a l r u n n i n g t i m e f o r D G 3 i s O V
U
+ E
U
, w h i c h s e e m s t o
b e t h e b e s t w e c a n g e t g i v e n t h e s i z e o f t h e u n f o l d e d g r a p h .
A s u m m a r y o f t h e r u n n i n g t i m e s i s g i v e n i n T a b . I a n d i n t h e f o l l o w i n g t h e o r e m . W e c o n c l u d e
f r o m t h e s e a n a l y s e s t h a t o u r a l g o r i t h m s h a v e t h e s a m e r u n n i n g t i m e a s K a r p ' s a l g o r i t h m o n l y i n
t h e w o r s t c a s e ; f o r a l l t h e o t h e r a n d c o m m o n c a s e s , o u r a l g o r i t h m s o u t p e r f o r m K a r p ' s a l g o r i t h m
a s y m p t o t i c a l l y . T h e r u n n i n g t i m e d i e r e n c e c a n b e s i g n i c a n t , e . g . , D G 3 r e q u i r e s n t i m e f o r
a r i n g g r a p h b u t K a r p ' s a l g o r i t h m r e q u i r e s n
2
1 4
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
16/19
T A B L E I
T i m e c o m p l e x i t y o f e a c h a l g o r i t h m i n - n o t a t i o n u n l e s s n o t e d o t h e r w i s e .
A l g . H e a d B o d y T a i l T o t a l
K a r p n
2
n m n
2
n
2
+ n m
D G 1 n
2
n
2
+ E
U
O n
2
n
2
+ E
U
D G 2 n
2
E
U
n
2
n
2
+ E
U
D G 3 m E
U
O V
U
O V
U
+ E
U
T h e o r e m 2 : F o r a s t r o n g l y c o n n e c t e d g r a p h w i t h n v e r t i c e s a n d m a r c s , K a r p ' s a l g o r i t h m r u n s
i n n m t i m e , a n d o u r a l g o r i t h m s r u n i n O n m t i m e . F o r a n o n - s t r o n g l y c o n n e c t e d g r a p h
w i t h t h e s a m e p a r a m e t e r s , a l l o f t h e a l g o r i t h m s r u n i n O n m t i m e .
I X . E x p e r i m e n t a l R e s u l t s a n d D i s c u s s i o n
I n t h i s s e c t i o n , w e r e p o r t t h e r e s u l t s o f o u r e x p e r i m e n t s t h a t w e d i d t o s e e t h e p e r f o r m a n c e
o f o u r a l g o r i t h m s i n p r a c t i c e . W e c o d e d a l l t h e a l g o r i t h m s i n C , a n d d i d e x p e r i m e n t s o n a S u n
S P A R C 2 0 w i t h 6 4 M B r e a l m e m o r y , r u n n i n g S u n O S R . 5 . 4 . W e u s e d t w o g r o u p s o f b e n c h m a r k
g r a p h s a s o u r t e s t s u i t e
1
. T h e r s t g r o u p o f g r a p h s w e r e o b t a i n e d f r o m t h e h i g h - l e v e l s y n t h e s i s
b e n c h m a r k s . T h e s e c o n d g r o u p c o n s i s t s o f s i g n a l t r a n s i t i o n g r a p h s u s e d i n 1 6 , 1 7 .
T a b . I I p r e s e n t s t h e s i z e o f e a c h t e s t c a s e a n d t h e e x p e r i m e n t a l r e s u l t s i n t e r m s o f t h e n u m b e r
o f v e r t i c e s a n d a r c s v i s i t e d a n d t h e r u n n i n g t i m e . I n t h e t a b l e , t h e r s t g r o u p c o n s i s t s o f t h e r s t
8 g r a p h s w h o s e n a m e s a r e c a p i t a l i z e d , a n d t h e s e c o n d g r o u p c o n s i s t s o f t h e r e s t , 4 2 g r a p h s ,
o f t h e g r a p h s w h o s e n a m e s a r e a l l i n l o w e r c a s e . W e i n c l u d e d a n e x t r a l a r g e r i n g g r a p h a t
r o w 9 , R 2 0 0 0 , t o s h o w t h e p e r f o r m a n c e i n t h e b e s t c a s e f o r o u r a l g o r i t h m s . R i n g s g r a p h s a l s o
o c c u r n a t u r a l l y , e . g . , m o d 4 - c o u n t e r i n t h e s e c o n d g r o u p . T h e n u m b e r s r e p o r t e d a r e f o r t h e w h o l e
g r a p h s , i . e . , t h e y a r e f o r a l l t h e s t r o n g l y c o n n e c t e d c o m p o n e n t s . T h e r u n n i n g t i m e i s t h e s u m o f
t h e u s e r a n d s y s t e m C P U t i m e s i n s e c o n d s f r o m t h e b e g i n n i n g o f e x e c u t i o n o f t h e a l g o r i t h m
t o i t s c o m p l e t i o n .
F r o m T a b . I I , w e c a n o b s e r v e t h e f o l l o w i n g . E a c h o b s e r v a t i o n i s a l s o d i s c u s s e d b e l o w .
1 . D G 1 a n d K a r p ' s a l g o r i t h m c o l u m n 4 v i s i t t h e s a m e n u m b e r o f v e r t i c e s b u t D G 2 a n d D G 3
c o l u m n 5 v i s i t a l o t l e s s t h a n b o t h o f t h e m . T h e i m p r o v e m e n t a c h i e v e d r a n g e s f r o m 9 9 . 9 5
o n R 2 0 0 0 t o 1 3 . 3 2 o n M C 6 5 0 2 - G R O U P 0 . T h e i m p r o v e m e n t i s m o r e t h a n 5 0 o n 4 3 o u t
o f 5 2 g r a p h s i n t h e t a b l e .
2 . A l l o u r a l g o r i t h m s c o l u m n 7 v i s i t a l o t l e s s a r c s t h a n K a r p ' s a l g o r i t h m c o l u m n 6 d o e s .
T h e i m p r o v e m e n t a c h i e v e d r a n g e s f r o m 9 9 . 9 5 o n R 2 0 0 0 t o 1 3 . 4 7 o n M C 6 5 0 2 - G R O U P 0 .
T h e i m p r o v e m e n t i s m o r e t h a n 5 0 o n 4 3 o u t o f 5 2 g r a p h s i n t h e t a b l e .
3 . O u r a l g o r i t h m s v i s i t a s m a n y a r c s a s s h o u l d b e v i s i t e d t o g e t t h e r e s u l t . F o r e x a m p l e , s i n c e
t h e r e i s o n l y o n e c y c l e i n a r i n g g r a p h R 2 0 0 0 , t h e m a x i m u m c y c l e m e a n c a n b e f o u n d b y
c o m p u t i n g t h e m e a n w e i g h t o f t h a t c y c l e i n t i m e l i n e a r i n t h e s i z e o f t h e g r a p h e x c l u d i n g
t h e c o m p l e x i t y o f t h e h e a d a n d t a i l . K a r p ' s a l g o r i t h m i n s t e a d t a k e s t i m e q u a d r a t i c i n t h e
s i z e o f t h e g r a p h s . T h e b e h a v i o r s o f t h e a l g o r i t h m s a r e e v i d e n t f r o m r o w 9 o f T a b . I I . D G 3
i s t h e f a s t e s t b e c a u s e i t d o e s a s m u c h w o r k a s r e q u i r e d . D G 1 a n d D G 2 v i s i t a s m a n y a r c s a s
t h e r e a r e i n R 2 0 0 0 b u t t h e t i m e s s p e n t d u r i n g h e a d a n d t a i l t a k e m o s t o f t h e r u n n i n g t i m e .
N o t e t h e n u m b e r o f v e r t i c e s a n d a r c s K a r p ' s a l g o r i t h m v i s i t s , w h i c h i s w h y i t i s t h e s l o w e s t
o n t h i s s i m p l e g r a p h . T h i s w e a k n e s s o f K a r p ' s a l g o r i t h m i s u s u a l l y e x p e c t e d t o b e s e e n i n
s p a r s e g r a p h s .
1
T h e p r o g r a m a n d t h e t e s t s u i t e a r e a v a i l a b l e f r o m t h e a u t h o r s .
1 5
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
17/19
4 . D G 1 i s a l m o s t a l w a y s t h e f a s t e s t a l g o r i t h m a m o n g t h e t h r e e c o l u m n s 8 - 1 1 . F o r o n l y t h r e e
o f t h e g r a p h s i n t h e s e c o n d g r o u p , K a r p ' s a l g o r i t h m r u n s f a s t e r t h a n D G 1 . W e t h i n k t h a t
t h i s m i g h t h a v e r e s u l t e d f r o m t h e r e s u l o t i o n o f t h e t i m e r w e u s e d .
2
5 . K a r p ' s a l g o r i t h m s o m e t i m e s o u t p e r f o r m s D G 2 a n d D G 3 e s p e c i a l l y o n g r a p h s i n t h e r s t
g r o u p . A s D G 2 a n d D G 3 d o m u c h l e s s w o r k , t h i s o b s e r v a t i o n s e e m s a b i t s t r a n g e . H o w e v e r ,
t h e r e a s o n i s s i m p l e . A s w e m e n t i o n e d e a r l i e r , t h e b o d y i s t h e m o s t t i m e c o n s u m i n g p a r t
o f t h e s e a l g o r i t h m s , a n d K a r p ' s a l g o r i t h m h a s a b o d y w i t h v e r y t i g h t , s m a l l l o o p s . T h i s i s
a c t u a l l y t h e b i g g e s t a d v a n t a g e o f K a r p ' s a l g o r i t h m . T h e i n n e r m o s t l o o p i n D G 2 a n d D G 3
h a s t o i n c l u d e m o r e s t a t e m e n t s t o r e a l i z e u n f o l d i n g . T h i s t o g e t h e r w i t h p o s s i b l e c a c h e m i s s e s
d u e t o t h e c i r c u l a r q u e u e s e e m s t o b e t h e r e a s o n f o r t h i s b e h a v i o r .
W e s h o u l d m e n t i o n t h a t t h e n u m b e r o f v e r t i c e s a n d a r c s v i s i t e d i s i n d e p e n d e n t o f i m p l e m e n t a -
t i o n , s o i s a b e t t e r i n d i c a t o r o f t h e i m p r o v e m e n t s t h a t o u r a l g o r i t h m s a c h i e v e . T h i s f a c t s h o u l d
b e o b s e r v e d e s p e c i a l l y f o r t h e b e n c h m a r k s i n t h e s e c o n d g r o u p b e c a u s e t h e r u n n i n g t i m e g u r e s
f o r t h e m a r e v e r y s m a l l . I n s u m m a r y , D G 3 i s a s y m p t o t i c a l l y t h e f a s t e s t a l g o r i t h m t o t h e e x t e n t
t h a t i t i s o n e o f t h e f a s t e s t i n t h e l i t e r a t u r e ; h o w e v e r , w e t h i n k t h a t D G 1 i s t h e b e s t c h o i c e ,
c o n s i d e r i n g t h e b e h a v i o r i n p r a c t i c e . T h e i m p l e m e n t a t i o n c o m p l e x i t y o f D G 1 i s a l s o n o w o r s e
t h a n t h a t o f K a r p ' s a l g o r i t h m .
X . C o n c l u s i o n s
I n t h i s p a p e r , w e d i s c u s s e d t h e m a x i m u m m e a n c y c l e p r o b l e m a n d a n a l g o r i t h m , K a r p ' s a l g o -
r i t h m , t h a t h a s b e e n c o m m o n l y u s e d t o s o l v e i t . W e s h o w e d t h e s h o r t c o m i n g s o f K a r p ' s a l g o r i t h m
a n d p r o p o s e d a g r a p h u n f o l d i n g s c h e m e f o r t h e m a x i m u m m e a n c y c l e p r o b l e m t o r e m e d y t h e m .
T h e p r o p o s e d s c h e m e l e a d s t o t h r e e f a s t e r m a x i m u m m e a n c y c l e a l g o r i t h m s w i t h d i e r e n t c h a r a c -
t e r i s t i c s . W e e v a l u a t e d t h e s e a l g o r i t h m s b o t h i n t h e o r y u s i n g a s y m p t o t i c a n a l y s i s a n d i n p r a c t i c e
u s i n g e x p e r i m e n t s o n b e n c h m a r k g r a p h s i n c o m p a r i s o n w i t h K a r p ' s a l g o r i t h m . A s y m p t o t i c a n a l -
y s i s s h o w s t h a t o u r a l g o r i t h m s a r e a l w a y s f a s t e r t h a n K a r p ' s a l g o r i t h m . E x p e r i m e n t a l r e s u l t s
g i v e a s o m e w h a t d i e r e n t p i c t u r e . O n e o f o u r a l g o r i t h m s i s a l w a y s f a s t e r t h a n K a r p ' s a l g o r i t h m ,
b u t t h e o t h e r t w o a r e s o m e t i m e s s l o w e r . W e c o n c l u d e d t h a t t h i s i s d u e t o t h e v e r y t i g h t l o o p s i n
K a r p ' s a l g o r i t h m , w h i c h p r o b a b l y m a k e s t h e c o n s t a n t s i n i t s a s y m p t o t i c r u n n i n g t i m e s m a l l e r .
E x p e r i m e n t s a l s o s h o w t h a t o u r a l g o r i t h m s p r o c e s s a l o t l e s s v e r t i c e s a n d a r c s t h a n K a r p ' s a l -
g o r i t h m d o e s , a s w e e x p e c t e d f r o m t h e a s y m p t o t i c a n a l y s i s . T h i s o b s e r v a t i o n , u n l i k e t h a t f r o m
a c t u a l r u n n i n g t i m e s , i s m o r e p r o m i s i n g b e c a u s e i t i s i n d e p e n d e n t o f a n y i m p l e m e n t a t i o n o f t h e s e
a l g o r i t h m s . W e a l s o h a v e t o m e n t i o n t h a t o u r i m p r o v e m e n t s a r e a l s o a p p l i c a b l e t o t h e m i n i m u m
m e a n c y c l e p r o b l e m a n d t h a t o n e o f o u r a l g o r i t h m s i s o n e o f t h e f a s t e s t t o d a t e .
A c k n o w l e d g m e n t . W e w o u l d l i k e t o t h a n k J . C o r t a d e l l a a n d L . L a v a g n o f o r s e n d i n g u s t h e
s i g n a l t r a n s i t i o n g r a p h s . T h i s w o r k w a s s u p p o r t e d b y t h e N a t i o n a l S c i e n c e F o u n d a t i o n u n d e r
g r a n t s N S F C a r e e r A w a r d M I P 9 5 - 0 1 6 1 5 a n d A S C - 9 6 - 3 4 9 4 7 .
R e f e r e n c e s
1 S . M . B u r n s a n d A . J . M a r t i n , P e r f o r m a n c e a n a l y s i s a n d o p t i m i z a t i o n o f a s y n c h r o n o u s c i r c u i t s " , i n P r o c .
A d v a n c e d R e s e a r c h i n V L S I S i g n a l P r o c e s s i n g C o n f . , 1 9 9 1 , p p . 7 1 8 6 .
2 J . M a g o t t , P e r f o r m a n c e e v a l u a t i o n o f c o n c u r r e n t s y s t e m s u s i n g p e t r i n e t s " , I n f o r . P r o c . L e t t e r s , v o l . 1 8 , p p .
7 1 3 , 1 9 8 4 .
3 L . - T . L i u , M . S h i h , a n d C . - K . C h e n g , D a t a o w p a r t i t i o n i n g f o r c l o c k p e r i o d a n d l a t e n c y m i n i m i z a t i o n " , i n
P r o c . 3 1 s t D e s i g n A u t o m a t i o n C o n f . A C M I E E E , 1 9 9 4 , p p . 2 4 4 2 4 9 .
2
W e u s e d t h e t i m e s s y s t e m c a l l .
1 6
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
18/19
4 K . I t o a n d K . K . P a r h i , D e t e r m i n i n g t h e m i n i m u m i t e r a t i o n p e r i o d o f a n a l g o r i t h m " , J . V L S I S i g n a l
P r o c e s s i n g , v o l . 1 1 , n o . 3 , p p . 2 2 9 2 4 4 , D e c . 1 9 9 5 .
5 J . T e i c h , S . S r i r a m , L . T h i e l e , a n d M . M a r t i n , P e r f o r m a n e a n a l y s i s o f m i x e d a s y n c h r o n o u s s y n c h r o n o u s
s y s t e m s " , i n P r o c . W o r k s h o p o n V L S I S i g n a l P r o c e s s i n g . I E E E , 1 9 9 4 .
6 A . D a s d a n , A . M a t h u r , a n d R . K . G u p t a , R a t a n : A t o o l f o r r a t e a n a l y s i s a n d r a t e c o n s t r a i n t d e b u g g i n g f o r
e m b e d d e d s y s t e m s " , i n P r o c . E u r o . D e s i g n a n d T e s t C o n f . I E E E , 1 9 9 7 .
7 M . H a r t m a n n a n d J . B . O r l i n , F i n d i n g m i n i m u m c o s t t o t i m e r a t i o c y c l e s w i t h s m a l l i n t e g r a l t r a n s i t t i m e s " ,
N e t w o r k s , v o l . 2 3 , p p . 5 6 7 5 7 4 , 1 9 9 3 .
8 R . M . K a r p , A c h a r a c t e r i z a t i o n o f t h e m i n i m u m c y c l e m e a n i n a d i g r a p h " , D i s c r e t e M a t h e m a t i c s , v o l . 2 3 ,
p p . 3 0 9 3 1 1 , 1 9 7 8 .
9 E . L . L a w l e r , 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 : N e t w o r k s a n d M a t r o i d s , H o l t , R e i n h a r t , a n d W i n s t o n , N e w Y o r k ,
N Y , U S A , 1 9 7 6 .
1 0 J . B . O r l i n a n d R . K . A h u j a , N e w s c a l i n g a l g o r i t h m s f o r t h e a s s i g n m e n t a n d m i n i m u m m e a n c y c l e p r o b l e m s " ,
M a t h e m a t i c a l P r o g r a m m i n g , v o l . 5 4 , p p . 4 1 5 6 , 1 9 9 2 .
1 1 N . E . Y o u n g , R . E . T a r j a n , a n d J . B . O r l i n , F a s t e r p a r a m e t r i c s h o r t e s t p a t h a n d m i n i m u m - b a l a n c e a l g o -
r i t h m s " , N e t w o r k s , v o l . 2 1 , p p . 2 0 5 2 2 1 , 1 9 9 1 .
1 2 F . B a c e l l i , G . C o h e n , G . J . O l s d e r , a n d J . - P . Q u a d r a t , S y n c h r o n i z a t i o n a n d L i n e a r i t y , J o h n W i l e y & S o n s ,
N e w Y o r k , N Y , U S A , 1 9 9 2 .
1 3 L . E . L u c k e , A . P . B r o w n , a n d K . K . P a r h i , U n f o l d i n g a n d r e t i m i n g f o r h i g h - l e v e l D S P s y n t h e s i s " , i n P r o c .
I n t . S y m p . C i r c u i t s a n d S y s t . I E E E , 1 9 9 1 .
1 4 G . C o h e n , D . D u b o i s , J . P . Q u a d r a t , a n d M . V i o t , A l i n e a r - s y s t e m - t h e o r e t i c v i e w o f d i s c r e t e - e v e n t p r o c e s s e s
a n d i t s u s e f o r p e r f o r m a n c e e v a l u a t i o n i n m a n u f a c t u r i n g " , I E E E T r a n . A u t o m a t i c C o n t r o l , v o l . 3 0 , n o . 3 , p p .
2 1 0 2 2 0 , M a r . 1 9 8 5 .
1 5 H . H u l g a a r d , S . M . B u r n s , T . A m o n , a n d G . B o r r i e l l o , A n a l g o r i t h m f o r e x a c t b o u n d s o n t h e t i m e s e p e r a t i o n
o f e v e n t s i n c o n c u r r e n t s y s t e m s " , I E E E T r a n s . C o m p u t . , v o l . 4 4 , n o . 1 1 , p p . 1 3 0 6 1 3 1 7 , N o v . 1 9 9 5 .
1 6 J . C o r t a d e l l a , M . K i s h i n e v s k y , A . K o n d r a t y e v , L . L a v a g n o , a n d A . Y a k o v l e v , M e t h o d o l o g y a n d t o o l s f o r
s t a t e e n c o d i n g i n a s y n c h r o n o u s c i r c u i t s y n t h e s i s " , i n P r o c . 3 3 r d D e s i g n A u t o m a t i o n C o n f . A C M I E E E , 1 9 9 6 ,
p p . 6 3 6 6 .
1 7 L . L a v a g n o , K . K e u t z e r , 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 , S y n t h e s i s o f h a z a r d - f r e e a s y n c h r o n o u s c i r c u i t s w i t h
b o u n d e d w i r e d e l a y s " , I E E E T r a n s . C o m p u t e r - A i d e d D e s i g n , v o l . 1 4 , n o . 1 , p p . 6 1 8 6 , J a n . 1 9 9 5 .
1 7
8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.
19/19
T A B L E I I
B e n c h m a r k s a n d e x p e r i m e n t a l r e s u l t s .
v e r t i c e s a r c s R u n n i n g
v i s i t e d v i s i t e d t i m e s s
S i z e K a r p D G 2
N a m e n m D G 1 D G 3 K a r p D G 1 2 3 K a r p D G 1 D G 2 D G 3
D I F F E Q 1 7 2 2 0 4 4 7 4 0 2 4 3 9 1 1 7 8 0 6 0 3 5 0 . 0 1 0 . 0 1 0 . 0 2 0 . 0 1
E L L I P T I C 3 0 7 3 4 4 9 0 4 9 4 7 1 9 2 6 6 0 2 1 3 3 2 4 0 . 0 2 0 . 0 1 0 . 0 2 0 . 0 2
G C D 4 9 5 5 4 4 9 5 9 4 6 5 3 7 0 . 0 0 0 . 0 0 0 . 0 1 0 . 0 0
M C 6 5 0 2 - G R O U P 0 2 2 1 9 2 4 1 0 1 0 6 8 2 5 9 2 5 9 9 5 8 3 8 2 3 5 0 5 2 0 7 0 . 3 7 0 . 3 3 0 . 5 6 0 . 6 6
M C 6 5 0 2 - G R O U P 1 6 2 0 6 7 1 1 7 9 1 2 1 3 6 8 4 6 8 5 0 8 5 2 3 7 5 0 . 0 4 0 . 0 4 0 . 0 7 0 . 0 7
M C 6 5 0 2 - G R O U P 2 2 9 2 8 3 1 9 8 2 3 3 3 6 0 1 7 8 4 4 7 9 6 0 2 2 1 7 5 4 3 1 9 0 . 6 5 0 . 5 6 0 . 9 7 1 . 2 1
P A R K E R 1 9 8 6 1 7 2 1 7 7 8 0 0 4 5 8 3 0 1 4 8 6 3 1 1 0 0 5 0 . 0 2 0 . 0 2 0 . 0 2 0 . 0 2
T S E N G 1 3 6 1 6 1 4 0 6 1 3 6 3 6 0 3 4 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
R 2 0 0 0 2 0 0 0 2 0 0 0 4 0 0 0 0 0 0 2 0 0 0 4 0 0 0 0 0 0 2 0 0 0 8 . 7 7 2 . 2 5 5 . 6 9 0 . 6 2
a d f a s t 1 2 1 5 1 4 4 1 8 1 8 0 2 3 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
a l l o c - o u t b o u n d 2 4 2 5 5 7 6 3 2 6 0 0 3 3 0 . 0 0 0 . 0 0 0 . 0 1 0 . 0 0
c h u 1 3 3 1 4 1 7 1 9 6 2 3 2 3 8 2 6 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
c h u 1 5 0 1 4 1 6 1 9 6 3 1 2 2 4 3 6 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
c h u 1 7 2 1 5 1 6 2 2 5 1 6 2 4 0 1 7 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
c o m b u f 2 1 6 1 9 1 7 2 2 7 1 9 5 2 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
c o n v e r t a 1 4 1 6 1 9 6 2 6 2 2 4 2 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
e b e r g e n 1 4 1 6 1 9 6 2 6 2 2 4 2 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
f u l l 8 1 2 6 4 1 4 9 6 2 1 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
h a z a r d 1 0 1 2 1 0 0 1 2 1 2 0 1 4 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
h y b r i d f 1 6 2 6 2 5 6 8 6 4 1 6 1 4 2 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
i r c v - b m 5 1 6 4 2 6 0 1 2 3 0 3 2 6 4 2 8 9 0 . 0 1 0 . 0 1 0 . 0 1 0 . 0 1
m a s t e r - r e a d 2 8 4 0 7 8 4 4 2 5 1 1 2 0 6 0 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
m m u 1 6 2 0 2 5 6 5 5 3 2 0 6 8 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
m m u 0 1 6 2 0 2 5 6 5 5 3 2 0 6 8 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
m m u 1 1 6 2 4 2 5 6 1 2 7 3 8 4 1 8 7 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
m o d 4 - c o u n t e r 1 6 1 6 2 5 6 1 6 2 5 6 1 6 0 . 0 0 0 . 0 0 0 . 0 1 0 . 0 0
m p - f o r w a r d - p k t 1 6 2 6 2 5 6 2 5 4 1 6 4 0 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
m r 0 2 2 3 1 4 8 4 1 6 8 6 8 2 2 2 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
m r 1 1 8 2 5 3 2 4 1 1 4 4 5 0 1 5 5 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
m u x 2 5 3 7 4 2 8 0 9 1 9 4 7 3 9 2 2 2 7 4 4 0 . 0 0 0 . 0 1 0 . 0 1 0 . 0 1
n a k - p a 2 0 2 4 4 0 0 2 6 4 8 0 3 0 0 . 0 0 0 . 0 0 0 . 0 1 0 . 0 0
n o w i c k 1 6 2 1 2 5 6 2 0 3 3 6 2 5 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0
p a r - 4 2 0 2 3 4 0 0 4 4 4 6 0 5 0 0 . 0 0 0 . 0 0 0 . 0 1 0 . 0 0
p e - r c v - i f c 6 3 8 1 3 9 6 9 9 9 1 5 1 0 3 1 2 4 7 0 . 0 1 0 . 0 0 0 . 0 0 0 . 0 1
p e - s e n d - i f c 6 2 8 3 3 8 4 4 1 0 6
Recommended