• Nie Znaleziono Wyników

Tab.4. Algorytm SLA w wersji sekwencyjnej

Bcgin

Wybierz liczbę etapów m\

Określ liczebność populacji pierwotnej J\

For each etap i = do określ kryterium selekcji SC/;

zaprojektuj procedurę uczeńia-poprawy ¿ / ; EndFor

wygeneruj populację pierwotną osobników J ; For i = I to m do

For each osobnik w J do

Zastosuj procedurę uczenia-poprawy ¿/;

Oblicz wskaźnik jakości;

EndFor

Usuń z J osobniki, których wskaźnik jakości nie spełnia kryterium selekcji SC/;

EndFor End

7. Programowanie genetyczne

Program ow anie genetyczne je s t przypad­

kiem szczególnym obliczeń ew olucyjnych, w' którym każde rozw iązanie je s t program em kom puterow ym . Ideę program ow ania genety­

cznego przedstaw iono na przykładzie zaczer­

pniętym z pracy [M unakata 1998]. Poszukiw a­

ny je st sposób zapisu funkcji logicznej XOR przy użyciu trzech operatorów logicznych OR, A N D oraz N O T. OR, A N D i XOR są operatoram i dw uargum entow ym i zaś N O T je st operatorem jednoargum entow ym . W rozw aża­

nym przykładzie operatory dw uargum entow e s ą traktow ane ja k o operatory przedrostkow e.

Tak więc używ ana je st notacja (A N D P Q) zam iast (P AND Q). P oraz Q są tutaj zm iennym i logicznym i, a w ięc m og ą przyjm ow ać je d n ą z dw óch w artości - 0 (fałsz) lub 1 (praw da).

R ozw iązaniem rozpatryw anego problem u je st w yrażenie logiczne zbudow ane z argu­

m entów logicznych oraz operatorów OR, AND i NO T. C hociaż poszukiw ana funkcja nie je s t typow ym program em to łatw o sobie w yobrazić poszerzenie użytej notacji o typow e instrukcje typu przyporządkow anie, pętla czy skoki w arunkow e. M anipulow anie tym i obie­

ktam i jest m ożliw e przy użyciu dow olnego ję z y k a program ow ania, choć najw ygodniejsze są języ k i sym boliczne takie ja k LISP lub PROLOG.

Poniew aż XOR je s t fu n kcją dw uargum en- tow ą, w rozw ażanym przykładzie poszukiw a­

ne je s t rozw iązanie zbudow ane z operatorów OR, AND, N O T oraz dw óch argum entów P i Q. W tablicy 5 przedstaw iono działanie funkcji X O R dla m ożliw ych w artości je j argum entów :

PO LSK IE T O W A R Z Y ST W O IN F O R M A T Y C Z N E — O D D Z IA Ł G Ó R N O Ś L Ą S K I

6 0 P io tr J ęd rzejo w icz — R o zw iązyw an ie p roblc/n ów za p o m o c ą algorytm ów opartych n a ew o lu cji p o p u la c ji

Tab. 5. Funkcja XOR.

p Q (X O R P Q)

0 o 0

0

1

1

1

0

1

1

1

0

W program ow aniu genetycznym , podobnie ja k w przypadku algorytm ów genetycznych, generow ana je s t losowo populacja pierw otna rozw iązań zbudow anych z dozw olonych operatorów i argum entów . Dla każdego rozw iązania obliczyć m ożna w skaźnik jako ści.

R ozw iązania m o g ą być krzyżow ane i m ożna je poddaw ać m utacji. Jeśli, przykładow o, w trakcie obliczeń ew olucyjnych otrzym ano dw a osobniki:

O , : ( A N D ( O R / > 0 | (A N D P O ) )

0 2: (A N D (O R (N O T P ) Q ) | (N O T (A N D P O )))

oraz jeśli sym bol | oznacza punkt krzyżow ania, to w w yniku operacji krzyżow ania otrzym uje się dwa kolejne osobniki:

0 3: (A N D (O R P Q ) | (N O T (A N D P Q ))) 0 4: (A N D (O R (N O T P ) O ) | (A N D P Q ))

Każde rozw iązanie m ożna tu interpretow ać jak o drzew o. K ażdy argum ent lub argum ent złożony (poddrzew o) je st w ęzłem drzewa.

Punkt krzyżow ania je st w ybierany losowo i niezależnie dla każdego rozw iązania.

Punktem tym m oże być jed n ak tylko korzeń każdego z poddrzew tw orzących drzew o rozw iązania.

W skaźnik jak o ści dla rozw iązania je s t zd e­

finiow any ja k o liczba kom binacji P oraz Q, które spełniają w arunek sform ułow any w definicji XOR. R ozw iązanie z w skaźnikiem jak o ści 4 będzie rozw iązaniem optym alnym . W skaźniki jak o ści dla przykładow ych rozw ią­

zań podano w tablicy 6.

T a b . 6. W sk a ź n ik i ja k o ś c i p r z y k ła d o w y c h ro z w ią z a ń .

P Q (X O R P Q ) O l 0 2 0 3 O4

0

0

0 0 1 0 0

0

1

1 0 1 1 0

1

0

1 0 0 1 0

1

1

0 1 0 0 1

W J - 1 2 4 1

W tablicy 6 osobnik 0 $ reprezentuje roz­

w iązanie optym alne. Poniew aż istnieje w iele w yrażeń logicznych spełniających (X O R P Q) m ożna by zm odyfikow ać sposób obliczania w skaźnika jak o ści tak aby w yelim inow ać rozw iązania długie z nadm iarow ym i w yrażeniam i. P rzykładow o, do poprzednio używ anego w skaźnika m ożna dodaw ać w yrażenie: 3 - 0 . 1 * (liczba operatorów ).

M utacja w rozpatryw anym przykładzie m oże

polegać na negacji argum entu lub złożonego argum entu.

R ozszerzając repertuar w yrażeń o typow e instrukcje ję z y k ó w program ow ania w form acie operatorów przedrostkow ych um ożliw i generow anie program ów konw en­

cjonalnych. Przykładow o, przyporządkow anie

"a- := a*b + c" m ożna zapisać ja k o (:=

*(+(* cib)c)), zaś instrukcję " if x > 0, y = 1"

P O L S K IE T O W A R Z Y S T W O IN F O R M A T Y C Z N E — O D D Z IA Ł G Ó R N O Ś L Ą SK I

Jedenasta G órska Szkoła P T IS z c z y r k ’9921-25 czerwca 1999 61

ja k o (if (> *0)(= jyl). I te w yrażenia m ożna interpretow ać ja k o drzew a i krzyżow ać w punktach, które są w ierzchołkam i pod- drzew . W skaźniki jak o ści b ędą odzw ierciedlać odpow iednie cele zw iązane z k onstrukcją program u.

8. Zakończenie

W sensie najbardziej ogólnym obliczenia ew olucyjne s ą techniką, w której do dobrze znanej m etody poszukiw ania losow ego dołą­

czono funkcję inteligentnego sterow ania pro­

cesem poszukiw ań. W ten sposób działania losowe są, w określonym stopniu, koordyno­

w ane tak aby w sposób efektyw ny otrzym ać rozw iązanie problem u. O bliczenia ew olucyjne byw ają zagrożone dw om a czynnikam i: tru­

dnym do oszacow ania z góry i być m oże długim czasem poszukiw ania rozw iązania oraz niebezpieczeństw em zatrzym ania się w pobli­

żu jak ieg o ś optim um lokalnego. W ogólności, algorytm y oparte na ew olucji populacji nie gw arantują uzyskania rozw iązań optym alnych.

M ożna w ięc zadać pytanie dlaczego zaw racać

sobie głow ę obliczeniam i ew olucyjnym i za­

m iast skoncentrow ać się na klasycznych m etodach optym alizacji ja k np. technika m nożników Lagrange'a, program ow anie dyna­

m iczne czy też m etody analizy m atem atycznej?

O dpow iedź na pow yższe pytanie jest prosta. P raktyka dostarcza przykładów wielu problem ów tak trudnych, że m etody klasyczne o kazują się nieprzydatne lub zbyt czaso­

chłonne natom iast obliczenia ew olucyjne o kazują się przydatne do rozw iązyw ania niektórych spośród takich trudnych problem ów .

O becnie sądzi się, że przyszłość, jeśli chodzi o rozw iązyw anie trudnych problem ów optym alizacyjnych, problem ów uczenia się m aszynow ego, kopalnictw a danych, grom a­

dzenia i przetw arzania w iedzy leży w po­

dejściu hybrydow ym , którego ważnym elem entem będą obliczenia ew olucyjne w ykorzystujące algorytm y oparte na ew olucji populacji rozw iązań.

PO L S K IE T O W A R Z Y ST W O IN F O R M A T Y C Z N E — O D D Z IA Ł G Ó R N O Ś L Ą SK I

6 2 r t o i r J ędrzejow icz — R ozw iązyw an ie p ro b le m ó w za p o m o c ą algorytm ów opartych na ew olu cji p o p u la c ji

Literatura

Cohoon, J., S.Hedge, W.Martin, D.Richards:

P u n c tu a te d e q u ilib r ia : A p a r a lle l g e n e tic a lg o rith m ,

Proc. Second International Conference on Genetic Algorithms, MIT, Cambridge, MA, 1987, s. 148 - 154.

Dorigo, M., V.Maniezzo, A.Colorni:

T he a n t s y s te m : O p tim iz a tio n b y a c o lo n y o f c o o p e r a tin g a g en ts,

IEEE Transactions on Systems, Men, and Cybernetics, vol. 26 nr. 1, 1996, s. 2 9 -4 1 . Fleurent, C., J.A.Ferland:

G e n e tic a n d H y b r id A lg o r ith m s f o r G r a p h C o lo rin g ,

In:

"Metaheuristics in Combinatorial Optimization, G.Laporte, I.H.Osman (red.), Annals of Operations Research 63, Baltzer Science Publishers, 1996, s. 437 - 461.

Fogel, L.J., A.J.Owens, M.J. Walsh:

A r tific ia l In te llig e n c e th r o u g h S im u la te d E vo lu tio n ,

J.Wiley, New York, 1966.

Goldberg, D.E.:

G e n e tic A lg o r ith m s in S e a rc h , O p tim iz a tio n , a n d M a c h in e L ea rn in g ,