METODY INTELIGENCJI OBLICZENIOWEJ wykład RODZAJE ZADAŃ OPTYMALIZACJI (w zależno ności od przestrzeni szukiwań) Optymalizacja parametryczna (punkt U jest wektorem zm. niezależnych nych):. Zadania ciągłe (przestrzeń szukiwań jest iloczynem kartezjańskim zbioru liczb rzeczywistych U=R n ). - wypukłe (zbiór dopuszczalny i f. celu są wypukłe); - optymalizacji globalnej (zb. dopuszczalny lub f. celu jest niewypukła).. Zadania dyskretne (wartości zm. należą do zbioru dyskretnego skończonego lub przeliczalnego).. Zadania kombinatoryczne (każda ze zmiennych przyjmuje wartość logiczną).. Zadania mieszane. OGRANICZENIA FUNKCJI CELU (za: J.Arabas) kostkowe wypukły obszar dop. Stopień skomplikowania zadania zależy y od: - staci funkcji celu; - kształtu tu obszaru dopuszczalnego. Jeśli funkcja celu i zbiór dopuszczalny są wypukłe, to istnieje dokładnie jedno minimum funkcji. niewypukły obszar dop. niespójny obszar dop. MINIMA LOKALNE f() MINIMA LOKALNE MINIMUM GLOBALNE funkcja z min. lokalnymi min. lokalne wynikające z niewy- pukłości zb.. ograniczającego (za: J.Arabas) minimum funkcji bez ograniczeń obszar dopuszczalny minima funkcji z ograniczeniami 5 ALGORYTMY GENETYCZNE I EWOLUCYJNE 6
Karol Darwin (59 On the origin of species ): Gregor Johann Mel (-) - austriacki zakonnik, augustianin, prekursor genetyki. Sformułował dstawowe prawa dziedziczenia ( prawa Mla), przeprowadzając badania nad krzyżowaniem roślin, głównie grochu jadalnego Wynik przystosowania zależy od: - organizmu; - środowiska. grochu jadalnego. 7 AG CO TO JEST? AG odwzorowują naturalne procesy ewolucji zachodzące w czasie. Celem tych procesów jest maksymalne dopasowanie osobników do istniejących warunków życia. Rolę środowiska spełnia tu funkcja oceniająca (funkcja celu). 9 AG - TERMINOLOGIA Ewolucja przez dobór naturalny oznacza, że prze- żywają i rozmnażają się osobniki najlepiej przystoso- wane do warunków środowiska. Na świat przychodzi dużo więcej tomstwa, niż może mieścić środowisko. Przeżywają nieliczni,, ale za to najlepsi (selekcja naturalna). W procesie ewolucji istotne jest zachowywanie różnorodności cech. Siła ewolucji to nie zaawansowany proces doskona- lenia jednostki,, lecz utrzymywanie dużej liczby różnorodnych osobników (tzw. pulacji), która ewoluuje jako całość. Łączą w sobie ewolucyjną zasadę przeżycia najlepiej przystosowanych osobników z syste- matyczną,, choć zrandomizowaną wymianą informacji. Pomimo elementu losowości AG nie błądzą przypadkowo, lecz wykorzystują efektywnie przeszłe doświadczenia. gen najmniejsza składowa chromosomu, decydująca o dziedziczności jednej lub kilku cech; chromosom urządkowany ciąg genów (ciąg kodowy). Zwykle utożsamiany z osobnikiem; locus miejsce genu w chromosomie; allel wariant (stan) jednego genu warunkujący daną cechę; pulacja pewna liczba osobników (chromosomów);
AG - TERMINOLOGIA fenotyp ogół cech ujawniających się na zewnątrz (np. rozkodowana stać zmiennych projektowych); genotyp ogół genów danego ; mutacja zmiana jednego lub kilku genów w chromosomie; krzyżowanie operacja mająca na celu wymianę materiału genetycznego między mi. ALGORYTMY NAŚLADUJ LADUJĄCE PROCESY ZACHODZĄCE CE W NATURZE: algorytmy genetyczne; programowanie ewolucyjne (ewoluujące automaty); strategie ewolucyjne; symulowane wyżarzanie; systemy klasyfikujące; sieci neuronowe; algorytmy mrówkowe; algorytmy immunologiczne. ZASTOSOWANIA PRAKTYCZNE AG (i AE): wyznaczanie trasy łączeń kablowych; harmonogramowanie; sterowanie adaptacyjne; rozgrywanie gier; zadanie plecakowe; zadanie komiwojażera; sterowanie optymalne; optymalizacja obsługi pytań w bazach danych;... 5 Ewolucja przez dobór naturalny oznacza, że prze- żywają i rozmnażają się osobniki najlepiej przystoso- wane do warunków środowiska. Wynik przystosowania zależy od: - organizmu; - środowiska. 6 MUZYKA? Joanna Kołodziejczyk: Elementy sztucznej inteligencji- http://bijo.wi.ps.pl bijo.wi.ps.pl/ John H. Holland,, 975: Adaptation in Natural and Artificial Systems : Koncepcja algorytmu przeszukiwania opartego na zasadzie doboru naturalnego. W chromosomie pamiętane są ziome wysokości tonów. Allele określają półtony które mogą być odtwarzane jako akordy. Oceny jakości dokonuje operator nadając wagi odwiednim chromosomom. Procedurę probabilistycznego przeszukiwania dyskretnej przestrzeni stanów nazwał algorytmem genetycznym. 7
SCHEMAT DZIAŁANIA AG: procedure algorytm_genetyczny t:= wybierz pulację czątkową P(t) oceń P(t) while (not warunek_zakończenia) do t:=t+ wybierz P(t) z P(t-) (selekcja) zmień P(t) (działanie operatorów genetycznych) oceń P(t) JAK DZIAŁA AG? 9 AG MUSI MIEĆ OKREŚLONE (DLA KAŻDEGO ZADANIA):. Podstawową reprezentację zmiennych tencjalnego zadania;. Ssób b tworzenia czątkowej pulacji tencjalnych rozwiąza zań;. Funkcję oceniającą rozwiązania; zania;. Podstawowe operatory; 5. Wartości różnych r parametrów w (rozmiar pulacji, prawdodobieństwa użycia u operatorów w gen. itp.) Przykład Znale aleźć: ma { f ()= } dla wartości całkowitych z zakresu -. Populacja w chwili t: P(t)= {{ t,,... t n); Założenia: - łańcuchy 5-bitowe 5 (=,,...,);( - liczebność pulacji n=. Ścisłe e rozwiązanie zanie: = = ; = 96. Populacja czątkowa (losowanie): = = = = Sytuacja czątkowa tkowa: Nr Wartość 9 Suma Średnia Ma Przystosowanie f()= 6 6 Prawd. wylosowania Oczekiwana liczba kopii i p = f i Σ f f / f.5..6...5.5 i i.5...7...5
Selekcja: Po selekcji: Każdemu ciągowi kodowemu odwiada sektor koła ruletki o lu prorcjonalnym do przystosowania. % 6% % 5% Nr Przystosowanie f()= Oczekiwana liczba kopii.5...7 Liczba wylosowanych kopii selekcji Wartość 9 Suma Średnia Ma 6 6 9 Prawd. wylosowania.5.7.5...5.5 () <,.5), <.5,.6),... 5 6 Krzyżowanie: Mutacja: p c =.9 p m =.5 selekcji krzyżowaniu Partner Punkt krzyżowania Wartość 5 7 6 Suma Średnia Ma Przystosowanie f()= 65 79 56 7 79 Prawd. wylosowania.6.6..5..5. Nr krzyżowa niu Mutacja? NNNNN NNNNN NNNNN NNNTN mutacji Nr Wartość 5 7 Suma Średnia Ma Przystosowanie f()= 65 79 77 7 79 Prawd. wylosowania.5.6....5. było: było: 79 7 5 ŚREDNIE DOPASOWANIE POPULACJI 9 7 Rozpatrywać można zawsze zadanie maksymalizacji: g ()) = -f () Początkowo Po selekcji Po krzyżowaniu Po mutacji min f () = ma g() = ma{-f ()} 7 6 5 MAX WARTOŚĆ FUNKCJI 79 79 Początkowo Po selekcji Po krzyżowaniu Po mutacji 9 Zakłada się również, iż funkcja jest dodatnia w całej dziedzinie (selekcja!) ma g() = ma{g( )+C} (jeśli g() jest ograniczona z dołu) 5
5 5 5 5 6-5 - -5-5 5 5-5 - -5 - C 5 6 KODOWANIE LICZB RZECZYWISTYCH Założenia enia: f (,... k ): R k R D i = [a[ i, b i ] R f (,... k ) > dla każdego i D i dokładno adność do c liczb znaczących cych przecinku Wykonanie:. Podział D i = [a i, b i ] na r = (b i - a i ) c dprzedziałów.. Wyznaczenie najmniejszej liczba całkowitej m: (b i - a i ) c m ODKODOWYWANIE: Przykład:. Przekształcenie łańcucha binarnego o długości m na liczbę dziesiętną ;. Obliczenie rzeczywistej wartości liczby: ( bi ai) ' = ai + m f ()) = sin(π ) ) + ma{ f ()} Dziedzina funkcji: [-, ] Liczba miejsc przecinku: c = 6 Na ilu bitach trzeba zakodować liczbę (wyznaczenie m)? a i = -; b i = ; c = 6 liczba dprzedziałów: r = (b i - a i ) c = 6 (b i - a i ) c m [ (-)] )] 6 + = m 97 5 = = 9 Mając ciąg bitów: Odkodowywanie:. Przekształcenie łańcucha na liczbę dziesiętną : =95. Obliczenie rzeczywistej wartości liczby: ( bi ai) ' = ai + m 95 = + 9 m = 5 =.75 a i = -; b i = ; c = 6 6 6
= = 9 Przykład: f ()) =.5 + sin(π ) + sin( sin(π ) ma{f (, )} = + = - 9 9 = + = 9 [-.,.] [., 5.] c = c = a i = -; b i = 7 : : r = (b( - a ) c = 5. 5. m = 7 5 = 6 m = r = (b( - a ) c =.7.7 m 6 = 7 5 m = 5 m = m + m = 5 = 76 9 Wielkości zadawane przed uruchomieniem AG: liczebność pulacji, prawdodobieństwo krzyżowania, prawdodobieństwo mutacji, inne (zależy od algorytmu). Zazwyczaj wartości dobiera się ekspe- rymentalnie (metodą prób i błędów), indywidualnie dla rozwiązywanego problemu... choć istnieją pewne ogólne zalecenia... BINARNIE CZY INACZEJ? Ciąg binarny Binarnie Niebinarnie A B...... Z...... 6 Ciąg niebinarny Wartość Y Dopasowanie L I T 9 6 6 7
Jeden z celów zmodyfikowanego kodowania: przybliżenie algorytmu do przestrzeni zadania. 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). (Nie zawsze prawdziwe przy kodowaniu binarnym) np.: Binarnie Całkowitoliczbowo 7 KOD GRAYA procedure GrayToBin value := g b := value for k := to m do if g k = then value := NOT b k := value NOT value procedure BinToGray g := b for k := to m do g k := b k XOR b k b = b, b,..., b m liczba binarna g = g, g,..., g m liczba w kodzie Graya; m długość ciągu kodowego. a b a XOR b Binarnie Kod Graya Zmiana bitu w kodzie woduje, iż otrzymana liczba ma szansę być liczbą bezśrednio bliską liczbie przed zmianą. 5 Jednakże jeżeli: zmiennych; dziedzina z zakresu [-5[ 5]; żądana dokładność 6 miejsc przecinku; To: długość łańcucha binarnego wynosi ; przestrzeń szukiwań rzędu. Dla tak wielkich przestrzeni AG działają słabo... Zasada minimalnego alfabetu: Należy wybrać najmniejszy alfabet, w którym zadanie wyraża się w ssób naturalny. 6 KODOWANIE LOGARYTMICZNE Stosowane w celu zmniejszenia długości łańcucha binarnego. [ b b bin] = ( ) b ( ) [ bin] b bit znaku wykładnika funkcji wykładniczej adniczej; b bit znaku funkcji wykładniczej adniczej; bin reprezentacja wykładnika funkcji wykładniczej [bin] wartość dziesiętna liczby zakodowanej binarnie. b ( ) [ ] 6 [ ] = ( ) e = e =.775 e Za mocą 5 bitów możliwe jest zakodowanie liczb z zakresu [-e 7, e 7 ] (w kodowaniu binarnym [, ]). ). Dalszą modyfikacją jest zastosowanie KODOWANIA ZMIENNOPOZYCYJNEGO. ( ) [ ] [ ] = ( ) e = e =.556 9 7