• Nie Znaleziono Wyników

S ZTUCZNA I NTELIGENCJA

N/A
N/A
Protected

Academic year: 2021

Share "S ZTUCZNA I NTELIGENCJA "

Copied!
18
0
0

Pełen tekst

(1)

S ZTUCZNA I NTELIGENCJA

W

YKŁAD

15. A

LGORYTMY GENETYCZNE

Dr hab. inż. Grzegorz Dudek

Wydział Elektryczny

(2)

2

allele – wartości, warianty genów,

chromosom - (inaczej osobnik, genotyp, struktura, łańcuch lub ciąg kodowy) zakodowane zmienne/parametry zadania,

fenotyp - zdekodowane zmienne/parametry zadania, rozwiązanie,

gen - (inaczej cecha, znak, dekoder) zakodowana wartość pojedynczej zmiennej/parametru, generacja - populacja w wymiarze czasowym (w kolejnych iteracjach),

krzyżowanie - (inaczej rekombinacja, krosowanie) operator genetyczny dwu lub wieloargumentowy, łączący cechy osobników rodzicielskich w osobnikach potomnych, locus - pozycja genu w chromosomie,

mutacja - operator genetyczny jednoargumentowy, wprowadzający perturbację chromosomu, napór selekcyjny - wymagania środowiska względem osobników populacji,

populacja - zbiór chromosomów przetwarzany w procesie ewolucyjnym, przystosowanie - ocena chromosomu,

pula rodzicielska - tymczasowa populacja chromosomów utworzona w wyniku selekcji,

selekcja - (inaczej reprodukcja) proces powielania chromosomów w stosunku zależnym od ich przystosowania.

T ERMINOLOGIA

(3)

Zasadnicze różnice między tradycyjnymi metodami optymalizacji a algorytmami genetycznymi*:

• AG nie przetwarzają bezpośrednio parametrów zadania, lecz ich zakodowaną postać,

• AG prowadzi poszukiwania, wychodząc nie z pojedynczego punktu, lecz z całej ich populacji,

• AG korzystają tylko z funkcji celu (zwanej funkcją przystosowania), nie zaś z jej pochodnych lub innych pomocniczych informacji,

• AG stosują probabilistyczne, a nie deterministyczne reguły wyboru.

Probabilistyczny – oparty na teorii prawdopodobieństwa

Deterministyczny – nieprzypadkowy, uznający zasadę prawidłowości, przyczynowego uwarunkowania zjawisk, określony, jednoznaczny

Stochastyczny – częściowo losowy lub niepewny, probabilistyczny

A LGORYTM GENETYCZNY JAKO METODA OPTYMALIZACJI

(4)

4

S CHEMAT AG

(5)

1. Zdefiniuj zmienne i ustal ich reprezentację.

2. Ustal parametry AG/AE.

3. Wygeneruj początkową populację osobników P(0).

4. Oceń populację początkową P(0).

5. Dla t = 1, 2, ... powtarzaj do momentu spełnienia warunku zatrzymania:

5.1. Reprodukcja: wybierz osobniki z populacji P(t) do P(t-1) korzystając z metody selekcji.

5.2. Zmodyfikuj P(t) używając operatorów genetycznych.

5.3. Oceń populację P(t).

S CHEMAT AG/AE

(6)

6

Zadanie

Znaleźć maksimum funkcji

f(x) = 2 x2 + 1 dla x N i x ∈ [0, 15].

Przestrzeń poszukiwań – {0, 1, ..., 15}

K LASYCZNY AG W AKCJI

(7)

1. Zdefiniuj zmienne i ustal ich reprezentację Zmienna - x

Dziedzina x obejmuje 16 wartości – 0, 1, ..., 15 Do zakodowania 16-tu wartości potrzeba 4 bitów Sposób kodowania – reprezentacja binarna:

x 0 1 2 3 ... 15

chromosom 0000 0001 0010 0011 ... 1111

Osobniki (chromosomy) składają się z jednego genu, allele przyjmują wartości 16 wariantów.

K LASYCZNY AG W AKCJI

(8)

8

2. Ustal parametry AE

Liczebność populacji (liczba osobników) – N = 4 Liczba generacji (iteracji AG) – Lgen= 10

Metoda krzyżowania – krzyżowanie jednopunktowe Prawdopodobieństwo krzyżowania – pc= 0,9

Metoda mutacji – binarna równomierna Prawdopodobieństwo mutacji – pm= 0,1 3. Wygeneruj populację początkową P(0)

Generacja jest często losowa, np:

0110 1100 1011 1011

(9)

4. Oceń populację P(0)

Aby ocenić chromosomy trzeba je zdekodować, czyli wyznaczyć ich fenotypy xi, a następnie podstawić xi do funkcji celu i obliczyć przystosowanie f(xi).

Genotypy Fenotypy Przystosowanie

0110 6 73

1100 12 289

1011 11 243

1011 11 243

5. Dla t = 1, 2, ... powtarzaj do momentu spełnienia warunku zatrzymania

Warunek zatrzymania – osiągnięcie optimum, przekroczenie zadanej liczby iteracji, brak

(10)

10

5.1. Reprodukcja: wybierz osobniki z populacji P(t) do P(t-1) korzystając z metody selekcji.

Selekcja metodą koła ruletki

Prawdopodobieństwo selekcji chromosomu chi:

=

= N

j

j i i

s

ch f

ch ch f

p

1

) (

) ) (

(

v(chj) - wycinek koła odpowiadający chromosomowi chi:

% 100 ) ( )

(chi = ps chi v

W naszym przykładzie:

= 4 =

1

848 ) (

j

chj

f

K LASYCZNY AG W AKCJI

(11)

ps(ch1) = 73/848 = 0,09 v(ch1) = 9%

ps(ch2) = 289/848 = 0,33 v(ch1) = 33%

ps(ch3) = 243/848 = 0,29 v(ch3) = 29%

ps(ch4) = 243/848 = 0,29 v(ch4) = 29%

Po 4-krotnym zakręceniu kołem (czyli wylosowaniu liczb z zakresu [0, 100]), do puli rodzicielskiej wytypowano osobniki nr 2, 2, 3 i 4.

K LASYCZNY AG W AKCJI

29%

33%

29%

9%

0%

9%

71%

74

12

(12)

12

5.2. Zmodyfikuj P(t) używając operatorów genetycznych Krzyżowanie jednopunktowe

1. Losowo kojarzymy chromosomy z puli rodzicielskiej w pary tworząc N/2 par. Para podlega krzyżowaniu z prawdopodobieństwem pc lub przechodzi do następnej populacji bez krzyżowania (z prawdopodobieństwem 1 – pc).

2. Dla każdej pary wybieramy losowo punkt cięcia k {1, 2, ..., n-1}, gdzie n – liczba bitów w chromosomie.

3. Zamieniamy miejscami wszystkie bity od pozycji k+1 do n w obu chromosomach rodzicielskich, tworząc w ten sposób dwa osobniki potomne.

Po krzyżowaniu populacja potomków zastępuje populację rodziców.

K LASYCZNY AG W AKCJI

(13)

Osobniki rodzicielskie Osobniki potomne punkt cięcia

W naszym przykładzie:

Losowanie par rodziców: 1 i 3, 1 i 2 Losowanie punktów cięcia: 3 i 2

110 0 → 1101 11 00 → 1100 101 1 → 1010 11 00 → 1100

K LASYCZNY AG W AKCJI

K LASYCZNY AG W AKCJI

K LASYCZNY AG W AKCJI

0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0

1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1

(14)

14

Mutacja

Zmiana wybranych losowo genów chromosomów (bitów).

W naszym przykładzie:

Dla każdego bitu kolejnych chromosomów losujemy z rozkładem jednostajnym liczbę r [0, 1]. Jeśli r < pm zmieniamy wartość bitu. Prawdopodobieństwo mutacji bitu pm jest znacznie mniejsze od pc.

Tylko dla bitu 4 osobnika 2 otrzymano r < pm 1010 → 1011

0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 1

K LASYCZNY AG W AKCJI

(15)

5.3. Oceń populację P(t)

Genotypy Fenotypy Przystosowanie

1101 13 339

1011 11 243

1100 12 289

1100 12 289

W następnej generacji:

Selekcja:

= 4 =

1

1160 )

(

j

chj

f

ps(ch1) = 339/1160 = 0,29 v(ch1) = 29%

ps(ch2) = 243/1160 = 0,21 v(ch1) = 21%

ps(ch3) = 289/1160 = 0,25 v(ch3) = 25%

ps(ch4) = 289/1160 = 0,25 v(ch4) = 25%

K LASYCZNY AG W AKCJI

(16)

16

Krzyżowanie

Losowanie par rodziców: 4 i 3, 2 i 3 Losowanie punktów cięcia: 2 i 2 11 00 → 1111 10 11 → 1011 10 11 → 1000 10 11 → 1011 Mutacja: nie zachodzi.

Nowa populacja

Genotypy Fenotypy Przystosowanie

1111 15 451 – najlepsze rozwiązanie

1000 8 129

1011 11 243

1011 11 243

K LASYCZNY AG W AKCJI

(17)

Znaleźć maksimum funkcji f(x1, x2, ..., xn) dla xi R i xi∈ [ai, bi].

Szukamy rozwiązania z dokładnością do qi miejsc po przecinku dla zmiennej xi. Wymagana długość mi łańcucha bitów do zakodowania zmiennej xi:

i

i m

q i

i a

b ) 10 1 2

( − ⋅ + ≤

) 1 10 ) ((

(log2 − ⋅ +

= i i qi

i ceil b a

m

gdzie ceil – operator zaokrąglania w górę do najbliższej liczby całkowitej Dekodowanie:

1 2

) (

− + −

= mi

i i i i i

a b a y

x

gdzie yi – wartość dziesiętna łańcucha bitów kodującego xi

K ODOWANIE BINARNE ZMIENNYCH RZECZYWISTYCH

(18)

18

Przykład

f(x1, x2) = x12+x22, x1 [-1, 1], x2 [2, 5], q1 = 2, q2 = 4.

8 ) 65 . 7 ( ))

1 10 ) 1 1 ( (log )

1 10 ) ((

(log2 1 1 2 2

1

1 + = + + = =

=ceil b a ceil ceil

m q

15 ) 87 . 14 ( ))

1 10 ) 2 5 ( (log )

1 10 ) ((

(log2 2 2 2 4

2

2 + = + = =

=ceil b a ceil ceil

m q

Dla ch1 = 01101001110100011000101 => y1 = 105, y2 = 26821 18

. 1 0

2 ) 1 1 ( 1 105 1

2

) (

8 1

1 1 1

1 1 =−

− + + ⋅

− = + −

= y bm a a

x

4556 . 1 4

2

) 2 5 ( 26821 1 2

2

) (

15 2

2 2 2

2 2 =

− + ⋅

− = + −

= y bm a a

x

K ODOWANIE BINARNE ZMIENNYCH RZECZYWISTYCH

Cytaty

Powiązane dokumenty

Każdy osobnik opisany jest przez liczbę bitów (chromosomów) równą LBnP * liczba parametrów (tutaj 2).. Wartość każdego bitu dobierana

W teorii złożoności obliczeniowej problem NP-trudny (NPH) to taki problem obliczeniowy, którego rozwiązanie jest co najmniej tak trudne jak rozwiązanie każdego problemu z

 Krzyżowanie proste (inaczej: jednopunktowe) jest operatorem krzyżowania wymieniającego, czyli takiego, które nie modyfikuje genów osobników rodzicielskich, a

Grzegorz Dudek Wydział Elektryczny.. Schemat algorytmu

Ź RÓDŁA I POSTAĆ INFORMACJI TRENUJĄCEJ.. Gdy informacja trenująca jest niedostępna, mamy do czynienia z uczeniem bez nadzoru. Wtedy system uczy się właściwych odpowiedzi

Rozwiązanie jest reprezentowane przez chromosom x jako ciąg n artykułów; i-ty element tego ciągu jest liczbą z zakresu od 1 do n–i+1.. Dana jest lista artykułów

• Błąd generalizacji hipotezy w trakcie uczenia szacujemy na zbiorze walidacyjnym, różnym od zbioru trenującego. • Ostateczny błąd generalizacji SUS mierzymy na

Można przyjąć inną zasadę – jeśli odpowiedź sieci jest powyżej +0,8 oznacza to klasę A, a jeśli poniżej –0,8 – oznacza to klasę B. Odpowiedzi w przedziale [–0,8;