background image

 

 

ALGORYTMY EWOLUCYJNE 

 
Przetwarzanie ewolucyjne za pomocą algorytmów genetycznych (GA) [1, 11, 19, 20, 21 22, 
24, 74, 92, 97, 100] stanowi najbardziej znaną metodę optymalizacji stochastycznej. Jedną z 
cech  charakterystycznych  algorytmów  genetycznych  jest  prowadzenie  poszukiwań  w  wielu 
punktach. W procesie przetwarzania ewolucyjnego parametry zadania optymalizacji posiadają 
postać  zakodowaną,  a  do  wyboru  i  tworzenia  nowych  rozwiązań  stosuje  się  reguły 
ewolucyjno-probabilistyczne.  Skuteczność  metod  ewolucyjnej  optymalizacji  związana  jest  z 
wykorzystywaniem  łatwo  obliczalnych  wartości  funkcji  celu.  Metody  te  wolne  są  od 
ograniczeń nakładanych  na przestrzeń poszukiwań (np. ciągłość), istnienie pochodnych oraz 
unimodalność funkcji celu itp. Wynikająca z tego uniwersalność i prostota implementacyjna 
stanowią podstawę użyteczności algorytmów ewolucyjnych. 

4.1.

  Podstawowe pojęcia 

Przy  charakteryzowaniu  algorytmów  genetycznych  stosuje  się  słownictwo  zapożyczone  z 
genetyki  [2].  Poszukiwane  w  postaci  zbioru  parametrów  rozwiązanie  zadania 
wielowymiarowej  optymalizacji  nazywane  jest  osobnikiem.  Algorytmy  genetyczne  operują 
na  zbiorze  osobników  zwanym  populacją.  Każdy  osobnik  posiada  strukturę,  którą  opisuje 
(omówiony  dalej)  genotyp  zawierający  stałą  liczbę  chromosomów.  Odpowiednio 
zakodowana  informacja  genetyczna  zawarta  w  chromosomach  wykorzystywana  jest  przez 
procedury  (ewolucyjne)  realizowane  w  algorytmach  genetycznych.  Ponadto  każdy  osobnik 
posiada  fenotyp,  będący  wynikiem  procesu  dekodowania  genotypu 

−  w  celu  wyznaczania 

stopnia  przystosowania  osobnika  do  środowiska  reprezentowanego  zadaną  wektorową 
funkcją  celu.  W  algorytmach  genetycznych  osobniki  zwykle  posiadają  genotyp  złożony  z 
jednego lub dwóch chromosomów. Osobnika, który posiada parę chromosomów, nazywa się 
osobnikiem  diploidalnym,  zaś  osobnik  z  pojedynczym  chromosomem  nazywa  się 
osobnikiem  haploidalnym.  Ten  ostatni  osobnik  utożsamiany  jest  zatem  z  chromosomem. 
Ogólną strukturę populacji złożonej z N osobników n-ploidalnych przedstawiono na rys. 4.1. 
 
 

background image

18 

4. Algorytmy ewolucyjne 

 

 

Rys. 4.1. 

Ogólny model populacji osobników podlegających ewolucyjnej optymalizacji. 

 
 

 

 

Rys. 4.2. 

Model chromosomu stosowanego w algorytmach genetycznych. 

 

W  chromosomie  parametry  zadania  optymalizacji  reprezentowane  są  jako  sekwencja 

genów,  będących  wielkościami  (symbolami)  opisującymi  w  sposób  zakodowany  określony 
parametr.  Budowę  takiego  chromosomu  przedstawia  schematycznie  rys.  4.2,  gdzie  gen  jest 
zdefiniowany jako podstawowy element chromosomu posiadający określoną pozycję (locus
w  sekwencji  chromosomu  oraz  przybierający  określone  wartości,  nazywane  odmianami  lub 
allelami (symbolizowanymi różnymi kolorami wypełniającymi kwadraty). 

W  algorytmie  genetycznym  dana  populacja  osobników  podlega  symulowanej  ewolucji. 

Oznacza  to,  że  w  każdej  iteracji  algorytmu  „dobre”  rozwiązania  reprodukują  się  (przenoszą 

background image

 

19 

 
swój  materiał  genetyczny  do  nowego  pokolenia),  a  „złe”  nie  (wymierają).  Nowa  populacja, 
uzyskiwana  po  każdej  iteracji  GA  nazywana  jest  pokoleniem.  Ocena  przydatności 
poszczególnych  osobników,  obliczana  według  funkcji  kryterialnej,  nazywana  jest  stopniem 
przystosowania
.  Do  określenia  argumentów  funkcji  kryterialnej  służy  fenotyp,  stanowiący 
zdekodowaną postać parametrów zadania optymalizacji. 

Realizacja  procedur  ewolucji  w  algorytmach  genetycznych  opiera  się  na  doborze  do 

każdorazowej  reprodukcji  osobników  według  stopnia  przystosowania  (jako  potencjalnie 
ostateczne rozwiązania zadania optymalizacji). Wyselekcjonowana grupa osobników zwana 
pulą  rodzicielską  (rodzicami)  uzyskuje  szansę  udziału  w  generowaniu  nowych  osobników 
zwanych  potomkami  poprzez  zastosowanie  operacji  genetycznych.  Do  podstawowych 
operacji genetycznych zalicza się krzyżowanie i mutację. Potomkowie powstający w wyniku 
tych operacji w danym cyklu tworzą nowe pokolenie. W ten sposób realizowany ewolucyjny 
cykl  algorytmu  genetycznego  powtarzany  jest  do  chwili,  kiedy  spełnione  zostaje  ustalone 
kryterium  zakończenia  poszukiwań.  Takim  kryterium  może  być  osiągnięcie  odpowiedniej 
liczby  wygenerowanych  pokoleń.  Kodowanie  parametrów,  ocena  stopnia  przystosowania, 
selekcja osobników oraz operacje genetyczne zostaną omówione w dalszej części niniejszego 
rozdziału. 

4.1.1.

 

Genotyp, fenotyp oraz przystosowanie osobnika 

Załóżmy,  że  przeciwdziedziny  poszczególnych  współrzędnych  wektora  kryterialnego  (2.2) 
określone są na zbiorze liczb rzeczywistych dodatnich 

+

 

 

0

)

(

x

x

j

f

n

 

(4.1) 

 
W  algorytmach  genetycznych  funkcję  celu 

)

x

j

f

  o  takiej  własności  nazywa  się  funkcją 

przystosowania  (ang.  fitness  function)  [1,  19,  74,  88]  lub  stopniem  przystosowania
Natomiast  wektor  kryteriów  nazywany  jest  wektorową  funkcją  przystosowania  lub 
wektorem stopnia przystosowania

Przyjmijmy, że osobniki haploidalne określone są wektorami o postaci 

 

[

]

=

=

n

N

i

v

v

v

i

i

i

n

i

,

,

,

2

,

1

,

T

2

1

v

 

(4.2) 

 
których  współrzędne  (będące  odcinkami  chromosomu) 

i

k

v

 

)

,

,

2

,

1

(

n

k

=

  kodują  wartości 

poszczególnych  współrzędnych 

k

x

  poszukiwanego  wektora  parametrów  (2.1)  zadania 

maksymalizacji  (2.1)

−(2.3),  natomiast  N  oznacza  liczbę  osobników  haploidalnych 

(chromosomów) w populacji  reprezentowanej macierzą 
 

[

]

N

v

v

v

V

2

1

=

 

(4.3) 

 
Natomiast  osobniki  diploidalne,  z  parą  chromosomów  będą  oznaczane  jako  macierz 
dwukolumnowa 
 

[

]

N

i

i

i

di

,

,

2

,

1

,

T

2

1

=

=

v

v

v

 

(4.4) 

 
której kolumny oznaczają poszczególne chromosomy 
 

[

]

N

i

i

i

di

,

,

2

,

1

,

T

2

1

=

=

v

v

v

 

(4.5) 

background image

20 

4. Algorytmy ewolucyjne 

[

]

N

i

i

i

di

,

,

2

,

1

,

T

2

1

=

=

v

v

v

 

(4.6) 

 
zaś N oznacza liczbę osobników w populacji diploidalnej 
 

[

]

dN

d

d

d

v

v

v

V

2

1

=

 

(4.7) 

 
Niech  fenotyp  osobnika 

i

  haploidalnego  lub 

di

  diploidalnego,  będący  zdekodowaną 

postacią jego genotypu, ma następującą postać: 
 

[

]

n

n

i

i

i

i

x

x

x

=

T

2

1

x

 

(4.8) 

 
Wówczas  wektorowy  stopień  przystosowania  osobnika  haploidalnego 

i

  lub  diploidalnego 

di

 oznaczany jest następująco: 

 

m

i

)

x

f

 

(4.9) 

 

4.2.

  Kodowanie i dekodowanie parametrów 

Do  reprezentacji  poszukiwanych  parametrów  zadania  maksymalizacji  w  algorytmach 
genetycznych najczęściej używa się kodu [19]: 
 

•  biallelicznego (binarnego) lub 
•  triallelicznego

 

4.2.1.

 

Kod bialleliczny 

Najwygodniejszym  i  najpowszechniej  stosowanym  sposobem  kodowania  osobników 
haploidalnych w algorytmach genetycznych jest kod bialleliczny (binarny), w którym odcinki 
(współrzędne 

i

k

v

) chromosomu osobnika 

i

 są skończonymi sekwencjami genów o allelach z 

dwuelementowego zbioru liczb 

}

1

,

0

{

. W czterowymiarowej przestrzeni o elementach 

 

[

]

4

T

4

3

2

1

=

i

i

i

i

x

x

x

x

i

x

 

(4.10) 

 
chromosom może przybierać na przykład postać 
 

[

]

T

10111

00011011

0100111

0100111101

=

i

v

 

(4.11) 

 
Jak  widać  sekwencje  kodowe 

i

k

v

  danego  parametru 

i

k

x

  mogą  mieć  różną  długość,  która 

zależeć  może  od  rodzaju  zadania  maksymalizacji  oraz  od  wymaganej  dokładności  obliczeń. 
Chromosom (4.11) składa się sekwencji binarnych, z których każdy ma długość odpowiednio 
10, 7, 8 i 5 bitów (genów), zatem długość chromosomu wynosi 30 bitów (genów). 
 

background image

 

21 

 

4.2.2.

 

Kod trialleliczny 

Kod  trialleliczny  zwykle  stosowany  jest  dla  osobników  diploidalnych,  tzn.  z  genotypem 
złożonym  z  pary  chromosomów.  Przy  takim  kodzie  odcinki  chromosomu  są  sekwencją 
genów,  których  allele  należą  do  trójelementowego  zbioru  liczb 

}

1

,

0

,

1

{

.  Przykładowo 

osobnik diploidalny dla pewnej trójwymiarowej przestrzeni poszukiwań może mieć postać 
 

T

T

2

1

1

1

0

1

0

1

1

1

0

1

0

1

1

0

1

0

1

1

=

=

d

d

di

v

v

v

 

(4.12) 

 
Sekwencje  trialleliczne  poszczególnych  odcinków  (współrzędnych)  pary  chromosomów 
osobnika  (4.12)  składają  się  odpowiednio  z  3,  4  i  2  genów,  zaś  długość  każdego  z 
chromosomów wynosi 9 genów. 

4.2.3.

 

Dekodowanie parametrów 

W  procesie  dekodowania  informacji  genetycznej  zawartej  w  chromosomie  kodowanym 
binarnie  na  odpowiedni  fenotyp,  czyli  wektor  parametrów,  należący  do  rzeczywistej 
dziedziny  zadania  optymalizacji  stosuje  się  proste  odwzorowanie  liniowe  następującej 
postaci: 
 

N

i

n

k

v

x

x

x

x

k

ij

k

i

m

j

j

k

m

k

k

k

k

,

,

2

,

1

,

,

,

2

,

1

,

2

1

2

0

=

=

+

=

=

 

(4.13) 

 
gdzie 

i

k

x

  jest  -tą  współrzędną  wektora  parametrów  (2.1)  -tego  osobnika  haploidalnego, 

przedział 

[

]

k

k

x

x

,

  stanowi  dziedzinę  współrzędnych 

i

k

x

,  zaś 

k

m

oznacza  długość 

sekwencji 

i

k

v

 kodującej tę współrzędną. 

W  przypadku  kodu  triallelicznego  chromosomów  osobnika  diploidalnego,  proces 

dekodowania  składa  się  z  dwóch  etapów.  W  pierwszym  etapie  stosuje  się  mechanizm 
dominacji genetycznej [19] pozwalający na jednoznaczne określenie, który z genów z danej 
pary  chromosomów  będzie  miał  wpływ  na  fenotyp  osobnika.  Dominacja  genetyczna  polega 
na  porównywaniu  kolejno  genów,  które  zajmują  tą  samą  pozycję  w  obu  chromosomach 
osobnika  diploidalnego,  a  następnie  wybraniu  tego  genu,  który  jest  dominujący  genetyczne. 
Wybór  taki  dokonywany  jest  na  podstawie  następującego  schematu:  1  dominuje  nad  0,  1 
dominuje nad –1 oraz 0 dominuje nad –1, co przedstawia rys. 4.3 [19]. 
 

 

 
Rys. 4.3. 

Schemat  dominacji  genetycznej  w  diploidalnym  chromosomie  kodowanym 
triallelicznie. 

 
 
Przykładowo dla osobnika diploidalnego (4.12) uzyskamy chromosom o postaci 

[

]

T

'

1

0

1

1

0

1

1

1

0

=

di

v

 

(4.14) 

background image

22 

4. Algorytmy ewolucyjne 

 
W  drugim  etapie  dekodowania  stosuje  się  odwzorowanie  liniowe  (4.13)  nieco 
zmodyfikowane 
 

N

i

n

k

v

x

x

x

x

k

ij

k

i

m

j

j

k

m

k

k

k

k

,

,

2

,

1

,

,

,

2

,

1

,

2

1

2

0

=

=

+

=

=

 

(4.15) 

 

Obecnie  coraz  częściej  stosuje  się  multialleliczną  (zmiennopozycyjną)  reprezentację 

parametrów  [74],  która  stanowi  naturalny  sposób  kodowania  parametrów  należących  do 
dziedziny  określonej  w  zbiorze  liczb  rzeczywistych.  W  takim  przypadku  nie  ma  potrzeby 
odrębnego kodowania poszukiwanych parametrów, ponieważ genotyp optymalizowanego  -
tego  osobnika  składa  się  z  pojedynczego  chromosomu  (

i

),  który  może  być  utożsamiany  z 

jego fenotypem 

i

 

 

n

i

i

x

v

 

(4.16) 

 

4.3.

  Ocena stopnia przystosowania 

Funkcja  celu  jest  głównym  źródłem  oceny  stopnia  przystosowania  każdego  osobnika.  W 
algorytmach  genetycznych  wymagane  jest,  aby  funkcja  celu  była  funkcją  przystosowania 

)

x

f

  z  przeciwdziedziną  określoną  w  zbiorze  liczb  rzeczywistych  dodatnich.  W  wielu 

zadaniach  optymalizacji  mamy  do  czynienia  z  funkcjami  celu,  które  tego  warunku  nie 
spełniają. Wówczas stosuje się, na przykład, następujące przekształcenia [1, 19, 74, 88]: 
 

•  dla  funkcji  kosztu 

)

x

u

,  gdy  jej  przeciwdziedzina  jest  określona  w  zbiorze  liczb 

rzeczywistych dodatnich i ujemnych 

 

)

(

)

(

max

x

x

u

C

f

=

 

(4.17) 

 

gdzie  współczynnik 

max

C

  jest  nie  mniejszy  niż  maksymalna  wartość  funkcji 

)

x

u

 

uzyskana na zbiorze osobników w aktualnej populacji 

 

•  dla  funkcji  zysku 

)

x

g

,  gdy  jej  przeciwdziedzina  jest  określona  w  zbiorze  liczb 

rzeczywistych dodatnich i ujemnych 

 

min

)

(

)

(

C

g

f

=

x

x

 

(4.18) 

 

gdzie  współczynnik 

min

C

  jest  nie  większy  niż  minimalna  wartość  funkcji 

)

x

g

  w 

aktualnej populacji. 

4.4.

  Selekcja osobników 

W  selekcji  osobników  naśladuje  się  mechanizm  przeżycia  w  naturze.  Wobec  tego 
oczekujemy, że osobnik o najwyższym stopniu przystosowaniu uzyska liczne potomstwo, tj. 
pomnoży  swój  materiał  genetyczny  i  podniesie  w  ten  sposób  prawdopodobieństwo  swojego 
przeniknięcia  („przeżycia”)  do  następnego  pokolenia.  Natomiast  osobniki  o  najniższym 

background image

 

23 

 
stopniu  przystosowania  powinny  być  eliminowane  z  opisywanego  procesu  prokreacji.  Do 
najczęściej stosowanych metod selekcji [1, 19, 88] należą: 
 

•  metoda proporcjonalna 
•  metoda ze stochastycznym doborem resztowym oraz 
•  metoda turniejowa
 

4.4.1.

 

Metoda proporcjonalna 

Metoda proporcjonalna [1, 19, 74, 88], polega na skonstruowaniu tzw. ruletki, której sektory 
kątowe są proporcjonalne do wartości funkcji przystosowania osobników. Wybór osobników 
do puli rodzicielskiej polega na  N

−krotnym (  − założona liczba osobników w populacji) 

ustaleniu  pozycji  zakręcanego  koła  ruletki.  Lepiej  przystosowane  osobniki  mają 
proporcjonalnie większe sektory kątowe na tarczy ruletki, zatem mają również większą szansę 
na wprowadzenie większej liczby potomków do następnego pokolenia populacji. 

Poniżej zamieszczono procedurę selekcji metodą proporcjonalną. 

 
Proc. 4.1.  Metoda proporcjonalna. 

1.  wyznacz  prawdopodobieństwa  wyboru  osobników  z  populacji  w  postaci  względnego 

przystosowania 

 

N

i

f

f

p

N

i

i

i

i

s

,

,

2

,

1

,

)

(

)

(

)

(

1

=

=

=

x

x

x

 

(4.19) 

 
2.  wyznacz dystrybuantę dla ustalonej sekwencji osobników 
 

=

=

i

j

j

s

i

p

q

1

)

(

)

(

x

x

 

(4.20) 

 
3. 

N

-krotnie ‘zakręć kołem ruletki’ poprzez 

N

-krotne: 

•  wygenerowanie losowej liczby 

[ ]

1

,

0

r

 

•  ustalenie  pierwszego  napotkanego  osobnika  w  populacji,  dla  którego 

spełniony jest warunek 

 

)

(

i

q

r

x

 

(4.21) 

 
•  skopiowanie wylosowanego osobnika do puli rodzicielskiej 

 
Przykł. 4.1.  Selekcja metodą proporcjonalną

Niech dana jest funkcja przystosowania 
 

2

3

2

2

2

1

3

2

1

1300

)

,

,

(

x

x

x

x

x

x

f

=

 

(4.22) 

 
okre
ślona w dziedzinie 

[

]

15

,

0

1

x

[ ]

7

,

0

2

x

[

]

31

,

0

3

x

. Załóżmy, że populacja składa się z 

4 osobników haploidalnych 

[

]

4

3

2

1

v

v

v

v

V

=

 

(4.23) 

gdzie 

background image

24 

4. Algorytmy ewolucyjne 

 

[

]

4

,

3

,

2

,

1

,

T

3

2

1

=

=

i

v

v

v

i

i

i

i

v

 

(4.24) 

 
Ponadto  niech  odcinki  (współrz
ędne)  chromosomu  tych  osobników  kodowane  są  binarnie, 
odpowiednio: 

1

x

 na 4 bitach, 

2

x

 na 3, zaś 

3

x  na 5 bitach. tab. 4.1 przedstawia przykładową 

sytuację dla losowo wygenerowanych punktów w rozważanej dziedzinie. 

Każdemu  osobnikowi  przyporządkowany  jest  odpowiedni  sektor  kątowy  koła  ruletki, 

przedstawionej  na  rys.  4.4  według  ich  (względnego  przystosowania)  prawdopodobieństwa 
wyboru.  Jak  wida
ć  największą  szansę  wyboru  do  puli  rodzicielskiej  posiada  osobnik 

4

v

 

)

3934

.

0

)

(

(

4

=

x

s

p

,  zaś  osobnik 

1

v

  szansę  znalezienia  się  puli  rodzicielskiej  ma  najmniejszą 

)

0864

.

0

)

(

(

1

=

x

s

p

Przykładowy  wynik  czterokrotnego  zakręcenia  kołem  ruletki  prowadzi  do  puli 

rodzicielskiej 

p

 złożonej z następujących osobników 

 

[

]

3

4

3

4

v

v

v

v

V

=

p

 

(4.25) 

 
Zgodnie  z  oczekiwaniami  osobniki  najlepiej  przystosowane  tworzą  pulę  rodzicielską,  która 
wyda w kolejnym kroku algorytmu genetycznego swoje potomstwo. 

 

 
Tab. 4.1. 

Genotyp, fenotyp i przystosowanie osobnika. 

przystosowanie 

Lp. 

Genotyp 

fenotyp 

bezwzglę

dne 

względne 

dystrybuanta 

i

 

i

 

i

 

)

(

i

x

 

)

(

i

s

x

 

)

(

i

x

 

[

]

T

11110

110

0110

 

[

]

T

31

6

6

 

267 

0.0864 

0.0864 

[

]

T

10101

101

1100

 

[

]

T

21

5

12

 

690 

0.2232 

0.3096 

[

]

T

10010

011

0111

 

[

]

T

18

3

7

 

918 

0.2970 

0.6066 

[

]

T

01000

010

0100

 

[

]

T

8

2

4

 

1216 

0.3934 

1.0000 

 

 

=

4

1

)

(

i

i

x

 

=     3091 

 

 

 

 

 

Rys. 4.4. 

Koło ruletki dla rozważanego przykładu. 

background image

 

25 

 

4.4.2.

 

Metoda ze stochastycznym doborem resztowym 

Metoda  ze  stochastycznym  doborem  resztowym  polega  na  obliczeniu  oczekiwanej  liczby 
kopii
 dla każdego osobnika w populacji, w oparciu o którą do puli rodzicielskiej kopiuje się 
osobniki  na  podstawie  całkowitej  części  oczekiwanej  liczby  kopii.  Z  kolei  część  resztowa  z 
tej  liczby  służy  do  określenia  sektorów  kątowych  ruletki  (tak  jak  w  metodzie 
proporcjonalnej). Tak skonstruowana ruletka zostaje użyta do uzupełnienia puli rodzicielskiej 
dodatkowymi  osobnikami.  Poniżej  zamieszczono  procedurę  metody  ze  stochastycznym 
doborem resztowym ([1, 19, 52, 74]. 
  
Proc. 4.2.  Metoda ze stochastycznym doborem resztowym. 

1.  wyznacz oczekiwaną liczbę kopii osobników w populacji 
 

N

i

N

f

f

e

N

i

i

i

i

,

,

2

,

1

,

)

(

)

(

)

(

1

=

=

=

x

x

x

 

(4.26) 

 

2.  skopiuj 

=

=

N

i

i

e

N

1

int

)

x

  osobników  do  puli  rodzicielskiej  na  podstawie  ich 

całkowitych częściach liczby 

)

(

i

x

, oraz określ liczbę ‘wakatów’ 

int

~

N

N

N

=

 
3.  wyznacz ‘dystrybuantę’ osobników wg resztowej części 

)

(

i

x

 

 

{

}

=

=

i

j

j

j

i

e

e

q

1

)

(

)

(

)

(

x

x

x

 

(4.27) 

 

4. 

N

~

-krotnie ‘zakręć kołem ruletki’ poprzez 

N

~

-krotne: 

•  wygenerowanie losowej liczby 

[ ]

1

,

0

r

 

•  ustalenie  pierwszego  napotkanego  osobnika  w  populacji,  dla  którego 

spełniony jest warunek 

 

)

(

)

(

N

i

q

q

r

x

x

 

(4.28) 

 
•  skopiowanie wylosowanego osobnika do puli rodzicielskiej 

 
 
Przykł. 4.2. Selekcja metodą stochastycznego doboru resztowego. 

Zastosujmy metodę stochastycznego doboru resztowego dla rozwiązań z 

przykł. 4.1. Wartości 

oczekiwanej  liczby  kopii  i  ‘dystrybuanty’  dla  osobników  z 

przykł.  4.1  przedstawia  . 

Wykonując krok 2 proc. 4.2 do puli rodzicielskiej skopiowane zostają osobniki 

3

 i 

4

v

. Pula 

rodzicielska  po  tym  kroku  posiada  2  ‘wakaty’,  zatem  należy  zakręcić  dwukrotnie  kołem 
ruletki,  któr
ą  zilustrowano  na  rys.  4.5.  Sektory  kątowe  ruletki  są  wyznaczone  na  podstawie 
prawdopodobie
ństwa wyboru, które prezentuje pierwsza od prawej kolumna w tab. 4.2. 

Przykładowy  wynik  dwukrotnego  zakręcenia  powyższego  koła  ruletki  prowadzi  do 

wybrania  osobników 

4

v

  i 

2

v

.  Zatem  pula  rodzicielska 

p

  złożona  jest  z  następujących 

osobników: 

background image

26 

4. Algorytmy ewolucyjne 

 

[

]

2

4

4

3

v

v

v

v

V

=

p

 

(4.29) 

 
Mo
żna,  zauważyć,  że  metoda  stochastycznego  doboru  resztowego  daje  większe  szanse  dla 
osobników o wi
ększej (nieuwzględnionej) części resztowej. W związku z tym, osobniki 

1

v

 i 

2

v

 

mają większe prawdopodobieństwa uzupełnienia puli rodzicielskiej swoimi kopiami. 

 

 
Tab. 4.2. 

Przystosowanie,  oczekiwana  liczba  kopii  oraz  dystrybuanty  (nieunormowana 
i unormowana) osobnika. 

 

i

 

)

(

i

x

 

)

(

i

x

 

)

(

)

(

i

i

e

e

x

x

 

)

(

i

x

 

)

(

)

(

4

x

x

q

q

i

 

)

(

)

(

)

(

4

x

x

x

q

e

e

p

i

i

s

=

 

1

v

 

267 

0.3456 

0.3456 

0.1728 

0.1728 

2

v

 

690 

0.8928 

1.2384 

0.6192 

0.4460 

3

 

918 

0.1880 

1.4264 

0.7132 

0.0940 

4

v

 

1216 

0.5736 

2.0000 

1.0000 

0.2868 

=

4

1

)

(

i

i

x

=3091   

 

 

 

 

 
 

 

 

Rys. 4.5. 

Koło ruletki dla metody stochastycznego doboru resztowego. 

 

4.4.3.

 

Metoda turniejowa 

Metoda  turniejowa  jest  kolejną  metodą  pozwalającą  tworzyć  pulę  rodzicielską.  Sposób 
selekcji  został  skojarzony  z  procesem  rywalizacji  dwóch  osobników,  z  których  wygrywa 
lepiej przystosowany. Liczba osobników uczestniczących w turnieju decyduje o tzw. nacisku 
selekcyjnym (ang. selection pressure) [1, 19, 74, 88]. Przykładowo, jeżeli liczba uczestników 
jest  stosunkowo  duża,  wówczas  słabsze  osobniki  maja  mniejszą  szansę  na  wybranie  jako 
osobników rodzicielskich. 
 

background image

 

27 

 

4.5.

  Operacje genetyczne 

Do operacji genetycznych [1, 19, 74, 88], wykonywanych na osobnikach  wytypowanych do 
puli rodzicielskiej zalicza się: 
 

•  krzyżowanie oraz 
•  mutację. 

 

Należy  zaznaczyć,  iż  przy  wykonywaniu  operacji  genetycznych  chromosom  osobnika 

traktowany  jest  jako  pojedyncza  sekwencja  kodowa  złożona  z  poszczególnych  odcinków 
kodowych  chromosomu  (reprezentujących  współrzędne  optymalizowanego  wektora). 
Natomiast  w  przypadku  kodowania  zmiennopozycyjnego  (multiallelicznego)  operacje 
genetyczne  (w  algorytmach  często  nazywanych  wówczas  ewolucyjnymi)  wykonuje  się 
odrębnie dla poszczególnych współrzędnych (genów). 

4.5.1.

 

Krzyżowanie 

Operacja  krzyżowania  (ang.  crossover)  jest  analogiczna  do  (opisanej  w  dodatku) 
rekombinacji  pomiędzy  nićmi  DNA  chromosomów  z  par  homologicznych.  W  algorytmach 
genetycznych krzyżowanie polega na wymianie materiału genetycznego (części chromosomu) 
między dwoma rodzicami. W wyniku tego uzyskuje się dwóch potomków stanowiących nowe 
rozwiązania. Operacja ta przebiega w dwóch etapach: najpierw kojarzone są w sposób losowy 
osobniki  z  puli  rodzicielskiej  w  pary,  a  następnie  każda  para  rodziców  przechodzi  proces 
wymiany  materiału  genetycznego  (tj.  wymiany  fragmentów  sekwencji  kodowych  pomiędzy 
chromosomami  osobników  rodzicielskich).  Operacja  ta  zachodzi  z  określonym 
prawdopodobieństwem  nazywanym  prawdopodobieństwem  krzyżowania 

c

p

  (zwykle 

]

1

,

6

.

0

[

c

p

). 

Najczęściej stosowanym sposobem krzyżowania jest: 

 

•  krzyżowanie jednopunktowe lub 
•  krzyżowanie wielopunktowe (zwykle dwu- lub trójpunktowe). 

 

Przy krzyżowaniu jednopunktowym proces wymiany materiału genetycznego rozpoczyna 

się od wylosowania z jednakowym prawdopodobieństwem punktu krzyżowania (tj. punktu 
podziału  chromosomu  na  dwie  części)  spośród 

1

m

  pozycji  w  chromosomie,  gdzie  m  jest 

długością  chromosomu.  Następnie  wymienia  się  miejscami  cały  odcinek  od  punktu 
krzyżowania do końca chromosomu 

)

( włącznie w obu osobnikach pary. W rezultacie tego, 

jak pokazano na rys. 4.6a, powstają dwa nowe osobniki potomkowie, (ang. offsprings). 

W  przypadku  krzyżowania  wielopunktowego  proces  wymiany  materiału  genetycznego 

zachodzi  między  częściami  chromosomów  znajdującymi  się  pomiędzy  kolejnymi  (również 
wylosowanymi  z  jednakowym  prawdopodobieństwem)  punktami  krzyżowań.  Przykładową 
ilustrację krzyżowania trójpunktowego przedstawia rys. 4.6b. 
 
Przykł. 4.3. Krzyżowanie jednopunktowe dla osobników kodowanych binarnie. 

Niech dane są dwa osobniki haploidalne 

r

v

 i 

s

 

})

,

,

2

,

1

{

,

(

N

s

r

wybrane do krzyżowania, 

których  chromosomy  mają  długość 

16

=

m

  bitów  (genów).  Przy  czym  każdy  osobnik 

traktowany  jest  jako  pojedyncza  sekwencja  kodowa  złożona  z  połączenia  poszczególnych 
odcinków (sekwencji binarnych) 
 
 

background image

28 

4. Algorytmy ewolucyjne 

[

]

T

0100111

11110

0100

=

r

v

 

(4.30) 

[

]

T

0000000

00011

0100

=

s

v

 

(4.31) 

[

]

[

]

T

T

100111

0100111100

0100111

11110

0100

=

=

r

r

v

v

 

(4.32) 

[

]

[

]

T

T

000000

0100000110

0000000

00011

0100

=

=

s

s

v

v

 

(4.33) 

 
Niech losowo wybranym punktem krzy
żowania (spośród 15 punktów) jest punkt leżący między 
bitem 10 a 11. Wówczas generowane s
ą następujące osobniki potomne: 
 

[

]

[

]

T

'

T

'

0000000

11011

0100

000000

0100110110

=

=

r

r

v

v

 

(4.34) 

[

]

[

]

T

'

T

'

0100111

00110

0100

100111

0100001100

=

=

s

s

v

v

 

(4.35) 

 

 

 
 

 

 

Rys. 4.6. 

Schemat krzyżowania [72]: (a) jednopunktowego; (b) trójpunktowego. 

 
 

 

 

Rys. 4.7. 

Schemat krzyżowania jednopunktowego osobników diploidalnych. 

 

background image

 

29 

 

W  przypadku  osobników  diploidalnych  kodowanych  triallelicznie  również  może  być 

stosowane  krzyżowanie  jedno-  lub  wielopunktowe.  Jednopunktowy  proces  wymiany 
materiału  genetycznego  przebiega  jak  na  rys.  4.7.  Wybrani  losowo  rodzice  analogicznie  do 
procesu  mejozy  (opisanej  w  dodatku)  produkują  gamety  (komórki  rozrodcze).  Gamety  są 
tworzone  poprzez  skrzyżowanie  pary  chromosomów  danego  rodzica.  Następnie  losowo 
paruje się gamety w celu utworzenia potomków. 

Przy reprezentacji zmiennopozycyjnej najczęściej stosuje się [74]: 

 

•  krzyżowanie arytmetyczne lub 
•  krzyżowanie mieszane

 
Istotną  cechą  obu  typów  krzyżowania  jest  zapewnienie,  że  nowo  kreowani  potomkowie 
stanowią rozwiązania dopuszczalne, tzn. należą do dziedziny określonej na podstawie zakresu 
parametrów i innych liniowych ograniczeń nałożonych na te parametry. 

Krzyżowanie  arytmetyczne  polega  na  unormowanej  liniowej  kombinacji  dwóch 

wektorów  reprezentujących  multialleliczne  chromosomy  (które  są  jednocześnie  fenotypem  i 
genotypem).  Jeżeli  do  krzyżowania  wybrano  parę  osobników  rodzicielskich 

r

v

  i 

s

 

})

,

,

2

,

1

{

,

(

N

s

r

 

 

[

]

T

2

1

r

r

r

n

r

v

v

v

=

v

 

(4.36) 

[

]

T

2

1

s

s

s

n

s

v

v

v

=

v

 

(4.37) 

 
to potomkowie wyznaczani są z następujących wzorów: 
 

s

r

r

a

a

v

v

v

)

1

(

'

+

=

 

(4.38) 

r

s

s

a

a

v

v

v

)

1

(

'

+

=

 

(4.39) 

 
gdzie 

]

1

,

0

[

a

 jest wartością wybieraną losowo dla każdej pary rodziców. 

Krzyżowanie  mieszane  (Michalewicz  nazywa  to  prostym  krzyżowaniem)  jest 

połączeniem  krzyżowania  jednopunktowego  z  krzyżowaniem  arytmetycznym.  Jeżeli 
krzyżowaniu  podlegałaby  para  rodziców  (4.36)  i  (4.37)  według    losowo  wybranej  -tej 
współrzędnej  wymiany  genetycznej,  wówczas  jej  osobniki  potomne  uzyskałyby  następującą 
postać: 
 

[

]

T

)

1

(

)

1

(

1

'

)

1

(

)

1

(

r

s

r

s

r

r

n

n

k

k

k

r

v

a

av

v

a

av

v

v

+

+

=

+

+

v

 

(4.40) 

[

]

T

)

1

(

)

1

(

1

'

)

1

(

)

1

(

s

r

s

r

s

s

n

n

k

k

k

s

v

a

av

v

a

av

v

v

+

+

=

+

+

v

 

(4.41) 

 
gdzie 

]

1

,

0

[

a

  jest  inną  wartością  wybraną  losowo  dla  każdej  pary  rodziców.  Podobnie  jak 

dla  krzyżowania  arytmetycznego,  krzyżowanie  mieszane  zapewnia,  że  wykreowani 
potomkowie stanowią rozwiązania dopuszczalne (należące do dziedziny określonej zakresem 
parametrów i nie naruszające liniowych ograniczeń nałożonych na te parametry). 

4.5.2.

 

Mutacja 

Operacja  mutacji  wprowadza  przypadkowe  ‘zaburzenia’  w  nowo  powstałych  rozwiązaniach 
(osobnikach  potomnych).  Ze  względu  na  obiekt  modyfikacji,  mutacje  można  podzielić  na 
dwie grupy: 
 

background image

30 

4. Algorytmy ewolucyjne 

•  mutacje genotypowe (genetyczne) oraz 
•  mutacje fenotypowe (parametryczne). 

 
Mutacja dotyczy zmiany alleli genów całej populacji osobników. Zmiana ta może mieć zasięg 
pełny lub ograniczony: każdy z genów (lub parametrów) może podlegać mutacji (zmianie bi- 
lub multiallelicznej) z założonym prawdopodobieństwem mutacji 

m

p

 lub ograniczając liczbę 

dokonywanych  mutacji  losuje  się  (wg  założonego  rozkładu  prawdopodobieństwa  -  zwykle 
równomiernego) pozycje w genotypie (lub fenotypie), które mają podlegać zmianie (allelu). 

Mutacja  genotypowa  w  przypadku  kodowania  binarnego,  polega  na  wprowadzeniu  

(z zasięgiem pełnym lub ograniczonym) przypadkowej zmiany allelu genu w chromosomie na 
„przeciwny” (zanegowanie  wybranego bitu kodu binarnego). Ilustrację przykładowej mutacji 
osobnika  haploidalnego  przedstawiono  na  rys.  4.8  [72],  gdzie  chromosom  jest 
reprezentowany przez sekwencję binarną. 
 

 

 

Rys. 4.8. 

Przykład mutacji genotypowej dla kodowania binarnego. 

 

Przy  kodowaniu  triallelicznym  dla  mutacji  genotypowej  o  wybranym  zasięgu,  sposób 

wprowadzania  przypadkowych  zmian  allelu  genów  chromosomu  opisuje  graf  przepływowy 
przedstawiony  na  rys.  4.9.  Węzły  grafu  reprezentują  początkowe  wartości  (allele)  genów  w 
chromosomie, zaś gałęzie tego grafu reprezentują możliwe zmiany na skutek wylosowania z 
jednakowym prawdopodobieństwem (równym 0.5) liczb –1 lub 1. 
 

 

 

Rys. 4.9. 

Przykład mutacji genotypowej dla kodowania binarnego. 

 

W  przypadku  reprezentacji  zmiennopozycyjnej  osobników,  kiedy  realizowana  jest 

mutacja  fenotypowa,  wprowadza  się  zmianę  wybranych  parametrów.  Podobnie  jak  dla 
krzyżowania  arytmetycznego  i  mieszanego,  mutacja  fenotypowa  zapewnia,  że  zmutowane 
osobniki są rozwiązaniami dopuszczalnymi, tzn. należą do dziedziny określonej na podstawie 

background image

 

31 

 
zakresu parametrów i liniowych ograniczeń na te parametry. W tego  rodzaju mutacji można 
wyróżnić dwa sposoby modyfikacji wartości parametru polegające na [43, 74]: 
 

•  zmianie wartościowo-równomiernej lub 
•  zmianie wartościowo-nierównomiernej

 

Zmiana  wartościowo-równomierna  polega  na  nadawaniu  (w  każdym  cyklu  mutacji  GA) 

wybranemu  parametrowi 

q

k

v

  osobnika 

n

q

v

  losowej  wartości 

'

q

k

v

  z  przedziału 

określającego  dziedzinę  mutowanego  -tego  parametru  z  równomiernym  rozkładem 
prawdopodobieństwa  [74].  Uzyskuje  się  w  ten  sposób  nowy  fenotyp 

'

q

v

  o  następującej 

postaci: 
 

[

]

T

'

1

1

'

n

k

q

v

v

v

v

=

v

 

(4.42) 

 

W  zadaniach  z  liniowymi  ograniczeniami  owa  dziedzina  parametru  musi  być  określana 

odpowiednio 

−  biorąc  pod  uwagę  narzucone  ograniczenia  zadania  optymalizacji  z 

uwzględnieniem niezmienionych, pozostałych wartości parametrów w fenotypie. Przymiotnik 
„równomierna”  nie  odnosi  się  do  równomierności  rozkładu  prawdopodobieństwa,  ale 
oznacza,  że  działanie  mutacji  jest  niezależne  od  numeru  iteracji    algorytmu  (numeru 
pokolenia w realizowanym procesie optymalizacji). 

Zmiana  wartościowo-nierównomierna  pozwala  na  dokładne  dostrojenie  parametrów. 

Operacja  ta  polega  na  stochastycznym  zaburzeniu  poprzednio  ustalonej  wartości  wybranego 
parametru  z  zastosowaniem  zawężającego  się 

−  wraz  ze  wzrostem  numeru  iteracji  − 

dopuszczalnego  przedziału  (równomiernych  zmian  parametrów).  Wybrany  parametr 

q

k

v

 

osobnika 

n

q

v

 uzyskuje wówczas wartość [74] 

 



+

=

)

B

(

)

,

(

)

A

(

)

,

(

'

k

k

k

k

k

k

k

v

v

t

v

v

v

t

v

v

q

q

q

q

q

,     

b

t

t

v

r

v

t





=

max

1

)

,

(

 

(4.43) 

 
gdzie  przedział 

[

]

k

k

v

v

,

  określa  zakres  (dziedzinę)  mutowanego  parametru 

q

k

v

,   

oznacza  numer  pokolenia, 

max

t

  jest  zadaną  ilością  generowanych  pokoleń  (iteracji),  b  to 

współczynniki  niejednorodności  (zwykle 

2

=

b

),  natomiast 

[ ]

1

,

0

r

  jest  losową  liczbą. 

Dodatkowo,  wybór  sposobu  mutacji,  (A  lub  B),  dokonywany  jest  losowo  z  jednakowym 
prawdopodobieństwem równym 0.5. 

4.6.

  Strategie podstawień 

Według  podstawowej  zasady  obowiązującej  w  algorytmach  genetycznych,  początkowa 
populacja, wygenerowana losowo przy starcie algorytmu, po przejściu jednego cyklu ewolucji 
(iteracji) zastępowana jest przez powstałą populację potomków. Ta nowo powstała populacja 
osobników  po  ponownym  cyklu  GA  zostaje  zastąpiona  przez  kolejną  populację  potomków. 
Proces  ten  powtarza  się  do  chwili,  gdy  spełnione  jest  zadane  kryterium  zakończenia 
algorytmu. Stosowanymi strategiami podstawień są [1, 19, 74]: 
 

•  reprodukcja pełna lub 
•  reprodukcja częściowa

 

background image

32 

4. Algorytmy ewolucyjne 

W strategii z reprodukcją pełną nowo powstała populacja o liczbie osobników N zastępuje 

całą  poprzednią  populację.  Jest  to  najprostsza  ze  strategii  podstawień.  Strategia  z  częściową 
reprodukcją  polega  na  zastąpieniu  jedynie  najgorszych  osobników,  o  najniższych  stopniach 
przystosowania,  przez  nowo  powstałych  potomków  (co  może  być  interpretowane  jako 
możliwość posiadania wielopokoleniowego potomstwa). 

4.7.

  Skalowanie przystosowania 

Liczne  badania  nad  algorytmami  genetycznymi  wykazały,  że  często  występuje  zjawisko 
przedwczesnej zbieżności (ang. premature convergance) do suboptymalnego rozwiązania [1, 
19,  74].  Zjawisko  to  oznacza,  że  w  kilku  pierwszych  cyklach  algorytmów  genetycznych  w 
populacji 

występuje 

kilku 

ponadprzeciętnych 

osobników 

(o 

wysokim 

stopniu 

przystosowania),  natomiast  reszta  osobników  zalicza  się  do  niższej  kategorii.  W  wyniku 
selekcji takich osobników, szybko (już po jednym pokoleniu) uzyskują one znaczący udział w 
całej  populacji.  Przez  co,  powstająca  nowo  populacja  jest  mało  zróżnicowana,  a  algorytm 
genetyczny zachowuje się tak, jakby zaprzestał poszukiwania dalszych lepszych rozwiązań. 

W celu zapobieżenia wyżej opisanemu zjawisku stosuje się metodę skalowania liniowego 

[1, 19,74]. Schemat tej metody przedstawia następująca proc. 4.3. 
 
Proc. 4.3.  Metoda skalowania liniowego. 

1.  znajdź  w  aktualnej  populacji  osobnika  o  maksymalnym  i  minimalnym  stopniu 

przystosowania 

 

)

(

max

}

,

,

2

,

1

{

i

N

i

max

f

f

x

=

 

(4.44) 

)

(

min

}

,

,

2

,

1

{

i

N

i

min

f

f

x

=

 

(4.45) 

 
2.  wyznacz średnie przystosowanie populacji 

avg

f

 według wzoru 

 

=

=

N

i

i

avg

f

N

f

1

)

(

1

x

 

(4.46) 

 
3.  przeskaluj stopnie przystosowania osobników według formuły 
 

b

af

f

i

i

s

+

=

)

(

)

(

x

x

 

(4.47) 

 
gdzie 

a

  i 

b

  oznaczają  współczynniki  skalowania  liniowego,  których  wartości 

wyznaczane są następująco: 
 

•  sprawdź warunek skalowania 

 

1

>

c

f

cf

f

max

avg

min

 

(4.48) 

 

gdzie 

c

 oznacza współczynnik zwielokrotnienia (pożądaną liczbę kopii), 

 

•  jeżeli warunek (4.48) jest spełniony to wyznacz współczynniki skalowania: 

)

1

(

,

)

1

(

+

=

=

a

f

b

f

f

c

f

a

avg

avg

max

avg

 

(4.49) 

 

w przeciwnym wypadku wyznacz współczynniki skalowania według wzorów: 

background image

 

33 

 

 

min

min

avg

avg

af

b

f

f

f

a

=

=

,

 

(4.50) 

 

Współczynnik  zwielokrotnienia 

c

  dla  populacji  składającej  się  od  50  do  100  osobników 

przyjmuje zwykle wartość równą 2. Jest on utożsamiany z pożądaną liczbą kopii. Skalowanie 
liniowe  ze  współczynnikami 

a

  i    wyznaczonymi  wg  wzoru  (4.50)  powoduje,  że  stopień 

przystosowania  odpowiednio  osobników  ponadprzeciętnych  zmniejsza  się,  zaś  osobników 
gorszych  zwiększa  się.  W  ten  sposób  w  początkowych  cyklach  algorytmów  genetycznych 
generuje  się  populacje  bardziej  różnorodne,  zapobiega  się  przedwczesnej  zbieżności 
algorytmów.  Z  kolei  skalowanie  z  użyciem  współczynników  (4.49)  powoduje  wywołanie 
zdrowej konkurencji między osobnikami o podobnym stopniu przystosowania w końcowych 
cyklach algorytmów genetycznych. 

4.8.

  Mechanizm niszowania 

Proces selekcji jest w przyrodzie głównym mechanizmem rywalizacji pomiędzy osobnikami. 
Decyduje  on  o  możliwości  przeżycia  danego  osobnika,  gatunku  czy  też  całej  populacji. 
Wybrane najlepiej przystosowane osobniki posiadają większą szansę uzyskiwania potomków 
o  podobnych  cechach.  Nieustanny  proces  selekcji  w  tworzących  się  nowych  populacjach 
prowadzi  do  generowania  osobników  coraz  to  lepiej  przystosowanych.  Czasami  przyroda 
dopuszcza przetrwanie z małym prawdopodobieństwem osobników słabiej przystosowanych. 
Takie  osobniki  stanowić  mogą  źródło  różnorodności  i  adaptacyjności  danej  populacji 
osobników  do  nowych  warunków.  Owe  osobniki  stając  się  bowiem  rodzicami  pozwalają  na 
zachowanie  innowacyjności  (nowości)  w  procesie  przekazywania  potomkom  informacji 
genetycznej.  Można  powiedzieć,  że  w  procesie  naturalnej  selekcji  bada  się  także  inne 
możliwości  osiągania  osobników  lepiej  przystosowanych.  Jednak  w  naturalnych  warunkach 
taki okres „ochronny” gorszych osobników trwa krótko. W wyniku tego populacje osobników 
należących  do  gatunków  zagrożonych  zwykle  szybko  zanikają.  Jednym  z  możliwych 
sposobów  zapobieżenia  takiej  sytuacji  jest  hodowla  ginących  gatunków  w  „cieplarnianych 
warunkach” pozwalających na ich przeżycie. 

Poprzez  analogię  do  przyrody,  niszowanie  w  algorytmach  ewolucyjnych  [1,  19,  61,  39, 

74]  ma  na  celu  zachowanie  gorzej  przystosowanych  osobników,  tak,  aby  populacja  była 
różnorodna,  tj.  zawierała  nie  tylko  bardziej  przystosowane,  ale  także  i  osobniki  przeciętne 
oraz  mniej  przystosowane.  Niszowanie  pozwala  zatem  na  utrzymaniu  stałej  liczby 
istniejących  gatunków:  zarówno  tych  bardziej  licznych  (lepiej  przystosowanych),  jak  i  tych 
mniej licznych (słabiej przystosowanych). 

Nisza,  w  algorytmach  ewolucyjnych,  jest  pewnym  obszarem,  w  którym  znajdują  się 

osobniki  o  podobnych  charakterystykach,  tzn.  osobniki  bliskie  parametrycznie  (fenotypowo, 
geometrycznie), które powinny mieć także podobne stopnie przystosowania. Zatem osobniki 
znajdujące się w niszy mogą być uznane za pewien gatunek. Stopień pokrewieństwa między 
osobnikami  określany  jest  na  podstawie  odwzorowania  zwanego  funkcją  bliskości  lub 
pokrewieństwa,  której  argumentem  jest  geometryczna  odległość  między  rozważanymi 
osobnikami. Funkcja bliskości przyjmuje wartości z przedziału [0,1]. Wartość zerowa funkcji 
bliskości  oznacza,  że  osobniki  nie  są  spokrewnione  i  nie  należą  do  tego  samego  gatunku,  z 
kolei wartość 1 oznacza najbliższe pokrewieństwo (identyczność). 

Nisze  w  wielowymiarowej  przestrzeni  parametrów  definiuje  się  jako  hiperelipsoidę,  w 

której może znaleźć się zbiór osobników. Jak wyżej zauważono, bliskie fenotypowo osobniki 
zalicza  się  do  jednego  gatunku.  Stopień  bliskości  fenotypowej  (pokrewieństwa)  dwu 

background image

34 

4. Algorytmy ewolucyjne 

osobników 

i

 oraz 

j

 o fenotypach odpowiednio 

)

,

,

2

,

1

,

(

,

N

j

i

n

j

i

=

x

x

 wyrażany jest 

funkcją bliskości 

ij

δ  (ang. sharing function) [19, 74], którą definiujemy następująco: 

 



<

=

δ

1

0

1

0

1

P

j

i

P

j

i

P

j

i

ij

jeśeś

jeśeś

x

x

x

x

x

x

 

(4.51) 

 
gdzie 
 

)

(

)

(

2

T

j

i

j

i

P

j

i

x

x

P

x

x

x

x

=

 

(4.52) 

{

}

n

diag

φ

φ

φ

=

2

1

P

 

(4.53) 

 
natomiast 

)

,...,

2

,

1

(

n

k

k

=

φ

 jest  -tą średnicą hiperelipsoidy o środku w  -tym osobniku. W 

szczególności  -tą średnicę hiperelipsoidy wyznaczać można na podstawie wzoru 
 

n

k

k

k

,

,

2

,

1

,

=

ε

=

φ

 

(4.54) 

 
gdzie 

k

∆  jest niezerowym zakresem poszukiwań  -tego parametru, zaś 

ε

 reprezentuje liczbę 

części, na jaką dzieli się ten zakres. 

W  ogólności  mechanizm  niszowania  polega  na  modyfikacji  wektora  stopnia 

przystosowania  lub  skalarnej  rangi  (wyznaczonej  metodą  rangowania  wg  Pareto-
optymalności)  każdego  osobnika  znajdującego  się  we  ‘własnej’  niszy  według  następującego 
przepisu [1, 19, 61, 39, 74]: 
 

=

δ

=

N

j

ij

i

i

1

)

(

)

(

~

x

f

x

f

,       

=

δ

=

N

j

ij

i

i

r

r

1

)

(

)

(

~

x

x

 

(4.55) 

 
gdzie 

)

(

i

x

f

  jest  wektorem  stopnia  przystosowania,  a 

)

(

i

x

  oznacza  skalarną  rangę  i-tego 

osobnika, natomiast 

)

(

~

i

x

f

 i 

)

(

~

i

x

 reprezentują odpowiednio jego ‘niszowo-uwarunkowany’ 

wektor  stopnia  przystosowania  i  skalarną  rangę.  Suma  w  obu  mianownikach  (4.55)  wyraża 
efektywną liczbę osobników w niszy własnej o środku opisanym przez fenotyp rozważanego 
i

-tego  osobnika.  Jeżeli  osobnik  sam  zajmuje  oddzielną  niszę,  wówczas  jego  wektor  stopnia 

przystosowania lub skalarnej rangi oczywiście nie zmniejsza się (jedyna niezerowa wartość to 

1

=

δ

ii

). W innym przypadku stopień przystosowania lub ranga są zmniejszane stosownie do 

zagęszczenia populacyjnego jego niszy. 
 
Przykł. 4.4.  Nisze w dwuwymiarowej przestrzeni. 

Rozważmy  dwuwymiarową  przestrzeń  poszukiwań.  Na  rys.  4.10  przedstawiono 
dwuwymiarow
ą  kostkę  poszukiwanych  parametrów 

[

]

1

1

1

x

x

x

  i 

[

]

2

2

2

x

x

x

.  Zakresy 

poszukiwań  wynoszą  zatem 

1

1

1

x

x

=

  i 

2

2

2

x

x

=

.  W  ten  sposób  obszar  poszukiwań 

został  podzielony  na  9  równych  części 

)

3

(

=

ε

.  W  wyniku  takiego  podziału,  jak  to 

zilustrowano na rys. 4.11 każdy osobnik uzyskuje własną niszę, którą jest elipsa o średnicach 
odpowiednio 

3

/

1

 i 

3

/

2

background image

 

35 

 

 

 
Przykł. 4.5. Niszowanie przystosowania. 

Rozważmy 

przykładowy 

proces 

niszowania 

dwuwymiarowego 

wektora 

stopnia 

przystosowania.  Rozmieszczenie  12  osobników  w  dwuwymiarowej  przestrzeni  pokazano  na 
rys. 4.12a natomiast odpowiadaj
ące im wektory przystosowania przedstawiono na rys. 4.12b. 
Zauwa
żmy,  iż  w  populacji  tej  znajduje  się  pojedyncze  Pareto-optymalne  rozwiązanie 
oznaczone  ‘gwiazdk
ą’.  Dla  tego  osobnika  zaznaczono  jego  własną  niszę  o  promieniach 
odpowiednio  8/6  i  7/6.  rys.  4.12c  przedstawia  niszowo-uwarunkowany  wektorowy  stopie
ń 
przystosowania osobników, b
ędący podstawą prowadzonej selekcji metodą rankingu.  Widać
że  w  wyniku  niszowania  stopień  przystosowania  10-ciu  osobników  (oznaczonych  ‘kółkami’  i 
‘gwiazdk
ą’)  został  zmniejszony  (pokazują  to  strzałki),  natomiast  stopnie  przystosowania 
dwóch osobników (‘krzy
żyk’ i ‘kropka’) pozostały niezmienione. 

 

 

 

Rys. 4.10.  Podział dwuwymiarowej kostki poszukiwanych parametrów. 

 

 

Rys. 4.11.  Nisze jako elipsy. 

 

background image

36 

4. Algorytmy ewolucyjne 

1

x

2

x

0

2

4

6

8

0

1

2

3

4

5

6

7

1

f

2

f

0

1

2

3

4

5

6

0

1

2

3

4

5

6

7

1

~

f

2

~

f

0

1

2

3

4

5

6

0

1

2

3

4

5

6

7

 

 
Rys. 4.12.  Mechanizm niszowania przystosowania: (a) populacja osobników i niszowa elipsa 

dla  optymalnego  rozwiązania;  (b)  przystosowanie  osobników;  (c)  niszowo-
uwarunkowane przystosowanie 

 
 

Porównując oba rodzaje  modyfikacji [39], tzn. niszowanie przystosowania i rang można 

wnioskować, że niszowanie rang jest mechanizmem „silniejszym”. Jest to spowodowane tym, 
ż

e  rangi  osobników  są  modyfikowane  bezpośrednio.  Zmiana  rangi  bezpośrednio  oznacza 

zmianę  w  strukturze  dominacji  (i  stopnia  zdominowania)  w  sensie  Pareto,  podczas  gdy 
niszowanie  przystosowania  stanowi  jedynie  źródło  pośredniej  modyfikacji  rang.  Ze  zmianą 
wektora przystosowania nie musi wynikać zmiana jego stopnia zdominowania. 

Niszowanie  poprzez  odpowiednią  modyfikację  przystosowania  lub  rang  osobników 

pozwala  zwiększyć  szansę  znalezienia  się  w  następnym  pokoleniu  potomków  z  materiałem 
genetycznym  gatunków  z  rzadkich  populacyjnie  nisz  oraz  zmniejszyć  ową  szansę  dla 
gatunków  z  gęstych  nisz.  O  niszowaniu  można  zatem  powiedzieć,  że  jest  rodzajem 
równomiernej  hodowli  osobników  (prowadzącym  do  bardziej  równomiernego  przeglądania 
przestrzeni  poszukiwań).  Taki  sposób  konstrukcji  algorytmu  ewolucyjnego  zapobiega  zatem 
występowaniu zjawiska przedwczesnej zbieżności. 

4.9.

  Interpretacja algorytmów genetycznych 

Metodologię procesu poszukiwań GA można interpretować w kategoriach schematów [1, 19, 
74].  Jest  to  wzorzec  opisujący  podzbiór  sekwencji  kodowych  podobnych  pod  względem 
pozycji  o  ustalonych  wartościach  zwanych  pozycjami  ustalonymi.  Schemat  definiuje  się, 
wprowadzając  do  kodu  binarnego  dodatkowy  znak  (symbol) 

 “#”,  oznaczający  nieustaloną 

wartość  pozycji.  Schemat  reprezentujący  wszystkie  sekwencje  kodowe  składa  się  tylko  z 
symboli “#”. 
 
Przykł. 4.6. Schematy. 

Niech dany będzie schemat 

1

S

 oraz 

2

S

 każdy o długości 11 bitów 

 

[

]

T

1

1

1

0

#

0

1

1

#

1

0

0

=

S

 

(4.56) 

[

]

T

2

#

#

#

#

#

#

#

#

#

#

#

=

S

 

(4.57) 

 
Do schematu 

1

S

 pasują cztery chromosomy 

 

[

]

T

1

1

1

0

0

0

1

1

0

1

0

0

=

v

 

(4.58) 

[

]

T

2

1

1

0

1

0

1

1

0

1

0

0

=

v

 

(4.59) 

background image

 

37 

 

[

]

T

3

1

1

0

0

0

1

1

1

1

0

0

=

v

 

(4.60) 

[

]

T

4

1

1

0

1

0

1

1

1

1

0

0

=

v

 

(4.61) 

 
Natomiast  do  schematu 

2

S

  pasują  wszystkie  chromosomy  o  długości  11  bitów,  tzn. 

reprezentuje  dokładnie 

11

  możliwych  sekwencji  binarnych.  Każdy  schemat  może  zatem 

reprezentować  dokładnie 

p

podobnych chromosomów (o określonej długości), gdzie  p  jest 

liczbą symboli “#” w schemacie. 

 

 

Schemat  posiada  następujące  dwie  istotne  własności,  tj.  rząd

  i  rozpiętość  [1,  19,  74]. 

Rzędem  schematu    nazywa  się  liczbę  ustalonych  pozycji,  tzn.  liczbę  0  i  1  w  schemacie. 
Niech rząd schematu   jest oznaczony przez 

)

(S

ρ

. Schematy 

1

S

 i 

2

S

 z przykł. 4.6, posiadają 

rzędy odpowiednio 

9

)

(

1

=

ρ S

 oraz 

0

)

(

2

=

ρ S

Rozpiętością schematu   nazywa się odległość między skrajnymi ustalonymi pozycjami, 

tzn. genami o ustalonej wartości (allelu) 0 lub 1 w schemacie i wyraża się następująco: 
 

k

l

S

=

δ

)

(

1

 

(4.62) 

 
gdzie    jest  numerem  pozycji  pierwszego  napotkanego  genu  o  ustalonej  wartości  w 
schemacie  , zaś   jest numerem pozycji ostatniego napotkanego genu o ustalonej wartości 
(licząc  od  dowolnej  strony).  Dla  schematów  z  przykł.  4.6  rozpiętości  wynoszą  odpowiednio 

10

)

(

1

=

δ S

 oraz 

0

)

(

2

=

δ S

4.9.1.

 

Efekt ewolucyjnej selekcji 

Niech schemat   reprezentuje osobniki haploidalne o chromosomach kodowanych binarnie. 
Jeżeli  selekcja  jest  przeprowadzana  metodą  proporcjonalną  (opisaną  w  punkcie  4.4.1), 
wówczas  można  ocenić  liczbę  reprezentantów  rozważanego  schematu    w  następnym 
pokoleniu. 

Załóżmy, że w chwili   w populacji 

t

 znajduje się 

)

(S

t

ξ

=

ξ

 osobników pasujących do 

schematu  .  Po  kroku  selekcji  (metoda  proporcjonalna)  w  chwili 

1

+

t

  liczba  osobników 

)

(

1

S

t

+

ξ

 pasujących do danego schematu   wyraża się następująco [1, 19 72, 74] 

 

=

+

ξ

=

ξ

N

i

i

t

t

t

t

f

S

F

N

S

S

1

1

)

(

)

(

)

(

)

(

x

 

(4.63) 

 
gdzie 

)

(

i

t

x

  jest  stopniem  przystosowania  i-tego  osobnika  w  chwili  ,    jest  liczbą 

osobników w populacji, natomiast 

)

(S

F

t

 jest średnim stopniem przystosowania schematu   

(osobników pasujących do schematu  ) określanym następująco: 
 

=

=

j

i

i

t

t

f

j

S

F

1

)

(

1

)

(

x

 

(4.64) 

 
gdzie   oznacza liczbę osobników pasujących do schematu  . Biorąc pod uwagę, że średni 
stopień przystosowania całej populacji w chwili   wyraża się wzorem 
 

background image

38 

4. Algorytmy ewolucyjne 

=

=

N

i

i

t

avg

f

N

t

f

1

)

(

1

)

(

x

 

(4.65) 

 
równanie (4.63) można przekształcić do postaci 
 

)

(

)

(

)

(

)

(

1

t

f

S

F

S

S

avg

t

t

t

ξ

=

ξ

+

 

(4.66) 

 
Zatem  liczba  reprezentantów 

)

(

1

S

t

+

ξ

  schematu    po  kroku  selekcji  zmienia  się 

proporcjonalnie  do  stosunku  średniego  stopnia  przystosowania  schematu 

)

(S

F

t

  i  średniego 

stopnia przystosowania całej populacji 

)

(t

f

avg

. Mówiąc  inaczej, schematy o przystosowaniu 

wyższym  niż  średnie  przystosowanie  populacji  będą  miały  większą  liczbę  reprezentantów  
w następnym pokoleniu. 

Jeżeli założymy, że schemat   ma stopień przystosowania większy od średniego stopnia 

przystosowania całej populacji o pewna stałą 

ε, tzn. 

 

)

(

)

(

)

(

t

f

t

f

S

F

avg

avg

t

ε

+

=

 

(4.67) 

 
wtedy równanie (4.66) można przekształcić do postaci 
 

)

(

)

1

(

)

(

1

S

S

t

t

ξ

ε

+

=

ξ

+

 

(4.68) 

 
Poczynając od 

0

=

t

 i zakładając, że 

ε

 nie zmienia się w czasie, uzyskujemy zależność 

 

t

t

S

S

)

1

(

)

(

)

(

0

1

ε

+

ξ

=

ξ

+

 

(4.69) 

 
Z równania (4.69) wynika zatem eksponencjonalny wzrost liczby reprezentantów schematu   
w następnych pokoleniach. 

4.9.2.

 

Efekt krzyżowania 

Rozważmy  wpływ  krzyżowania  jednopunktowego  na  ewolucję  realizowaną  w  algorytmach 
genetycznych.  Niech  schemat    reprezentuje  osobniki  haploidalne  o  chromosomach 
(długości 

m

)  kodowanych  binarnie.  Dla  określenia  własności  schematu    przy 

jednopunktowym  krzyżowaniu  wprowadza  się  pojęcia  prawdopodobieństwa  destrukcji  oraz 
przeżycia schematu. 

Prawdopodobieństwo destrukcji (utraty) schematu   ma postać 

 

1

)

(

)

(

δ

=

m

S

S

p

d

 

(4.70) 

 
Natomiast prawdopodobieństwo przeżycia (zachowania) schematu   wyraża się następująco 
 

1

)

(

1

)

(

δ

=

m

S

S

p

d

 

(4.71) 

gdzie 

)

(S

δ

 jest rozpiętością schematu  , zaś 

m

 jest długością chromosomów pasujących do 

schematu  
 

background image

 

39 

 
Przykł. 4.7.  Efekt krzyżowania jednopunktowego. 

Załóżmy,  że  do  krzyżowania  jednopunktowego  wybrano  parę  osobników  rodzicielskich, 
których chromosomy s
ą kodowane binarnie 
 

[

]

T

1

1

1

0

0

0

|

1

1

0

1

0

0

=

v

 

(4.72) 

[

]

T

2

0

1

0

0

1

|

0

1

0

0

0

1

=

v

 

(4.73) 

 
oraz rozważmy dwa schematy 
 

[

]

T

1

1

1

#

#

#

|

#

#

#

1

#

#

=

S

 

(4.74) 

[

]

T

2

#

#

#

#

#

|

#

1

0

#

#

#

=

S

 

(4.75) 

 
gdzie  pionowa  kreska  w  chromosomach  i  schematach  oznacza  wybrany  punkt  krzyżowania 
le
żący  między  bitem  5  a  6.  Osobnik 

1

v

  pasuje  do  schematu 

1

S

,  natomiast  do  schematu 

2

S

 

pasują  oba  osobniki  rodzicielskie.  Schematy  charakteryzują  się  następującymi  rzędami  i 
rozpi
ętościami: 
 

8

)

(

,

3

)

(

1

1

=

δ

=

ρ

S

S

 

(4.76) 

1

)

(

,

2

)

(

1

1

=

δ

=

ρ

S

S

 

(4.77) 

 
W rezultacie krzyżowania jednopunktowego generowane są następujące osobniki potomne 
 

[

]

T

'

1

0

1

0

0

1

|

1

1

0

1

0

0

=

v

 

(4.78) 

[

]

T

'

2

1

1

0

0

0

|

0

1

0

0

0

1

=

v

 

(4.79) 

 
Jak widać, osobniki potomne pasują tylko do schematu 

2

S

, inaczej mówiąc schemat 

2

S

 został 

zachowany (przeżył). Z kolei do schematu 

1

S

 nie pasuje żaden potomek, tzn. został utracony 

(zniszczony). 

Dla wyżej wymienionych schematów 

1

S

 i 

2

S

 prawdopodobieństwa destrukcji i przeżycia 

wynoszą odpowiednio 
 

10

2

)

(

,

10

8

)

(

1

1

=

=

S

p

S

p

d

d

 

(4.80) 

10

9

)

(

,

10

1

)

(

2

2

=

=

S

p

S

p

d

d

 

(4.81) 

 
Uzyskane  prawdopodobieństwa  wskazują,  że  większą  szansę  przeżycia  podczas  operacji 
krzy
żowania posiada schemat 

2

S

, a przyczyną tego jest jego mała rozpiętość

 

 

Jeśli  operacja  krzyżowania  jest  wykonywana  z  prawdopodobieństwem  krzyżowania 

c

p

wówczas 

wzory 

(4.70) 

(4.71) 

wyrażające 

prawdopodobieństwo 

utraty 

oraz 

prawdopodobieństwo zachowania schematu   przybierają odpowiednio postać nierówności: 
 

1

)

(

)

(

δ

m

S

p

S

p

c

d

 

(4.82) 

background image

40 

4. Algorytmy ewolucyjne 

1

)

(

)

(

δ

m

S

p

S

p

c

d

 

(4.83) 

4.9.3.

 

Efekt mutacji 

Operacja 

mutacji 

oznacza 

losową 

zmianę 

wartości 

poszczególnych 

genów 

prawdopodobieństwem mutacji 

m

p

. Aby schemat   przeżył mutację, ustalone pozycje (geny 

o  wartościach  0  lub  1)  muszą  zostać  zachowane.  Zatem  pojedynczy  gen  przeżywa  z 
prawdopodobieństwem  równym 

m

p

1

.  Ponieważ  mutacje  na  poszczególnych  pozycjach  są 

statystycznie  niezależnie,  dany  schemat    przeżyje  mutację  z  prawdopodobieństwem 
równym 
 

)

(

)

1

(

)

(

S

m

s

p

S

p

m

ρ

=

 

(4.84) 

 
Przyjmując  małe  wartości  prawdopodobieństwa  mutacji 

m

p

  (

1

<<

m

p

),  określić  można 

prawdopodobieństwo przeżycia schematu   za pomocą następującego wyrażenia: 
 

m

s

p

S

S

p

m

ρ

)

(

1

)

(

 

(4.85) 

 
gdzie

)

(S

ρ

 jest rzędem schematu  . Prawdopodobieństwa przeżycia schematów z przykł. 4.7 

wynoszą odpowiednio: 
 

m

s

p

S

p

m

3

1

)

(

 

(4.86) 

m

s

p

S

p

m

2

1

)

(

 

(4.87) 

4.9.4.

 

Twierdzenie o schematach 

Łącząc wpływ selekcji, krzyżowania i mutacji na oczekiwana liczbę reprezentantów uzyskuje 
się następujące pełne równanie schematu [1, 19, 72, 74] 
 

ρ

δ

ξ

ξ

+

m

c

avg

t

t

t

p

S

m

S

p

t

f

S

F

S

S

)

(

1

)

(

1

)

(

)

(

)

(

)

(

1

 

(4.88) 

 
Podstawową  konkluzją  wynikającą  z  powyższej  nierówności  jest  to,  że  schematy  o  małej 
rozpiętości,  niskiego  rzędu  i  z  wyższym  stopniem  przystosowania  uzyskują  wykładniczo 
rosnącą  liczbę  reprezentantów  w  następnych  pokoleniach.  Wynika  stąd,  iż  osobniki 
haploidalne  z  chromosomami  kodowanymi  binarnie,  które  pasują  do  tychże  schematów,  są 
nieustannie  wybierane  (selekcja),  zestawiane  (krzyżowanie),  mutowane  na  pozycjach 
nieustalonych  schematu  oraz  powielane,  tworząc  osobniki  o  potencjalnie  wyższym  stopniu 
przystosowania.  Wniosek  ten  otrzymał  miano  twierdzenia  o  schematach  [1,  19,  72,  74].  Na 
podstawie tego twierdzenia wysnuto hipotezę, iż algorytm genetyczny poszukuje rozwiązania 
optymalnego  poprzez  „zachowywanie”  krótkich  schematów  niskiego  rzędu  o  wyższym 
stopniu  przystosowania,  które  nazwane  są  blokami  budującymi.  Dowód  powyższej  hipotezy 
jest  oparty  głównie  na  wynikach  empirycznych  uzyskanych  dla  szerokiego  spektrum 
zastosowań GA [1, 19, 72, 74].  

Oczywistym  jest,  iż  w  toku  genetycznej  ewolucji  populacji,  o  liczbie  osobników    i 

długości chromosomów 

m

 kodowanych binarnie przetwarzaniu podlega co najmniej 

m

2  i co 

najwyżej 

m

N

2

  schematów.  Jednak  nie  wszystkie  z  nich  maja  szansę  na  przetrwanie, 

background image

 

41 

 
ponieważ  operacja  krzyżowania  niszczy  schematy  o  dużej  rozpiętości,  zaś  mutacja  niszczy 
schematy  o  wyższym  rzędzie.  Wykazano,  iż  (przy  względnie  długich  chromosomach: 

2

2

N

m

>

)  efektywna  liczba  schematów  przetwarzana  w  każdym  pokoleniu  przez  algorytm 

genetyczny  wynosi  w  przybliżeniu

3

N

.  Własność  tę  nazwano  ukrytą  równoległością  (ang. 

implicit  parallelism

),  ponieważ  algorytm  genetyczny,  mimo  działania  na  zbiorze   

osobników  dokonuje  przetwarzania 

3

N

  schematów  [1,  19,  72,  74].  Własność  ta  czyni 

algorytmy genetyczne szczególnie atrakcyjnymi w klasie metod optymalizacji. 

4.9.5.

 

Pełny cykl algorytmu genetycznego 

Stosując  oznaczenia  i  definicje  przedstawione  we  wcześniejszych  punktach,  pełny  cykl 
algorytmu genetycznego w przypadku kodowania binarnego prezentuje proc. 4.4. 
 
Proc. 4.4.  GA. 

1.  wygeneruj losowo z rozkładem równomiernym początkową populację osobników 
 

[

]

N

v

v

v

V

2

1

=

 

(4.89) 

 

gdzie 

[

]

T

2

1

i

i

i

N

i

v

v

v

v

=

 

])

100

,

50

[

,

,

,

2

,

1

(

=

N

N

i

 jest 

i

-tym haploidalnym 

osobnikiem  (chromosomem)  w  populacji 

V

,  zaś 

i

k

v

 

)

,

,

2

,

1

(

n

k

=

  jest  losową 

sekwencją binarną (odcinkiem chromosomu) o ustalonej długości, kodującą wartość 

k

-tego poszukiwanego parametru; 

 
2.  zdekoduj genotyp osobnika haploidalnego na odpowiedni jego fenotyp 
 

[

]

T

2

1

i

i

i

N

i

x

x

x

x

=

 

(4.90) 

 

gdzie 

 

,

,

,

2

,

1

,

2

1

2

0

n

k

v

x

x

x

x

k

ij

k

i

m

j

j

k

m

k

k

k

k

=

+

=

=

 

(4.91) 

 

jest 

k

-tą współrzędną fenotypu 

i

x

, przedział 

[

]

k

k

x

,

x

 jest jej dziedziną, zaś 

k

m

 

oznacza długość sekwencji 

i

k

v

 kodującej współrzędną 

i

k

x

 
3.  wyznacz stopień przystosowania 

)

(

i

x

 każdego osobnika: 

 

•  w przypadku, gdy funkcja celu jest funkcją kosztu 

)

x

u

 

 

)

(

)

(

max

i

i

u

C

f

x

x

=

 

(4.92) 

 

gdzie współczynnik 

max

C

 jest równy maksymalnej wartości 

)

(

i

x

 w aktualnej 

populacji, 

 
 

•  w  przypadku  funkcji  zysku 

)

x

g

,  gdy  jej  przeciwdziedzina  jest  określona  na 

zbiorze liczb rzeczywistych dodatnich i ujemnych, 

 

background image

42 

4. Algorytmy ewolucyjne 

min

)

(

)

(

C

g

f

i

i

=

x

x

 

(4.93) 

 

gdzie  współczynnik 

min

C

  jest  równy  minimalnej  wartości 

)

(

i

x

  w  aktualnej 

populacji; 

 
4.  jeżeli ustalona liczba pokoleń (iteracji) jest osiągnięta to zakończ algorytm i wyznacz 

z  aktualnej  populacji  najlepszego  osobnika,  tzn.  osobnika  o  najwyższym  stopniu 
przystosowania. W przeciwnym wypadku przejdź do kroku 5); 

 
5.  przeskaluj stopnie przystosowania osobników według metody skalowania liniowego: 
 

•  znajdź  w  aktualnej  populacji  osobnika  o maksymalnym  i  minimalnym  stopniu 

przystosowania 

 

)

(

max

}

,

,

2

,

1

{

i

N

i

max

f

f

x

=

 

(4.94) 

)

(

min

}

,

,

2

,

1

{

i

N

i

min

f

f

x

=

 

(4.95) 

 

•  wyznacz średnie przystosowanie populacji 

 

=

=

N

i

i

avg

f

N

f

1

)

(

1

x

 

(4.96) 

 

•  przeskaluj stopnie przystosowania osobników według formuły 

 

b

af

f

i

i

s

+

=

)

(

)

(

x

x

 

(4.97) 

 

gdzie 

a

 i 

b

 oznaczają współczynniki skalowania  liniowego, których wartości 

wyznaczane są następująco: 
 

••  jeżeli warunek skalowania 

 

1

>

c

f

cf

f

max

avg

min

 

(4.98) 

 

••  jest spełniony to wyznacz współczynniki skalowania 

)

2

(

=

c

 

 

)

1

(

,

)

1

(

+

=

=

a

f

b

f

f

c

f

a

avg

avg

max

avg

 

(4.99) 

 

•• 

w przeciwnym przypadku wyznacz  współczynniki skalowania  według 
wzorów 

 

min

min

avg

avg

af

b

f

f

f

a

=

=

,

 

(4.100) 

 

6.  wyselekcjonuj  pulę  rodzicielską 

p

V

  z  populacji  osobników 

V

  według  metody  ze 

stochastycznym doborem resztowym: 

•  wyznacz oczekiwaną liczbę kopii osobników z populacji 
 

background image

 

43 

 

N

i

N

f

f

e

N

i

i

i

i

,

,

2

,

1

,

)

(

)

(

)

(

1

=

=

=

x

x

x

 

(4.101) 

 

•  skopiuj 

=

=

N

i

i

e

N

1

int

)

x

  osobników  do  puli  rodzicielskiej  na  podstawie  ich 

całkowitych  częściach  liczby 

)

(

i

x

,  oraz  określenie  liczby  ‘wakatów’ 

int

~

N

N

N

=

 

 
•  wyznacz dystrybuanty osobników według resztowej części 

)

(

i

x

 

 

{

}

=

=

i

j

j

j

i

e

e

q

1

)

(

)

(

)

(

x

x

x

 

(4.102) 

 

• 

N

~

-krotne ‘zakręć kołem ruletki’ poprzez 

N

~

-krotne: 

 

••  wygenerowanie losowej liczby 

[ ]

1

,

0

r

 

 

••  wyznaczenie  pierwszego  napotkanego  osobnika  w  populacji,  dla 

którego spełniony jest warunek 

 

)

(

)

(

N

i

q

q

r

x

x

 

(4.103) 

 

••  skopiowanie znalezionego osobnika do puli rodzicielskiej; 

 
7.  wyselekcjonuj  pulę  rodzicielską 

p

V

  z  populacji  osobników 

V

  według  metody  ze 

stochastycznym doborem resztowym: 

 

•  wylosowanie  pary  rodziców,  a  następnie  wykonanie  na  nich  krzyżowania 

jednopunktowego z prawdopodobieństwem krzyżowania 

]

1

,

6

.

0

[

c

p

 przez: 

 

••  wygenerowanie liczby 

]

1

,

0

[

r

 z rozkładem równomiernym dla każdej 

pary rodziców 

 

••  skrzyżowanie pary jeżeli 

c

p

r

: tzn. wylosowanie punktu krzyżowania 

c

j

  należącego  do  dyskretnego  przedziału 

]

1

,

1

[

m

,  gdzie 

m

  jest 

długością  chromosomu,  i  zamianę  miejscami  części  chromosomów 
wylosowanej  pary  rodzicielskiej    począwszy  od  bitu 

1

+

c

j

  do  bitu 

m

 

włącznie, 

 

•  przeprowadzenie  mutacji  binarnej  z  ustalonym  prawdopodobieństwem 

mutacji: 

 

••  wygenerowanie  liczby 

]

1

,

0

[

r

  z  rozkładem  równomiernym  dla 

każdego genu, 

 

background image

44 

4. Algorytmy ewolucyjne 

••  mutacja  jeżeli 

m

p

r

:  tzn.  zanegowanie  danego  bitu  (zwykle 

m

p

 

równe jest odwrotności liczby osobników populacji); 

 

8.  zastąp  ‘starą’  populację  nowo  powstałą  populacją  potomków 

'

V

  według  strategii  z 

pełną reprodukcją, tzn.: 

'

V

V

 i powróć do kroku 2). 

 

4.10.

   Podsumowanie 

W niniejszym rozdziale przedstawiono podstawy konstrukcji algorytmów genetycznych jako 
narzędzi  optymalizacji  stochastycznej.  Cechą  charakterystyczną  GA  jest  prowadzenie 
poszukiwań  w  wielu  punktach.  W  zaimplementowanym  sztucznym  procesie  ewolucji 
parametry  zadania  optymalizacji  posiadają  postać  zakodowaną.  Natomiast  do  wyboru  i 
tworzenia  nowych  rozwiązań  stosuje  się  reguły  probabilistyczne.  Jak  zauważono  powyżej 
metody  ewolucyjnej optymalizacji korzystają jedynie z łatwo wyznaczalnej wartości funkcji 
celu.  Wolne  są  zatem  od  wielu  ograniczeń  nakładanych  zwykle  na  funkcje  kryterialne,  tj: 
ciągłość, istnienie pochodnych, unimodalność, itp. Te i inne udogodnienia realizacyjne czynią 
algorytmy ewolucyjne szczególnie atrakcyjnymi implementacyjne. 

Ponadto  wyjaśniono  terminologię  genetyczną  wraz  ze  stosowanymi  oznaczeniami  oraz 

podany  został  opis  podstawowych  procedur  GA  z  uwzględnieniem  techniki  tworzenia  nisz 
pomocnej 

rozwiązywaniu 

zadań 

wielokryterialnej 

optymalizacji. 

Dodatkowo 

zaprezentowano numeryczne algorytmy realizacji owych procedur.