mio xt
Transkrypt
mio xt
www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl RODZAJE ZADAŃ ZADAŃ OPTYMALIZACJI (w zależ zależnoś ności od przestrzeni poszukiwań poszukiwań) METODY INTELIGENCJI OBLICZENIOWEJ Optymalizacja parametryczna (punkt x∈U jest wektorem zm. zm. niezależ niezależnych): nych): 1. Zadania cią przestrzeń poszukiwań poszukiwań jest iloczynem ciągłe (przestrzeń kartezjań kartezjańskim zbioru liczb rzeczywistych U=Rn ). wykład 2 - wypukł zbiór dopuszczalny i f. celu są wypukł wypukłe); wypukłe (zbió - optymalizacji globalnej (zb. zb. dopuszczalny lub f. celu jest niewypukł niewypukła). 1 www.kwmimkm.polsl.pl 2. Zadania dyskretne (wartoś wartości zm. zm. należą należą do zbioru 2 www.kwmimkm.polsl.pl OGRANICZENIA FUNKCJI CELU (za: J.Arabas) dyskretnego – skoń skończonego lub przeliczalnego). przeliczalnego). 3. Zadania kombinatoryczne (każ każda ze zmiennych przyjmuje wartość wartość logiczną logiczną). 4. Zadania mieszane. mieszane. kostkowe Stopień Stopień skomplikowania zadania zależ zależy od: - postaci funkcji celu; - kształ kształtu obszaru dopuszczalnego. * Jeś Jeśli funkcja celu i zbió zbiór dopuszczalny są wypukł wypukłe, to istnieje dokł dokładnie jedno minimum funkcji. funkcji. 3 MINIMA LOKALNE f(x) x2 minimum funkcji bez ograniczeń www.kwmimkm.polsl.pl obszar dopuszczalny MINIMA LOKALNE MINIMUM GLOBALNE minima funkcji z ograniczeniami 0 x funkcja z min. lokalnymi 0 wypukły obszar dop. dop. x1 min. lokalne wynikające z niewypukłości zb. zb. ograniczającego niewypukły obszar dop. dop. niespójny obszar dop. dop. 4 www.kwmimkm.polsl.pl ALGORYTMY GENETYCZNE I EWOLUCYJNE (za: J.Arabas) J.Arabas) 5 6 1 www.kwmimkm.polsl.pl Karol Darwin (1859 „On the origin of species”): species”): www.kwmimkm.polsl.pl • Ewolucja przez dobór naturalny oznacza, że przeprze- żywają i rozmnażają się osobniki najlepiej przystosoprzystosowane do warunków środowiska. • Wynik przystosowania zależy od: - organizmu; - środowiska. Gregor Johann Mendel (18221822-1884) 1884) austriacki zakonnik, augustianin, prekursor genetyki. genetyki. • Sformułował podstawowe prawa dziedziczenia (3 prawa Mendla), Mendla), przeprowadzając badania nad krzyżowaniem roślin, głównie grochu jadalnego. jadalnego. 7 8 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl • Na świat przychodzi dużo więcej potomstwa, niż może pomieścić środowisko. AG – CO TO JEST? • Przeżywają nieliczni, nieliczni, ale za to najlepsi (selekcja naturalna). • AG odwzorowują naturalne procesy ewolucji zachodzące w czasie. • W procesie ewolucji istotne jest zachowywanie różnorodności cech. • Celem tych procesów jest maksymalne dopasowanie osobników do istniejących warunków życia. • Siła ewolucji to nie zaawansowany proces doskonadoskonalenia jednostki, jednostki, lecz utrzymywanie dużej liczby różnorodnych osobników (tzw. populacji), która ewoluuje jako całość. całość. • Rolę środowiska spełnia tu funkcja oceniająca (funkcja celu). 9 www.kwmimkm.polsl.pl 10 AG - TERMINOLOGIA www.kwmimkm.polsl.pl 100011011 • gen – najmniejsza składowa chromosomu, decydująca • Łączą w sobie ewolucyjną zasadę przeżycia najlepiej przystosowanych osobników z systesystematyczną, matyczną, choć zrandomizowaną wymianą informacji. o dziedziczności jednej lub kilku cech; • chromosom – uporządkowany ciąg genów (ciąg kodowy). Zwykle utożsamiany z osobnikiem; • locus – miejsce genu w chromosomie; • Pomimo elementu losowości AG nie błądzą przypadkowo, lecz wykorzystują efektywnie przeszłe doświadczenia. doświadczenia. • allel – wariant (stan) jednego genu warunkujący daną cechę; • populacja – pewna liczba osobników (chromosomów); 11 12 2 AG - TERMINOLOGIA www.kwmimkm.polsl.pl • fenotyp – ogół cech ujawniających się na zewnątrz (np. rozkodowana postać zmiennych projektowych); • algorytmy genetyczne; • programowanie ewolucyjne (ewoluujące automaty); • strategie ewolucyjne; • symulowane wyżarzanie; • systemy klasyfikujące; • sieci neuronowe; • algorytmy mrówkowe; • algorytmy immunologiczne. • genotyp – ogół genów danego osobnika; • mutacja – zmiana jednego lub kilku genów w chromosomie; • krzyżowanie – operacja mająca na celu wymianę materiału genetycznego między osobnikami. 13 14 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl ZASTOSOWANIA PRAKTYCZNE AG (i AE): • Ewolucja przez dobór naturalny oznacza, że przeprze- żywają i rozmnażają się osobniki najlepiej przystosoprzystosowane do warunków środowiska. • wyznaczanie trasy połączeń kablowych; • harmonogramowanie; • sterowanie adaptacyjne; • rozgrywanie gier; • zadanie plecakowe; • zadanie komiwojażera; • sterowanie optymalne; • optymalizacja obsługi pytań w bazach danych; • ... MUZYKA? www.kwmimkm.polsl.pl ALGORYTMY NAŚ NAŚLADUJĄ LADUJĄCE PROCESY ZACHODZĄ Ą CE W NATURZE: ZACHODZ 100011011 • Wynik przystosowania zależy od: - organizmu; - środowiska. 15 16 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl Joanna Kołodziejczyk: Kołodziejczyk: Elementy sztucznej inteligencjihttp://bijo.wi.ps.pl / http://bijo.wi.ps.pl/ John H. Holland, Holland, 1975: „Adaptation in Natural and Artificial Systems”: Systems”: • Koncepcja algorytmu przeszukiwania opartego na zasadzie doboru naturalnego. • W chromosomie pamiętane są poziome wysokości tonów. • Allele określają półtony które mogą być odtwarzane jako akordy. • Procedurę probabilistycznego przeszukiwania dyskretnej przestrzeni stanów nazwał algorytmem genetycznym. • Oceny jakości dokonuje operator nadając wagi odpowiednim chromosomom. 17 18 3 www.kwmimkm.polsl.pl SCHEMAT DZIAŁANIA AG: procedure algorytm_genetyczny begin t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do begin t:=t+1 wybierz P(t) z P(t-1) (selekcja) zmień P(t) (działanie operatorów genetycznych) oceń P(t) end end www.kwmimkm.polsl.pl JAK DZIAŁA AG? 19 20 www.kwmimkm.polsl.pl AG MUSI MIEĆ OKREŚLONE www.kwmimkm.polsl.pl Przykł Przykład (DLA KAŻDEGO ZADANIA): ZADANIA): 1. Podstawową odstawową reprezentację reprezentację zmiennych potencjalnego zadania; 2. Sposó posób tworzenia począ początkowej populacji potencjalnych rozwią rozwiązań zań; Znale źć:: Znaleźć max { f (x)=x )=x2} dla wartości całkowitych x z zakresu 00-31. Populacja w chwili t: P(t P(t)= {x {xt1, ...x ...xtn); 3. Funkcję unkcję oceniają oceniającą rozwią rozwiązania; 4. Podstawowe operatory; Założenia: Założenia: 5. Wartoś artości ró różnych parametró parametrów (rozmiar populacji, prawdopodobień prawdopodobieństwa uż użycia operatoró operatorów gen. gen. itp.) - łańcuchy 55-bitowe (x (x=0,1,...,31); - liczebność populacji n=4. 21 www.kwmimkm.polsl.pl Ścisł cisłe rozwią rozwiązanie: zanie: 1 1 1 1 1 x = 31; x2 = 961. Populacja początkowa (losowanie): x02 = x03 = x04 = www.kwmimkm.polsl.pl Sytuacja począ początkowa: tkowa: x= x01 = 22 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 23 Wartość Przystosowanie Prawd. wylosowania Oczekiwana liczba kopii osobnika f pi = i fi / f Σf i Nr osobnika Osobnik 1 11000 24 576 0.51 2.05 2 01011 11 0.11 0.43 3 01000 8 0.06 0.23 4 10011 19 121 64 361 0.32 1.27 Suma 1122 1.00 4.00 Średnia 281 0.25 1.00 Max 576 0.51 2.05 x f(x)=x2 24 4 www.kwmimkm.polsl.pl Selekcja: Każdemu ciągowi kodowemu odpowiada sektor koła ruletki o polu proporcjonalnym do przystosowania. Oczekiwana osobnika liczba kopii Nr 32% 1 2 3 4 51% 6% www.kwmimkm.polsl.pl Po selekcji: Osobnik Liczba po wylosowanych kopii selekcji <0.51, 0.62) ⇒ 2, ... 2.05 2 11000 24 576 0.35 0.43 1 01011 3 0.23 0 11000 11 24 121 576 0.07 0.35 4 1.27 1 10011 19 361 0.23 Osobnik po selekcji Partner Punkt krzyżowania Osobnik po krzyżowaniu 1 11000 2 4 2 01011 1 4 3 11000 4 2 4 10011 3 2 1634 1.0 Średnia 409 0.25 Max 576 0.35 (x2) 26 www.kwmimkm.polsl.pl Mutacja: Wartość Przystosowanie x f(x)=x2 Prawd. wylosowania osobnika 11001 25 625 0.36 1 11001 01010 100 729 0.06 0.43 2 01010 11011 10 27 3 10000 16 256 1710 0.15 4 Suma 1.0 Suma 1778 1.0 Średnia 428 0.25 Średnia 447 0.25 Max 729 0.43 Max 729 0.41 Osobnik po osobnika krzyżowa niu Wartość Przystosowanie x f(x)=x2 Prawd. wylosowania osobnika NNNNN 1 1 0 0 1 25 625 0.35 11011 NNNNN 0 1 0 1 0 NNNNN 1 1 0 1 1 10 27 100 729 0.06 0.41 10000 NNNTN 1 0 0 1 0 18 324 0.18 Nr Mutacja? Osobnik po mutacji był było: 729 był było: 576 27 28 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl ŚREDNIE DOPASOWANIE POPULACJI 409 400 Suma pm = 0.05 osobnika 500 f(x)=x2 2 pc = 0.9 Nr x Prawd. wylosowania osobnika 25 www.kwmimkm.polsl.pl Krzyżowanie: Przystosowanie 1 11% <0, 0.51) ⇒ 1, Wartość Rozpatrywać Rozpatrywać moż można zawsze zadanie maksymalizacji: maksymalizacji: 447 428 281 300 200 g (x) = -f (x) 100 0 Początkowo Po selekcji Po krzyżowaniu Po mutacji min f (x) = max g(x) = max{max{-f (x)} Zakłada się również, iż funkcja jest dodatnia w całej dziedzinie (selekcja!) MAX WARTOŚĆ FUNKCJI 800 700 600 500 400 300 200 100 0 729 576 729 576 max g(x) = max{g max{g(x )+C} Początkowo Po selekcji Po krzyżowaniu (jeś jeśli g(x) jest ograniczona z doł dołu) Po mutacji 29 30 5 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl KODOWANIE LICZB RZECZYWISTYCH 25 20 Zał Założenia: enia: 15 10 • f (x1,...x ,...xk): Rk→R 5 0 -5 0 1 2 3 4 5 • Di = [a [ai, bi]⊆R 6 -10 • f (x1,...x ,...xk) > 0 dla każ każdego xi ∈Di -15 -20 • dokł dokładność adność do c liczb znaczą znaczących po przecinku 25 Wykonanie: Wykonanie: 20 C 15 10 1. Podział Di = [ai, bi] na r = (bi - ai)⋅10c podprzedziałów. podprzedziałów. 5 0 -5 0 1 2 3 4 5 6 2. Wyznaczenie najmniejszej liczba całkowitej m: -10 (bi - ai)⋅10c ≤ 2m –1 -15 -20 31 www.kwmimkm.polsl.pl ODKODOWYWANIE: 1. Przekształcenie łańcucha binarnego o długości m na liczbę dziesiętną x’; 32 www.kwmimkm.polsl.pl Przykład: f (x) = x⋅sin(10π x) +1 max{ max{ f (x)} 2. Obliczenie rzeczywistej wartości liczby: x = ai + (bi − ai ) x ' 2m − 1 x ∈ [-1, 2] • Liczba miejsc po przecinku: c = 6 • Dziedzina funkcji: 33 www.kwmimkm.polsl.pl ai = -1; bi = 2; 2; c = 6 Na ilu bitach trzeba zakodować liczbę (wyznaczenie m)? 34 www.kwmimkm.polsl.pl Mając ciąg bitów: 1100101010010101010101 liczba podprzedziałów: podprzedziałów: Odkodowywanie: Odkodowywanie: r = (bi - ai)⋅10c = 3· 3·106 (bi - ai)⋅10c ≤ 1. x′=3319125 2. Obliczenie rzeczywistej wartości liczby: [2 – (-1)]⋅ 1)]⋅106+1 = 3 000 001 ≤ 2m 2 097 152 = 221 Przekształcenie łańcucha na liczbę dziesiętną x’: 2m –1 ≤ 3 000 001 ≤ 222 = 4 194 304 m = 22 35 x = ai + (bi − ai ) x ' 2m − 1 =1.374025 = −1 + 3 ⋅ 3319125 4194304 − 1 ai = -1; bi = 2; 2; c = 6 36 6 www.kwmimkm.polsl.pl 00000000000000000000000 www.kwmimkm.polsl.pl Przykład: 1111111111111111111111 f (x) = 21.5 + x1⋅sin(4π sin(4πx1) + x2⋅sin(20π sin(20πx2) max{ max{f (x1, x2)} x′= 0 x′= 4194303 • x1 ∈ [-3.0, 12.1] x = −1 + 0 = -1 4194304 − 1 x = −1 + • x2 ∈ [4.1, 5.8] 3 ⋅ 4194303 =2 4194304 − 1 • c1 = c2 = 4 ai = -1; bi = 2 37 38 www.kwmimkm.polsl.pl Wielkości zadawane przed uruchomieniem AG: r1 = (b (b1 - a1) ·10c = 15.1· 15.1·104 x1: 15.1· 15.1·104 ≤ 2m –1 • • • • 131 032 = 217 ≤ 151 001 ≤ 218 = 262 144 m1 = 18 r2 = (b (b2 - a2) ·10c = 1.7·104 x2: www.kwmimkm.polsl.pl liczebność populacji, prawdopodobieństwo krzyżowania, prawdopodobieństwo mutacji, inne (zależy od algorytmu). 1.7·104 ≤ 2m –1 16 384 = 214 ≤ 17 001 ≤ 215 = 32 768 Zazwyczaj wartości dobiera się ekspeeksperymentalnie (metodą prób i błędów), indywidualnie dla rozwiązywanego problemu... m2 = 15 m = m1 + m2 = 33 choć istnieją pewne ogólne zalecenia... 11001010100101011001110101010101 39 40 www.kwmimkm.polsl.pl BINARNIE CZY INACZEJ? 41 www.kwmimkm.polsl.pl Binarnie Niebinarnie 00000 A 00001 B ... ... 11001 Z 11010 1 ... ... 11111 6 Ciąg binarny 11000 Ciąg niebinarny Y Wartość 24 Dopasowanie 576 01011 01000 10011 L I T 11 8 19 121 64 361 42 7 www.kwmimkm.polsl.pl Jeden z celów zmodyfikowanego kodowania: przybliżenie algorytmu do przestrzeni zadania. (Nie zawsze prawdziwe przy kodowaniu binarnym) np.: Cał Całkowitoliczbowo 0111 1000 7 8 43 Binarnie Kod Graya 0000 0000 0001 0001 0010 0011 0011 0010 0100 0110 0101 0111 0110 0101 0111 0100 1000 1100 1001 1101 1010 1111 1011 1110 1100 1010 1101 1011 1110 1001 1111 1000 www.kwmimkm.polsl.pl procedure BinToGray begin g1 := b1 for k := 2 to m do gk := bk–1 XOR bk end procedure GrayToBin begin value := g1 b1 := value for k := 2 to m do begin if gk = 1 then value := NOT value bk := value end end Dogodne jest, by dwa punkty leżące blisko siebie w przestrzeni reprezentacji (genotyp (genotyp)) leżały również blisko siebie w przestrzeni zadania (fenotyp). fenotyp). Binarnie KOD GRAYA www.kwmimkm.polsl.pl Zmiana 1 bitu w kodzie powoduje, iż otrzymana liczba ma szansę być liczbą bezpośrednio bliską liczbie przed zmianą. a 0 0 1 1 b 0 1 0 1 a XOR b 0 1 1 0 b = 〈 b1, b2, ..., bm〉 – liczba binarna g = 〈 g1, g2, ..., gm〉 – liczba w kodzie Graya; Graya; m – długość ugość cią ciągu kodowego. kodowego. Jednakże jeżeli: • 100 zmiennych; • dziedzina z zakresu [[-500 500]; • żądana dokładność 6 miejsc po przecinku; 44 www.kwmimkm.polsl.pl To: • długość łańcucha binarnego wynosi 3000; 3000; • przestrzeń poszukiwań rzędu 101000. Dla tak wielkich przestrzeni AG działają słabo... Zasada minimalnego alfabetu: 45 Należy wybrać najmniejszy alfabet, w którym zadanie wyraża się w sposób naturalny. www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl KODOWANIE LOGARYTMICZNE Stosowane w celu zmniejszenia długości łańcucha binarnego. [b1b2 bin ] = ( −1)b2 e( −1) b1 [ bin ]10 46 • Za pomocą 5 bitów możliwe jest zakodowanie liczb z zakresu [-e7, e7] (w kodowaniu binarnym [0, 31]). b1 – bit znaku wykł wykładnika funkcji wykł wykładniczej; adniczej; b2 – bit znaku funkcji wykł wykładniczej; adniczej; bin – reprezentacja wykł wykładnika funkcji wykł wykładniczej [bin]10 – wartość wartość dziesię dziesiętna liczby zakodowanej binarnie. binarnie. • Dalszą modyfikacją jest zastosowanie KODOWANIA ZMIENNOPOZYCYJNEGO. ZMIENNOPOZYCYJNEGO. 1 [10110] = ( −1)0 e( −1) [110]10 = e −6 = 0.002478752 0 [01011] = ( −1)1 e( −1) [ 011]10 = − e3 = −20.08553692 47 48 8