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
11
0
11
1
0W 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 00
1
1 0 1 1 01
0
1 0 0 1 01
1
0 1 0 0 1W 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 ’99 — 21-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