• Nie Znaleziono Wyników

Informatyka Nr 3; Organ Komitetu Naukowo-Technicznego NOT ds. Informatyki - Digital Library of the Silesian University of Technology

N/A
N/A
Protected

Academic year: 2022

Share "Informatyka Nr 3; Organ Komitetu Naukowo-Technicznego NOT ds. Informatyki - Digital Library of the Silesian University of Technology"

Copied!
36
0
0

Pełen tekst

(1)
(2)

N r 3

M iesięczn ik M a rze c

Rok X X I I I 1988

Organ K om itetu

! N au k ow o-T ech n iczn ego NOT ds. In form atyk i

W NUM ERZE Strona

K O L E G I U M H E D A K C Y J N E : M g r J a r o s ł a w D E M I N E T , l d r i n i . W a c ł a w I S Z K O W S K I ,

; m g r T e r e s a J A B Ł O Ń S K A ( s e k r e t a r z r e d a k c j i ) , i W ł a d y s ł a w K L E P A C Z

( r e d a k t o r n a c z e l n y ) ,

! d r i n ż . M a r e k M A C H U R A ,

d r i n ż . W i k t o r R Z E C Z K O W S K I , J m g r i n ż . J a n R Y Ź K O ,

¡ m g r H a n n a W Ł O D A R S K A , d r i n ż . J a n u s z Z A L E W S K I ( z a s t ę p c a r e d a k t o r a n a c z p l n e g o ) .

P R Z E W O D N I C Z Ą C Y R A D Y P R O G R A M O W E J : P r o f . d r l i a b . J u l i u s z L e c h K U L I K O W S K I

M a t e r i a ł ó w n i e z a m ó w i o n y c h r e d a k c j a n i e z w r a c a

R e d a k c j a : 01-517 W a r s z a w a , u l . M i c k i e ­ w i c z a 18 m . 17, t e l . 39-14-34.

Z ć i k l . G r a f . „ T a m k a ” . Z a m . 0918-1300/33.

O b j . 4,0 a r k . d r u k . N a k ł a d 8650 c g z . U-2G.

I S S N 0342-9951. I N D E K S 36124 C e n a e g z e m p l a r z a 200 zł P r e n u m e r a t a r o c z n a 2400 z ł ,

W YDAW NICTW O G

SIGMA

0 0 -9 5 0 Warszawa skrytka pocztow a 7004

ul. Biała 4

A lg o ry tm y k o m b in a to r y c z n e i ich e fe k ty w n o ś ć (1).

P ro b le m n a jk r ó ts z e g o d rz e w a ro z p in a ją c e g o M a c ie j M. S y s ł o

J ę z y k S m a llta lk -8 0 (1) A r t u r K r ę p s k i

O n a tu r z e u c z e n ia się — p ro b le m y i k ie r u n k i b a d a w c z e (2) R y s z a r d S. M i c h a l s k i

Im p le m e n ta c ja d e d u k c y jn e j b a z y d a n y c h H o lm e s (2) M i c h a ł K i r p l u k , P io tr S o b o le w s k i

J ę z y k C. C o raz b liż e j n o rm y (1) J a n B ie lc c k i

S tr u k t u r a s y s te m u o p e ra c y jn e g o P C -D O S : (6) A n n a S y f e r t , A n d r z e j R a z n o w i e c k i

P a m ię c i d y sk o w e M azo v ii 1016 (1) A n d r z e j W a r d a

U w a g i o p o w sz e c h n y m k s z ta łc e n iu in f o rm a ty c z n y m s tu d e n tó w w y ż­

szy ch u c z e ln i M a c ie j M. S y s ło ZE ŚW IA T A

K o m p u te ro w e n a u c z a n ie A d y TER M INOLOG IA

T e rm in o lo g ia ję z y k a S m a llta lk -8 0

1 j 4 j

I

12 f

16 i

18

21

23 27

29 i

W N A J B L I Ż S Z Y C H N U M E R A C H :

© H a l p h i M a d g e O r i s w o l d p i s z ą o j ę z y k a c h w y s o k i e g o p o z i o m u d o p r z e t w a r z a n i a n a p i s ó w — C O M I T , S N O B O L 4 i I c o n

O J e r z y S t a w i c k i p r e z e n t u j e n a r z ę d z i a t w o r z e n i a s y s t e m ó w e k s p e r t o w y c h n a m i k r o ­ k o m p u t e r a c h

O Z b y s z k o K r ó l i k o w s k i o p i s u j e m i k r o k o m p u t e r o w e s y s t e m y z a r z ą d z a n i a b a z a m i d a ­ n y c h

® K r z y s z t o f Z i e l i ń s k i i i n . c h a r a k t e r y z u j ą a r c h i t e k t u r ę o p r o g r a m o w a n i a l o k a l n e j s i e c i k o m p u t e r o w e j U M M L A N - 2

O J a r o s ł a w B e m i n e t r e l a c j o n u j e p r z e b i e g k o m p u t e r o w e j w y s t a w y B A L T C O I I 'S7

(3)

P O L S K I E T O W A R Z Y S T W O IN F O R M A T Y C Z N E

MACIEJ M. SYSŁO Instytut Inform atyki U n iw ersytet W rocław ski

( f + ł M

P i e r w s z a w e r s j a a r t y k u ł u z o s t a ł a p r z e d s t a w i o n a p o d c z a s S z k o ł y . J e s i e n n e j P T I „ W s p ó ł c z e s n e k i e r u n k i r o z w o j u i n f o r m a t y k i ” R y d z y n a , 9—13 p a ź d z i e r ­ n i k a 1984 r.

. . . je d n y m z e s p o s o b ó w z w i ę k s z e n i a s z y b k o ś c i k o m p u t e r ó w j e s t o b a r c z e n ie ich m n i e j s z ą liczb ą operacji...

R o lp h G o m o r y (1980)

Algorytmy kombinatoryczne i ich efektywność (1)

Problem najkrótszego drzewa rozpinającego

A rty k u ł je s t p o św ię c o n y o m ó w ie n iu w y b ra n y c h m e to d ro z w ią z y w a n ia tr z e c h p rz y k ła d o w y c h p ro b le m ó w k o m b i- n a to ry c z n y c h : p ro b le m u n a jk r ó ts z e g o d rz e w a ro z p in a ją c e ­ go w sieci (w sk ró c ie S S T ), p ro b le m u p le c a k o w e g o i p ro ­ b lem u k o lo ro w a n ia g ra fu . N a jo g ó ln ie j m ó w iąc, • p ro b le m k o m b in a to ry c z n y p o le g a n a z n a le z ie n iu szczególnego e le ­ m e n tu (lu b ty lk o n a stw ie rd z e n iu , czy ta k i e le m e n t is tn ie ­ je) w zb io rze, k tó r y je s t d y s k r e tn y , n a jc z ę śc ie j sk o ń c z o n y i z w y k le tw o rz y p e w n ą s t r u k tu r ę , ta k ą ja k g ra f , sieć, a lb o je s t ro d z in ą p e r m u ta c ji lu b p a r ty c ji z b io ru . K o n k re tn e w a rto ś c i p a r a m e tr ó w p ro b le m u o k r e ś la ją z a d a n ie teg o p ro ­ blem u.

W z a d a n iu S S T je s t d a n y g r a f i f u n k c ja w a g o w a o p is a ­ na n a jeg o k ra w ę d z ia c h . N a le ż y z n a le ź ć d rzew o ro z p in a ją ­ ce g r a f u o s u m a ry c z n ie n a jm n ie js z e j w a d z e w ś ró d w s z y s t­

k ich d rz e w ro z p in a ją c y c h , k tó r y c h g r a f n -w ie rz c h o łk o w y m oże m ie ć n » - 2. Z b ió r m o ż liw y c h ro z w ią z a ń z a d a n ia p le ­ cak o w eg o tw o rz ą w e k to r y n -e le m e n to w e o w sp ó łrz ę d n y c h 0 lu b 1, a o k re ś lić n a le ż y w e k to r s p e łn ia ją c y je d n o o g ra n i­

czenie lin io w e i m a k s y m a liz u ją c y zy sk w ś ró d w s z y stk ic h w e k to ró w d o p u sz c z a ln y c h . K o lo ro w a n ie w ie rz c h o łk ó w g r a ­ fu je s t ró w n o w a ż n e z o k re ś le n ie m f u n k c ji, k tó r a s ą s ie d ­ n im w ie rz c h o łk o m g r a f u p rz y p o r z ą d k o w u je ró ż n e liczb y n a ­ tu ra ln e . P ro b le m k o lo ro w a n ia g r a f u p o le g a n a z n a le z ie ­ niu p o k o lo ro w a n ia n a jm n ie js z ą lic z b ą k o lo ró w .

W e w s z y s tk ic h tr z e c h w y p a d k a c h , ch o c ia ż p rz e s trz e ń m o ­ żliw y ch ro z w ią z a ń je s t sk o ń c z o n a , je j p rz e g lą d a n ie , g d y n ro śn ie, sz y b k o p rz e k r a c z a m o żliw o ści ja k ie g o k o lw ie k k o m p u te ra , d o s tę p n e g o te r a z i w n a jb liż s z e j p rzy szło ści (por. ta b e la 1). C a ła n a d z ie ja leży z a te m w e fe k ty w n y c h m e to d a c h ro z w ią z y w a n ia , k tó r e p r z e g lą d a ją je d y n ie n ie ­ w ie lk ą część p rz e s trz e n i ro z w ią z a ń . W s e n s ie m o cy is tn ie ­ ją c y c h m e to d ro z w ią z y w a n ia , o m a w ia n e p ro b le m y n a le ż ą do trz e c h ró ż n y c h g ru p . S y tu a c ję tę z ilu s tro w a n o w n a ­ stę p n y c h p u n k ta c h , p o d a ją c o d p o w ie d n ie a lg o ry tm y . P r o ­ b lem S S T m o że b y ć ro z w ią z y w a n y a lg o r y tm e m w ie lo m ia ­ n o w ym , czyli ta k im , k tó r y w y k o n u je lic z b ę k ro k ó w o g ra -

Tubclu 1. Czasy działania algorytm ów o różnej liczbie kroków , dla rosnących w arto i i rozm iaru problem u, n a kom puterze wykonującym 1 0 10 operacji n a sekundę (czasy podano

w sekundach, jeśli nic zaznaczono inaczej)

n ic z o n ą p rz e z w ie lo m ia n z m ie n n e j n . N ie są z n a n e n a to ­ m ia s t ż a d n e a lg o r y tm y w ie lo m ia n o w e ro z w ią z y w a n ia p o ­ zo sta ły c h d w ó ch p ro b le m ó w . P ro b le m p le c a k o w y je s t je d ­ n a k w p e w n y m s e n s ie ła tw ie js z y n iż p ro b le m k o lo ro w a n ia , gdyż m oże b y ć ro z w ią z y w a n y a lg o ry tm e m w ie lo m ia n o w y m w z g lę d e m liczb y z m ie n n y c h n o ra z m a k s y m a ln e j w a rto ś c i p a ra m e tr ó w . P r o b le m k o lo r o w a n ia n a le ż y zaś do k la s y n a j ­ tr u d n ie js z y c h p ro b le m ó w k o m b in a to ry c z n y c h , d la k tó r y c h n ie z n a le z io n o d o ty c h c z a s ż a d n y c h - e fe k ty w n y c h a lg o r y t­

m ó w , p r z y n a jm n ie j d o s ta te c z n ie d o b rz e p rz y b liż a ją c y c h ro z w ią z a n ia o p ty m a ln e .

C z y te ln ik o m z a in te re s o w a n y m zło żo n o ścią o b liczen io w ą a lg o ry tm ó w i p ro b le m ó w w a r to p o le c ić k s ią ż k i [1, 4]. W ty m a r ty k u le r e z u lta ty zło żo n o ścio w e n ie w y s tę p u ją ja w n ie , a je d y n ie z u k ry c ia s t e r u j ą to k ie m ro z w a ż a ń .

C h o ciaż w y b ra n e p ro b le m y m o g ą b y ć o m a w ia n e n ie z a ­ leżn ie je d e n od d ru g ie g o , n a d rz ę d n y m c e le m je s t z ilu s­

tr o w a n ie z a c h ła n n e g o p o d e jś c ia do ro z w ią z y w a n ia z a g a d ­ n ie ń k o m b in a to ry c z n y c h . D o k ła d n e z d e fin io w a n ie z n a c z e n ia p o ję c ia „ z a c h ła n n o ś c i” je s t m o ż liw e je d y n ie w w ą s k ie j k la s ie z a g a d n ie ń . N a u ż y te k teg o a r t y k u łu m o ż n a p rz y ją ć , że z a c h ła n n a m e to d a ro z w ią z y w a n ia p ro b le m u k o n s tr u u je ro z w ią z a n ie e le m e n t po e le m e n c ie w ta k i sp o só b , że k o ­ le jn o d o łą c z a n e e le m e n ty p r z y jm u ją n a jle p s z e z m o ż liw y c h w a rto ś c i o ra z k a ż d e ro z w ią z a n ie częścio w e je s t d o p u sz c z a l­

n e, tzn . m oże b y ć u z u p e łn io n e do k o m p le tn e g o ro z w ią z a n ia . N ie b ę d z ie tu n a to m ia s t o m a w ia n a z a c h ła n n o ść w se n s ie lo k a ln e j o p ty m a liz a c ji, p o le g a ją c a n a p rz e c h o d z e n iu od je d ­ nego ro z w ią z a n ia do in n e g o ro z w ią z a n ia , n a jle p sz e g o w p e w n y m o to c z e n iu teg o p ie rw sz e g o . W w y p a d k u w s z y s tk ic h trz e c h p ro b le m ó w id e a z a c h ła n n o śc i d o s ta rc z a b a rd z o e fe k ­ ty w n y c h a lg o ry tm ó w ro z w ią z y w a n ia , k tó r y c h d o k ła d n o ś ć m a le je je d n a k z p ro b le m u n a p ro b le m .

O d C z y te ln ik a teg o a r ty k u łu je s t o c z e k iw a n a z n a jo m o ść je d y n ie p o d s ta w o w y c h fa k tó w z z a k re s u w s tę p u do in f o r­

m a ty k i. K sią ż k i [6, 9] u m o ż liw ia ją p o g łę b ie n ie w ie d z y w d z ie d z in ie k o m b in a to r y k i i te o r ii g ra fó w . P o n a d to w o p r a ­ c o w a n iu (7] p rz y s tę p n ie o m ó w io n o b o g a ts z ą ro d z in ę p ro b le ­ m ó w k o m b in a to ry c z n y c h o ra z e fe k ty w n e a lg o r y tm y ich ro z w ią z y w a n ia w r a z z e le m e n ta m i złożoności o b lic z e n io w e j.

T e o re ty c z n e o p is y a lg o ry tm ó w i ic h w ła śc iw o ś c i z a ­ w ie r a ją n a jc z ę śc ie j in f o rm a c je o p e s y m is ty c z n y m z a c h o w a ­ n iu się a lg o ry tm ó w . W p ra k ty c e n ie m n ie j w a ż n e s ą w y ­ n ik i e k s p e r y m e n tó w k o m p u te ro w y c h p rz e p ro w a d z o n y c h 'z k o n k r e tn y m i re a liz a c ja m i a lg o ry tm ó w . C z y te ln ik o w i z a in ­ te r e s o w a n e m u im p le m e n ta c ja m i a lg o ry tm ó w k o m b in a to r y ­ czn y ch o ra z w y n ik a m i o b lic z e ń te s to w y c h w a r to p o lecić z b io ry a lg o ry tm ó w w ję z y k u A lgol 60 [5] i k s ią ż k ę [8]

z a w ie ra ją c ą p ro g r a m y w P a sc a lu .

PRO BLEM N AJK R Ó TSZ EG O DRZEW A RO ZPINA JĄC EG O W y z n a c z a n ie n a jk ró ts z e g o d rz e w a ro z p in a ją c e g o w sieci je s t je d n y m z n a jp o p u la rn ie js z y c h p ro b le m ó w k o m b in a to ­ ry c z n y c h , p o ja w ia ją c y m się z a ró w n o w ro z w a ż a n ia c h te o ­ r e ty c z n y c h , j a k i z a s to s o w a n ia c h p ra k ty c z n y c h .

N iech G c = (V,E;c) b ę d z ie sie c ią , g d z ie G = (V,E) je s t s p ó jn y m g ra fe m sy m e try c z n y m , a c je s t d o w o ln ą fu n k c ją

I n f o r m a t y k a n r 3, 1988

(4)

rz e c z y w is tą o k re ś lo n ą n a z b io rz e k ra w ę d z i g r a f u G. N ie tr a c ą c n ic n a ogólności, m o ż n a p rz y ją ć , że f u n k c ja c je s t o k re ś lo n a n a w s z y stk ic h n ie u p o r z ą d k o w a n y c h p a r a c h w ie rz ­ c h o łk ó w {u,x}. J e ś li b o w ie m {u.v} E , to za c (u,v) p r z y j­

m u je się d o sta te c z n ie d u ż ą liczb ę, k tó r a b ę d z ie g w a r a n to ­ w a ć , iż k ra w ę d ź {u,v} n ie z n a jd z ie się w ż a d n y m ro z w ią z a ­ n iu . W y sta rc z y n a p rz y k ła d , b y w a rto ś ć c (u,v) b y ła n r a ­ zy w ię k sz a od n a jw ię k s z e j w a g i k ra w ę d z i. F u n k c ja c m o ­ że b y ć ro z s z e rz o n a n a d o w o ln y p o d z ib ó r F = E k ra w ę d ź )

g ra fu . D la z b io ru p u ste g o p rz y jm u je się c(0) = 0, a w pozo­

s ta ły c h p rz y p a d k a c h c(F) je s t ..su m ary czn ą w a g ą k ra w ę d z i n a le ż ą c y c h do F , czyli c(F) = c(f). W a rto p rz y p o m n ie ć

_ f e t |

że drzew em rozpinającym w g ra f ie je s t m a k s y m a ln y p o d - g r a f a c y k lic z n y . G r a f m a d rz e w o ro z p in a ją c e w te d y i ty lk o w te d y , g d y je s t sp ó jn y .

P R O B L E M N A JK R Ó T S Z E G O D R Z E W A R O Z P IN A JĄ C E ­ GO (SST)

D ane:

S p ó jn a sieć s y m e try c z n a G c Cel:

: (V,E;c).

Z n a le ź ć n a jk r ó ts z e d rz e w o ro z p in a ją c e T w sieci G c.

J e ś li sieć G c je s t z d e fin io w a n a n a g ra f ie p e łn y m , to G z a w ie ra n n -J d rz e w ro z p in a ją c y c h (tw ie rd z e n ie C ay ley a).

Z a te m n a p rz y k ła d , p rz e s trz e ń ro z w ią z a ń z a d a n ia S S T d la sieci p e łn e j o 10 w ie rz c h o łk a c h s k ła d a się 2 10* e le m e n tó w . D zięk i je d n a k szczeg ó ln ej s t r u k tu r z e ro d z in y d rz e w r o z p i- . n a ją c y c h i ich p o d d rz e w , p ro b le m S S T m oże b y ć ro z w ią ­ z a n y w b a rd z o n a tu r a ln y sposób. W k o ń c o w e j części a r t y ­ k u łu z o sta n ą o p is a n e o g ó ln e w łaściw o ści p ro b le m ó w ro z­

w ią z y w a n y c h w p o d o b n ie p ro s ty sposób.

N a jp o p u la r n ie js z a i je d n o c z e śn ie je d n a z n a je f e k ty w ­ n ie jsz y c h m e to d ro z w ią z y w a n ia p ro b le m u S S T je s t r e a li­

z a c ją b a rd z o p ro s te j id ei p o d a n e j p rz e z J. B. K ru s k a la , k tó r a p o le c a b u d o w a ć ro z w ią z a n ie k ra w ę d ź po k ra w ę d z ią w y b ie ra ją c k o le jn o n a jk r ó ts z ą z k ra w ę d z i, k tó r y c h d o łącz e­

n ie do ro z w ią z a n ia częściow ego n ie p o w o d u je p o w s ta n ia w n im c y k lu . In a c z e j m ó w ią c , w m e to d z ie te j w k a ż d y m k r o ­ k u d o k o n u je się n a jle p sz e g o w y b o ru d b a ją c je d n o c z e śn ie o to, b y k a ż d e ro z w ią z a n ie częścio w e by ło d o p u sz c z a ln e , tzn.

d ało się u z u p e łn ić do ro z w ią z a n ia k o m p le tn e g o . A lg o ry tm je s t w ię c ja k n a jb a r d z ie j z a c h ła n n y .

Z A C H Ł A N N Y A L G O R Y T M K R U S K A L A D ane:

S p ó jn a sieć s y m e try c z n a Gc = (V,E;c). N iech n = j . V ] . W y n ik :

N a jk ró ts z e d ra e w o ro z p in a ją c e T w sieci G,..

begin

T *—'Oi F — E ;

wliilc j T | < ( 1 1— 1) and F 0 do bogiń

c <— n ajk ró tsza kraw ędź w E : F <—F — {r}:

if T u {e} nie zawiera cyklu then T < - T u ( e } cnd

e n d

d l 6 / t 2 N

6 3

<1.1011.2.2,4.4.6.71 I t y s . 1. I l u s t r a c j a d z i a ł a n i a a l g o r y t m u K r u s k a l a

-

D z ia ła n ie po w y ższeg o a lg o ry tm u z ilu s tro w a n o n a p r z y ­ k ła d z ie sieci z ry s . la . N a r y s u n k u l b p rz e d s ta w io n o ro z­

w ią z a n ie częścio w e po sześciu k r o k a c h a lg o ry tm u , a ro z­

w ią z a n ie k o m p le tn e p o k a z a n o n a ry s . lc . K ra w ę d z ie n a le ­ żące do ro z w ią z a n ia są o z n aczo n e lin ią c ią g łą , a p o zo stałe

— p rz e r y w a n ą . R o z w ią z a n ie częścio w e m oże s k ła d a ć się z w ię c e j n iż je d n e j części sp ó jn e j.

A lg o ry tm z a c h ła n n y m oże b y ć z m o d y fik o w a n y i u le p sz o ­ n y n a w ie le ró ż n y c h sp o so b ó w . W p o w y ż sz y m o p isie u w ­ z g lęd n io n o ju ż , że je ś li | T | o sią g a n — 1, to o b lic z e n ia m o­

g ą by ć p rz e r w a n e , g d y ż T je s t ju ż d rz e w e m ro z p in a ją c y m w sieci G c. A w ię c ż a d n a k ra w ę d ź sp o za T n ie m oże być d o łą c z o n a do T. P rz y u ży ciu w y s p e c ja liz o w a n y c h s t r u k tu r d a n y c h o ra z a lg o ry tm ó w p o s łu g iw a n ia się n im i, a lg o ry tm z a c h ła n n y m o że b y ć z re a liz o w a n y w czasie 0(m logm ), gdzie m je s t lic z b ą k ra w ę d z i g r a f u (por. [1, 2, 8]).

W e rs ja a lg o r y tm u z a c h ła n n e g o , p o d a n a p rz e z R. C. P r i­

m a i E. W. D ijk s trę , ró ż n i się od a lg o r y tm u z a c h ła n n e g o ty m , że k a ż d e ro z w ią z a n ie częścio w e je s t sp ó jn e , a k r a ­ w ęd zie są ty lk o częściow o p o rz ą d k o w a n e p o d czas d z ia ła ­ n ia a lg o ry tm u . A lg o ry tm P r im a - D ijk s tr y k o n s tr u u je n a j ­ k ró ts z e d rzew o ro z p in a ją c e T od d o w o ln ie w y b ra n e g o w ie rz ­ c h o łk a s g r a f u G (s n a z y w a się korzeniem d rz e w a T) i w k a ż d y m z n — 1 k ro k ó w d o łącz a do ro z w ią z a n ia częścio w e- 'f go n a jk r ó ts z ą k ra w ę d ź sp o ś ró d k ra w ę d z i o je d n y m k o ń cu w ro z w ią z a n iu , a d ru g im sp o za n ieg o . W p rz e d s ta w io n y m : n iż e j o p isie a lg o ry tm u , ro z w ią z a n ie T je s t p a m ię ta n e w po­

s ta c i listy p oprzedników , tj. d la k ażd eg o w ie rz c h o łk a v (z w y ją tk ie m s) je s t o k re ś lo n y n u m e r w ie rz c h o łk a b ezp o ­ ś re d n io p o p rz e d z a ją c e g o w ie rz c h o łe k v n a d ro d z e z s do v.

N iech pi b ę d z ie o d le g ło śc ią (w s e n s ie fu n k c ji c) w ie rz c h o ł­

k a i od b ieżą ceg o ro z w ią z a n ia częściow ego, a cji — w ie rz ­ c h o łk ie m teg o ro z w ią z a n ia , k tó r y re a liz u je tę odległość, tj. I c(qi,i) = pi.

A LG O R Y T M P R IM A -D IJK S T R Y D an e:

S p ó jn a sieć s y m e try c z n a G c = (V ,E;c) i k o rz e ń ro z w ią z a ­ n ia s.

W y n ik i:

N a jk ró ts z e d rz e w o ro z p in a ją c e T w sieci G c re p r e z e n to w a - t n e za p o m o cą lis ty p o p rz e d n ik ó w (qi.q2 q„). W agą d rz e ­ w a T je s t cT.

K ro k 1 [Z a p o c z ą tk o w a n ie obliczeń]

p„ <— 0; q a <— 0; T <— 0; cT <— 0; r <— s ; for każdego v e W = Y — {s}< do

b o g iń p v^ - c sv; q v^ -s and;

K ro k 2 [I te ra c ja ] for i — 1,2,.,.,n— 1 do begin

w yznaczyć p w — min {pv: v £ W}:

T — T u {qK, w ); cT — cT + p w; W <— W — w ; for każdego u € W do

if p u> c wu then begin p „ * -c wu; q u< -w end end

D z ia ła n ie a lg o ry tm u P r im a - D ijk s tr y z ilu s tro w a n o na p rz y k ła d z ie sieci z ry s . la . N a jk ró ts z e d rz e w o ro z p in a ją c e w y g e n e ro w a n e p rz e z te n a lg o r y tm p rz e d s ta w io n o n a ry s . Id , n a k tó r y m n u m e r y w ie rz c h o łk ó w o z n a c z a ją k o lejn o ść, w ja k ie j w ie rz c h o łk i są d o łą c z a n e do ro z w ią z a n ia .

D ow ód p o p ra w n o ś c i a lg o r y tm u P r im a - D ijk s tr y je s t r o z u ­ m o w a n ie m ty p o w y m d la d o w o d ó w p o p ra w n o śc i d z ia ła n ia a lg o ry tm ó w z a c h ła n n y c h . P rz y p u ś ć m y , że d rz e w o T w y ­ zn a c z o n e p rz e z te n a lg o r y tm d la sieci G c n ie je s t n a j­

k ró ts z y m d rz e w e m ro z p in a ją c y m ; n ie c h T ’ b ęd zie n a jk r ó t­

szy m ta k im d rz e w e m w G c. N ie tr a c ą c n ic n a o g ólności j m o ż n a p rz y ją ć , że o b a te d rz e w a m a ją k o rz e n ie w w ie rz ­ c h o łk u , z k tó re g o a lg o r y tm ro z p o c z ą ł tw o rz y ć d rz e w o T.

M ożna te ż p rz y ją ć , że k ra w ę d z ie d rz e w a T są p o n u m e r o w a ­ n e zg o d n ie z k o le jn o śc ią , w ja k ie j b y ły d o łą c z a n e do T, a w ięc T — {c,. e2 , . . . , e „ _ , }. N iech T; = , {e„ ca , . . . , ć;}, czyli f T = T n- i . P o n ie w a ż T ’ ^ T , w ię c iś tn ie je j ta k ie , że Tj C T ',

• Tj + 1 4= T \ czyli cj+ 1 Ć T ’. Z w ła śc iw o śc i d rz e w ro z p in a ­ ją c y c h w y n ik a , że T ’ u {cj + ,} z a w ie ra d o k ła d n ie je d e n cy k l C.

2 I n f o r m a t y k a n r 3, 1SSS

(5)

P o n ie w a ż część k ra w ę d z i c y k lu C n a le ż y do Tj, a część liię -n a le ż y , w ię c o p ró cz k ra w ę d z i ej , i, cy k l C z a w ie ra je ­ szcze je d n ą k ra w ę d ź , f, k tó r e j je d e n k o n ie c n a le ż y , a d r u ­ gi n ie n a le ż y do T j (rys. 2). O czy w iście f e T ’. Z w ła śc iw o ­ ści a lg o r y tm u w y n ik a , że c ( £ ) ^ c ( e j+i), g d y ż k ra w ę d ź ej+ i zo stała d o łą c z o n a do Tj ja k o n a jk r ó ts z a k ra w ę d ź w y c h o ­ d ząca z Tj. M o żn a w ięc o k re ś lić n o w e d rz e w o ro z p in a ją c e T ” — T u {cj+i}— {f} w sieci G c, d la k tó re g o c(T ”)=Sjc(T).

Z atem , je śli c (f)> c (e j+ i), to d o ch o d zi się do sp rzeczn o ści, gdyż T ” b y ło b y d rz e w e m k ró ts z y m od n a jk ró ts z e g o d rz e ­ w a T ’. J e ś li n a to m ia s t c(f) = c(ej + i), to c(T ”) = c(T ’) iT j + i C T ” . W ty m d ru g im w y p a d k u p o w ta rz a ją c p o w y ż­

sze ro z u m o w a n ie , d o ch o d zi się a lb o do d rz e w a k ró tszeg o od T , a lb o do d rz e w a T , k tó r e s p e łn ia '1' =; T r _ i — T, c(T) = c (T ’), co ta k ż e je s t w sp rzeczn o ści z zało ż en iem , że T n ie je s t n a jk r ó ts z y m d rz e w e m .

L iczb a e le m e n ta r n y c h .o p e ra c ji w y k o n y w a n y c h p rz e z a l­

g o ry tm P r im a - D ijk s lr y je s t ró w n a 0(n2). W k ro k u 1 w y k o ­ n u je się b o w ie m 0(n) o p e ra c ji, a w i-te j ite r a c ji k r o k u 2 je s t w y k o n y w a n y c h 0(n—i) o p e ra c ji z w ią z a n y c h z w y z n a -

I t y s . 2. D r z e w o z a w i e r a j ą c e c y k l u a l g o r y t m i e 1’ r i m a - D i j k s t r y

czaiiiem m in im u m o ra z 0(n—i) o p e ra c ji u a k tu a ln ia ją c y c h w a rto ś c i p n, q n. N a jsz y b s z e z n a n e a lg o r y tm y w y z n a c z a n ia n a jk ró ts z y c h d rz e w ro z p in a ją c y c h w sie c ia c h p rz e d s ta w io ­ no w [3],

PORÓW NANIE EFEK TY W NO ŚCI ALGORYTM ÓW ROZ­

W IĄ ZYW A NIA PROBLEM U SST

D la sieci rz e d k ic h (ta k im i są n a p rz y k ła d sieci p la n a r n e ), d la k tó r y c h m je s t ró w n e 0(n), a lg o r y tm K r u s k a la m a zło­

żoność 0(n logn), n a to m ia s t a lg o r y tm P r im a - D ijk s lr y d z ia ­ ła w c zasie 0(n2). D la sieci p e łn y c h p o ró w n a n ie e fe k ty w ­ ności w y p a d a n a k o rz y ś ć a lg o ry tm u P r im a - D ijk s tr y . T e p o ró w n a n ia , o p a r te je d y n ie n a a s y m p to ty c z n y m z a c h o w a ­ n iu się a lg o ry tm ó w , p o tw ie r d z a ją o b lic z e n ia te s to w e w y k o ­ n a n e d la io so w y c h sieci (ta b e la 2).

Talu-In 2 . Przykładowe czasy obliczeń algorytm am i K ruskaln i Prima-OIjkulry (koni- pu*«*t Amdahl 470 V/«, p o r. (aj, S. 265)

Liczba kraw ędzi ni

Cmih działania ( n u )

A lgorytm K ruskala A lgorytm P riina-D ijkstry

Siw i pę»lc z 80 w icr/cholknm i

790 63 52

1580 96 51

.1160 186 50

Sieci rzadkie xr. 100 w ierzchołkam i

200 44 78

300 66 80

N ie m a l id e n ty c z n e ro z u m o w a n ie m o ż n a p rz e p ro w a d z ić d la p ro b le m u w y z n a c z a n ia n a jd łu ż s z e g o d rz e w a ro z p in a ją c e g o w sieci. M e to d ą z a c h ła n n ą m o ż n a ro z w ią z y w a ć w ie le in ­ n y ch p ro b le m ó w k o m b in a to ry c z n y c h , o czym b ę d z ie je s z ­ cze m o w a w o s ta tn ie j części a r ty k u łu ,

l i t e r a t u r a

(1] A h o A . V . , H o p c r o f t J . E . , U l l m a n J . D . : P r o j e k t o w a n i e i a n a l i z a a l g o r y t m ó w k o m p u t e r o w y c h . P W N , W a r s z a w a , 1983 {2J B a n a c h o w s k i L . , K r e c z m a r A . : E l e m e n t y a n a l i z y a l g o r y t m ó w . W N T , W a r s z a w a , 1981

G a b o w H . N . , G a l i i Z . , S p e n c e r T . , T a r j a n R . E . : E f f i c i e n t a l g o r i t h m s f o r f i n d i n g m i n i m u m s p a n n i n g t r e e s i n u n d i r e c t e d a n d d i r e c t e d g r a p h s . C o m b i n a t o r i c a , V o l . 6, p p . 109— 122, 1986 [4] G a r e y M . R . , J o h n s o n D . S . : C o m p u t e r s a n d I n t r a c t a b i l i t y . F r e e m a n , S a n F r a n c i s c o , 1979

*[5J K u c h a r c z y k J . , S y s l o M . M . : A l g o r y t m y o p t y m a l i z a c j i w j ę z y ­ k u A l g o l 60. P W N , W a r s z a w a , 1975

(61 L i p s k i W . : K o m b i n a t o r y k a d l a p r o g r a m i s t ó w . W N T , W a r s z a w a , 1982

[7] S y s ł o M . M . : O p t y m a l i z a c j a k o m b i n a t o r y c z n a . I n s t y t u t I n f o r ­ m a t y k i , U n i w e r s y t e t W r o c ł a w s k i , 1981 ( s k r ó c o n a w e r s j a — r o z ­ d z i a ł I I I w k s i ą ż c e : E k o n o m i c z n e z a s t o s o w a n i a o p t y m a l i z a c j i d y s ­ k r e t n e j , T . K a s p r z a k ( r e d . ) , P W E , W a r s z a w a , 1984)

[8] S y s ł o M . M . , D e o N . , K o w a l i k J . S . : D i s c r e t e o p t i m i z a t i o n a l g o r i t h m s w i t h P a s c a l p r o g r a m s . P r e n t i c e - H a l l , E n g l e w o o d C l i f f s ( N J ) , 1983

[9] W i l s o n R . J . : W p r o w a d z e n i e d o t e o r i i g r a f ó w . P W N , W a r ­ s z a w a , 1985.

W arunki prenum eraty na 1988 r.

P r e n u m e r a t o r z y z b i o r o w i — j e d n o s t k i g o s p o d a r k i u s p o ł e c z n i o n e j , i n s t y t u c j e i o r g a n i z a c j e s p o ł e c z n e z a m a w i a j ą p r e n u m e r a t ę d o k o ­ n u j ą c w p ł a t y w y ł ą c z n i e n a b l a n k i e c i e ,,w p ł a t a — z a m ó w i e n i e ” ( j e s t t o „ p o l e c e n i e p r z e l e w u ” r o z s z e r z o n e d l a p o t r z e b W y d a w n i c t w a o c z ę ś ć d o t y c z ą c ą z a m ó w i e n i a ) .

B l a n k i e t y t e b ę d ą d o s t a r c z a n e d o t y c h c z a s o w y m p r e n u m e r a t o r o m p r z e z Z a k ł a d K o l p o r t a ż u . N o w i p r e n u m e r a t o r z y o t r z y m a j ą j e p o z g ł o s z e n i u z a p o t r z e b o w a n i a ( p i s e m n e l u b t e l e f o n i c z n e ) w Z a k ł a d z i e K o l p o r t a ż u .

P r e n u m e r a t o r z y i n d y w i d u a l n i e — • o s o b y f i z y c z n e z a m a w i a j ą p r e ­ n u m e r a t ę d o k o n u j ą c w p ł a t y w U P T l u b N B P n a b l a n k i e c i e N B P . N a o d w r o c i e w s z y s t k i c h o d c i n k ó w b l a n k i e t u n a l e ż y w p i s a ć t y t u ł c z a s o p i s m a , o k r e s p r e n u m e r a t y , l i c z b ę z a m a w i a n y c h e g z e m p l a r z y o r a z w a r t o ś ć w p ł a t y . W p ^ c a ć n a l e ż y n a k o n t o : N B P I I I O d d z i a ł W a r s z a w a 1036-7490-139-11.

P r e n u m e r a t a u l g o w a — p r z y s ł u g u j e w y ł ą c z n i e o s o b o m f i z y c z n y m

— c z ł o n k o m S N T , s t u d e n t o m i u c z n i o m s z k ó ł z a w o d o w y c h . W a ­ r u n k i e m p r e n u m e r a t y u l g o w e j j e s t p o ś w i a d c z e n i e b l a n k i e t u w p ł a ­ t y ( p r z e d j e j d o k o n a n i e m ) n a w s z y s t k i c h o d c i n k a c h p i e c z ę c i ą K o ł a S N T , w y ż s z e j u c z e l n i l u b s z k o ł y . S p o s ó b z a m a w i a n i a p r e n u m e r a t y u l g o w e j j e s t t a k i s a m j a k p r e n u m e r a t y i n d y w i d u a l n e j . W p r e n u ­ m e r a c i e u l g o w e j m o ż n a z a m ó w i ć t y l k o p o 1 e g z e m p l a r z u k a ż d e g o c z a s o p i s m a .

U w a g a ! M i e s i ę c z n i k „ A u r a ” m o ż e b y ć z a m a w i a n y w p r e n u m e r a c i e u l g o w e j r ó w n i e ż p r z e z u c z n i ó w s z k ó ł o g ó l n o k s z t a ł c ą c y c h . P r e n u m e r a t a z e z l e c e n i e m w y s y ł k i z a g r a n i c ę — z a m a w i a s i ę t a k j a k p r e n u m e r a t ę i n d y w i d u a l n ą . D o d a t k o w o n a l e ż y p o d a ć n a b l a n ­ k i e c i e w p ł a t y n a z w i s k o i d o k ł a d n y a d r e s o d b i o r c y .

C e n a p r e n u m e r a t y z e z l e c e n i e m w y s y ł k i z a g r a n i c ę j e s t d w u ­ k r o t n i e w y ż s z a .

Y y p ł a t y n a p r e n u m e r a t ę p r z y j m o w a n e s ą w t e r m i n a c h :

d o 10 l i s t o p a d a n a k a ż d y k w a r t a ł , I 1 I I p ó ł r o c z e o r a z c a ł y r o k n a s t ę p n y ,

— d o 28 l u t e g o n a I I , I I I l I V k w a r t a ł o r a z I I p ó ł r o c z e ,

— d o 31 m a j a n a I I I i I V . k w a r t a ł o r a z I I p ó ł r o c z e ,

— d o 31 s i e r p n i a n a I V k w a r t a ł .

Z m i a n y w p r e n u m e r a c i e m o ż n a z g ł a s z a ć p i s e m n i e t y l k o w w y ż e j w y m i e n i o n y c h t e r m i n a c h .

I n f o r m a c j i o p r e n u m e r a c i e u d z i e l a — Z a k ł a d K o l p o r t a ż u W y d a w ­ n i c t w a N O T S I G M A ( u l . B a r t y c k a 20, 00-716 W a r s z a w a ) , s k r . p o c z t . 1004, 00-950 W a r s z a w a , t e l . 40-00-21 w e w . 248, 249, 293, 297, 299 l u b 40-30-86 i 40-35-89.

E g z e m p l a r z e a r c h i w a l n e c z a s o p i s m — m o ż n a n a b y ć z a g o t ó w k ę w K l u b i e P r a s y T e c h n i c z n e j , W a r s z a w a u l . M a z o w i e c k a 12 ( t e l . 27-43-65), l u b z a m ó w i ć p i s e m n i e . . Z a m ó w i e n i a n a e g z e m p l a r z e a r c h i ­ w a l n e c z a s o p i s m p r z y j m u j e : Z a k ł a d K o l p o r t a ż u , D z i a ł H a n d l o w y , 00-950 W a r s z a w a , s k r . p o c z t . 1004 ( t e l . 40-37-31), n a r a c h u n e k d l a i n s t y t u c j i l u b z a z a l i c z e n i e m p o c z t o w y m d l a o s ó b f i z y c z n y c h .

C e n a p r e n u m e r a t y w g c e n n i k a n a 1988 r o k

k w a r t a l n a p ó ł r o c z n a r o c z n a

n o r ­ m a l n a

u l g o ­

w a n o r m a l n a u l g o w ’a n o r m a l n a u l g o w a

600,— 150,— 1200,— 300,— 2400,— 600,—

C e n a e g z e m p l a r z a 200 zł (50 zł — c e n a u l g o w a ) .

I n f o r m a t y k a n r 3, 1 988

3

(6)

ARTUR K R Ę PSK I

In sty tu t Podstaw Inform atyki P olska A kadem ia Nauk Warszawa

Język Smalltalk-80 (I)

N in iejszy artyk u ł jest p ierw szy z cy k lu trzech p o św ię ­ conych sy stem o w i program owani.» S m ailtaik -80. K olejno bętlą om ów ione: język Sm alItaIk-80, sy stem Sm aIIlalk/V oraz Grafika w sy stem ie S m alltalk /V . Ich celem jest zap re­

zen tow an ie zasad n iczych cech sy stem u S m a llla lk -3 0 i w ten sposób pod jęcie próby jej sp op u laryzow an ia w P olsce.

S m a llta lk /V jest realizacją system u S m alltalk -80 na m ikro­

kom puterze IBM PC i w szy stk ie u ściślen ia (języka i s y s te ­ mu) są w zięte z tej k on k retn ej realizacji. T erm in ologię S m ailtalk a w yjaśn ion o w od d zieln ym artyk u le (str. 29).

Druk a rtyk u łów nt. sy stem u S m alltalk /V p rzew id u jem y w przyszłym roku.

A utor nin iejszego cy k lu za in tereso w a ł się system em Sm alK alk-80 „tylko jako fascyn u jącym system em progra­

m ow ania, a le w yraża głęb ok ie przekonanie, że system ten p ow in ien być co n ajm n iej in sp iracją (a w ła śc iw ie , w y so k iej jak ości narzędziem ) dla szerok iego grona in form atyk ów — w dziedzinach takich, jak sy stem y k on w ersacyjn e, p rojek ­ tow an ie w sp om agan e kom puterem , sy stem y dydak tyczn e w sp om agan e kom puterow o, sztuczna in telig en cja , grafika, sym u lacja.

S y stem Sm alltalk -80 jest in terak cyjn ym , zintegrow anym środ ow isk iem program ow ania, jed n ostan ow isk ow ym z m o ­ żliw ością w y k o n y w a n ia w ie lu zadań rów n olegle, w sp o m a ­ gającym p rogram ow anie ob iek tow e (ang. object-orien ted program m ing) w języ k u Sm alltalk -80 7. w ykorzystan iem grafik i k om p u terow ej. U n ifik u jąc sprzęt i oprogram ow anie pozw ala 011 p rzek ształcić stan d ard ow y zesta w k om p u terow y w elastyczn y, o so b isty w arsztat program ow ania, który um o­

żliw ia jed n oczesn e p ro jek to w a n ie i im p lem en tow an ie pro­

gram ów ap lik acyjn ych .

N in iejszy artyk u ł, ze w zg lęd ó w red ak cyjn ych , podzielono na d w ie części; w p ierw szej przedstaw iono in tu icy jn ie e le ­ m entarne pojęcia język a oraz dokonano przeglądu p od sta­

w o w y ch w yrażeń (stale, zm ien n e, k om unikaty), w drugiej

—• dokończono przegląd konstrukcji język a (bloki, m etody) oraz zaprezentow ano przykład k lasy. C ałość artyk u łu po­

przedza krótki w stęp — g en eza i historia system u S m a ll­

talk-80, a kończy — p od su m ow an ie i gram atyka języka.

m - A R T U R A N D R Z E J K K Ę P S K I u k o ń c z y ł w 1974 r o k u s t u d i a r u r W y d z i a l e T v t a t e m a t y k l - M e e h a n i k i U n i w e r s y t e t u W a r s z a w s k i e g o . W 1979 r. u z y s k a ł s t o p i e ń d o k t o r a n a u k t e c h n i c z n y c h ( s p e c j a l n o ś ć i n f o r m a t y k a ) . W ' l a t a c h 1984—1985 b y t s t y p e n d y s t ą F u n d a c j i i m . A . v o n H u m b o l d t a ( R F N ) . J e s t a d i u n k ­ t e m w I n s t y t u c i e P o d s t a w I n f o r ­ m a t y k i P A N , p r a c u j e n a s t a n o w i s ­ k u k i e r o w n i k a Z e s p o ł u I n ż y n i e r i i O p r o g r a m o w a n i a . Z a i n t e r e s o w a n i a n a u k o w e d o t y c z ą i n ż y n i e r i i o p r o ­ g r a m o w a n i a , s z c z e g ó l n i e j ę z y k ó w p r o g r a m o w a n i a i i c h k o m p i l a t o r ó w , m e t o d o l o g i i i s y s t e m ó w p r o g r a m o ­ w a n i a .

S y s te m S m a llta lk -8 0 je s t w y n ik ie m in te n s y w n y c h p ra c p ro w a d z o n y c h bez w ięk szeg o ro zg ło su od k ilk u n a s tu l a t w o ś ro d k u firm y X e ro x (P a lo A lto R e s e a rc h C e n te r), w USA.

J ę z y k o p ra c o w a n o it e r u j ą c p ię ć ra z y c y k l p r o je k t-im p le - m e n ta c ja - p r ó b n a e k s p lo a ta c ja . P o w s ta ły w ięc k o le jn o s y s te ­ m y S a m lłta lk -7 2 , -74, -76, -78 i o sta te c z n ie S m a llta lk -8 0 .

D e c y d u ją c y m i e ta p a m i w p o p u la r y z o w a n iu s y s te m u b y ły : d e c y z ja o p u b lik o w a n ia c y k lu a r ty k u łó w w czaso p iśm ie B Y T E [1] o ra z z le c e n ie jeg o im p le m e n ta c ji c z te re m firm o m : A p p le, H e w le tt- P a c k a rd , T e k tr o n ix (MC68000) i D EC (V AX - -11/780). A u to rs k ie im p le m e n ta c je b y ły z re a liz o w a n e na k o m p u te ra c h firm y X e ro x (D o rad o , D o lp h in (1100 S IP ) i A lto).

N ie w sz y stk ie p la n o w a n e re a liz a c je z a k o ń c z y ły się s u k ­ cesem ; n a jb a r d z ie j z n a n a je s t im p le m e n ta c ja n a k o m p u te r T e k tro n ix 440-1 o fe r o w a n a ja k o s ta n d a rd o w y sy s te m (A rti­

fic ia l In te llig e n c e S y stem ) n a m ik ro p ro c e s o rz e MC68010 z z e g a re m 10 MI-Iz. W y m a g a o n a 1 M B p a m ię c i o p e ra c y jn e j (ro z sz e rz a ln e j do 2 MB), d y s k u sta łe g o 20 MB, s ta c ji d y s ­ k ie te k 5 -c alo w y ch , m o n ito r a m o n o c h ro m a ty c z n e g o o ro z ­ d zielczości 640X480 p u n k tó w , k la w ia tu r y i m y szy . C e n a r a ­ zem ze s p r z ę te m ■— ok. 15 ty s. d o la ró w (1985 r.) — je s t w y so k a , choć z n a c z n ie n iższa od cen y w e r s ji a u to r s k io j na D o lp h in (60 ty s. d o laró w ).

W la ta c h 1983— 1984 a u to r z y s y s te m u o p u b lik o w a li se­

rię k sią ż e k [2, 3, 4], N ie ste ty , p o m im o ich o b ie tn ic , ta k p rz y g o to w a n a d o k u m e n ta c ja , choć o b sz e rn a , je s t n ie p e łn a j (o p isu je 30—50% s y s te m u ); z a w ie ra też b łę d y i sp rz e c z n e i in fo rm a c je .

J e d n o c z e ś n ie a u to r z y zaczęli ro z p o w sz e c h n ia ć (za w y so ­ k im i o p ła ta m i) lic e n c jo n o w a n ą ta ś m ę d y s try b u c y jn ą z sy s- te rn e m p rz y g o to w a n y m do im p le m e n ta c ji p rz e z a b s tr a k - ! c y jn ą m a s z y n ę sto so w ą . W w y n ik u w s p ó łp ra c y ze w s p o m - | n ia n y m i c z te re m a f irm a m i w y s ta r c z a ją c o d o b rz e p rz e te s to - f w a n o d o k u m e n ta c ję o ra z o p ro g ra m o w a n ie sy s te m u , u su - j w a ją c p o d s ta w o w e b łęd y .

S p rz e d a ż s y s te m u z b u d o w a n e g o n a p o d s ta w ie a u to r s k ie j i im p le m e n ta c ji w y m a g a d ro g ie j lic e n c ji z o ś ro d k a X e ro x j w P alo A lto , zaś s y s te m je s t o b ję ty e m b a rg ie m do k ra jó w E u ro p y W sch o d n iej.

Z b y t w y so k ie c e n y s y s te m u S m a llta lk -8 0 n a sp rz ę c ie p ro f e s jo n a ln y m w y w o ła ły p ró b y jeg o r e a liz a c ji n a m ik ro - ; k o m p u te ra c h (IBM P C /X T , IB M P C /A T , A p p le II). F i r m a , ; D ig ita lk o p ra c o w a ła d la IB M P C /X T o ra z A T n a jp ie r w ; sy s te m M eth o d s, a p o te m S m a llta lk /V [7], P ie r w s z y je st b a rd z o o g ra n ic z o n y w p o ró w n a n iu z o ry g in a łe m (bez g r a ­ fik i — z m o n ito r e m a lf a n u m e r y c z n y m i s y m u la c ją m y sz y ’ n a k la w ia tu rz e , o k ro jo n o też z n a c z n ie z e sta w k la s s y s te m o ­ w y ch ); cen a tego sy s te m u szy b k o s p a d a — z 250 d o la ró w (1985 r.) do 80 d o la ró w o b ecn ie . D ru g i (cen a ok. 100 d o la ­ rów ) — z a w ie ra d u ż ą część k la s g ra fic z n y c h , co p o z w a la dość d o b rz e z re a liz o w a ć in te r a k c y jn ą w s p ó łp r a c ę z u ż y tk o - w n ik ie m ; d o s tę p n a je s t ta k ż e ok. p o ło w a o r y g in a ln y c h k la s s y s te m o w y c h . S y s te m te n u z y s k a ł b a rd z o p o c h le b n e o p in ie u ż y tk o w n ik ó w . W y m a g a o n k o m p u te ra IB M P C /A T lu b X T z p a m ię c ią o p e ra c y jn ą co n a jm n ie j 512 K B , a d a p te r a | i m o n ito ra g ra fic z n e g o d u ż e j ro zd zielczo ści (np. H e rc u le s ), k la w ia tu r y , m y szy o ra z sta łe g o d y s k u 20 MB.

D la IB M P C /A T d o s tę p n a je s t ró w n ie ż p e łn a re a liz a c ja s y s te m u S m a llta lk -8 0 (firm y S o fts m a r ts , c e n a ok. 1000 d o - f laró w ).

O b e c n ie p r a c e n a d sy s te m e m S m a llta lk -8 0 z m ie rz a ją , z j je d n e j s tro n y , do u le p s z e n ia sam eg o ję z y k a (o p ra c o w a n ie I e fe k ty w n ie js z y c h a lg o ry tm ó w jeg o im p le m e n ta c ji, w p ro w n - i

I n f o r m a t y k a n r 3, 10S8

(7)

dzenie p o ję c ia ty p u ), a z d ru g ie j — do re a liz a c ji sp rz ę to ­ wej sy s te m u . O p ra c o w a n o d w a m ik ro p ro c e s o ry o a r c h ite k ­ turze w s p o m a g a ją c e j e fe k ty w n ą re a liz a c ję s y s te m u S m a ll­

talk-80 n a p o zio m ie k o d u p o śre d n ie g o m a s z y n y sto so w e j:

SO AR (ang. S m a llta lk O n A R IS C ) n a U n iw e rs y te c ie w B erkeley (U SA) w la ta c h 1983— 1985, o ra z SW O R D 32 n a U n iw e rsy te c ie T o k ijs k im (J a p o n ia ) w 1984 r. P ie rw s z y o sią ­ ga szy b k o ść in te r p r e ta c ji p o n a d 1 m in in s tr u k c ji ję z y k a p o ­ śred n ieg o n a s e k u n d ę , d ru g i — ok. 1,4 m in .

W E u ro p ie n ie są z n a n e ż a d n e o ś ro d k i p ro w a d z ą c e p r a ­ ce n a d sy s te m e m S m a llta lk -8 0 , choć w ie le u n iw e rs y te tó w z a in sta lo w a ło p e łn ą w e rs ję sy s te m u .

W P o lsce, w la ta c h 1983— 1984, p ro w a d z o n o p e w n e p ra c e w stęp n e (m .in. p ró b a re a liz a c ji s y s te m u n a k o m p u te rz e M era 400) w zesp o le d r. inż. Z. K u lp y w I n s ty tu c ie B iocy­

b e rn e ty k i i In ż y n ie rii B io m e d y c z n e j. N ie o sią g n ię to z a m ie ­ rzonego c e lu (m .in. z p o w o d u tr u d n o ś c i sp rz ę to w y c h ) i p r a ­ ce p rz e rw a n o .

Od 1985 r., w Z esp o le In ż y n ie rii O p ro g ra m o w a n ia In s ty ­ tu tu P o d s ta w I n f o r m a ty k i P A N , w r a m a c h b a d a ń n a d sy s­

tem am i p ro g r a m o w a n ia , są. p ro w a d z o n e p r a c e d o ty czą ce sy stem u S m a llta lk -8 0 — m .in . w 1986 r. o d b y ł się c y k l se m in a rió w b a d a w c z y c h n a te n te m a t (ich p o d su m o w a n ie w p o sta c i r a p o r tu [5] je s t p o d s ta w ą n in ie js z e g o a rty k u łu ).

PROGRAM OW ANIE OBIEKTOW E

P o ję c ie p ro g r a m o w a n ia o b ie k to w e g o n ie je s t do le j p o ry ściśle z d e fin io w a n e i w ła śc iw ie p o p u la rn o ś ć z y s k u je do­

piero te ra z , w r a z z ro z p o w s z e c h n ia n ie m się ję z y k a S m a ll­

talk-80.

P o d s ta w ą te j m e to d y p ro g r a m o w a n ia je s t p o ję c ie k la s y , k tó re j r e p r e z e n ta n ta m i (w c ie le n ia m i) są o b ie k ty ; w ty m z a k re sie je s t to z a p o ży czen ie z d o b rz e zn an e g o ję z y k a S im u la 67 [6],

Obiekt

O b ie k t m o ż n a u w a ż a ć za z e s ta w d a n y c h p lu s z e s ta w o p e ­ ra c ji; d a n e o b ie k tu są d o stę p n e p o za n im je d y n ie p o śre d n io

— p rz e z jeg o o p e ra c je . O b ie k t s p e łn ia w ięc p o d sta w o w e w a ru n k i a b s tra k c y jn e g o ty p u d a n y c h .

K o m u n ik a c ja m ię d z y o b ie k ta m i o d b y w a się w y łą c z n ie w len sposób, że do w sk a z a n e g o o b ie k tu w y sy ła się ż ą d a n ie w y k o n a n ia je d n e j z jeg o o p e r a c ji (być m ożej z a d a ją c p e w ­ ne a rg u m e n ty ). Ż ą d a n ie to z a p is u je się ja k o in s tr u k c ję w y sła n ia k o m u n ik a tu w s k a z u ją c o b ie k t — o d b io rc ę k o m u ­ n ik a tu o ra z k o m u n ik a t — o z n a c z e n ie o p e ra c ji (se le k to r) z z a d an y m i a r g u m e n ta m i. O b ie k t, w k tó r y m d o tą d d z ia ła n o , n azy w a się n a d a w c ą k o m u n ik a tu .

W y k o n a n ie in s tr u k c ji w y s ła n ia k o m u n ik a tu p o le g a n a o d n a le z ie n iu p a s u ją c e j do n ie g o o p e ra c ji (tj. o p e ra c ji o z n a ­ czonej s e le k to re m z a d a n y m w k o m u n ik a c ie ) i je j w y k o n a ­ niu; o b liczo n a w a rto ś ć je s t k o m u n ik o w a n a n a d a w c y i s ta ­ now i w y n ik w y s ła n ia k o m u n ik a tu .

S tą d w ła ś n ie b ie rz e się n a z w a program ow anie ob iek tow e;

o b iek t n ie je s t p rz e d m io te m o b lic z e ń (m a n ip u la c ji) d la j a ­ kiejś siły z e w n ę trz n e j w z g lę d e m n iego, lecz s a m w y z n a c z a p rzebieg p r z e tw a r z a n ia s ta ją c się p o d m io te m (ja k o o d b io r­

ca k o m u n ik a tu ) in te r p r e tu ją c y m k o m u n ik a ty . T e n s a m k o ­ m u n ik a t w y s ła n y do ró ż n y c h o b ie k tó w (od b io rcó w ) m oże m ieć ró ż n ą s e m a n ty k ę , n p. ż ą d a n ie d o d a n ia liczb y rz e c z y ­ w istej w y s ła n e do o d b io rc y — liczb y rz e c z y w is te j, o zn aczać będzie d o d a n ie liczb rz e c z y w is ty c h , n a to m ia s t w y s ła n e do ta b lic y m oże o z n a c z a ć d o d a n ie a r g u m e n tu do k ażd e g o ele­

m e n tu ta b lic y . W te n n a tu r a ln y sp o só b o s ią g a m y p rz e c ią ­ żenie (ang. o v e rlo a d in g ) w s z y s tk ic h o p e ra to ró w ję z y k a (se­

lek to ró w m etod).

Klasa

P r a k ty k a w sk a z u je , że w ie le o b ie k tó w ró żn i się od s ie ­ bie je d y n ie w ie lk o ś c ią lu b (i) w a rto ś c ią d a n y c h , n a to m ia s t p p e ra c je n a n ic h w y k o n y w a n e są ta k ie sa m e . D la te g o w y ­ godnie je s t m ieć p e w ie n w zo rz e c (opis) ta k p o d o b n y c h o- biektów . O p is le n n a z y w a m y k lasą o b ie k tó w (p o d o b n y ch ), k ażdy z n ic h — reprezen tan tem k la s y , (p o d )p ro g ra m y p o ­ szczególnych o p e ra c ji — m etodam i, zaś d a n e o p is u je m y jak o w a rto ś c i z m ie n n y c h r e p r e z e n ta ty w n y c h (być m oże, in d ek so w an y ch ).

I n f o r v i a t y k a n r 3, 1988

S a m a m e to d a p o tr z e b u je z w y k łe z m ie n n y c h p o m o cn iczy ch , k tó r e m a ją zn a c z e n ie ty lk o w je j p o d p ro g r a m ie — n a z y w a ­ m y je z m ie n n y m i ro b o czy m i m eto d y .

C z a sa m i p e w n e d a n e (np.- sta łe ) są d o s tę p n e w s z y stk im r e p r e z e n ta n to m d a n e j k la s y — o p is u je m y je za p o m o cą z m ie n n y c h k la so w y c h .

W szy stk ie m e to d y w d a n e j k la s ie tw o rz ą p ro to k ó ł k o ­ m u n ik a tó w , k tó r e r e p r e z e n ta n c i te j k la s y u m ie ją in t e r p r e ­ to w a ć ; m o ż n a w ię c n a z w a ć go s p rz ę ż e n ie m — s p e c y f ik a c ją z a c h o w a n ia się — r e p r e z e n ta n tó w te j k la sy .

P ro g r a m o w a n ie o b ie k to w e p o le g a n a tw o rz e n iu k la s , k tó r y c h m e to d y o p is u ją sp o só b in te r p r e to w a n ia k o m u n ik a ­ tó w w y s y ła n y c h do r e p r e z e n ta n tó w ty c h k las.

H ie ra r c h ia k la s

S a m e k la s y też m o g ą by ć do sie b ie p o d o b n e, w ty m s e n ­ sie, że część ich m e to d je s t ta k a s a m a , a część je s t ró ż n a . W ję z y k u S m a llta lk -8 0 d o p u szczo n o m o żliw o ść b u d o w a n ia n o w y c h k la s , w y c h o d z ą c od k la s y ju ż z b u d o w a n e j, w te n sposób, że m o żliw e je s t d o d a w a n ie do n ie j n o w y c h m e to d lu b m o d y fik o w a n ie ju ż d o s tę p n y c h . M ów i się w ó w czas, że n o w e k la s y są p o d k la s a m i d a n e j k la s y (ją s a m ą n a z y w a ­ m y ich n a d k la s ą ), m e to d y n ie z m ie n io n e n a z y w a m y d z ie ­ dziczo n y m i, a z m o d y fik o w a n e — p rz e d e f in io w a n y m i (z m ie n ­ n e re p r e z e n ta ty w n e n a d k la s y są d zied z iczo n e w całości, ta k że w p o d k la s a c h m o ż n a je d y n ie d o d a w a ć now e). P o w s ta je w le n sp o só b d rz e w ia s ta h ie r a r c h ia k la s , k tó r ą m o ż n a in ­ te r p re to w a ć d w o ja k o : p a tr z ą c z g ó ry w dół — p o d k la s y d a ­ n e j k la s y s ta n o w ią je j s p e c ja liz a c ję do k o n k re tn y c h celó w , zaś z d o łu do g ó ry — n a d k la s a je s t u o g ó ln ie n ie m (a b s tr a k ­ cją ) sw o ich p o d k la s.

A b y o b ra z b y ł p e łn y n a le ż y jesz c z e d o d ać, że w ję z y k u S m a llta lk -8 0 p o ję c ie o b ie k tu u czy n io n o to ta ln y m — k a ż d y e le m e n t ję z y k a je s t o b ie k te m , w szczeg ó ln o ści ró w n ie ż s a ­ m a k la s a . K la sę , k tó r e j r e p r e z e n ta n t je s t k la s ą , n a z y w a m y je j m e ta k la s ą . M eto d y m e ta k la s y (np. p o w o ły w a n ie i in ic jo ­ w a n ie r e p r e z e n ta n tó w k la s y ) n a z y w a m y m e to d a m i k la s o ­ w y m i — w o d ró ż n ie n iu od d o ty c h c z a s o p is y w a n y c h , k tó r e n a z y w a m y m e to d a m i re p r e z e n ta ty w n y m i.

O sta te c z n ie m o ż n a w ię c p o w ied zie ć, że p ro g r a m o w a n ie o b ie k to w e p o le g a n a tw o rz e n iu k la s p o w ią z a n y c h w h ie ­ r a r c h ię za p o m o cą m e c h a n iz m u d zie d z ic z e n ia i sp e c ja liz o ­ w a n ia ; e le m e n ta r n y m i je d n o s tk a m i teg o p ro c e s u są m e to d y , k tó r e p rz e z sw o je in s tr u k c je o p is u ją p ro c e s o b liczen io w y , p o le g a ją c y z a sa d n ic z o n a w y s y ła n iu k o m u n ik a tó w do o b ie k ­ tów .

SM A LLTALK JAKO JĘZY K K O DO W AN IA METOD W ty m p u n k c ie d o k o n a n o p rz e g lą d u p o d s ta w o w y c h w y ­ ra ż e ń ję z y k a p o d z ie lo n y c h n a sta łe , z m ie n n e i k o m u n ik a ty . S tale

S ta le słu ż ą o z n a c z a n iu r e p r e z e n ta n tó w p e w n y c h w y ró ż ­ n io n y c h , n a jc z ę ś c ie j sp o ty k a n y c h , k la s ; są to liczb y ( r e p r e ­ z e n ta n c i k la s F lo a t, F ra c tio n , In te g e r), z n a k i (C h a ra c te r), n a p is y (S trin g ), sy m b o le (S ym bol) o ra z ta b lic e (A rray ).

S k ła d n ia s ta ły c h je d n o z n a c z n ie o k re ś la k la s ę , k tó r e j r e ­ p r e z e n ta n ta o n e o z n a c z a ją .

D o d a tk o w o tr z y s ta łe są o z n aczo n e id e n ty fik a to ra m i za­

s trz e ż o n y m i; oto o n e:

nil — o z n acza (jed y n eg o ) r e p r e z e n ta n ta k la s y U n d e fin e d O b je c t; słu ż y do in ic jo w a n ia z m ie n n y c h w w y p a d k u , g d y w p ro g r a m ie n ie są im n a d a n e w a rto ś c i;

fa lse — ozn acza re p r e z e n ta n ta k la s y B o o lean r e p r e z e n tu j ą ­ cego w a rto ś ć lo g ic z n ą „ fa łsz ” ;

truc — o zn acza re p r e z e n ta n ta k la s y B o o lean r e p r e z e n tu ją ­ cego w a rto ś ć lo g iczn ą „ p r a w d a ”.

O b ie k ty o z n aczo n e s ta ły m i są p rz e c h o w y w a n e w s y s te ­ m ie lu b tw o rz y się je n a e ta p ie tr a n s la c ji (często są o n e k o d o w a n e n ieco in a c z e j — o sz częd n iej — n iż r e p r e z e n ta n ­ ci p o z o sta ły c h k las).

W sz y stk ie lic z b y są o b ie k ta m i k la s y N u m b e r i z a p is u je się je p o d o b n ie ja k w tr a d y c y jn y c h ję z y k a c h p ro g r a m o ­ w a n ia (z k ro p k ą d z ie s ię tn ą i c z y n n ik ie m s k a lu ją c y m p o ­ p rz e d z o n y m lite r ą e). S a m a p o sta ć z a p is u lic z b y p re c y z u je je j p o d k ła s ę .—r F lo a t, F r a c tio n lu b In te g e r.

5

Cytaty

Powiązane dokumenty

Przy korzystaniu'z sieci Transnet zaobserwowano bardzo wysoki stopień wykorzystania czasu procesora składnicy plików (od 50 do 65%). Oznacza to, że nadzór karty

C-Sliell (nazwa oznaczająca podobieństwo składni do języka C) i Bourne Shell (od nazwiska autora). Obie mogą być używane jako interakcyjne interpretery poleceń

W sieciach tych stosuje się najróżniejsze metody dostępu do łącza, ale najczęściej jest realizowany dostęp rywalizacyjny CSMA/CD oraz dostęp z przekazywaniem

row ania m ożna dziś oceniać jedynie na podstaw ie czasu deszyfracji. Jednak obecnie niebezpieczeństwo przechwycenia inform acji jest duże, poniew aż stosuje się

Sytuacja, w której funkcji stanu specyfikacji nie można wyrazić w zależności od funkcji stanu realizacji, jest nietypowa. Podobnie jak dobry program nie oblicza

Od tej ch w ili inform acja może być w yp ro ­ wadzana z rejestru szeregowo, niezależnie od pracy pamięci w trybie równoległego dostępu (z dużą częstotliwością rzędu 25

conej prenumeraty na drugie półrocze br.. Na pierw szym , najniższym poziomie, pow inny się znajdow ać procedury bezpośrednio d ziałające na zbiorze danych,

czenia zaw artości pól danych n a podstaw ie innych pól.. m em ory variables).. funkcjonow aniu sieci UM M LAN-2.. czyli każdy alg o ry tm rozw iązyw ania tego drugiego