Inteligencja obliczeniowa

Podobne dokumenty
SZTUCZNA INTELIGENCJA

Rozwiązywanie zadań optymalizacji w środowisku programu MATLAB

Zapis informacji, systemy pozycyjne 1. Literatura Jerzy Grębosz, Symfonia C++ standard. Harvey M. Deitl, Paul J. Deitl, Arkana C++. Programowanie.

Minimalizacja globalna. Algorytmy genetyczne i ewolucyjne.

Minimalizacja globalna, algorytmy genetyczne i zastosowanie w geotechnice

BADANIA OPERACYJNE. Podejmowanie decyzji w warunkach niepewności. dr Adam Sojda

) będą niezależnymi zmiennymi losowymi o tym samym rozkładzie normalnym z następującymi parametrami: nieznaną wartością 1 4

Analiza danych OGÓLNY SCHEMAT. Dane treningowe (znana decyzja) Klasyfikator. Dane testowe (znana decyzja)

Projekt 6 6. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH CAŁKOWANIE NUMERYCZNE

Zaawansowane metody numeryczne

ALGORYTMY GENETYCZNE ćwiczenia

I. Elementy analizy matematycznej

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 1. Układy równań liniowych

( ) ( ) 2. Zadanie 1. są niezależnymi zmiennymi losowymi o. oraz. rozkładach normalnych, przy czym EX. i σ są nieznane. 1 Niech X

SZACOWANIE NIEPEWNOŚCI POMIARU METODĄ PROPAGACJI ROZKŁADÓW

WikiWS For Business Sharks

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Statystyka Inżynierska

MATEMATYKA POZIOM ROZSZERZONY Kryteria oceniania odpowiedzi. Arkusz A II. Strona 1 z 5

Przykład: Znaleźć max { f (x)=x 2 } Nr osobnika Po selekcji: Nr osobnika

65120/ / / /200

Rozkład dwupunktowy. Rozkład dwupunktowy. Rozkład dwupunktowy x i p i 0 1-p 1 p suma 1

STATYSTYKA MATEMATYCZNA WYKŁAD 5 WERYFIKACJA HIPOTEZ NIEPARAMETRYCZNYCH

W praktyce często zdarza się, że wyniki obu prób możemy traktować jako. wyniki pomiarów na tym samym elemencie populacji np.

Ewolucyjne projektowanie filtrów cyfrowych IIR o nietypowych charakterystykach amplitudowych

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

OPTYMALIZACJA WARTOŚCI POLA MAGNETYCZNEGO W POBLIŻU LINII NAPOWIETRZNEJ Z WYKORZYSTANIEM ALGORYTMU GENETYCZNEGO

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Analiza rodzajów skutków i krytyczności uszkodzeń FMECA/FMEA według MIL STD A

XXX OLIMPIADA FIZYCZNA ETAP III Zadanie doświadczalne

Proste modele ze złożonym zachowaniem czyli o chaosie

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

D Archiwum Prac Dyplomowych - Instrukcja dla studentów

0 0,2 0, p 0,1 0,2 0,5 0, p 0,3 0,1 0,2 0,4

Proces narodzin i śmierci

Różniczkowalność, pochodne, ekstremum funkcji. x 2 1 x x 2 k

Twierdzenie Bezouta i liczby zespolone Javier de Lucas. Rozwi azanie 2. Z twierdzenia dzielenia wielomianów, mamy, że

Laboratorium ochrony danych

Funkcje i charakterystyki zmiennych losowych

6. Klasyczny algorytm genetyczny. 1

ALGORYTMY GENETYCZNE ALGORYTMY GENETYCZNE METODY HEURYSTYCZNE 3. METODY ANALITYCZNE kontra AG METODY ANALITYCZNE SCHEMAT DZIAŁANIA ANIA AG:

Stanisław Cichocki Natalia Nehrebecka. Zajęcia 4

Pokazać, że wyżej zdefiniowana struktura algebraiczna jest przestrzenią wektorową nad ciałem

ZASTOSOWANIE KLASYCZNEGO ALGORYTMU GENETYCZNEGO DO ROZWIĄZANIA ZBILANSOWANEGO ZAGADNIENIA TRANSPORTOWEGO

Definicje ogólne

Komputer kwantowy Zasady funkcjonowania. Dr hab. inż. Krzysztof Giaro Politechnika Gdańska Wydział ETI

SZTUCZNA INTELIGENCJA

Algorytm genetyczny (genetic algorithm)-

Stanisław Cichocki. Natalia Nehrebecka Katarzyna Rosiak-Lada. Zajęcia 3

KURS STATYSTYKA. Lekcja 6 Regresja i linie regresji ZADANIE DOMOWE. Strona 1

Weryfikacja hipotez dla wielu populacji

Badanie współzależności dwóch cech ilościowych X i Y. Analiza korelacji prostej

Zestaw zadań 4: Przestrzenie wektorowe i podprzestrzenie. Liniowa niezależność. Sumy i sumy proste podprzestrzeni.

Modelowanie i obliczenia techniczne. Metody numeryczne w modelowaniu: Optymalizacja

Diagonalizacja macierzy kwadratowej

Kier. MTR Programowanie w MATLABie Laboratorium Ćw. 12

3. ŁUK ELEKTRYCZNY PRĄDU STAŁEGO I PRZEMIENNEGO

RÓWNOLEGŁY ALGORYTM POPULACYJNY DLA PROBLEMU GNIAZDOWEGO Z RÓWNOLEGŁYMI MASZYNAMI

KRZYWA BÉZIERA TWORZENIE I WIZUALIZACJA KRZYWYCH PARAMETRYCZNYCH NA PRZYKŁADZIE KRZYWEJ BÉZIERA

STATECZNOŚĆ SKARP. α - kąt nachylenia skarpy [ o ], φ - kąt tarcia wewnętrznego gruntu [ o ],

Ćwiczenie 10. Metody eksploracji danych

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Systemy Ochrony Powietrza Ćwiczenia Laboratoryjne

Wykład IX Optymalizacja i minimalizacja funkcji

Natalia Nehrebecka. Zajęcia 4

Metody gradientowe poszukiwania ekstremum. , U Ŝądana wartość napięcia,

± Δ. Podstawowe pojęcia procesu pomiarowego. x rzeczywiste. Określenie jakości poznania rzeczywistości

PODSTAWA WYMIARU ORAZ WYSOKOŚĆ EMERYTURY USTALANEJ NA DOTYCHCZASOWYCH ZASADACH

Pattern Classification

Kodowanie informacji. Instytut Informatyki UWr Studia wieczorowe. Wykład nr 2: rozszerzone i dynamiczne Huffmana

METODA UNITARYZACJI ZEROWANEJ Porównanie obiektów przy ocenie wielokryterialnej. Ranking obiektów.

Za: Stanisław Latoś, Niwelacja trygonometryczna, [w:] Ćwiczenia z geodezji II [red.] J. Beluch

Regulamin promocji 14 wiosna

architektura komputerów w. 3 Arytmetyka komputerów

Komputerowe generatory liczb losowych

Zastosowanie algorytmów genetycznych do optymalizacji modelu SVM procesu stalowniczego

1 Metody optymalizacji wielokryterialnej Ogólna charakterystyka problemu Tradycyjne metody optymalizacji wielokryterialnej...

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych


Kwantowa natura promieniowania elektromagnetycznego

1.1. Uprość opis zdarzeń: 1.2. Uprościć opis zdarzeń: a) A B A Uprościć opis zdarzeń: 1.4. Uprościć opis zdarzeń:

p Z(G). (G : Z({x i })),

Metody obliczeniowe. wykład nr 2. metody rozwiązywania równań nieliniowych zadanie optymalizacji. Nr: 1

Prawdopodobieństwo i statystyka r.

f(x, y) = arctg x y. f(u) = arctg(u), u(x, y) = x y. x = 1 1 y = y y = 1 1 +

Algorytmy ewolucyjne NAZEWNICTWO

Programowanie Równoległe i Rozproszone

APROKSYMACJA QUASIJEDNOSTAJNA

Prawdopodobieństwo geometryczne

STATYSTYCZNA ANALIZA WYNIKÓW POMIARÓW

KURS STATYSTYKA. Lekcja 1 Statystyka opisowa ZADANIE DOMOWE. Strona 1

SYSTEMY UCZĄCE SIĘ WYKŁAD 7. KLASYFIKATORY BAYESA. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Wyznaczanie długości fali światła metodą pierścieni Newtona

Zjawiska masowe takie, które mogą wystąpid nieograniczoną ilośd razy. Wyrazów Obcych)

Analiza struktury zbiorowości statystycznej

LABORATORIUM PODSTAW ELEKTROTECHNIKI Badanie obwodów prądu sinusoidalnie zmiennego

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Dobór parametrów algorytmu ewolucyjnego

RUCH OBROTOWY Można opisać ruch obrotowy ze stałym przyspieszeniem ε poprzez analogię do ruchu postępowego jednostajnie zmiennego.

Transkrypt:

Intelgencja oblczenowa Ćwczene nr 6 Algorytmy Genetyczne Schemat blokowy podstawowego algorytmu genetycznego; Reprezentacja osobnków Kodowane rozwązań; Funkcja celu; Podstawowe operacje: selekcja, krzyżowane, mutacja 1. Wprowadzene Algorytmy genetyczne są algorytmam stochastycznym, których sposób przeszukwana przestrzen potencjalnych rozwązań naśladuje pewne procesy naturalne take jak: dzedzczene genetyczne darwnowską walkę o przeżyce. Przenośna leżąca u podstaw algorytmów genetycznych jest zwązana z ewolucją w naturze. W trakce procesu ewolucj każdy gatunek styka sę z problemem lepszego przystosowana sę do skomplkowanego zmennego środowska. Dośwadczene, jake uzyskuje każdy osobnk zostaje wbudowane w jego układ chromosomów. Do opsu algorytmów genetycznych używa sę słownctwa zapożyczonego z genetyk naturalnej. Mówmy w nej o osobnkach w populacj, często osobnk nazywane są łańcucham lub chromosomam. Chromosomy składają sę z genów uszeregowanych lnowo, a każdy gen decyduje o dzedzcznośc jednej lub klku cech. Bologczny odpowednk algorytmów genetycznych można znaleźć w postac różnych populacj żywych stot żyjących na naszej planece podlegających neugętym prawom natury oraz dążących do przetrwana w celu przeżyca danego gatunku. Populacja znajdująca sę w algorytme genetycznym składa sę z różnego rodzaju osobnków, a przeważne każdy osobnk jest nny. Cechy danego osobnka (jego przystosowane do funkcj celu) zwększają lub zmnejszają jego szanse na przetrwane. Identyczne odwzorowane znajdujemy w śwece naturalnym, gdze równeż każda populacja składa sę z pewnej lczby osobnków, z których każdy jest nny. Równeż tutaj cechy danego osobnka składają sę na jego ogólne przystosowane do środowska naturalnego powodują to, że dany osobnk ma wększe lub mnejsze szanse przeżyca. Zgodne z prawam natury przetrwają tylko osobnk najlepej przystosowane. W środowsku naturalnym osobnk, które przetrwały krzyżują sę ze sobą w celu wydana nowego pokolena. Pokolene to jest lepej przystosowane do środowska poprzez dzedzczene cech od swoch rodzców. Identyczna sytuacja zachodz równeż w algorytmach genetycznych, gdze cąg (chromosomy), które są lepej przystosowane przeżywają wydają w wynku krzyżowana nowe pokolene, będące przeważne lepej przystosowane na skutek dzedzczena cech od swoch rodzców. W środowsku naturalnym można spotkać sę równeż z mutacją; jest to operator genetyczny, który powoduje losową zmanę genu, przez co osobnk albo zyskuje na wartośc (jego pewna cecha ulega polepszenu) staje sę bardzej przystosowany do środowska, albo zmana taka powoduje pewną degradację osobnka np. skutkem mutacj może być wystąpene pewnej choroby genetycznej, która zmnejszy jego szanse na przetrwane. W algorytmach genetycznych równeż można znaleźć operator mutacj, który jest drugm po krzyżowanu podstawowym operatorem genetycznym tak jak w środowsku naturalnym może on doprowadzć do zmany przystosowana danego osobnka do funkcj celu. Osobnk poddany operatorow mutacj może zwększyć lub zmnejszyć swoje prawdopodobeństwo przetrwana. Z powyższych rozważań wdać wyraźne jak bardzo algorytmy genetyczne są skorelowane ze swom bologcznym odpowednkem, od którego sę wywodzą. Algorytmy genetyczne dr nż. Adam Słowk 1

Intelgencja oblczenowa 2. Podstawy dzałana AG W podpunkce tym zostane przedstawone dzałane algorytmu genetycznego dla prostego zadana optymalzacj. Rozważanu podlegać będze zadane maksymalzacj funkcj f, jednak jeśl zadane optymalzacj będze polegać na mnmalzacj funkcj f, to jest ono równoważne maksymalzacj funkcj g, przy czym należy zaznaczyć, że g=-f, czyl mn { f(x) } = max { g(x) } = max { - f(x) } (1) Dodatkowo można przyjąć, że funkcja przyjmuje wartośc dodatne w swojej dzedzne, jeżel tak ne jest można zawsze dodać pewną dodatną stałą C, poneważ max { g(x) } = max { g(x) + C } (2) Załóżmy teraz, że chcemy maksymalzować funkcję k zmennych f(x 1,..., x k ) oraz, że każda zmenna może przyberać wartośc z przedzału D = [ a, b ] R f x,..., x ) >0 dla wszystkch ( 1 k x D. Wemy równeż, że chcemy optymalzować funkcję f z pewną żądaną dokładnoścą. Dla każdej -tej zmennej należy określć jej dokładność ZD. Ponższa zależność pozwala oblczyć le genów mus przypadać na -tą zmenną, aby otrzymać określoną wcześnej dokładność: b a ZD m 2 1 (3) czyl lczba genów dla -tej zmennej ma spełnać nerówność: m b a 2 +1 (4) ZD m oznacza najmnejszą lczbę całkowtą spełnającą nerówność (4). Wówczas reprezentacja, w której każda zmenna x jest zakodowana jako łańcuch bnarny o długośc m, w oczywsty sposób będze spełnała wymagana dokładnośc. Natomast wartość każdej -tej zmennej można otrzymać w sposób jawny stosując zależność: m x = a + dec( 1010...110012 ) ( b a ) / (2 1) (5) gdze dec (łańcuch bnarny) jest równy dzesętnej wartośc łańcucha bnarnego. W algorytme genetycznym każdy osobnk chromosom (jako potencjalne rozwązane) jest reprezentowany przez łańcuch o długośc: m = k m = 1 (6) Perwsze m 1 btów odpowada wartoścom zmennej x 1 z przedzału [ a, b 1 1], druga grupa m 2 btów odpowada wartoścom zmennej x 2 z przedzału [ a, b 2 2 ], tak dalej, aż do ostatnej grupy m k btów, które odpowadają wartoścom zmennej x k z przedzału [ a k, bk ]. W celu ustalena populacj początkowej złożonej z PopSze chromosomów generuje sę losowo bt po bce każdego z nch, jednak jeśl dysponujemy pewną wedzą o rozkładze możlwych optmów, można wówczas użyć tej nformacj do odpowednego rozmeszczena początkowych (potencjalnych) rozwązań. Reszta algorytmu jest oczywsta. W każdym pokolenu będą ocenane wszystke chromosomy (używając funkcj celu), będze wyberana nowa populacja zgodne z rozkładem prawdopodobeństwa określonym na wartoścach dopasowań Algorytmy genetyczne dr nż. Adam Słowk 2

Intelgencja oblczenowa poszczególnych chromosomów do funkcj celu oraz będą stosowane operatory genetyczne take jak krzyżowane mutacja. Po pewnej lczbe pokoleń, gdy ne będze już poprawy generowanych wynków (lub zostały spełnone warunk zakończena algorytmu) najlepsze chromosomy reprezentują najkorzystnejsze rozwązane danego problemu. Algorytm genetyczny często jest zatrzymywany po ustalonej lczbe teracj, w zależnośc od szybkośc pamęc posadanego komputera. Załóżmy, że utworzono losowo pewną populację chromosomów (osobnków) reprezentujących potencjalne rozwązana problemu. Następne należy ocenć utworzyć nową populację zgodne z funkcją celu. Dokonujemy tego w procese selekcj (reprodukcj), a wybór nowej populacj następuje zgodne z rozkładem prawdopodobeństwa określonym na wartoścach dopasowań. Używa sę tutaj najczęścej metodę ruletk o welkośc pól zgodnej z wartoścam dopasowań. Ruletkę taką konstruuje sę w następujący sposób (ponżej zakładamy, że wartośc dopasowana są dodatne, jeżel tak ne jest należy odpowedno przeskalować wartośc): oblcz wartość dopasowana eval v ) dla każdego chromosomu v ( =1,..., PopSze) oblcz całkowte dopasowane populacj F = eval ( ), ( PopSze oblcz prawdopodobeństwo wyboru p każdego chromosomu = 1 v ( =1,..., welkość_populacj) p = eval ( v ) F, / wyznacz przedzały ruletk [RMn, RMax) dla każdego -tego osobnka zgodne z zależnoścą: v RMn = RMax -1 ; RMax =RMn +p Proces selekcj jest oparty na obroce ruletką PopSze razy wyborze za każdym razem jednego chromosomu do nowej populacj w następujący sposób: wygeneruj lczbę przypadkową (zmennopozycyjną) r z zakresu [0,1) jeśl (r >= RMn ) oraz (r<rmax ) wówczas do nowej populacj wyberz osobnka o numerze -tym Oczywśce pewne chromosomy będą wybrane węcej nż raz. Po utworzenu nowej populacj stosujemy na nej operatory genetyczne. Perwszym jest operator krzyżowana, który występuje w systeme genetycznym zgodne z parametrem określanym prawdopodobeństwem krzyżowana p k. Prawdopodobeństwo to umożlwa nam oblczene oczekwanej lczby chromosomów pk PopSze, które ulegną operacj krzyżowana. Aby zastosować ten operator postępujemy w następujący sposób: dla każdego chromosomu generujemy lczbę losową (zmennopozycyjną) r z zakresu [0,1) jeśl dla -tego chromosomu r< p k, to wyberamy -ty chromosom do krzyżowana. Mając określoną pulę chromosomów, które będą podlegać krzyżowanu, doberamy wybrane chromosomy w pary (oczywśce równeż losowo). Gdy lczba wybranych chromosomów jest parzysta wówczas możemy je łatwo połączyć, jednak gdy lczba chromosomów jest neparzysta Algorytmy genetyczne dr nż. Adam Słowk 3

Intelgencja oblczenowa należy albo dodać, albo odjąć jeden chromosom, oczywśce także losowo. Po połączenu chromosomów w pary, dla każdej z nch generujemy losową lczbę poz z zakresu [1,m-1], gdze m jest całkowtą długoścą lczbą btów chromosomu. Wylosowana lczba poz określa nam punkt cęca chromosomu do wymany. Tak węc dwa chromosomy ( 1 2 poz poz 1 m d d... d d +... d ) e... e e... e ) ( e 1 2 poz poz+ 1 m są zamenane na parę potomków ( 1 2 poz poz 1 m d d... d e +... e ) e... e d... d ) ( e 1 2 poz poz+ 1 m Następną operacją jest mutacja, która wykonywana jest bezpośredno na btach. Na podstawe parametru algorytmu genetycznego, prawdopodobeństwa mutacj p m, możemy oblczyć oczekwaną lczbę zmutowanych btów pm m PopSze. Każdy bt (we wszystkch chromosomach w całej populacj) ma równe szanse na mutację, to znaczy zmany z 0 na 1 lub odwrotne. W przypadku mutacj postępujemy następująco: dla każdego chromosomu beżącej populacj (po krzyżowanu) dla każdego btu w chromosome wygeneruj lczbę losową (zmennopozycyjną) r z zakresu [0,1) jeżel lczba r< p m, to zmutuj dany gen (bt). Po zakończenu mutacj oblczane jest ponowne przystosowane całej populacj, następne sprawdzany jest warunek czy można zakończyć pracę algorytmu genetycznego, jeśl tak to wyprowadzamy wynk na ekran kończymy pracę algorytmu genetycznego, jeśl ne to dokonujemy kolejno: selekcj, krzyżowana mutacj cały proces powtarza sę. Ponżej przedstawono schemat dzałana algorytmu genetycznego: 1. Utwórz losowo populację początkową 2. Oceń przystosowane osobnków do funkcj celu 3. Dopók ne osągnęto kryterum stopu wykonaj 4. selekcję osobnków 5. operację krzyżowana chromosomów 6. mutację osobnków 7. ocenę przystosowana osobnków do funkcj celu 8. Wyprowadź otrzymany wynk (wynk) 3. Optymalzacja funkcj jednej zmennej - przykład Jako funkcję testową dla tego zadana użyto: 2 y = f ( x) = 50 5 sn(10 π x) 10 ( x 1.5) x [0,3] Powyższa funkcja jest welomodalna tzn. posada wele maksmów oraz mnmów. W prezentowanym przykładze skupmy sę nad znalezenem maksmum globalnego funkcj w podanym przedzale od 0 do 3. W celu lepszego zobrazowana wzoru funkcj została ona zaprezentowana grafczne na wykrese przedstawonym na rys. 1. Algorytmy genetyczne dr nż. Adam Słowk 4

Intelgencja oblczenowa Rys. 1 Funkcja testowa f(x) w forme grafcznej. Jak wdać funkcja w podanym przedzale x [0,3] (Xmn=0; Xmax=3) przyjmuje wele maksmów oraz wele mnmów, jednak posada w tym przedzale tylko jedno maksmum globalne, które algorytm genetyczny będze sę starał wyznaczyć. Rys. 2 Funkcja testowa f(x) globalne ekstremum. Z wykresu przedstawonego na rys. 2 wynka, że funkcja przyjmuje wartość maksymalną: f(x) 54.9715 dla argumentu x 1.551. Równeż z wykresu (rys. 5.1.2) wdać, że newelke zmany argumentu mogą prowadzć do wskoczena algorytmu w maksmum lokalne. Załóżmy, że chcemy aby zmenna x zmenała sę z dokładnoścą 0.01, wówczas z nerównośc (4) wynka, że: m 3 0 m 2 + 1 => 2 301 0.01 Najmnejsza lczba całkowta m dla której jest spełnona powyższa nerówność wynos 9. W zwązku z tym każdy osobnk będze sę składał z 9 genów (LG=9) w których zapsana będze zmenna x. Algorytmy genetyczne dr nż. Adam Słowk 5

Intelgencja oblczenowa Równeż postanowono zarezerwować 6 dodatkowych komórek, na następujące wartośc: wartość dzesętną dec, odkodowaną wartość x, wartość funkcj y, wartość przystosowana względnego, wartość RMn, wartość RMax. Czyl do zapsana wszystkch wartośc wystarczy wektor złożony z 15 elementów. Przyjęto równeż, że populacja składa sę z 20 osobnków. W zwązku z tym fragment kodu tworzący populację osobnków może wyglądać następująco: Populaton1=zeros(20,15); // Populacja podstawowa Populaton2=zeros(20,15); // Populacja tymczasowa Xmn=0; Xmax=3; LG=9; for =1:20 f rand()<0.5 Populaton1(,j)=1; else Populaton1(,j)=0; Rys. 3 Fragment kodu tworzącego populacje osobnków (losowo) Następne ponższe krok wykonywane są k razy aż do zakończena algorytmu: W perwszym kroku oblcza, sę wartość dec, wartość x, wartość y, oraz przystosowane łączne (PL), a następne wartośc te są wpsywane do odpowednch komórek. //---- PL przystosowane laczne PL=0; for =1:20 dec=0; f Populaton1(,j)==1 dec=dec+populaton1(,j)*(2^(9-j)); Populaton1(,10)=dec; X=((Xmax-Xmn)/(2^LG-1))*dec+Xmn; Populaton1(,11)=X; Y=50-5*sn(10*3.14*X)-10*(X-1.5)^2; Populaton1(,12)=Y; PL=PL+Y; Rys. 4 Fragment kodu wyznaczającego: PL, dec, x y W drugm kroku oblcza sę przystosowane względne oraz wyznacza sę przedzały koła ruletk dla każdego osobnka. Algorytmy genetyczne dr nż. Adam Słowk 6

Intelgencja oblczenowa //------------------- oblcz przystosowane wzgledne for =1:20 Populaton1(,13)=Populaton1(,12)/PL; //------------------- oblcz przedzaly ruletk Populaton1(1,14)=0; Populaton1(1,15)=Populaton1(1,14)+Populaton1(1,13); for =2:20 Populaton1(,14)=Populaton1(-1,15); Populaton1(,15)=Populaton1(,14)+Populaton1(,13); Rys. 5 Fragment kodu oblczającego przystosowane względne oraz wyznaczającego przedzały koła ruletk W następnym kroku, dokonuje sę selekcj osobnków z populacj podstawowej Populaton1 do populacj tymczasowej Populaton2. Selekcja jest dokonywana metodą ruletk. (PL), a następne wartośc te są wpsywane do odpowednch komórek. //-------------------- dokonaj selekcj for =1:20 los=rand(); Nr=0; for j=1:20 f (los>=populaton1(j,14)) & (los<populaton1(j,15)) Nr=j; Populaton2(,:)=Populaton1(Nr,:); Rys. 6 Przykładowy kod realzujący selekcję osobnków metodą ruletk W następnym kroku dokonuje sę operacj krzyżowana oraz mutacj. Kod realzujący operację mutacj oraz krzyżowana w wersj uproszczonej (bez doberana osobnków w pary) przedstawono na rys. 7.PCross oznacza prawdopodobeństwo krzyżowana, PMut oznacza prawdopodobeństwo mutacj. //-------------------- dokonaj krzyzowana for =1:20 los=rand(); f los<pcross Nr=round(rand()*19)+1; Cut=round(rand()*7)+1; c1=populaton2(,(cut+1):9); c2=populaton2(nr,(cut+1):9); Populaton2(,(Cut+1):9)=c2; Populaton2(Nr,(Cut+1):9)=c1; //-------------------- dokonaj mutacj for =1:20 los=rand(); Algorytmy genetyczne dr nż. Adam Słowk 7

Intelgencja oblczenowa f (los<pmut) f (Populaton2(,j)==1) Populaton2(,j)=0; else Populaton2(,j)=1; Rys. 7 Fragment kodu realzujący operację krzyżowana oraz mutacj W następnym kroku należy przepsać zawartość populacj tymczasowej Populaton2 do populacj podstawowej Populaton1, co można zrealzować następująco: for =1:20 Populaton1(,:)=Populaton2(,:); Oblczena (do rys. 4 do rys. 7) powtarzamy aż spełnony zostane warunek zakończena algorytmu (np. osągnęce określonej lczby pokoleń). Po zakończenu pracy algorytmu otrzymanym wynkem jest rezultat zapsany w najlepszym osobnku (o najwększej wartośc przystosowana). Ponżej na rys. 8 przedstawono prosty algorytm genetyczny napsany w SCILAB e. Algorytm dąży do odnalezena maksmum funkcj przedstawonej na rys. 1. //--- przyjece wartosc parametrow x=zeros(2,301); PMut=0.1; PCross=0.5; Generatons=10; //--- wykreslene ksztaltu optymalzowanej funckj for =1:301 x(1,)=(-1)/100; for =1:301 x(2,)=50-5*sn(10*3.14*x(1,))-10*(x(1,)-1.5)^2; plot(x(1,:),x(2,:)); //-------------- utworz populacje zlozona z 20 osobnkow Populaton1=zeros(20,15); // Populacja podstawowa Populaton2=zeros(20,15); // Populacja tymczasowa Xmn=0; Xmax=3; LG=9; for =1:20 f rand()<0.5 Populaton1(,j)=1; else Populaton1(,j)=0; Algorytmy genetyczne dr nż. Adam Słowk 8

Intelgencja oblczenowa for k=1:generatons //---------- oblcz dec, x, y (przystosowane) //---------- oraz przystosowane laczne PL PL=0; for =1:20 dec=0; f Populaton1(,j)==1 dec=dec+populaton1(,j)*(2^(9-j)); Populaton1(,10)=dec; X=((Xmax-Xmn)/(2^LG-1))*dec+Xmn; Populaton1(,11)=X; Y=50-5*sn(10*3.14*X)-10*(X-1.5)^2; Populaton1(,12)=Y; PL=PL+Y; //------------------- oblcz przystosowane wzgledne for =1:20 Populaton1(,13)=Populaton1(,12)/PL; //------------------- wypsz najlepsze rozwazane na ekran Max=Populaton1(1,12); NrMax=1; for =2:20 f (Populaton1(,12)>Max) Max=Populaton1(,12); NrMax=; dsp(populaton1(nrmax,12)); //------------------- oblcz przedzaly ruletk Populaton1(1,14)=0; Populaton1(1,15)=Populaton1(1,14)+Populaton1(1,13); for =2:20 Populaton1(,14)=Populaton1(-1,15); Populaton1(,15)=Populaton1(,14)+Populaton1(,13); //-------------------- dokonaj selekcj for =1:20 los=rand(); Nr=0; for j=1:20 f (los>=populaton1(j,14)) & (los<populaton1(j,15)) Nr=j; Populaton2(,:)=Populaton1(Nr,:); Algorytmy genetyczne dr nż. Adam Słowk 9

Intelgencja oblczenowa //-------------------- dokonaj krzyzowana for =1:20 los=rand(); f los<pcross Nr=round(rand()*19)+1; Cut=round(rand()*7)+1; c1=populaton2(,(cut+1):9); c2=populaton2(nr,(cut+1):9); Populaton2(,(Cut+1):9)=c2; Populaton2(Nr,(Cut+1):9)=c1; //-------------------- dokonaj mutacj for =1:20 los=rand(); f (los<pmut) f (Populaton2(,j)==1) Populaton2(,j)=0; else Populaton2(,j)=1; //--------------------- przepsz populacje for =1:20 Populaton1(,:)=Populaton2(,:); // do glownej petl algorytmu Rys. 8 Prosty algorytm genetyczny (SCILAB) 4. Zadana do wykonana a) uruchomć algorytm genetyczny z Rys. 8 b) do programu z rys. 8 dopsać fragment kodu wykreślający wartość najlepszego osobnka (rozwązana) w funkcj kolejnych pokoleń dla parametru Generatons=100; Oś x ma reprezentować kolejne pokolena, oś y najlepsze rozwązane w danym pokolenu. Rys. 9 Wartość najlepszego rozwązana w funkcj kolejnych pokoleń (generacj) Algorytmy genetyczne dr nż. Adam Słowk 10

Intelgencja oblczenowa c) zmodyfkować program z rys. 8, dodając eltarystyczny model selekcj, który polega, na tym że najlepsze znalezone do tej pory rozwązane jest zapamętywane w oddzelnym osobnku o nazwe np.thebest. W każdej teracj sprawdza sę czy w danej populacj stneje lepsze lub dentyczne rozwązane do rozwązana zawartego w osobnku TheBest jeśl tak wówczas wstawa sę je do osobnka TheBest, jeśl ne wówczas osobnk TheBest jest wstawany do populacj w mejsce najgorszego osobnka. Osobnk najlepszy osobnk o najwększej wartośc funkcj przystosowana (w tym przypadku o najwększej wartośc y ). Osobnk najgorszy osobnk o najmnejszej wartośc funkcj przystosowana (w tym przypadku o najmnejszej wartośc y ). d) do programu z punktu c) dopsać fragment kodu wykreślający wartość najlepszego osobnka (rozwązana) w funkcj kolejnych pokoleń dla parametru Generatons=100; Oś x ma reprezentować kolejne pokolena, oś y najlepsze rozwązane w danym pokolenu. Otrzymany wykres porównać z wykresem otrzymanym w punkce b) e) zaprogramować algorytm genetyczny z eltarystycznym modelem selekcj wyznaczający maksymalną wartość funkcj dwóch zmennych postac: y x x 2 2, x2 ) = [ ( x1 10 cos( 2 π x1 )) + ( x2 10 cos( 2 π x ))] 80 [.12; 5.12 ], x [ 5.12; 5.12] ( 1 2 + 1 5 2 W funkcj tej, globalne maxmum o wartośc 100 występuje dla x 1 =0 x 2 =0. W algorytme genetycznym przyjąć rozdzelczość (dokładność) zmennej x 1 oraz x 2 na pozome 0.01. Przeprowadzć oblczena dla różnych wartośc parametrów PopSze, PCross PMut (na początku przyjąć PopSze=20; PCross=0.3; PMut=0.01). Jako kryterum zakończena przyjąć osągnęce przez algorytm 100-tnej generacj. Rys. 10 Grafczna prezentacja optymalzowanej funkcj Algorytmy genetyczne dr nż. Adam Słowk 11