• Nie Znaleziono Wyników

Algorytmy równoległe znajdowania minimaksowych rozgałęzień

N/A
N/A
Protected

Academic year: 2022

Share "Algorytmy równoległe znajdowania minimaksowych rozgałęzień"

Copied!
17
0
0

Pełen tekst

(1)

Leon S ł o m i ń s k i

I n s ty tu t B a d a ń S y s te m o w y c h , W a rs z a w a

ALGORYTMY RÓWNOLEGŁE ZNAJDOWANIA MINIMAKSOWYCH ROZGAŁĘZIEŃ*

S t r e s z c z e n i e . W p r a c y p r z e d s t a w i o n o a l g o r y t m y r ó w n o l e g ł e d l a r o z w i ą z a n i a z a d a n i a m in im a k s o w e g o r o z g a ł ę z i e n i a r o z p i n a j ą c e g o w w ażonym d i g r a f i e o n w i e r z c h o ł k a c h i m ł u k a c h . W p o w s z e c h n i e p r z y j ę t y m m o d e lu o b l i c z e ń r ó w n o l e g ł y c h ( k o m p u te r SIMD z k o m u n i­

k a c j ą p r z e z w s p ó l n ą p a m i ę ć , m o ż liw y j e d n o c z e s n y o d c z y t , w ykluczo­

n y r ó w n o c z e s n y z a p i s ) p r z e d s t a w i o n o a l g o r y t m p r o g o w y , k o r z y s t a ­ j ą c y z r ó w n o l e g ł e g o p r z e g l ą d u d i g r a f u w s z e r z , k t ó r y r o z w i ą z u j e z a d a n i e w c z a s i e 0 (n l o g 2 n ) p r z y 0 (m) p r o c e s o r a c h . S c h a r a k t e ­ r y z o w a n o r ó w n i e ż i n n e a l g o r y t m y r ó w n o l e g ł e r o z w i ą z u j ą c e p o s ta w io - n y p r o b l e m , p r z e z w y z n a c z e n i e s k i e r o w a n e g o , u k o r z e n i o n e c o d r z e w a d ró g - m in im a k s o w a c h .

Wstęp

B a d an ia w ł a s n o ś c i i e f e k t y w n o ś c i o b l i c z e n i o w e j a lg o r y t m ó w r ó w n o l e g ł y c h dla o p t y m a l i z a c j i k o m b i n a t o r y c z n e j s ą s t y m u lo w a n e p o t r z e b ą s z y b k i e g o r o z ­ k a zy w a n ia d u ż y c h z ł o ż o n y c h z a d a ń w y s t ę p u j ą c y c h w r ó ż n y c h d z i e d z i n a c h z a ­ stosowań. I s t o t n e z n a c z e n i e ma t a k ż e d y n a m i c z n y r o z w ó j t e c h n i k i o b l i c z e ń ró w n o leg ły ch , o p a r t e j n a r ó ż n o r o d n y c h s t r u k t u r a c h i a r c h i t e k t u r a c h w i e l o ­ pro ceso ro w y ch , w y k o r z y s t u j ą c e j p o s t ę p w t e c h n o l o g i i u k ł a d ó w b a r d z o d u ż e j s ia li i n t e g r a c j i . W k o n s t r u o w a n i u a lg o r y t m ó w r ó w n o l e g ł y c h o b s e r w u j e s i ę dwa trendy: b u d o w a a l g o r y t m u o d n o w a z w y k o r z y s t a n i e m w ł a s n o ś c i r o z w i ą z y w a n e g o problemu i u w z g l ę d n i e n i e m c e c h . m o d e l u k o m p u t e r a o r a z d r u g i e p o d e j ś c i e p o ­ legające n a z r ó w n o l e g l a n i u w y b r a n y c h a lg o r y t m ó w s e k w e n c y j n y c h . P r e z e n t o w a n a praca l e ż y w ty m d r u g i m n u r c i e . R o z w a ż a n y p r o b l e m o p t y m a l i z a c y j n y t o j e d n o 1 k la s y c z n y c h z a g a d n i e ń t e o r i i g r a f ó w o w i e l o r a k i c h z a s t o s o w a n i a c h w b a d a ­ niach o p e r a c y j n y c h i a n a l i z i e s y s te m o w e j - z a d a n i e z n a l e z i e n i a m in im a k s o w e - 50 r o z g a ł ę z i e n i a r o z p i n a j ą c e g o (m in im a k s o w e g o d e n d r y t u s k i e r o w a n e g o z k o ­ rceniem w w y r ó ż n io n y m w i e r z c h o ł k u ) w d i g r a f i e z w a ż o n y m i ł u k a m i . W w y b o r z e sposobu r o z w i ą z a n i a z a g a d n i e n i a b i e r z e m y p o d u w a g ę f a k t , ż e m in i m a l n e r o z - S k ę z le n ie r o z p i n a j ą c e - w o d r ó ż n i e n i u o d d e n d r y t u m i n i m a l n e g o g r a f u n i e - slierow anego - n i e j e s t m in im a k s o w y m r o z g a ł ę z i e n i e m r o z p i n a j ą c y m o r a z ż ę orrewo m in lm a k s o w y c h d r ó g s k i e r o w a n y c h z w y r ó ż n i o n e g o w i e r z c h o ł k a d o w s z y ­ stkich p o z o s t a ł y c h j e s t t a k ż e r o z w i ą z a n i e m n a s z e g o z a d a n i a . Z a s a d n i c z ą u - Vi9i p o św ię c am y r ó w n o l e g łe m u a l g o r y t m o w i p ro g o w e m u z u w a g i n a p e w n ą u n i w e r ­

fraca z o s t a ł a w y k o n a n a w r a m a c h p r o b l e m u CPBP 0 2 . 1 5 w t e m a c i e " O p t y n a l i - i4c ja n a s t r u k t u r a c h k o m b i n a t o r y c z n y c h z u w z g lę d n ie n ie m o b lic z e ń n & n o ieg ły ch '"

(2)

2 8 8 L . Słomióski

s a l n o ś ć p o d e j ś c i a p ro g o w e g o w r o z w i ą z y w a n i u z a d a ń m in im a k s o w e j optym alizacji d y k r e t n e j o r a z z e w z g l ę d u n a z n a c z e n i e m e to d y p r z e g l ą d u d i g r a f u w s z e r z , dla k t ó r e j p r z e d s t a w i a m y r e a l i z a c j e w p r z y j ę t y m m o d e lu o b l i c z e ń r ó w n o le g ły c h . N a s t ę p u j ą c e g łó w n e z a ł o ż e n i a o k r e ś l a j ą m o d e l k o m p u te r a r ó w n o l e g ł e g o , z któ­

r e g o k o r z y s t a m y : - n i e o g r a n i c z o n a l i c z b a i d e n t y c z n y c h p r o c e s o r ó w , - synchro­

n i c z n y t r y b p r a c y w e d łu g s c h e m a t u " j e d e n s t r u m i e ń r o z k a z ó w , w i e l e strum ieni d a n y c h " , - k o m u n i k a c j a m ie d z y p r o c e s o r a m i o d b y w a s i e p r z e z w s p ó l n ą pamięć 0 sw obodnym d o s t ę p i e , - d o p u s z c z a s i e r ó w n o c z e s n e c z y t a n i e p r z e z w i e l e pro­

c e s o r ó w z j e d n e g o m i e j s c a p a m i ę c i i w y k l u c z a s i e r ó w n o c z e n e p i s a n i e w tya samym m i e j s c u . R ó w n o le g ły a l g o r y t m p r o g o w y o b e j m u j e a d a p t a c j e a lg o r y tm u wy­

z n a c z a n i a m e d ia n y w a ż o n y c h łu k ó w g r a f u o r a z m e t o d e p o s z u k i w a n i a ro z g a łę z ie ­ n i a r o z p i n a j ą c e g o w p o d g r a f i e , k t ó r y t w o r z ą p i e r w o t n y z b i ó r w ie rz c h o łk ó w : t e ł u k i , k t ó r y c h w a g i s ą n i e w i e k s z e o d p r o g u ( r ó w n e g o m e d i a n i e ak tu aln eg o p o d z b i o r u ł u k ó w ) . M e d ia n a j e s t w y z n a c z a n a O ( l o g m ) r a z y z k o s z t e m jedno­

ra z o w y m 0 ( { l o g l o g n ) 2 ) p r z y u ż y c i u 0 (m) p r o c e s o r ó w . W y z n a c z e n i e rozga­

ł ę z i e n i a r o z p i n a j ą c e g o l u b s t w i e r d z e n i e , ż e b a d a n y > p o d g r a f n i e ma g o , kosz­

t u j e O ( n l o g n ) o p e r a c j i p r z y w y k o r z y s t a n i u 0 ( n 2 ) p r o c e s o r ó w . Nakład c z a s u o b l i c z e ń d l a c a ł e g o a l g o r y t m u p r o g o w e g o w y n o s i 0 ( n l o g 2 n ) .

I n n e p o d e j ś c i e d o r o z w i ą z a n i a z a d a n i a p o l e g a n a a d a p t a c j i d o p o t r z e b k r y t e r i u m m in im a k s o w e g o a lg o r y t m ó w w y z n a c z a n i a n a j k r ó t s z y c h d r ó g w d ig ra- f i e w a żo n y m . P o d e j ś c i e t o z i l u s t r o w a n o dwoma a l g o r y t m a m i r ó w n o l e g ły m i wy­

k o r z y s t u j ą c y m i dwa m o d e l e k o m p u te r a r ó w n o l e g ł e g o r ó ż n e o d m odelu o b o w i ą z u j ą c e g o d l a p o d e j ś c i a p r o g o w e g o . P i e r w s z y a l g o r y t m ~ r ó w n o le g ły w a r i a n t a l g o r y t m u D i j k s t r y (w y z n ac z a d r z e w o d r ó g . m in im a k s o w y c h z k o rz e n ia d o p o z o s t a ł y c h ( n —1) w i e r z c h o ł k ó w ) z b u d o w a n o n a m o d e l u k o m p u t e r a , którego w y s p e c j a l i z o w a n e p r o c e s o r y t w o r z ą p o d w ó jn e d r z e w o b i n a r n e . 0 (n) pro­

c e s o r ó w r o z w i ą z u j e z a d a n i e w c z a s i e 0 ( n l o g n ) . D r u g i a l g o r y t m p o l e g a na z b u d o w a n iu g r a f u d r ó g m in im a k s o w y c h m ie d z y w s z y s t k i m i p a r a m i w ierzch o łk ó w d i g r a f u m e t o d ą m n o ż e n i a j e g o m a c i e r z y s ą s i e d z t w a . 2 g r a f u t e g o m ożna łatwo w y o d r ę b n i ć d r z e w o d r ó g m in im a k s o w y c h o p o c z ą t k u w k o r z e n i u , o d p o w iad ają« « r o z w i ą z a n i u n a s z e g o z a d a n i a . A l g o r y t m t e n j e s t p r e d y s p o n o w a n y d o irapleoen' t a c j i n a k o m p u t e r a c h , k t ó r y c h p r o c e s o r y t w o r z ą r e g u l a r n e s t r u k t u r y dwu ' 1 w i ę c e j w y m ia ro w e o b e z p o ś r e d n i c h p o ł ą c z e n i a c h m ię d z y s ą s i e d n i m i proceso­

r a m i . M a s z y n a r ó w n o l e g ł a o 0 ( n * ) p r o c e s o r a c h r o z w i ą z u j e z a d a n i e nakład«®

0 ( l o g 2n ) o b l i c z e ń .

D la w s z y s t k i c h a lg o r y t m ó w d y s k u t u j e m y k r ó t k o i c h p o d s ta w o w e p a ram etry e f e k t y w n o ś c i o w e - p r z y ś p i e s z e n i e o b l i c z e ń w o d n i e s i e n i u d o n a j l e p s z y c h , z n a n y c h a lg o r y t m ó w s e k w e n c y j n y c h i e f e k t y w n o ś ć w y k o r z y s t a n i a p ro ceso ró w .

W p o d s u m o w a n iu z w ra c a m y u w a g ę n a k i e r u n k i d a l s z y c h b a d a ń w z a k r e s i e t e o r i i 1 d o ś w i a d c z e ń z a l g o r y t m a m i r ó w n o l e g ł y m i o p t y m a l i z a c j i d y s k r e t n e j '

(3)

!, S f o r m u ło w a n ie z a d a n i a

Dany j e s t s k o ń c z o n y , w a ż o n y g r a f s k i e r o w a n y G ( V ,A ,w ) , g d z i e V j e s t

¡biorem w i e r z c h o ł k ó w o m ocy n , A j e s t z b i o r e m łu k ó w o m ocy m ( ł u k i b ę d z i e - sy o z n a c z a ć s y m b o le m a i j ' i , : ) £ V l u b a k , k = 1 , — . a ^ w j e s t f u n k c j ą r z e ­ czywistą o d w z o r o w u j ą c ą z b i ó r łu k ó w A w z b i ó r l i c z b r z e c z y w i s t y c h ® (w : A + R ) , p r z e z c o r o z u m ie m y , ż e k a ż d e m u ł u k o w i a ^ j e s t p r z y p o r z ą d k o w a n a liczba r z e c z y w i s t a w ^ . O g r a f i e G (V ,A ,w ) z a k ł a d a m y , ż e j e s t g r a f e m s p ó j - sys, p o s i a d a j ą c y m w i e r z c h o ł e k , z k t ó r e g o p r o w a d z i d r o g a s k i e r o w a n a d o k a ż ­ dego z p o z o s t a ł y c h ( n - t ) w i e r z c h o ł k ó w . T en w y r ó ż n i o n y w i e r z c h o ł e k n a z y w a się k o r z e n ie m i b ę d z i e m y g o o z n a c z a ć l i t e r ą r ( p r z y j m u j ą c p o n u m e r o w a n ie

»ierzchołków . z V l i c z b a m i o d 1 d o n , k o r z e ń b ę d z i e m i a ł z a w s z e n u m e r 1 ) . R o z g a ł ę z i e n i e m g r a f u G (V ,A ,w ) n a z y w a s i e d r z e w o s k i e r o w a n e t a k i e , ż e Użdy j e g o w i e r z c h o ł e k j e s t o s i ą g a l n y w z d ł u ż d r o g i s k i e r o w a n e j m a j ą c e j p o ­ czątek w w i e r z c h o ł k u r . R o z g a ł ę z i e n i e m r o z p i n a j ą c y m g r a f u G (V ,A ,w ) n a z y w a się r o z g a ł ę z i e n i e o ( n - 1 ) ł u k a c h ( k a ż d y z ( n - 1 ) w i e r z c h o ł k ó w j e s t o s i ą g a l ­ ny z r w z d łu ż j e d n e j d r o g i s k i e r o w a n e j ) .

F u n k cję c = Z w. , g d z i e A -C . A j e s t z b i o r e m łu k ó w r o z g a ł ę z i e n i a

a k £ A R K R

ro z p in a ją c eg o R ( n a z w ie m y j e g o w a g ą . N i e c h & o z n a c z a z b i ó r w s z y s t k i c h r o z - czlęzień r o z p i n a j ą c y c h g r a f u G (V ,A ,w ) .

Z a g a d n ie n ie m in im a k s o w e g o r o z g a ł ę z i e n i a r o z p i n a j ą c e g o w g r a f i e G (V ,A ,w ) zdefiniujem y n a s t ę p u j ą c o . Z n a l e ź ć r o z g a ł ę z i e n i e r o z p i n a j ą c e R ° t a k i e , ż e

m ax {w. } = m in max iw . } (1 )

a ke Aro k R £ & a k e Aj^ . k

¡z a g a d n ie n ie m (1 ) z w i ą z a n e j e s t b l i s k o z a d a n i e m in i m a l n e g o r o z g a ł ę z i e n i a

¡w p in a ją c e g o : z n a l e ź ć r o z g a ł ę z i e n i e r o z p i n a j ą c e R ' t a k i e , ż e

1 w. =m ln Z w. (2 )

a k£ R ' a ^ R / R £ f c

Zauważmy, t e m i n i m a l n e r o z g a ł ę z i e n i e r o z p i n a j ą c e d i g r a f u G (V ,A ,W ) n i e Hst n in im a k so w y m r o z g a ł ę z i e n i e m r o z p i n a j ą c y m ( p a t r z Y y s . 1 * 3 ) , p o d c z a s

!dy d la g r a f u n i e s k l e r o w a n e g o d e n d r y t m i n i m a l n y j e s t j e d n o c z e ś n i e d e n d r y te m

**olnaksowym ( a l e n i e o d w r o t n i e ) . Z a d a n i a (1 ) i (2 ) s ą w i ę c o d r ę b n y m i ż a ­ g lam i w y m a g a ją c y m i z a s t o s o w a n i a r ó ż n y c h a l g o r y t m ó w . P r z e d m i o t e m n a s z e g o

■ńszego z a i n t e r e s o w a n i a j e s t w y ł ą c z n i e z a g a d n i e n i e ( 1 ) .

(4)

290 L . SłomiM i

R y s . 1 • D i g r a f G ( V ,A ,w ) . F i g . 1 . D i g r a p h G (V ,A ,w ).

R y s . 2 . M i n i m a l n e r o z g a ł ę z i e n i e r o z p i n a j ą c e R " .

F i g . 2 . A M inim um A r b o r e s c e n c e R

R y s .3. F i g .3.

KORZEŃ

M in im a k s o w e r o z g a ł ę z i e n i e r o z p i n a j ą c e R°Vr' A H i n i a a s A r b o r e s c e n c e R ° ^ R " .

3 . M e to d y r o z w i ą z a n i a z a d a n i a

Z a d a n i e (1 ) m o żn a r o z w i ą z a ć a l b o j a k o o d r ę b n e z a d a n i e o p t y m a l iz a c y j n e , a l b o p r z e z r o z w i ą z a n i e z a d a n i a , z k t ó r y m j e s t o n o s p o k r e w n i o n e - zad a n ia z n a l e z i e n i a w ty m samym g r a f i e d r z e w a d r ó g m in im a k s o w y c h ł ą c z ą c y c h korzei z p o z o s t a ł y m i w i e r z c h o ł k a m i . P o n i e w a ż n i e k a ż d e m in im a k s o w e r o z g a ł ę z i e n i e r o z p i n a j ą c e j e s t d rz e w e m d r ó g m in im a k s o w y c h , t o p o d e j ś c i e p i e r w s z e ma walor w i ę k s z e j o g ó l n o ś c i . N a t u r a l n ą k o n s e k w e n c j ą s k u p i e n i a w i ę k s z e j u w a g i na me­

t o d z i e p r o g o w e j j e s t z a i n t e r e s o w a n i e s p ra w n y m s e k w e n c y jn y m a lg o r y tm e m pro­

gowym r o z w i ą z a n i a z a d a n i a ( 1 ) , k t ó r y z a p r o p o n o w a ł C a m e r i n i ( 3 ) . Przetw arza- j ą c t e n a l g o r y t m d c p o s t a c i r ó w n o l e g ł e j , mamy t e ż o k a z j e p r z e d s t a w i ć rćWno- l e g ł y a l g o r y t m p r z e g l ą d u d i g r a f u w s z e r z - j e d n e j z p o d s ta w o w y c h m etod bais*

n i a r ó ż n y c h w ł a s n o ś c i g r a f ó w ( s p ó j n o ś ć , s i l n a s p ó j n o ś ć , s k ł a d o w e s p ó jn e , d o m k n i e c i e p r z e c h o d n i e i t p . ) . S e k w e n c y jn y a l g o r y t m C a m a r i n i e g o p o l e g a na s y s t e m a t y c z n y m r o z w i ą z y w a n i u z a d a n i a p o m o c n i c z e g o , k t ó r y m j e s t poszukiwa*

n i e r o z g a ł ę z i e n i a r o z p i n a j ą c e g o , m e t o d ą p r z e g l ą d u g r a f u w g ł ą b w podgraf-®

G ( V , A ( t ) , t ) g r a f u w y j ś c i o w e g o . P o d g r a f t e n t w o r z ą z b i ó r w i e r z c h o łk ó w V i t e ł u k i z A , k t ó r y c h w a g a j e s t n i e W ię k s z a o d p e w n e j w a r t o ś c i (p ro g u ) t .

(5)

Progiem s t a j e s i ę w a r t o ś ć m e d ia n y t e g o p o d z b i o r u w ag Ł u k ó w , k t ó r y m o że z a ­ w ierać r o z w i ą z a n i e o p t y m a l n e . P i e r w s z y wybór m e d ia n y d o k o n y w a n y j e s t z c a ł e ­ go z b i o r u A . J e ż e l i p o d g r a f p r o g o w y n i e z a w i e r a r o z g a ł ę z i e n i a r o z p i n a j ą c e g o , to p o ło w io n y j e s t p o d z b i ó r łu k ó w ( A \A (t )) i j e g o d o l n a p o łó w k a d o d a w a n a j e s t do p o d z b i o r u z p o p r z e d n i e j i t e r a c j i . J e ż e l i now y p o d g r a f z a w i e r a r o z w i ą z a ­ nie i moc p o d z b i o r u łu k ó w z a w a r t y c h m ię d z y p r o g a m i o s t a t n i c h d w ó ch i t e r a c j i jest w i ę k s z a o d 1 , t o p o w ta r z a m y i t e r a c j ę , w p r z e c iw n y m p r z y p a d k u p o s t ę ­ powanie z o s t a j e z a k o ń c z o n e . O s t a t n i p r ó g j e s t w a r t o ś c i ą r o z w i ą z a n i a o p t y - n aln e g o , a o s t a t n i e r o z g a ł ę z i e n i e - m in im ak so w y m r o z g a ł ę z i e n i e m r o z p i n a j ą ­ cym. J e d n o r a z o w y n a k ł a d o b l i c z e ń n a z n a l e z i e n i e m e d ia n y z b i o r u m - e l e m e n t o - wego j e s t 0 (ra) , [ 1 ] . N i e z b ę d n y n a k ł a d o b l i c z e ń n a z n a l e z i e n i e r o z g a ł ę z i e ­ nia r o z p i n a j ą c e g o m e t o d ą p r z e g l ą d u g r a f u w g ł ą b l u b w s z e r z j e s t t e ż 0 ( m ) , [3, 1 5 ] . Ł ą c z n a z ł o ż o n o ś ć o b l i c z e n i o w a s e k w e n c y j n e g o a l g o r y t m u C a m e r i n i e g ó je s t O ( m lo g m ) = 0 (m l o g n ) , g d y ż p o d s ta w o w a i t e r a c j a : z n a l e z i e n i e m e d i a n y , szukanie r o z g a ł ę z i e n i a r o z p i n a j ą c e g o , w ym aga O ( l o g m ) p o w t ó r z e ń i j e s t t o n a jle p s z y z n a n y w y n i k .

O dm ienne p o d e j ś c i e d o r o z w i ą z a n i a z a d a n i a (1 ) p o l e g a n a z n a l e z i e n i u drzewa d r ó g m in im a k s o w y c h w d i g r a f i e G (V ,A ,w ) u k o r z e n i o n e g o w w i e r z c h o ł k u r. Drzewem d r ó g m in im a k s o w y c h w d i g r a f i e n a z w ie m y d r z e w o d r ó g s k i e r o w a n y c h sa jąc y ch p o c z ą t e k w k o r z e n i u i ł ą c z ą c y c h g o z k a ż d y m z p o z o s t a ł y c h (n - 1) w ie rz c h o łk ó w , p r z y c zy m n a j w i ę k s z a w a g a ł u k u w z d ł u ż k a ż d e j z d r ó g j e s t n a j - n n ie js z a z e w s z y s t k i c h m o ż l i w y c h . P r a w d z iw y j e s t n a s t ę p u j ą c y LEMAT. K a ż d e drzewo s k i e r o w a n y c h d r ó g m in im a k s o w y c h g r a f u G (V ,A ,w ) j e s t pew nym m in i m a - ksowym r o z g a ł ę z i e n i e m r o z p i n a j ą c y m .

DOWOp. z d e f i n i c j i d r z e w o d r ó g m in im a k s o w y c h j e s t r o z g a ł ę z i e n i e m r o z p i n a ­ jącym. Z a łó ż m y , ż e n i e j e s t o n o m in im ak s o w y m r o z g a ł ę z i e n i e m r o z p i n a j ą c y m , tosi i s t n i e ć r o z g a ł ę z i e n i e r o z p i n a j ą c e z w a r t o ś c i ą o p t y m a l n ą m n i e j s z ą o d zaksiaum w z i ę t e g o p o w a r t o ś c i a c h o p t y m a l n y c h w s z y s t k i c h ( n - 1 ) d r ó g . Tym s a - sya s tw ie r d z a m y i s t n i e n i e d r o g i z r d o p e w n e g o w i e r z c h o ł k a o w a r t o ś c i o p - ty aa ln ej m n i e j s z e j o d o d p o w i e d n i e j d r o g i m in im a k s o w e j w d r z e w i e , c o p r z e c z y u ł o ż e n i u .

Zauważmy j e s z c z e r a z , ż e n i e k a ż d e m in im a k s o w e r o z g a ł ę z i e n i e r o z p i n a j ą c e J « t drzew em s k i e r o w a n y m d r ó g m in im a k s o w y c h . P r a k t y c z n i e k a ż d y a l g o r y t m w sjd o w an la d r ó g n a j k r ó t s z y c h w d i g r a f i e m o że b y ć b e z t r u d u p r z y s t o s o w a n y

w y z n a c z a n ia d r z e w a d r ó g m in im a k s o w y c h ( l u b m a k s im i n o w y c h ) . N a j l e p s z e ,

•Potykane w p o w s z e c h n y m u ż y c i u , a l g o r y t m y s e k w e n c y j n e d r ó g n a j k r ó t s z y c h P otrzeb u ją 0 ( n 2 ) o b l i c z e ń d l a p r z y p a d k u w y z n a c z a n i a d r ó g z j e d n e g o w i e r z ­ chołka do w s z y s t k i c h p o z o s t a ł y c h i 0 ( n ! ) o b l i c z e ń d l a p r z y p a d k u d r ó g m i ę ­ t y w s z y s tk im i p a r a m i w i e r z c h o ł k ó w [ 1 ] . I d e n t y c z n e n a k ł a d y o b l i c z e ń s ą n i e -

•ttdne d l a w y z n a c z a n i a d r ó g m in im a k s o w y c h .

(6)

292 L . Słom iiski

4 . M o d e l k o m p u te r a r ó w n o l e g ł e g o

N a s t ę p u j ą c e z a ł o ż e n i a d e f i n i u j ą a b s t r a k c y j n y m o d e l k o m p u t e r a ró w n o le g łe ­ g o , n a z y w a n e g o k o m p u te r e m k l a s y SIMD ( S i n g l e I n s t r u c t i o n s t r e a m M u l t ip l e D a ta s t r e a m ) , k t ó r y m p o s ł u ż y m y s i e w b u d o w ie w s z y s t k i c h e le m e n t ó w równoleg­

ł e g o a l g o r y t m u p r o g o w e g o i w o c e n i e k o n i e c z n y c h n a k ła d ó w o b l i c z e ń .

( i ) K o m p u te r s k ł a d a s i e z p 2 “ e le m e n t ó w p r z e t w a r z a j ą c y c h (procesorów), p o n u m e ro w a n y c h l i c z b a m i 1 , . . . , p ( i - t y p r o c e s o r ma s y m b o l P ^ ) i w o ła n y ch sw o im n u m e re m . K a ż d y p r o c e s o r w y k o n u je p o d s ta w o w e o p e r a c j e a r y t m e t y c z n e i

l o g i c z n e . •

( i i ) K a ż d y p r o c e s o r ma n i e w i e l k ą p a m ie ó l o k a l n ą .

( i i i ) P r o c e s o r y p r a c u j ą s y n c h r o n i c z n i e s t e r o w a n e je d n y m s t r u m i e n i e m roz­

k a z ó w ,

< iv ) M o ż liw e j e s t z a s t o s o w a n i e " m a s k i " , k t ó r a p o w o d u je u r u c h o m i e n i e tyto w y b r a n y c h P ^ , p r z e w i d z i a n y c h d o w y k o n a n i a o k r e ś l o n e g o r o z k a z u . P ro c e so ry u r u c h o m i o n e , a k t y w n e , w y k o n u ją i d e n t y c z n y r o z k a z n a s w o i c h d a n y c h , podczas g d y p o z o s t a ł e P ^ p o z o s t a j ą b e z c z y n n e .

(v ) P r o c e s o r y k o m u n i k u j ą s i e m ie d z y s o b ą z a p o ś r e d n i c t w e m w s p ó ln e j pa­

m i ę c i , w k t ó r e j z a p i s a n e s ą p r o g r a m i d an e,, o r a z d o k t ó r e j p r z e s y ł a n e są wy­

n i k i .

( v l ) P r z e k a z a n i e i n f o r m a c j i z P i d o P.. o d b y w a s i e w t e n s p o s ó b , że Pj z a p i s u j e I n f o r m a c j e d o w s p ó l n e j p a m i ę c i , a n a s t ę p n i e P.. t e in f o r m a c je czyta ( v i i ) D o p u s z c z a s i e r ó w n o c z e s n e c z y t a n i e p r z e z n i e o g r a n i c z o n ą lic z b ę pw c e s o r ó w i n f o r m a c j i z a p i s a n e j w ty m sam ym o b s z a r z e p a m i ę c i .

( v i i i ) W y k lu c z a s i e r ó w n o c z e s n y z a p i s i n f o r m a c j i d o t e g o sa m e g o obszaru p a m i ę c i p r z e z w i e c e j n i ż j e d e n p r o c e s o r .

P r z e d s t a w i o n y m o d e l j e s t s y n c h r o n i c z n y m k o m p u te r e m r ó w n o le g ły m klasy SI®

o w s p ó l n e j p a m i ę c i i n i e o g r a n i c z o n y m z a s o b i e o b l i c z e n i o w y m . D o s t ę p dowspSb n e j p a m i ę c i j e s t s w o b o d n y ( m o d e l PRAM * P a r a l l e l R andom A c c e s s M achine) i » s t a ł y k o s z t 0 ( 1 ) . W a r u n k i ( v i i ) i ( v i i i ) p r e c y z u j ą m o d e l , d l a k tó r e g o uly wa s i e w l i t e r a t u r z e s k r ó t u CREW m o d e l ( C o n c u r r e n t R e a d E x c l u s i v e W rite).

P e ł n y s k r ó t d l a p r z y j ę t e g o m o d e lu k o m p u t e r a ma p o s t a ó : S I M D - S M M - CREW (SIMD - S h a r e d M em ory M a c h in e w i t h CREW).

N a j p r o s t s z e m u t a c j e p r z y j ę t e g o m o d e lu p o l e g a j ą n a z a ł o ż e n i u o g r a n ic z 008) l i c z b y p r o c e s o r ó w (p <•»■), d o p u s z c z e n i u p e w n y c h f o r m r ó w n o c z e s n e g o z ap is“

i n f o r m a c j i d o t e g o sa m e g o m i e j s c a p a m i ę c i (m o d e l CRCW ■ C o n c u r r e n t Read Con c u r r e n t W r i t e ) , n p . i n f o r m a c j i i d e n t y c z n y c h . M o d e l k o m p u t e r a ró w n o le g łe ? 0 ‘ o g r a n i c z o n ą l i c z b ą p r o c e s o r ó w j e s t b l i ż s z y r z e c z y w i s t y m r o z w i ą z a n i e m i 08 o g ó ł n i e n a s t r ę c z a w i ę k s z y c h p r o b le m ó w t e o r e t y c z n y c h p r z y p r o je k to w a n iu i a n a l i z i e a l g o r y t m ó w . D o p u s z c z a l n o ś ć z a p i s u j e d n o c z e s n e g o k o m p l i k u j e rozv.S 2a n i a r z e c z y w i s t e , g d y ż w ym aga z a s t o s o w a n i a r e g u ł o b s ł u g i , k o l e j e k proces0 ró w z a p i s u j ą c y c h i j e s t z a l i c z a n a d o s i l n y c h z a ł o ż e ń m o d e lo w y c h . Param etr;

(7)

t e o r e t y c z n e a lg o r y t m ó w w ty m m o d e lu s ą z r e g u ł y l e p s z e o d p a r a m e t r ó w o t r z y - aywanych d l a m o d e lu CREW.

Do i s t o t n y c h z a ł o ż e ń z a l i c z a s i e p r z y j ę c i e s w o b o d n e j k o m u n i k a c j i p ro c e s o ­ rów z p a m i ę c i ą , z p o m i n i ę c i e m c z a s ó w c z y t a n i a i p i s a n i a . J e s t t o w a r u n e k n ie m o ż liw y d o s p e ł n i e n i a w p r a k t y c e , j e d n a k j e g o p r z y j ę c i e b a r d z o u ł a t w i a a n a l i z ę p a r a m e t r ó w c z a s o w y c h a lg o r y t m ó w r ó w n o l e g ł y c h . B a r d z i e j r e a l i s t y c z n e r o z w i ą z a n i a p o l e g a j ą n a z a ł o ż e n i u , ż e p r o c e s o r y k o m u n ik u j ą s i e z p a m i ę c i ą i miedzy s o b ą p o p r z e z s p e c j a l n ą s i e ó kom utująca l u b , ż e k o m u n i k a c j a o d b y w a s i e miedzy b e z p o ś r e d n i o z e s o b ą s ą s i a d u j ą c y m i p r o c e s o r a m i . . A n a l i z a t e o r e t y c z n a a lg o ry tm ó w w t y c h p r z y p a d k a c h z n a c z n i e s i e k o m p l i k u j e , b a r d z i e j z ł o ż o n y , s t a j e s i e sam p r o c e s b u d o w y a l g o r y t m ó w . W z w a r t e j p o s t a c i i n f o r m a c j e ' n a tem at m o d e l i o b l i c z e ń r ó w n o l e g ł y c h w k o n t e k ś c i e o p t y m a l i z a c j i d y s k r e t n e j można z n a l e ź ó w [ 9 ] ( r o z d z . 8 ) .

A lg o r y tm p r o g o w y , k t ó r y p r z e d s t a w i m y w n a s t ę p n y m p u n k c i e , j e s t o p a r t y n a modelu d an y m w y r u n k a m i ( i ) - ( v i i i ) .

5. R ó w n o le g ły a l g o r y t m p r o g o w y

R ó w n o le g ły a l g o r y t m p ro g o w y d l a r o z w i ą z a n i a z a d a n i a (1 ) z a c h o w u j e s t r u k ­ tu rę s w o je g o s e k w e n c y j n e g o o d p o w i e d n i k a . Z a m i a s t s e k w e n c y j n e j p r o c e d u r y z n a jd o w a n ia m e d i a n y w z b i o r z e w ag ł u k ó w , mamy p r o c e d u r ę r ó w n o l e g ł ą . Z a m i a s t s e k w e n c y jn e g o p r z e g l ą d u g r a f u w g ł ą b , s t o s u j e m y r ó w n o l e g ł y p r z e g l ą d d i g r a f u u s z e rz . N a j p i e r w w i z y to w a n e s ą w i e r z c h o ł k i o d l e g ł e o d k o r z e n i a o j e d e n ł u k , n a s tę p n ie - o d l e g ł e o 2 ł u k i i t d . , a ż d o p r z e j r z e n i a w s z y s t k i c h w i e r z c h o ł ­ ków. P r z y jm ie m y t e c h n i c z n e z a ł o ż e n i a , n i e o g r a n i c z a j ą c e z a s i ą g u r o z w a ż a ń , ż e wagi łu k ó w s ą r ó ż n e : ¿ l a k i 1 . B ą d z ie m y t e ż z a k ł a d a ó , ż e g r a f i jego w a g i s ą z a d a n e w p o s t a c i l i s t s ą s i e d z t w a w i e r z c h o ł k ó w L ( i ) o r a z l i s t wg łu k ó w W ( i ) , g d z i e L ( i ) j e s t c i ą g i e m n u m e ró w w i e r z c h o ł k ó w (w p o r z ą d k u ro sn ą cy m ), d o k t ó r y c h p r o w a d z ą ł u k i z w i e r z c h o ł k a o n u m e r z e i , a K ( l ) j e s t odpow iednim c i ą g i e m w a g . J e ż e l i w i e r z c h o ł e k j e l i ( i ) , t o z n a c z y , ż e ł u k ai j £ A , o r a z ż e n a o d p o w i e d n i e j p o z y c j i w z b i o r z e W (i) z n a j d u j e s i e l i c z ­ ba v i ; j .

ł-1 . R ó w n o le g ły a l g o r y t m w y z n a c z a n i a m e d i a n y . W y k o r z y s t a n y z o s t a n i e a lg o ry tm p rz e d s ta w io n y w [ 4 ] . W n a s z y m m o d e lu o b l i c z e ń r ó w n o l e g ł y c h g w a r a n t u j e o n z n a l e z i e n i e m e d i a n y z b i o r u łu k ó w w c z a s i e 0 ( d o g lo g m ) 2 ) = 0 { ( l o g l o g n ) ‘ ), p r z y

»byciu 0 ( m ) = 0 ( n J ) p r o c e s o r ó w . P r z e d s t a w i m y o g ó l n y o p i s a l g o r y t m u o d k ł a d a ­ jąc d y s k u s j e s z c z e g ó ł ó w i m p l e m e n t a c y j n y c h d o o d r ę b n e g o o p r a c o w a n i a . A l g o - zyta p o l e g a n a r e k u r e n c y j n y m w y z n a c z a n i u d w ó c h o s z a c o w a ń w a r t o ś c i m e d i a n y : o szacow ania d o l n e g o i g ó r n e g o . P o d z b i ó r w a r t o ś c i w ag z n a j d u j ą c y c h s i c m ie ­ czy tymi oszaco w an iam i z a w ie ra szu kaną m e d i a n ą - j e s t t o t z w . p o d z b i ó r r o ­ boczy, J e s t on zaw ążany k o le jn y m i o s z a c o w a n i a m i ( n i e w i e c e j n iż 0 d o g m) - bratnie) a ż d a o trz y m a n ia p o d z b io ru o n i e d u ż e j m o cy t a k i e j , ż e a i e d i a n c

(8)

L . Słomirtsil

m o żn a j u ż z n a l e ź ć p r z e z b e z p o ś r e d n i e p o r z ą d k o w a n i e . Z u ż y c i e m m procesotó?

p o r z ą d k o w a n i e t o z a j m u j e s t a ł y c z a s 0 ( 1 ) . P o k a z u j e s i e , ż e jed n o ra z o w e vj- z n a c z e n i e o b y d w ó c h o s z a c o w a ć m o żn a w y k o n a ć w c z a s i e 0 (m a x { 1 , lo g lo g m - l o g l o g (m/K) }) , g c lz ie K j e s t l i c z b ą p r o c e s o r ó w ( K i m ) r ó w n o l e g ł y c h . Pow­

t ó r z e n i e t e j o p e r a c j i 0 ( l o g m ) r a z y d a j e d e k l a r o w a n y n a k ł a d o b l i c z e ń (K = m = n 2 ) .

5 . 2 . R ó w n o le g ły p r z e g l ą d d i g r a f u w s z e r z . O p i s s e k w e n c y j n y c h m e to d przegiął g r a f ó w i d i g r a f ó w w g ł ą b , w s z e r z o r a z p r z y k ł a d y z a s t o s o w a ć t y c h m etod Eoia z n a l e ź ć w [ 1 ] . I m p l e m e n t a c j e r ó w n o l e g ł e g o p r z e g l ą d u w g ł ą b , w s z e r z i prze­

g l ą d u m i e s z a n e g o g r a f ó w n i e s k i e r o w a n y c h r o z p a t r y w a n o w [ 6 , 7 , 1 3 ] . Dla K- d e l u z K p r o c e s o r a m i u z y s k a n o n a s t ę p u j ą c e n a k ł a d y : 0 (m l o g K + (mlogK l& l,

[ 7 ] , l u b 0 ( n + m /K ) , [6 ] ( k o s z t e m r o z b u d o w a n i a s t r u k t u r d a n y c h ) . Wyniki te, c o p o t w i e r d z a j ą o c e n y d o l n e i g ó r n e n a j g o r s z y c h p r z y p a d k ó w p o d a n e w [13], s ą b l i s k i e w a r t o ś c i o m o p ty m a ln y m . N a l e ż y p r z y j ą ć , ż e m e to d y p r z e g l ą d u grafc w g ł ą b l u b w s z e r z m a ją im m a n e n tn e c e c h y s e k w e n c y j n e i w o g r a n ic z o n y m zakre­

s i e p o d d a j ą s i e z r ó w n o l e g l a n i u .

N a s z a l g o r y t m r ó w n o l e g ł y p r z e g l ą d u g r a f u w s z e r z d o t y c z y g r a f ó w skierowi- n y c h i u w z g l ę d n i a z m i e n n o ś ć l i s t L ( i ) i W (i) w y n i k a j ą c ą z e zm ie n n o śc i z b i o r u łu k ó w A ( t ) w f u n k c j i w a r t o ś c i p r o g u t .

P r z e g l ą d r o z p o c z y n a s i e o d k o r z e n i a ( r = 1 ) . W s z y s t k i e w i e r z c h o ł k i dzieli S i e w t r a k c i e p r z e g l ą d u n a t r z y r o z ł ą c z n e z b i o r y : OTWARTE, ZAMKNIĘTE, CZI5- NE. P r z y n a l e ż n o ś ć w i e r z c h o ł k ó w d o p o d z b i o r ó w j e s t r e j e s t r o w a n a w dwóch n- w y m ia ro w y c h t a b l i c a c h : STANPRZEG [ i ] , CZYNNE [ i ] , K = 1 , . . . , n . STANPRZE [iH o z n a c z a , ż e i - t y w i e r z c h o ł e k z o s t a ł p r z e j r z a n y i j e s t w i e r z c h o ł k i e m zaa- k n i e t y m , d o k t ó r e g o w t r a k c i e d a n e g o p r - z e g l ą d u j u ż n i e w ra c a m y : STRNPRZffi!i|:i o z n a c z a o c z e k i w a n i e w i e r z c h o ł k a n a p r z e g l ą d ( p r z e d r o z p o c z ę c i e m p rz e g lą d STANPRZEG[i] = 1 , 1 = 1 , . . . , n ) . C Z Y N N E[i]=1 o z n a c z a , ż e i - t y w i e r z c h o ł e k jest w t r a k c i e p r z e g l ą d u i ż e s ą a n a l i z o w a n e ł u k i n a l e ż ą c e a k t u a l n i e do Ł(i)r ( p r z e d r o z p o c z ę c i e m p r z e g l ą d u CZYNNEJ i ] = 0 , i = 1 , . . . , n ) . P r z e g l ą d w ierzchołki i k o ć c z y s i e p o z y t y w n i e , g d " z n a l e z i o n y z o s t a n i e c h o c i a ż b y j e d e n łu k , o p®"

c z ą t k u w i , p r o w a d z ą c y d o n i e z a m k n i e t e g o w i e r z c h o ł k a j / i o r a z n i e nale­

ż ą c e g o d o a k t u a l n i e c z y n n y c h , w p r z e c iw n y m r a z i e p r z e g l ą d w i e r z c h o łk a koń­

c z y s i e n e g a t y w n i e . W k a żd y m p r z y p a d k u z a k o ń c z e n i e p r z e g l ą d u i - t e g o wieri- c h o l k a o d n o t o w u j e s i e j e g o z a m k n i ę c i e m , STANPRZEG[ i ] : = 0 . J e ż e l i w wyniku p r z e g l ą d u w i e r z c h o ł k a i ł u k ( i , j ) z l i s t y L ( i ) w c h o d z i d o r o z g a ł ę z i e n i a , «

j - t e p o l e n - w y m ia r o w e j t a b l i c y ROZGALROZPIN p r z y j m u j e w a r t o ś ć i , co oznace ż e w i e r z c h o ł e k i j e s t o j c e m w i e r z c h o ł k a j w r o z g a ł ę z i e n i u r o z p i n a j ą c y m

J e ż e l i p r z e g l ą d g r a f u G ( V ,A ( t ) , t ) k o ń c z y s i ę z n a l e z i e n i e m r o z g a ł ę z i ® nlJic czym ś w ia d c z y ROZGAŁROZPIN[ i ] / O d l a w s z y s t k i c h i , l u b s t w i e r d z e n i e m , i*

d l a d a n e g o p r o g u t n i e ma r o z g a ł ę z i e n i a r o z p i n a j ą c e g o ( i s t n i e j e w ie rtt- ł o k k , i l l a k t ó r e g o P . 0 Z G A L R 0 2 P I N [ k ] ' 0 o r a z C Z Y N N E [i]= 0 d l a w s z y s t k i c h i i , ” r. . t ę p u j o w y b ó r n o w e g o p r o g u i p r z e g l ą d j e s t p o w t a r z a n y d l a now ego poś5t!^

(9)

Aby p r z e g l ą d r ó w n o l e g ł y z o s t a ł z r e a l i z o w a n y p o p r a w n i e , w p r z y j ę t y m m o d e - ' lu, n a le ż y z a p e w n i ć w y b ó r j e d n e g o p r o c e s o r a , z w i e l u m o ż liw y c h k o n k u r e n t ó w , do z a p is u o j c o s t w a w t a b l i c y ROZGAŁROZPIN, p o z a ty m n a l e ż y z a p e w n i ć k o n t r o ­ lę s ta n u t a b l i c CZYNNE i ROZGAŁROZPIN. P i e r w s z y p o r o b l e m r o z w i ą z u j e m y w ten s p o s ó b , ż e z k a ż d y m w i e r z c h o ł k i e m w ią ż e m y n -w y m ia r o w ą t a b l i c ą Z A P IS ^ , 1=1,.. . , n . Z A P IS ^ [k ] ma w a r t o ś ć a l b o 0 ( s t a n w y j ś c i o w y ) , a l b o 1 , p r z y czy m stan d r u g i o z n a c z a , ż e w i e r z c h o ł e k k p r e t e n d u j e d o o j c o s t w a d l a w i e r z c h o ł k a 1. P rzyjm ujem y r e g u ł ą , ż e o j c e m w i e r z c h o ł k a i z o s t a j e w i e r z c h o ł e k o d p o w ia ­ dający p i e r w s z e j j e d y n c e w t a b l i c y Z A P IS ^ . P r o c e s o r , k t ó r y o b s ł u g u j e t e n lak, np. ( k , i ) , z a p i s u j e : ROZGAŁROZPIN [ i ] : = k , C Z Y N N Ejk]: = 0 . Z n a l e z i e n i e pierwszego n i e z e r o w e g o e l e m e n t u w n - w y m ia r o w e j t a b l i c y m o żn a z r e a l i z o w a ć nakładem 0 ( l o g n ) o b l i c z e ń , w y k o r z y s t u j ą c 0 (n ) p r o c e s o r ó w ( n p . , [ 1 0 ] ) . Jeżeli t a b l i c a ZAPIS^^ p o z o s t a j e t a b l i c ą z e r o w ą ( w i e r z c h o ł e k i n i e ma o j c a ) , to p ierw szy p r o c e s o r ( d l a k a ż d e g o z p o t e n c j a l n y c h o jc ó w ) z a d s u j e CZYNNEJ*) i=0. D ru g i p r o b l e m r o z w i ą z u j e m y w s p o s ó b p o d o b n y s z u k a j ą c w t a b l i c y ROZGAŁ- SOZPIN e le m e n t u o w a r t o ś c i n a j m n i e j s z e j . J e ż e l i b ą d z i e n i ą z e r o , t o p r z e g l ą d podgrafu G ( V , A ( t ) , t ) n i e j e s t z a k o ń c z o n y , c h y b a ż e z b i ó r CZYNNE*#. S t a n

¡bloru CZYNNE s p ra w d z a m y p r z e z w y z n a c z e n i e w t a b l i c y CZYNNEJ*] e l e m e n t u n a j ­ miększego (m oże t o b y ć 0 l u b 1 ) . W a r t o ś ć m a k s y m a ln a z e r o o z n a c z a , ż e CZYNNE*#

1 należy p r z e j ś ć d o n o w e g o p r o g u . W p r z e c iw n y m p r z y p a d k u p r z e g l ą d m o że b y ć kontynuowany ( j e ż e l i p o z w a l a n a t o s t a n t a b l i c y ROZGAŁROZPINj * ] ) . Z n a l e z i e ­ ni« e le m e n tu m a k s y m a ln e g o k o s z t u j e t a k ż e 0 ( l o g n ) c z a s u p r z y u ż y c i u 0 ( n ) . procesorów.

P rz e g lą d d i g r a f u w s z e r z z u ż y c i e m 0 ( n 2 ) p r o c e s o r ó w m oże p r z y j ą ć n a s t ę ­ p c ą p o s t a ć .

kŁGORYTM 1 .

ZAPOCZĄTKOWANIE. STANPRZEG [ i ] * 1 , ROZGAŁROZPIN[ 1 ] ■*■0, i « 1 , . . . , n i czynne [ 1 ] 1, CZYNNE [ i ] t - 0 , i = 2 , . . . , n . P r ó g = t . '

KROK ITERACYJNY. RÓWNOLEGLE: J e ż e l i m in^{C Z Y N N E JiJ } J< 0 i m in ^ R O Z G A Ł - KOZPINJi]} > 0 , l u b j e ż e l i m in ^ C Z Y N N E j i ] } * 0 * m in ^ R O Z G A Ł R O Z P IN [i] } , t o RSIEC p r z e g l ą d u w s z e r z G (V ,A ( t ) , t ) DLA DANEGO t . W p r z y p a d k u p r z e c iw n y m iOfflOLEGLE: P r o c e s o r y - ł u k i o w a g a c h n i e w i ą k s z y c h o d Ł , k t ó r y c h w i e r z c h o ­ łek p o czątk o w y j e s t c z y n n y , a w i e r z c h o ł e k k o ń c o w y n i e j e s t z a m k n i ę t y i n i e fest c zy n n y , z a p i s u j ą w t a b l i c a c h ZAPIS ( o d p o w ia d a ją c y m w i e r z c h o łk o m n i e -

»skniątym i n ie c z y n n y m - STANPRZEG[ • ] * 1 ) j e d y n k i n a w ł a ś c i w y c h p o z y c j a c h ,

■stallć o jc ć w i w p i s a ć i c h n u m e ry d o ROZGAŁROZPINj • ] , p o d t e sa m e p o z y c j e w tablicy CZYNNEJ*] i w t a b l i c y STANPRZEG [ * J w p i s a ć z e r a . POWRÓT DO POCZĄTKU

¡¡»KU ITERACYJNEGO.

jto a e n ta r z . W s z y s t k i e o b l i c z e n i a w e w n ę tr z n e k r o k u i t e r a c y j n e g o m ają n a k ła d ń li« e rt nie p r z e k r a c z a j ą c y O ( l o g n ) . L i c z b a p o w t ó r z e ń k r o k u i t e r a c y j n e g o

% d a n ej w a r t o ś c i t ) n i e b ą d z i e w i ę k s z a o d ( n - 1 ) . S t ą d n a k ł a d o b l i c z a ń n a fr« g lą d w s z e r z d i g r a f u z u ż y c i e m 0 ( n ł ) p r o c e s o r ó w j e s t O ( n l e g n ) . Ł a tw o

(10)

296 L . Słomiiiskl

z a u w a ż y ć , ż e ( n - 1 ) p o w t ó r z e ń k r o k u i t e r a c y j n e g o j e s t g r a n i c ą d o l n ą . Nakład o b l i c z e ń d l a c a ł e g o a l g o r y t m u m u s i u w z g l ę d n i ć t a k ż e z ł o ż o n o ś ć o b lic z e n io w ą w y z n a c z e n i a m e d ia n y o r a z o s z a c o w a n i e k r o t n o ś c i u ż y c i a p r o c e d u r y ALGORYTM 1, d a j e t o ł ą c z n i e 0 ( n l o g 2 n ) o b l i c z e ń p r z y 0 ( n 2 ) p r o c e s o r a c h .

W p o r ó w n a n i u d o s e k w e n c y j n e g o a l g o r y t m u C a m e r i n i e g o p r z y ś p i e s z e n i e wyno­

s i : 0 (m l o g n ) /O (n l o g 2n ) = 0 ( n / l o g n ) . E f e k t y w n o ś ć w y k o r z y s t a n i a p ro ceso ró w 0 ( n / l o g n ) / O ( n 2 ) =0 ( 1 / n l o g n ) . W a r t o ś c i t e m o żn a u z n a ć z a ty p o w e d l a algory­

tmów m a ło p o d a t n y c h n a z r ó w n o l e g l e n i e .

6 . R ó w n o le g łe a l g o r y t m y z n a j d o w a n i a d r z e w a d r ó g m in im a k s o w y c h

P r a k t y c z n i e k a ż d y a l g o r y t m w y z n a c z a n i a d r o g i n a j k r ó t s z e j w d i g r a f i e m o że b y ć z a a d a p t o w a n y d o o t r z y m a n i a r o z w i ą z a n i a z a d a n i a (1 ) . Uw aga t a doty­

c z y z a r ó w n o a lg o r y t m ó w w y z n a c z a j ą c y c h d r o g ę n a j k r ó t s z ą z j e d n e g o w ierzchoł­

k a ( n p . k o r z e n i a ) d o w s z y s t k i c h p o z o s t a ł y c h , j a k i t y c h , k t ó r e w y z n ac z ają d r o g i n a j k r ó t s z e m ie d z y w s z y s t k i m i p a r a m i w i e r z c h o ł k ó w . O b ydw ie grupy a lg o r y t m ó w b y ł y p o d d a w a n e p r ó b o m z r ó w n o l e g l e n i a w r ó ż n y c h m o d e l a c h oblicreó 1 5 , 8 , 1 1 , 1 4 J . I s t o t a a d a p t a c j i p o l e g a n a z a s t ą p i e n i u m e c h a n iz m u śledzenia d r ó g n a j k r ó t s z y c h m e c h a n iz m e m u s t a l a n i a i p a m i ę t a n i a d r ó g m in im ak so w y ch . Zauw ażm y p r z y ty m , ż e w p r z y p a d k u d r ó g m in im a k s o w y c h u je m n e w a g i łuków i c y k l e u je m n e n i e n a s t r ę c z a j ą t r u d n o ś c i . We w s p o m n ia n y c h w y ż e j p r a c a c h jedy­

n i e w [ 8 ) p o ś w ie c o n o n i e c o u w a g i d ro g o m m in im a k s o w y m .

D a l e j p r z e d s t a w i m y d w ie a d a p t a c j e r ó w n o l e g ł y c h a l g o r y t m ó w d r ó g n a j k r ó t ­ s z y c h d o p o t r z e b w y z n a c z a n i a d r z e w d r ó g m in im a k s o w y c h o p o c z ą t k u w korzeni«.

A lg o r y t m D i j k s t r y [ 1 ] , w y z n a c z a n i a d r ó g n a j k r ó t s z y c h Z j e d n e g o w ierz­

c h o ł k a d o p o z o s t a ł y c h z o s t a ł p r z e d s t a w i o n y w [ 1 1 ] w m o d e lu o b l i c z e ń równo­

l e g ł y c h n o s z ą c y c h n a z w ę s t r u k t u r y d r z e w a b i n a r n e g o [ 2 ] . S t r u k t u r ę t e tworzą p r o c e s o r y u m i e s z c z o n e w w i e r z c h o ł k a c h d w ó c h d r z e w b i n a r n y c h b ę d ą c y c h swoizl l u s t r z a n y m i o d b i c i a m i i m a j ą c y c h w s p ó l n e l i ś c i e . D an e i r o z k a z y s ą wprowa­

d z a n e s y n c h r o n i c z n i e d o p r o c e s o r a - k o r z e n i a p i e r w s z e g o d r z e w a i przekazy»*"

n e s ą d a l e j p r z e z p r o c e s o r y t o je d n y m w e j ś c i u i d w ó c h w y j ś c i a c h każdy)<Wós w y p e ł n i a j ą j e d y n i e t e f u n k c j e p r z e k a z y w a n i a . Z a s a d n i c z e o b l i c z e n i a wykonują p r o c e s o r y u m i e s z c z o n e w l i ś c i a c h . P r o c e s o r y t e s ą e l e m e n t a r n y m i maszynafii v o n N eu m an n a o o b j ę t o ś c i p a m i ę c i 0 ( n ) , w y k o n u ją c y m i p o d s ta w o w e opera­

c j e a r y t m e t y c z n e i l o g i c z n e n a d a n y c h o tr z y m y w a n y c h z p r o c e s o r ó w przesyła"

j ą c y c h . W y n ik i d z i a ł a ń k a ż d e j p a r y p r o c e s o r ó w - l i ś c i s ą p r z e k a z y w a n e na dws w e j ś c i a p r o c e s o r ó w d r u g i e g o d r z e w a , w y s p e c j l i z o w a n y c h w w y k o n y w an iu pro­

s t y c h o p e r a c j i d w u a rg u m e n to w y c h ( m in , m a x , a n d , o r , p l u s i t p . ) . Wynik ope"

r a c j i p r z e s y ł a n y j e s t z w y j ś c i a p r o c e s o r a ( k a ż d y z t y c h p r o c e s o r ó w ma j«1^

w y j ś c i e ) n a j e d n o z w e j ś ć n a s t ę p n e g o . P o c z a s i e 0 ( l o g n ) o s t a t e c z n y 'O1' 11' z n a j d u j e s i e w w i e r z c h o ł k u - a n t y k o r z e n i u , s k ą d b ą d z i e p r z e k a z a n y do dodatko

(11)

rego p r o c e s o r a , t a k i e g o t y p u , j a k i j e s t w l i ś c i u , k t ó r y n a d z o r u j e p r a c ą c a -

!ej s t r u k t u r y . W s t r u k t u r z e t e j mamy p = 3 * 2 ^ - 2 p r o c e s o r ó w , g d z i e d = ; 0 ( l o g n ) , i tym, ż e p r o c e s o r ó w u n i w e r s a l n y c h z l o k a l n ą p a m i ą c i ą mamy ( n + 1 ) , ( l i c z b a l i ś c i + 1) .

.Z m o d y fik o w a n y a l g o r y t m D i j k s t r y d z i a ł a w o p i s a n e j s t r u k t u r z e n a s t ę p u j ą c o . Każdy i - t y p r o c e s o r - l i ś ć p a m i ę t a l i c z b ę d i - w a r t o ś ć d r o g i m in im a k s o w e j z korzenia d o i - t e g o w i e r z c h o ł k a , p r z y c zy m o b l i c z e n i a r o z p o c z y n a m y d a j ą c d, - + » d l a 1 = 1 , . . . , n , j a k o w a r t o ś ć p o c z ą t k o w ą . N i e c h o z n a c z a z b i ó r utworzony z w i e r z c h o ł k ó w , d l a k t ó r y c h d r o g a m in im a k s o w a j e s t j u ż z n a n a ; V = {li. D la k = 1 , . . . , n - 1 w y k o n y w an e s ą n a s t ę p u j ą c e d z i a ł a n i a :

- W prow adź d o k o r z e n i a p a r ę l i c z b ( i j d ^ ) , k t ó r ą t w o r z ą : o s t a t n i w ł ą ­ czony do w i e r z c h o ł e k ( k o n i e c p o p r z e d z a j ą c e j i t e r a c j i ) o r a z w a r t o ś ć drogi m in im a k s o w e j z r= 1 d o i . D la k=1 w p ro w a d z a s i ę p a r ę ( 1 , 0 ) .

- P r z e k a ż w a r t o ś ć z k o r z e n i a , z a p o ś r e d n i c t w e m p r o c e s o r ó w p r z e k a z u j ą c y c h do p r o c e s o r ó w - l i ś c i .

- K ażdy j - t y c z y n n y p r o c e s o r - l i ś ć ( r o z p o c z y n a s i ę o d s t a n u - w s z y s t k i e czynne) o t r z y m u j ą c p a r ę ( i , d ^ ) w y k o n u j e d z i a ł a n i a : j e ż e l i j / i , t o d ^ ♦ sin {d j, m i n i d ^ , w ^ j )} i p r z e k a ż d a l e j (d o p r o c e s o r a d r u g i e g o d r z e w a ) p a r ę I j/d j) , w p r z e c iw n y m p r z y p a d k u z a m k n i j j - t y p r o c e s o r ( n i e b ę d z i e j u ż w i ę c e j użyty) .

- K ażdy p r o c e s o r d r u g i e g o d r z e w a o t r z y m u j e n a w e j ś c i u lew ym p a r ę ( j , d j ) , i na w e j ś c i u p ra w y m p a r ę ( l , d ^ ) i p r z e k a z u j e d a l e j p a r ę ( s , d g ) , g d z i e s : = j , je ż e li d j < d ^ o r a z s : = l w p r z y p a d k u 'p r z e c iw n y m .

- W i e r z c h o ł e k a , k t ó r y ' p o w i n i e n z o s t a ć w ł ą c z o n y d o , p o j a w i a s i ę n a ty jś c iu a n t y k o r z e n i a . P r o c e s o r n a d z o r u j ą c y w y k o n u j e : Vk + 1 { a } , k -* -k + 1 . oraz p r z e s y ł a p a r ę ( c t,d a ) d o k o r z e n i a p i e r w s z e g o d r z e w a .

A lg o ry tm p o t r z e b u j e ( n —1) i t e r a c j i ( p e ł n e p r z e j ś c i e o d k o r z e n i a d o a n t y - to rze n ia ) o k o s z c i e 0 ( l o g n ) k a ż d a , c o d a j e z ł o ż o n o ś ć o b l i c z e n i o w ą d l a c a - żego a l g o r y t m u 0 (n l o g n). p r z y 0 (n ) p r o c e s o r a c h .

P r z y s p i e s z e n i e w p o r ó w n a n i u d o s e k w e n c y j n e g o a l g o r y t m u D i j k s t r y ( 0 ( n * ) ) tynosi: 0 ( n 2 ) /O (n l o g ii) =0 ( n / l o g n ) , a e f e k t y w n o ś ć w y k o r z y s t a n i a p r o c e s o r ó w

!0 (n /lo g n ) / O (n ) =0 ( 1 / l o g n ) . P a r a m e t r y t e s ą p o r ó w n y w a ln e z p a r a m e t r a m i a l - jorytau p r o g o w e g o .

Drugą g r u p ę a lg o r y t m ó w r o z w i ą z a n i a z a d a n i a (1 ) t w o r z ą a l g o r y t m y , k t ó r e Mżemy o t r z y m a ć m o d y f i k u j ą c a l g o r y t m y w y z m a c z a j ą c e d r o g i n a j k r ó t s z e m ię d z y ,st y s t k im i p a r a m i w i e r z c h o ł k ó w , d o p o s t a c i u m o ż l i w i a j ą c e j z n a j d o w a n i e d r ó g sżnimaksowych m ię d z y w s z y s t k i m i p a r a m i w i e r z c h o ł k ó w . A l g o r y t m y t e z r e g u ł y P r z y s t a j ą z m e to d o p a r t y c h n a m n o ż e n i u m a c i e r z y . J e d e n z t a k i c h a lg o r y t m ó w J h e d s ta w lo n o w [ 8 ] . M o d el o b l i c z e ń r ó w n o l e g ł y c h j e s t t a k i sam j a k d l a a l - SOrytnu p r o g o w e g o . Z a k ł a d a s i ę , ż e g r a f j e s t d a n y p r2e z m a c i e r z W“t wi j l n xn ' foSrej e l e m e n t a m i s ą w a g i d l a łu k ó w n a l e ż ą c y c h d o A , p o z o s t a ł e e l e m e n t y s ą O s t a t e c z n i e d u ż y m i l i c z b a m i . M a c i e r z y W n a d a j e s i ę p o s t a ć B ° = K t f I n , g d z i e

(12)

296 L . Słomiósk!

z a u w a ż y ć , ż e ( n - 1 ) p o w t ó r z e ń k r o k u i t e r a c y j n e g o j e s t g r a n i c ą d o l n ą . Nakład o b l i c z e ń d l a c a ł e g o a l g o r y t m u m u s i u w z g l ę d n i ć t a k ż e z ł o ż o n o ś ć o b lic z e n io w ą w y z n a c z e n i a m e d ia n y o r a z o s z a c o w a n i e k r o t n o ś c i u ż y c i a p r o c e d u r y ALGORYTM 1, d a j e t o ł ą c z n i e 0 ( n l o g 2 n ) o b l i c z e ń p r z y 0 ( n 2 ) p r o c e s o r a c h .

W p o r ó w n a n i u d o s e k w e n c y j n e g o a l g o r y t m u C a m e r i n i e g o p r z y ś p i e s z e n i e wyno­

s i : 0 (m l o g n ) /O (n l o g 2n ) = 0 ( n / l o g n ) . E f e k t y w n o ś ć w y k o r z y s t a n i a p ro ceso ró w 0 ( n / l o g n ) / O ( n 2 ) “ 0 ( 1 / n l o g n ) . W a r t o ś c i t e m o żn a u z n a ć z a ty p o w e d l a algory­

tm ów m a ło p o d a t n y c h n a z r ó w n o l e g l e n i e .

6 . R ó w n o le g łe a l g o r y t m y z n a j d o w a n i a d r z e w a d r ó g m in im a k s o w y c h

P r a k t y c z n i e k a ż d y a l g o r y t m w y z n a c z a n i a d r o g i n a j k r ó t s z e j w d i g r a f i e m oże b y ć z a a d a p t o w a n y d o o t r z y m a n i a r o z w i ą z a n i a z a d a n i a (1 ) . Uwaga t a doty­

c z y z a r ó w n o a lg o r y t m ó w w y z n a c z a j ą c y c h d r o g ę n a j k r ó t s z ą z j e d n e g o w ierzchoł­

k a ( n p . k o r z e n i a ) d o w s z y s t k i c h p o z o s t a ł y c h , j a k i t y c h , k t ó r e w y z n a c z a ją d r o g i n a j k r ó t s z e m ie d z y w s z y s t k i m i p a r a m i w i e r z c h o ł k ó w . O bydw ie grupy a lg o r y t m ó w b y ł y p o d d a w a n e p ró b o m z r ó w n o l e g l e n i a w r ó ż n y c h m o d e la c h obliczeiS

[ 5 , 8 , 1 1 , 1 4 ] . I s t o t a a d a p t a c j i p o l e g a n a z a s t ą p i e n i u m e c h a n iz m u śledzenia d r ó g n a j k r ó t s z y c h m e c h a n iz m e m u s t a l a n i a i p a m i ę t a n i a d r ó g m in im ak so w y ch . Z auw ażm y p r z y ty m , ż e w p r z y p a d k u d r ó g m in im a k s o w y c h u j e m n e w a g i łuków 1 c y k l e u je m n e n i e n a s t r ę c z a j ą t r u d n o ś c i . We w s p o m n ia n y c h w y ż e j p r a c a c h jedy­

n i e w i 8 ] p o ś w ie c o n o n i e c o u w a g i d ro g o m m in im a k s o w y m .

D a l e j p r z e d s t a w i m y d w ie a d a p t a c j e r ó w n o l e g ł y c h a lg o r y t m ó w d r ó g n a j k r ó t ­ s z y c h d o p o t r z e b w y z n a c z a n i a d r z e w d r ó g m in im a k s o w y c h o p o c z ą t k u w korzenit

A l g o r y t m D i j k s t r y [ 1 ] , w y z n a c z a n i a d r ó g n a j k r ó t s z y c h z j e d n e g o w ierz­

c h o ł k a d o p o z o s t a ł y c h z o s t a ł p r z e d s t a w i o n y w [ 1 1 ] w m o d e lu o b l i c z e ń równo­

l e g ł y c h n o s z ą c y c h n a z w ę s t r u k t u r y d r z e w a b i n a r n e g o [ 2 ] . S t r u k t u r ę t e tworzą p r o c e s o r y u m i e s z c z o n e w w i e r z c h o ł k a c h d w ó c h d r z e w b i n a r n y c h b ę d ą c y c h swoini l u s t r z a n y m i o d b i c i a m i i m a j ą c y c h w s p ó l n e l i ś c i e . D an e i r o z k a z y s ą wprowa­

d z a n e s y n c h r o n i c z n i e d o p r o c e s o r a - k o r z e n i a p i e r w s z e g o d r z e w a i przekazywa­

n e s ą d a l e j p r z e z p r o c e s o r y (o je d n y m w e j ś c i u i d w ó c h w y j ś c i a c h k a ż d y ), 1*5«

w y p e ł n i a j ą j e d y n i e t e f u n k c j e p r z e k a z y w a n i a . Z a s a d n i c z e o b l i c z e n i a wykonują p r o c e s o r y u m ie s z c z o n e w l i ś c i a c h . P r o c e s o r y t e s ą e l e m e n t a r n y m i m aszy n am i v o n H eum anna o o b j ę t o ś c i p a m i ę c i 0 ( n ) , w y k o n u ją c y m i p o d s ta w o w e opera*

c j e a r y t m e t y c z n e i l o g i c z n e n a d a n y c h o tr z y m y w a n y c h z p r o c e s o r ó w p rz e sy ła ­ j ą c y c h . W y n ik i d z i a ł a ń k a ż d e j p a r y p r o c e s o r ó w - l i ś c i s ą p r z e k a z y w a n e na óy!

w e j ś c i a p r o c e s o r ó w d r u g i e g o d r z e w a , wy s p e c j l i z o w a n y c h w w y k o n y w a n iu pro­

s t y c h o p e r a c j i d w u a rg u m e n to w y c h ( m in , m a x , a n d , o r , p l u s i t p . ) . Wynik ope­

r a c j i p r z e s y ł a n y j e s t z w y j ś c i a p r o c e s o r a ( k a ż d y z t y c h p r o c e s o r ó w ma je*15 w y j ś c i e ) n a j e d n o z w e j ś ć n a s t ę p n e g o . P o c z a s i e 0 ( l o g n ) o s t a t e c z n y wyni*

z n a j d u j e s i ę w w i e r z c h o ł k u - a n t y k o r z e n i u , s k ą d b ę d z i e p r z e k a z a n y do dodatle-

(13)

'.•ego p r o c e s o r a , t a k i e g o t y p u , j a k i j e s t w l i ś c i u , k t ó r y n a d z o r u j e p r a c ą c a ­ łej s t r u k t u r y . W s t r u k t u r z e t e j mamy p = 3 - 2 d - 2 p r o c e s o r ó w , g d z i e d = : 0 ( l o g n ) , z tym, ż e p r o c e s o r ó w u n i w e r s a l n y c h z l o k a l n ą p a m i ą c i ą mamy ( n + 1 ) , ( l i c z b a liś c i + 1 ) .

.Z m o d y fik o w a n y a l g o r y t m D i j k s t r y d z i a ł a w o p i s a n e j s t r u k t u r z e n a s t ę p u j ą c o . Każdy i - t y p r o c e s o r - l i ś ó p a m i ą t a l i c z b ą d ^ - w a r t o ś ó d r o g i m in im a k s o w e j z korzenia d o i - t e g o w i e r z c h o ł k a , p r z y czy m o b l i c z e n i a r o z p o c z y n a m y d a j ą c d.'=+® d l a i = 1 , . . . , n , j a k o w a r t o ś ć p o c z ą t k o w ą . N i e c h o z n a c z a z b i ó r utworzony z w i e r z c h o ł k ó w , d l a k t ó r y c h d r o g a m in im a k s o w a j e s t j u ż z n a n a ; V = ■t i i ) . D la k = 1 , . . . , n - 1 w y k o n y w a n e s ą n a s t ę p u j ą c e d z i a ł a n i a :

- W prow adź d o k o r z e n i a p a r ą l i c z b ( i , d ^ J , k t ó r ą t w o r z ą : o s t a t n i w ł ą ­ czony d o w i e r z c h o ł e k ( k o n i e c p o p r z e d z a j ą c e j i t e r a c j i ) o r a z w a r t o ś ć drogi m in im a k s o w e j z r= 1 d o i . D la k=1 w p ro w a d z a s i ą p a r ą ( 1 , 0 ) .

- P r z e k a ż w a r t o ś ć z k o r z e n i a . z a p o ś r e d n i c t w e m p r o c e s o r ó w p r z e k a z u j ą c y c h do p r o c e s o r ó w - l i ś c i .

- K ażdy j - t y c z y n n y p r o c e s o r - l i ś ć ( r o z p o c z y n a s i ą o d s t a n u - w s z y s t k i e czynne) o t r z y m u j ą c p a r ą ( i . d ^ ) w y k o n u je d z i a ł a n i a : j e ż e l i j / i , t o d^ +•

a in ( d j, m i n i d ^ j W ^ j } } i p r z e k a ż d a l e j ( d o p r o c e s o r a d r u g i e g o d r z e w a ) p a r ą IJ id j), w p r z e c iw n y m p r z y p a d k u z a m k n i j j - t y p r o c e s o r ( n i e b ą d z i e j u ż w i ą c e j użyty) .

- K ażdy' p r o c e s o r d r u g i e g o d r z e w a o t r z y m u j e n a w e j ś c i u lew ym p a r ą ( j , d ^ ), zna w e j ś c i u p raw y m p a r ą ( l , d ^ ) i p r z e k a z u j e d a l e j p a r ą ( s , d s ) , g d z i e s : = j , je ż e li d j < d ^ o r a z s : = l w p r z y p a d k u 'p r z e c i w n y m .

- W i e r z c h o ł e k a , k t ó r y p o w i n i e n z o s t a ć w ł ą c z o n y d o y ^ , p o j a w i a s i ą n a wyjściu a n t y k o r z e n i a . P r o c e s o r n a d z o r u j ą c y w y k o n u j e : V ^+1 { a } , k -* -k + 1 . draż p r z e s y ł a p a r ą ( a , d a ) d o k o r z e n i a p i e r w s z e g o d r z e w a .

A lg o ry tm p o t r z e b u j e ( n - 1 ) i t e r a c j i ( p e ł n e p r z e j ś c i e o d k o r z e n i a d o a n t y - to rz e n ia ) o k o s z c i e 0 ( l o g n ) k a ż d a , c o d a j e z ł o ż o n o ś ć o b l i c z e n i o w ą d l a c a ­ łego a l g o r y t m u 0 (n l o g n). p r z y 0 ( n ) p r o c e s o r a c h .

P r z y s p i e s z e n i e w p o r ó w n a n i u d o s e k w e n c y j n e g o a l g o r y t m u D i j k s t r y ( 0 ( n 2 )) wynosi: 0 ( n 2 ) /O (n l o g i i ) = 0 ( n / l o g n ) , a e f e k t y w n o ś ć w y k o r z y s t a n i a p r o c e s o r ó w

*0(n/log n ) / O (n ) =0 ( 1 / l o g n ) . P a r a m e t r y t e s ą p o r ó w n y w a ln e z p a r a m e t r a m i a l - Sorytmu p r o g o w e g o .

Drugą g r u p ą a lg o r y t m ó w r o z w i ą z a n i a z a d a n i a (1 ) t w o r z ą a l g o r y t m y , k t ó r e Wiemy o t r z y m a ć m o d y f i k u j ą c a l g o r y t m y w y z n a c z a j ą c e d r o g i n a j k r ó t s z e m ią d z y w szystkim i p a r a m i w i e r z c h o ł k ó w , d o p o s t a c i u m o ż l i w i a j ą c e j z n a j d o w a n i e d r ó g e in la a k so w y ch m ią d z y w s z y s t k i m i p a r a m i w i e r z c h o ł k ó w . A lg o r y tm y t e z r e g u ł y k o rz y s ta ją z m e to d o p a r t y c h n a m n o ż e n iu m a c i e r z y . J e d e n z t a k i c h a lg o r y tm ó w P rz e d staw io n o w [ 8 ] . M o d e l o b l i c z e ń r ó w n o l e g ł y c h j e s t t a k i sam j a k d l a a l - SOrytmu p r o g o w e g o . Z a k ł a d a s i ą , ż e g r a f j e s t d a r.y p r2e z m a c i e r z K ti wi j l n >.n ' której e l e m e n t a m i s ą w a g i d l a łu k ó w n a l e ż ą c y c h d o A , p o z o s t a ł e e l e m e n t y s ą O s t a t e c z n i e d u ż y m i l i c z b a m i . M a c i e r z y W n a d a j e s i ą p o s t a ć B°---WwIn , g d z i e

(14)

298 L . Słomiński

I j e s t m a c i e r z ą z j e d y n k a m i n a g ł ó w n e j p r z e k ą t n e j . M a c i e r z B ° p o d d a je s i e s e r i i i d e n t y c z n y c h t r a n s f o r m a c j i F z d e f i n i o w a n y c h j a k n i ż e j : 1) m in {b ® k , b ^ } d l a 1 S i . j S n , '2 ) ^ 1 = m in i , b ^ B d l a 1 < i , j i n.

Po s ° = P . o g ń ] t a k i c h p r z e k s z t a ł c e ń m a c i e r z B S ° j e s t m a c i e r z ą d r ó g m ini- m a k s o w y c h m ie d z y w s z y s t k i m i p a r a m i w i e r z c h o ł k ó w . J e d n o k r o t n e p r z e k s z t a ł c e ­ n i e BS = F (B S _ 1 ) w y k o n u je s i e p r z y u ż y c i u 0 ( n 3 ) p r o c e s o r ó w w c z a s i e O(logn), c o d a j e d l a c a ł e g o a l g o r y t m u n a k ł a d c z a s o w y 0 ( l o g 2n ) . P r z y ś p i e s z e n i e wzglę­

dem a l g o r y t m u s e k w e n c y j n e g o o n a k ł a d z i e 0 ( n ł ) w y n o s i 0 ( n 5/ l o g 2n ) , a e fek ty ­ w n o ś ć w y k o r z y s t a n i a p r o c e s o r ó w - 0 ( 1 / l o g 2n ) . P o d o b n e w y n i k i u z y s k a n o w in ­ n y c h p r a c a c h , k t ó r y c h p r z e g l ą d m o żn a z n a l e ź ć w [ 9 ] .

Ra z a k o ń c z e n i e z w ró ćm y j e s z c z e u w a g ą n a r ó w n o l e g ł ą i m p l e m e n t a c j e a lg o ­ r y t m u F l o y d a - t ó a r s h a l l a d a n ą w [ 1 4 ] . Z a s to s o w a n y ta m m o d e l t o s y n c h ro n ic z n a t a b l i c a p u l s u j ą c a ( s y s t o l i c a r r a y ) z ł o ż o n a z n 2 p r o c e s o r ó w h e k s a g o n a ln y c h . Z a d a n i e d r ó g n a j k r ó t s z y c h m ie d z y w s z y s t k i m i p a r a m i w i e r z c h o ł k ó w ro z w iąz u je s i e w c z a s i e 0 ( n ) . A lg o r y t m t e n m o żn a t a k ż e b e z t r u d u a d a p t o w a ć d o naszych c e l ó w .

7 . P o d s u m o w a n ie

P r z e d s t a w i o n o s z e r e g a lg o r y t m ó w r ó w n o l e g ł y c h d l a r o z w i ą z a n i a z a d a n ia z n a l e z i e n i a a in i m a k s o w e g o d r z e w a r o z p i n a j ą c e g o w w ażo n y m d i g r a f i e . Pro­

b le m y r o d z ą c e s i e w z w i ą z k u z b u d o w ą i a n a l i z ą a lg o r y t m ó w r ó w n o l e g ły c h dis p o t r z e b o p t y m a l i z a c j i k o m b i n a t o r y c z n e j , p o d k r e ś l a j ą z a r ó w n o złożo­

n o ś ć z a d a ń p r a k t y c z n y c h ( n p . s p o s ó b z a p i s u , w y b ó r a d e k w a t n y c h s t r u k t u r da­

n y c h i t p . ) t j a k i w i e l o k i e r u n k o w o ś ó k o n i e c z n y c h b a d a ń t e o r e t y c z n y c h ( u n if i­

k a c j a m o d e l i i z b a d a n i e z a l e ż n o ś c i m ie d z y n i m i , t e o r i a z ł o ż o n o ś c i o b liczeń r ó w n o l e g ł y c h , s t a n d a r d o w e t e c h n i k i b u d o w y e f e k t y w n y c h a lg o r y t m ó w rów nole­

g ł y c h i t p . ) . D e c y d u j ą c e z n a c z e n i e d l a w e j ś c i a d o p r a k t y k i m e to d i a lg o r y t ­ mów o p t y m a l i z a c j i r ó w n o l e g ł e j ma p o s t ę p w t e c h n o l o g i i i t e c h n i c e maszyn r ó w n o l e g ł y c h o e l a s t y c z n y c h a r c h i t e k t u r a c h , z d o l n y c h d o j e d n o c z e s n e g o użyt­

k o w a n ia d z i e s i ą t k ó w t y s l g c y p r o c e s o r ó w , s k o j a r z o n y z r o z w o je m c a ł e j obudovy s o f t w o r o w e j .

W o b r ę b i ę p r o b l e m a t y k i p o d j ę t e j w p r z e d s t a w i o n e j p r a c y d a l s z e badani®

b e d ą u k i e r u n k o w a n e n a p e ł n i e j s z ą a n a l i z ę s t r u k t u r d a n y c h d l a obydw óch czło­

nów a l g o r y t m u p r o g o w e g o o r a z n a s t w o r z e n i e m o ż l i w o ś c i e k s p e r y m e n ta l n e g o ba­

d a n i a r ó ż n y c h a s p e k t ó w i s p l e m o n t a c j i r ó w n o l e g ł y c h a lg o r y t m ó w k o m b in a to ry cz - n y c h ( s y m u l a c j a s t r u k t u r w i e l o p r o c e s o r o w y c h , o b l i c z e n i a w s i e c i a c h m ikro­

k o m p u te r o w y c h 1 t r a n s p u t e r o w y c h ) . M ożna p r z y p u s z c z a ć , ż e n a k ł a d o b lic z e ń a l g o r y t m u p ro g o w e g o u d a s l ą o b n i ż y ć d o 0 ( n ) , p r z e z s t o s o w n ą rozbudow ę s t r u k t u r d a n y c h d l a p r z e g l ą d u g r a f u w s z e r z .

(15)

TERATURA

j Aho A . V . , J . H . H o p c r o f t , J . D . U l l m a n : T h e d e s i g n a n d a n a l y s i s o f com ­ p u t e r a l g o r i t h m s . A d d i s o n - W e s l e y P u b l i s h i n g C o . , 1 9 7 4 .

I B e n t l e y J . L . , H .T . K u n g : A t r e e m a c h i n e f o r s e a r c h i n g p r o b l e m s . P r o c e e i 1979 I n t e r n a t i o n a l C o n f . P a r a l l e l P r o c e s s i n g , 1 9 7 9 , p p . 2 5 7 - 2 6 6 .

3] C a m e r i n i P . M . : T h e m in im a x s p a n n i n g t r e e p r o b l e m a n d e x t e n s i o n s . In fo rm P r o c e s s . L e t t e r s , v . 7 ( 1 9 7 8 ) , N* 1 , p p . 1 0 - 1 4 .

I C o le R . , C .K . Y a p : A p a r a l l e l m e d i a n a l g o r i t h m . I n f o r m . P r o c e s s . L e t t e r s . v .2 0 ( 1 9 8 5 ) , N - 3 , p p . 1 3 7 - 1 4 0 .

] Deo N . , C .Y . P a n g , R . E . L o r d : Two p a r a l l e l a l g o r i t h m s f o r s h o r t e s t p a t h p r o b l e m s . P r o c e e d . I n t e r n a t . C o n f . P a r a l l e l P r o c e s s i n g . A u g u s t 1 9 8 0 , W a s h in g t o n , p p . 2 4 4 - 2 5 3 .

] E c k s t e i n D .M ., D .A . A l t o n : P a r a l l e l s e a r c h i n g o f n o n - s p a r s e g r a p h s . D e p a r t m e n t o f C o m p u te r S c i e n c e . T h e U n i v . o f I o w a . Io w a C i t y . T R - 7 7 - 0 2 , 1 9 7 7 .

] E c k s t e i n D .M ., D .A . A l t o n : P a r a l l e l g r a p h p r o c e s s i n g u s i n g d e p t h - f i r s t s e a r c h . D e p a r t m e n t o f C o m p u te r S c i e n c e . T h e U n i v . o f I o w a . Io w a C i t y . TR, 1 9 7 7 .

8j Iw anow J e . A . : P a r a l l e l n y j e a ł g o r i t m y n a g r a f a c h . K i b e r n e t i k a , NL 3 , 1 9 8 1 , s . 8 1 - 8 3 .

9] K i n d e r v a t e r G . A . P . , J . K . L e n s t r a : P a r a l l e l a l g o r i t h m s . M. O 'h E i g e a r - t a i g h , J . K . L e n s t r a , A .H .G . R in n o o y K an ( e d s . ) . 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 : A n n o t a t e d B i b l i o g r a p h i e s . W i l e y , C h i c h e s t e r , 1 9 8 5 , c h . 8 .

] K i n d e r v a t e r G . A , P . , J . K . L e n s t r a : P a r a l l e l c o m p u t i n g i n c o m b i n a t o r i a l o p t i m i z a t i o n . C e n t r e f o r M a t h e m a t i c s a n d C o m p u te r S c i e n c e . D e p a r t m e n t o f OR a n d S T . R e p o r t O S - R 8 7 2 0 , N o v e m b e r 1 9 8 7 .

] M a t e t i P . , N . D e o : P a r a l l e l a l g o r i t h m s f o r t h e s i n g l e ’ s o u r c e s h o r t e s t p a t h p r o b l e m . C o m p u ti n g , v . 2 9 ( 1 9 8 2 ) , p p . 3 1 - 4 9 .

] Q u in n M . J . , N . D e o : P a r a l l e l g r a p h a l g o r i t h m s . C o m p u tin g S u r v e v s , v . 1 6 , N* 3 , 1 9 8 4 , p p . 3 1 9 - 3 4 8 .

] R e g h b a t i ( A r j o m a n d i ) E . , D .G . C o r o e i l : P a r a l l e l c o m p u t a t i o n s i n g r a p h t h e o r y . SIAM J . C o m p u ti n g , v . 7 , Na 2 , 1 9 7 8 , p p . 2 3 0 - 2 3 7 .

] R o te G . : A s y s t o l i c a r r a y a l g o r i t h m f o r t h e a l g e b r a i c p a t h p r o b l e m ( S h o r t e s t p a t h s ; M a t r i x i n v e r s i o n ) . C o m p u ti n g , v . 3 4 ( 1 9 8 5 ) , p p . 1 9 1 -2 " 9 . ] S ł o m iń s k i L . : O b l i c z e n i a r ó w n o l e g l e : A l g o r y t m r ó w n o l e g ł y d l a z n a j d o w a ­

n i a d e n d r y t u m in im a k s o w e g o w g r a f i e s k i e r o w a n y m . Z P M /1 9 /8 6 . IB S PAN, W arsz a w a .

R e c e n s e n t t D o c . d r h a b . l n ż . R . S I o s i ń s k i

» p ł y n ę ł o d o R e d a k c j i d o 1 9 B B - C « - J O .

Cytaty

Powiązane dokumenty

wartości zmiennej globalnej (jednak w taki sposób, żeby nie zaburzać znacząco czasu wykonania – czyli jednokrotny wydruk po długiej pętli, pętla musi być na tyle długa,

Przetestowanie poprawnego działania programu (w tym poprawnego przesyłania indywidualnych identyfikatorów) dla różnej liczby tworzonych i współbieżnie

c) każdy wątek pracuje wywołując odpowiednie funkcje z klasy Obraz do obliczania odpowiedniego fragmentu histogramu i odrębną funkcję do drukowania fragmentu histogramu

W każdym kroku ustalamy odległość jednego wierzchołka, więc algorytm (i jego tabelka) powinien mieć tyle kroków, ile jest wierzchołków (poza startowym) w tej samej

Inne równoległe algorytmy genetyczne również stosują nakładające się na siebie subpopulacje tzw. W takich systemach migracja, (jak w algorytmach wyspowych), nie jest tak

Informacja o odkryciu nowego, równoległego wszechświata rozeszła się błyskawicznie w różnych mediach, włącznie z tabloidami, a oryginalna notatka prasowa Uniwersytetu

W razie jakichkolwiek pytań, proszę pisać

Na wejściówkę trzeba umieć przekształcić dany wykres o przesunięcie równoległe oraz zapisać wektor mając wzór i wzór mając wektor... W razie jakichkolwiek pytań, proszę