POLITECHNIKA WARSZAWSKA WYDZIAŠ ELEKTRYCZNY INSTYTUT ELEKTROTECHNIKI TEORETYCZNEJ I SYSTEMÓW INFORMACYJNO-POMIAROWYCH

Wielkość: px
Rozpocząć pokaz od strony:

Download "POLITECHNIKA WARSZAWSKA WYDZIAŠ ELEKTRYCZNY INSTYTUT ELEKTROTECHNIKI TEORETYCZNEJ I SYSTEMÓW INFORMACYJNO-POMIAROWYCH"

Transkrypt

1 POLITECHNIKA WARSZAWSKA WYDZIAŠ ELEKTRYCZNY INSTYTUT ELEKTROTECHNIKI TEORETYCZNEJ I SYSTEMÓW INFORMACYJNO-POMIAROWYCH PRACA DYPLOMOWA MAGISTERSKA na kierunku INFORMATYKA Zbigniew Przemysªaw Król Nr indeksu Przegl d i komputerowa implementacja algorytmów genetycznych w oprogramowaniu edukacyjnym Zakres pracy: 1. Zapoznanie z algorytmami genetycznymi 2. Opis po» danej funkcjonalno±ci 3. Przedstawienie rozwi zania implementacji 4. Badania eksperymentalne. Opiekun pracy Podpis i piecz Kierownika Zakªadu Dydaktycznego dr in». Krzysztof Siwek Warszawa, 16 listopada 2006 Rok akademicki 2005/2006

2

3 Spis tre±ci 1 Wst p Wst p Obliczenia ewolucyjne Cel pracy dyplomowej Podstawowe zagadnienia Metody przeszukiwania Zalety i wady stosowania algorytmów genetycznych Podstawowe poj cia Zagadnienia dotycz ce schematów Schematy Zdolno± schematów do przetrwania Bloki buduj ce Tworzenie algorytmu genetycznego Staªe parametry charakteryzuj ce algorytm Zastosowania algorytmów genetycznych Algorytmy genetyczne i ich schemat dziaªania Reprezentacja problemu: chromosom Chromosomy binarne (BCD) Chromosomy kodowane metod Graya Chromosomy kodowane logarytmiczne Chromosomy kodowane zmiennopozycyjnie Dziaªanie algorytmu genetycznego Warunki stopu Metody generacji rozwi za«pocz tkowych Funkcja przystosowania Operatory genetyczne Operator selekcji Operator krzy»owania Operator mutacji Operator inwersji Skalowanie przystosowania Specjalizacja Migracja Przenikanie i

4 4 Opis funkcjonalno±ci i obsªugi programu Zakªadka: Populacja Zakªadka: Operatory genetyczne Zakªadka: Obsªuga wyj±cia Zakªadka: Wykresy i warunki stopu Panel sterowania dziaªaniem algorytmu Przedstawienie szczegóªów implementacji Budowa programu Przypadki u»ycia Pakiety programu W tki w ±rodowisku Swing Zastosowane biblioteki JEP - Java Expression Parser JFreeChart Zastosowane technologie XML JavaBean Javadoc Okno dialogowe pomocy Stosowane oprogramowanie Badania eksperymentalne Dziaªanie opracowanego programu Badania eksperymentalne Przykªad pierwszy - poszukiwanie maksimum funkcji Przykªad drugi - wyznaczenie liczby Pi Przykªad trzeci - projektowanie ltru dolnoprzepustowego Inne przykªady testowe Podsumowanie i wnioski ko«cowe Realizacja celu pracy dyplomowej Wªasne spostrze»enia i mo»liwo±ci dalszej rozbudowy Bibliograa 101

5

6 iv

7 Rozdziaª 1 Wst p 1.1 Wst p Istnieje wiele metod rozwi zywania zada«optymalizacyjnych w celu doj±cia do satysfakcjonuj cego wyniku. Do rozwi zywania stosuje si metody programowania: dynamicznego, heurystycznego przeszukiwania, technik przeszukiwania i ogranicze«, itp. Wiele z rozwi zywanych zada«wymaga ogromnego nakªadu obliczeniowego, a niektóre z nich s NP-trudne. Nieraz rozwi zanie zadania jest na tyle kosztowne i» praktycznie niemo»liwe jest jego rozwi zanie. Jedn z klas algorytmów sªu» cych do rozwi zywania trudnych problemów obliczeniowych s algorytmy aproksymacyjne. S one modelem maszynowego uczenia si wywodz cym swoje dziaªanie z mechanizmów ewolucji wyst puj cych w naturze. Dziaªaj one poprzez stworzenie populacji osobników reprezentowanych przy pomocy chromosomów. Osobniki przechodz poprzez proces symulowanej ewolucji. Sªu» do wyznaczania akceptowalnych rozwi za«przy pomocy akceptowalnej ilo±ci oblicze«. Niestety, nie ma jeszcze metody pozwalaj cej na szybkie przej±cie od wyników quasi-optymalnych do prawdziwie optymalnych rozwi za«. Do klas algorytmów aproksymacyjnych nale» algorytmy losowe. S one przydatne w wypadkach rozwi zywania wielu typów zada«o wysokim stopniu komplikacji. Algorytmy genetyczne (AG) s szczególn losow strategi przeszukiwana. Za twórców matematycznej teorii algorytmów genetycznych uwa»a si J. von Neumanna oraz J. Hollanda. Od pocz tku lat pi dziesi tych, czyli wraz z pocz tkami intensywnego rozwoju genetyki, rozpocz ªy si próby zastosowania praw doboru naturalnego w informatyce. Dobór naturalny zakªada wi ksze szanse przetrwania dla osobników o najlepszym przystosowaniu. Jednak przed dokªadniejszym omówieniem powy»szego tematu nale»y wspomnie o szerszej grupie, do której nale» AG, mianowicie o Algorytmach Ewolucyjnych (AE). S one szerszym terminem opisuj cym komputerowe znajdywanie rozwi - za«poprzez mechanizmy ewolucji odpowiednio zaprojektowane i zaimplementowane w programach komputerowych. Algorytmy ewolucyjne to ogólny termin opisuj cy komputerowe systemy obliczeniowe których implementacja oparta jest na mechanizmach ewolucji. Istnieje kilka gªównych rodzajów algorytmów ewolucyjnych: 1

8 algorytmy genetyczne, programowanie ewolucyjne, strategie ewolucyjne, systemy klasykuj ce, programowanie genetyczne. Ka»dy z nich jako podstawow koncepcj swojego dziaªania wykorzystuje symulacj dziaªania ewolucji pewnych struktur przy pomocy operatorów, omówionych przeze mnie w dalszej cz ±ci pracy takich, jak selekcja, mutacja i reprodukcja (krzy»owanie). Proces zale»y od ocenianej przydatno±ci danych przedstawicieli struktury w odniesieniu do symulowanego ±rodowiska. Innymi sªowy algorytmy ewolucyjne charakteryzuj si ewoluowaniem zbiorów przedstawicieli struktur danych zgodnie z dziaªaniem pewnych okre±lonych operatorów przeszukiwania - zwanych operatorami genetycznymi. Ka»dy z przedstawicieli podlega ocenie pod wzgl dem przystosowania do reguª otoczenia. Warto± ta ulega zmianie pod wpªywem wspomnianych operatorów, przy czym wi ksze szanse na rozwój w dalszych iteracjach posiadaj obiekty o wy»szej warto±ci przydatno±ci do generacji optymalnego rozwi zania, gdy» tym wªa±nie jest owo przystosowanie. Zmiany zachodz ce prowadz do heurystycznego przeszukiwania przestrzeni rozwi za«. Algorytmy te s natomiast wystarczaj co rozbudowane by by skutecznym mechanizmem adaptacyjnego przeszukiwania. Algorytmy genetyczne s podklas algorytmów ewolucyjnych. Ich model dzia- ªania opiera si na mechanizmie adaptacji skonstruowanym w oparciu o procesy zaobserwowane w biologicznej ewolucji. Podstaw jest, wspomniana w powy»szej denicji, konstrukcja populacji pewnych osobników, reprezentowanych przez obiekty przynale» ce do pewnej struktury, w±ród których pod dziaªaniem okre±lonych operatorów symulowany jest proces ewolucji. Algorytmy te s u»ywane w wielu dziedzinach nauki (rozdziaª 2.7), w szczególno±ci jako metody optymalizacyjne w przypadku wielowymiarowych zagadnie«do obliczania rozwi za«, dla których nie istniej dokªadne metody analityczne. W podstawowym schemacie dziaªania reprezentantem jest tablica znaków (najcz ±ciej binarna), natomiast podstawowe operatory genetyczne to krzy»owanie i mutacja. W przypadku algorytmów genetycznych tablice znakowe s okre±lonej dªugo±ci, tak samo jak ilo± dost pnych znaków (nazywana alfabetem). Dziaªanie algorytmu przebiega iteracyjnie, a powtarzaj ce si kroki wygl daj nast puj co: okre±lenie przydatno±ci ka»dego z osobników populacji, stworzenie nowego zbioru osobników (nowej populacji) poprzez operatory: selekcji - proporcjonalnej do przydatno±ci, krzy»owania, mutacji. 2

9 zast pienie starej populacji now. Pocz tkowy zbiór osobników generowany jest losowo, ewentualnie w sposób ukierunkowany przez znajomo± problemu. Dalej przebiega ju» omówiony proces adaptacji, a» do znalezienia satysfakcjonuj cego rozwi zania lub stwierdzenia rozbie»no±ci algorytmu nie pozwalaj cej na skuteczne znalezienie rozwi - zania w sko«czonym czasie [13]. W wyniku dziaªania algorytmów genetycznych z przybli»onych rozwi za«powstaj kolejne bardziej dokªadne rozwi zania. Nowe przybli»enia nie powstaj losowo, a przynajmniej w obr bie reguª wystarczaj cych by nie mo»na byªo ich za takie uzna, powstaj w otoczeniu przybli»e«najbardziej obiecuj cych. Pocz tkowo metody algorytmów genetycznych mo»na byªo podzieli na dwie gªówne grupy: gªówny kierunek przeszukiwania wynikaª z wyznaczenia kombinacji najbardziej obiecuj cych rozwi za«- co za tym idzie, dokªadniejsza lokalizacja wcze±niej wykrytych ekstremów lokalnych funkcji dopasowania, przeszukanie caªej przestrzeni potencjalnych rozwi za«- maªo efektywne przy du»ych rozmiarach przestrzeni, zwykle niemo»liwe z praktycznego punktu widzenia. Obecne algorytmy z ró»n intensywno±ci ª cz obie te techniki. Oczywi±cie w przypadku istnienia konwencjonalnych (analitycznych) algorytmów do rozwi zania danego problemu uniwersalny algorytm genetyczny b dzie od nich gorszy. Mo»na wyró»ni cztery cechy odró»niaj ce algorytmy genetyczne od konwencjonalnych technik optymalizacji: operuj na ci gach kodowych, dziaªaj na populacjach punktów, a nie na pojedynczych punktach, poszukuj metod próbkowania (tak zwane ±lepe przeszukiwanie), stosuj losowe reguªy wyboru Obliczenia ewolucyjne Podstawowy podziaª dotycz cy oblicze«ewolucyjnych dzieli zagadnienia i sposoby ich rozwi zania na: algorytmy genetyczne (genetic algorythm) [AG], strategie ewolucyjne (evolution strategies) [SE], programowanie ewolucyjne (evolutionary programming) [PE], programowanie genetyczne (genetic programming) [PG]. 3

10 Moja praca dotyczy gªównie algorytmów genetycznych, jednak jej tematyka pokrywa si te» cz ±ciowo z zagadnieniami strategii ewolucyjnych. Zgodnie z denicjami zaczerpni tymi z [6]: Algorytmy genetyczne (AG) zwykle przedstawiaj rozwi zania dla chromosomów kodowanych binarnie i poszukiwania lepszych rozwi za«w przestrzeni genotypu prowadzone s przy zastosowaniu operatorów AG: selekcji, krzy»owania, i mutacji. Gªównym operatorem jest operator krzy»owania. Strategie ewolucyjne (SE) przedstawiaj rozwi zania wyra»one przy pomocy chromosomów kodowanych liczbami typu rzeczywistego (fenotyp) i poszukuj lepszego rozwi zania w przestrzeni fenotypu z zastosowaniem operatorów SE: krzy»owania i mutacji. Mutacja liczb typu rzeczywistego realizowana jest przez dodanie szumu gaussowskego. Strategie ewolucyjne modykuj odpowiednio wspóªczynniki dystrybucji Gaussa prowadz c do zbie»no±ci do globalnego optimum. 1.2 Cel pracy dyplomowej Celem pracy dyplomowej jest: zapoznanie si z zagadnieniami dotycz cymi algorytmów genetycznych, napisanie komputerowej implementacji programu do symulacji algorytmów genetycznych. Napisany program, zgodnie z zaªo»eniami, powinien pozwala na uruchamianie algorytmów genetycznych o dowolnym wzorze funkcji przystosowania. Funkcja ta mo»e by okre±lona dowoln ilo±ci zmiennych. Wykonana implementacja powinna umo»liwia wybór jednego z kilku sposobów kodowania chromosomu i odpowiednich ustawie«wybranych operatorów genetycznych i warunków stopu zale»nie od wybranego kodowania. Powinien by mo»liwy zapis i odczyt zarówno ustawie«, jak i zadanych populacji. Najlepiej do pliku, który mo»e by otworzony w innym programie zewn trznym. Prócz tego program powinien umo»liwia zapis wyników dziaªania algorytmu. Dodatkowo architektura programu powinna umo»liwia jest dalsz rozbudow. 4

11 Rozdziaª 2 Podstawowe zagadnienia 2.1 Metody przeszukiwania Metody przeszukiwania mog by stosowane w wypadku gdy istnieje wystarczaj ca wiedza o danym problemie (mo»liwo± stosowania efektywnych funkcji oceny) lub gdy zªo»ono± problemu nie jest zbyt du»a. Rozwi zanie zadania jest cz sto przeszukaniem zbioru wszystkich mo»liwych rozwi za«, zwanego przestrzeni przeszukiwania. Celem strategii przeszukiwania jest analizowanie elementów przestrzeni zbioru potencjalnych rozwi za«w celu wyznaczenia podzbioru speªniaj cego okre- ±lone warunki. Ze wzgl du na sposób opisu zadania, zgodnie z tym co pisze Jerzy Cytowski w [1], istotne s : sposób reprezentacji ka»dego z elementów zbioru (kod), metody obliczeniowe pozwalaj ce na wygenerowanie kolejnego elementu na podstawie danego elementu (operatory), metody wyboru operatorów spo±ród operatorów mo»liwych do zastosowania (strategie sterowania). Wa»ne jest aby kod elementu byª jednoznaczny i uwzgl dniaª struktury zadania. Oznacza to,»e powinien reprezentowa indywidualne cechy elementu oraz podzbiór potencjalnych rozwi za«zwi zany z elementem. W±ród metod przeszukiwania wyró»nia si nast puj ce: strategia zachªanna (hill-climbing), strategia w gª b (depth-rst), strategia w gª b z iteracyjnym pogª bianiem (depth-rst interative-deepening), strategie heurystyczne, losowe algorytmy rozwi zywania zada«. Wa»ne jest aby w przypadku algorytmów losowych speªnione zostaªy dwa warunki: 5

12 dokªadne zbadanie najbardziej obiecuj cych obszarów przestrzeni (analiza wielu reprezentantów), w algorytmach genetycznych sªu»y do tego mechanizm selekcji, a tak»e migracji i przenikania, ocena jak najwi kszej liczby potencjalnych rozwi za«poªo»onych w ró»nych obszarach przestrzeni, w przypadku algorytmów genetycznych sprzyja temu mutacja i inwersja. 2.2 Zalety i wady stosowania algorytmów genetycznych Gªówne zalety wynikaj ce ze stosowania algorytmów genetycznych: 1. szybka zbie»no± do bliskiego otoczenia globalnego optimum, 2. doskonaªe mo»liwo±ci przeszukiwania przestrzeni o zªo»onych przestrzeniach przeszukiwania, 3. mo»liwo± stosowania do przestrzeni poszukiwa«, w których nie ma mo»liwo±ci zastosowania metod gradientowych. Wadami natomiast s : 1. zbie»no± w blisko±ci optimum globalnego staje si bardzo wolna, 2. dziaªanie algorytmu genetycznego jest zauwa»alnie wolniejsze i mniej dokªadne ni» metod analitycznych. Nale»y zaznaczy i» nie mo»na caªkowicie zaprzeczy jakoby algorytmy ewolucyjne nie byªy losowym sposobem poszukiwaniem rozwi zania. Algorytmy ewolucyjne korzystaj z procesów stochastycznych jednak rezultat ich dziaªania jest znacz co nieprzypadkowy - to znaczy, znacznie lepszy ni» otrzymany tradycyjnymi metodami losowymi. 2.3 Podstawowe poj cia Zaznajamiaj c si z zagadnieniami algorytmów genetycznych wa»ne jest poznanie poj i terminologii wywodz cej si z genetyki u»ywanej do ich opisu. Poni»ej przedstawiam zebrane podstawowe poj cia, opracowane na podstawie [1, 2, 3, 5, 8], którymi posªuguj si w dalszej cz ±ci mojej pracy. Chromosom - uto»samiany jest z uszeregowanym liniowo ci giem kodowym (ªa«- cuch bitowy, wektor typu rzeczywistego, itp.) o okre±lonej dªugo±ci, no±nik jednoznacznej, uporz dkowanej informacji. Gen - cecha, znak w ci gu kodowym, skªadowe kodu chromosomu. Allel - odmiana genu (wariant cechy) - w przypadku algorytmów genetycznych z genami binarnymi 0 lub 1. 6

13 Fenotyp - zestaw cech danego osobnika podlegaj cych ocenie ±rodowiska, cechy ujawniaj ce si na zewn trz, rozwi zanie zadania. Funkcja przystosowania - reprezentuje ±rodowisko zewn trzne, na jej podstawie osobnikom przypisuje si odpowiedni warto± funkcji przystosowania, która jest odwzorowaniem ich przydatno±ci do rozwi zania okre±lonego zagadnienia. Genotyp - struktura, informacja b d ca przepisem na utworzenie jednoznacznego fenotypu. Genotyp ulega zmianie pod wpªywem krzy»ówek i mutacji, zmiany te maj charakter przypadkowy. W algorytmach genetycznych s to poszczególne ªa«cuchy, najcz ±ciej - bitowe, np To wªa±nie genotyp jest obiektem, na którym dziaªaj algorytmy genetyczne. Osobnik - posiadacz genotypu i jednocze±nie powi zanego z nim fenotypu. Populacja - podprzestrze«rozwi za«, zbiór okre±lonej liczby osobników, którzy mog wchodzi ze sob w interakcje. Locus - miejsce wyst powania genu w chromosomie, miejsce w ªa«cuchu. Epistaza - oznacza w przypadku algorytmów genetycznych nieliniowo± - okre±lenie na ile wpªyw jednego genu na dopasowanie ªa«cucha zale»y od warto±ci innych genów. W terminologii biologicznej jest to wspóªdzielenie genów zlokalizowanych w ró»nych miejscach wyst powania. Generacja - iteracja pomiaru przystosowania i wygenerowania kolejnych populacji. W przypadku terminologii dotycz cej programowania genetycznego pojawia si nie- ±cisªo± j zykowa. Przejawia si ona w nazywaniu zbioru genów, genotypu, osobnikiem, czyli jednostk tworz c populacj. Jednocze±nie oczywistym jest i» w j zyku codziennym mówi c o osobniku my±limy o konkretnej osobie, zwierz ciu, a nie jego chromosomie. Jednak powy»sza rozbie»no± jest caªkowicie usprawiedliwiona. W algorytmach genetycznych droga od genotypu do fenotypu jest zwykle jednoznacznie wyznaczon procedur. W zwi zku z powy»szym nie±cisªo± j zykowa o której pisz jest naturalna. Denicja 1 (Przestrze«poszukiwa«) Je±li rozwi zanie problemu mo»e by reprezentowane schematem R (np. N parametrów rzeczywisto-liczbowych), wtedy przestrze«poszukiwa«jest zbiorem wszystkich mo»liwych konguracji które mog by przedstawione w R (w przypadku tego przykªadu N 2 ). Denicja 2 (Rozkªad normalny) Zmienna losowa posiada rozkªad normalny je- ±li funkcja jej g sto±ci jest opisana wzorem (2.1). f(x) = 1 0, 5 (x µ)2 exp, (2.1) 2 π σ 2 σ 2 gdzie µ jest warto±ci ±redni zmiennej losowej x, natomiast σ jest odchyleniem standardowym. Denicja 3 (Odchylenie standardowe) Odchylenie standardowe jest miar rozpi to±ci zbioru danych. Miar zmienno±ci zmiennej losowej. 7

14 2.4 Zagadnienia dotycz ce schematów Schematy Wa»ne miejsce w teorii algorytmów genetycznych zajmuje poj cie schematu. Schematy sªu» do badania i klasykowania ci gów kodowych. S tak»e podstawowym ±rodkiem analizy wpªywu selekcji i pozostaªych operatorów genetycznych na rozprzestrzenianie si danych ukªadów chromosomów w populacji. Wa»nym zagadnieniem dotycz cym teorii schematów jest spojrzenie na chromosom jako na wektor, który jest punktem w wielowymiarowej (lwymiarowej) przestrzeni rozwi za«. Ka»dy z genów reprezentuje jednocze±nie jeden z wymiarów (locus), a prócz tego jednocze±nie okre±lon warto± (allel). Schemat jest, w tym uj ciu, okre±lonym zestawem staªych warto±ci wybranych genów w chromosomie. Odpowiada to reprezentacji w postaci hiperpªaszczyzny w przestrzeni rozwi za«. Schemat jest zbiorem wszystkich chromosomów które na okre±lonych pozycjach posiadaj te same geny. W praktyce oznacza to wprowadzenie do alfabetu dodatkowego symbolu nieistotne (*). Przykªadów jest niesko«czenie wiele, kilka z nich przedstawiªem poni»ej. *001 {0001, 1001} *00* {0000, 0001, 1000, 1001} 1*0*11 {100011, , , } *** {000, 001, 011, 010, 110, 100, 101, 111} Na powy»szych przykªadach mo»na ªatwo zaobserwowa i»: dla ka»dego k-elementowego alfabetu istnieje (k + 1) l schematów, gdzie l jest liczb genów, do ka»dego schematu pasuje dokªadnie 2 r ªa«cuchów, gdzie r jest liczb symboli nieistotne, do ka»dego ªa«cucha o dªugo±ci l pasuje 2 l schematów, dla ka»dego ªa«cucha o dªugo±ci l istnieje 3 l schematów, w populacji o liczno±ci n mo»e by reprezentowanych od 2 l do n 2 l ró»nych schematów. Dla schematów istniej dwie charakterystyczne wªasno±ci. S nimi rz d i dªugo± deniuj ca. Denicja 4 (Rz d) Rz dem schematu H (oznaczanym przez o(h)) okre±la si liczb pozycji ustalonych w schemacie. Przykªady: H 1 = ( 01 ) o(h 1 ) = 2 H 2 = ( ) o(h 2 ) = 4 H 3 = ( ) o(h 3 ) = 7 8

15 Denicja 5 (Dªugo± deniuj ca) Dªugo± deniuj ca (rozpi to±, [2]) schematu H (oznaczana przez δ(h)) jest odlegªo±ci mi dzy pierwsz a ostatni ustalon pozycj schematu. Sªu»y ona do okre±lenia zawarto±ci informacji przechowywanych w schemacie. Przykªady: δ(h 1 ) = 7 6 = 1 δ(h 2 ) = 7 2 = 5 δ(h 3 ) = 7 1 = 6 Na podstawie powy»szych przykªadów mo»na zauwa»y,»e schemat z jedn pozycj ustalon ma dªugo± deniuj c równ 0. Zale»nie od dªugo±ci schematu ma on mniejsze lub wi ksze szanse na przetrwanie. Wzór (2.2) opisuje prawdopodobie«stwo zniszczenia schematu H (p d ) na skutek krzy»owania jednopunktowego. p d (H) = δ(h)/(l 1) (2.2) Co za tym idzie prawdopodobie«stwo przetrwania schematu (p s ) wyra»one jest wzorem (2.3). p s (H) = 1 δ(h)/(l 1) (2.3) Poniewa» tylko niektóre chromosomy zostan wybrane do krzy»owania, to prawdziwe prawdopodobie«stwo przetrwania schematu wyra»one jest poprzez wzór (2.4), gdzie p c jest prawdopodobie«stwem krzy»owania. p s (H) = 1 p c δ(h)/(l 1) (2.4) Jednak nie jest to jeszcze caªkowicie zgodne z rzeczywisto±ci. Wystarczy rozwa»y przykªad, gdzie chromosomy zapisane s jako [0011], [0111] i [0001], gdy schemat H 1 ma posta [0 1], to dowolnie krzy»uj c powy»szych osobników nie ma mo»liwo±ci zniszczenia go, podczas gdy schemat H 2 maj cy posta [ 11 ] ma mniejsz szans przetrwania. W zwi zku z tym potrzebna jest modykacja wzoru (2.4), dzi ki czemu otrzymywana jest ostateczna posta (2.5). p s (H) 1 p c δ(h)/(l 1) (2.5) Mo»na stwierdzi,»e schematy s podstaw dziaªania algorytmów genetycznych. Podstawowe operacje wyst puj ce w algorytmach genetycznych, to: reprodukcja, krzy»owanie i mutacja. Maj one bezpo±redni wpªyw na reprodukcj schematów. Efektem reprodukcji, jak ªatwo to zaobserwowa, jest wzrost ilo±ci dobrych schematów w populacji. Jest to oczywiste - osobniki b d ce ich nosicielami s lepiej przystosowane, wi c w zwi zku z tym charakteryzowane s przez wi ksze prawdopodobie«stwo selekcji. Sama reprodukcja (selekcja elitarna) nie wnosi nowych elementów do puli schematów. Dalej zachodzi krzy»owanie. Mo»e ono mie destruktywny wpªyw na schemat. Poniewa» schemat ulega zniszczeniu je±li zostanie przeci ty, to oczywiste jest i» schemat jest tym trwalszy im mniejsza jego dªugo± deniuj ca. 9

16 Mutacja o niewielkim nat»eniu ma znikomy wpªyw na schematy. Oczywi±cie im wi kszy jego rz d, tym wi ksza szansa,»e ulegnie zniszczeniu w trakcie ewentualnej mutacji. W tym miejscu mo»na doj± do do± jasnego wniosku, do którego na podstawie podobnego toku rozumowania doszedª Goldberg [2]: Schematy o wysokim przystosowaniu i maªej rozpi to±ci [... ] propaguj si z pokolenia na pokolenie w rosn cych wykªadniczo porcjach; wszystko to odbywa si równolegle, nie wymagaj c»adnej specjalnej organizacji programu ani dodatkowej pami ci Powy»sz cech algorytmów genetycznych nazywa si ukryt równolegªo±ci. Schematy mo»na rozpatrywa jako hiperpªaszczyzny w przestrzeni rozwi za«. Wymiarowo± tych hiperpªaszczyzn zale»y bezpo±rednio od rz du i mo»e zosta wyra»ona wzorem: n o, gdzie n jest liczb wymiarów przestrzeni rozwi za«(dªugo±ci chromosomu), natomiast o jest rz dem schematu. Nale»y zauwa»y i» warto± schematu, w odniesieniu do rozwi zania optymalnego w algorytmie genetycznym, nie opiera si jedynie na warto±ci funkcji przystosowania. Oczywi±cie istotny jest fakt i» cenniejszy, z dwóch schematów o równym rz dzie, jest ten którego warto± funkcji przystosowania jest wy»sza. Jednak prócz tego wa»ny jest te» rz d schematu. Nale»y zauwa»y,»e schemat wy»szego rz du (np. o, w przestrzeni n-wymiarowej), z tak sam warto±ci funkcji przystosowania jak schemat rz du ni»szego (np. o m, przy m > 0), jest bardziej warto±ciowy gdy» jest odpowiednikiem hiperpªaszczyny o mniejszej liczbie wymiarów (n o), co jest bli»sze konkretnemu rozwi zaniu (o m wymiarów), ni» schemat ni»szego rz du (n o + m). W szczególno±ci schemat rz du równego dªugo±ci chromosomu, o najlepszym ze wszystkich schematów przystosowaniu b dzie rozwi zaniem najbardziej optymalnym. W zwi zku z powy»szym poszukiwanie rozwi zania optymalnego mo»e by jednocze±nie poszukiwaniem najlepszego schematu Zdolno± schematów do przetrwania W bie» cym podpunkcie przedstawi niezwykle interesuj ce zagadnienie wspóªczynnika przetrwania schematów (ang. survival rate). Zagadnienie to opisane zostaªo wyczerpuj co w [8]. Mo»na rozwa»y schemat H, który pozostaje powy»ej ±redniej przystosowania osobników o warto± c. Przy tym ±rednie przystosowanie populacji wyra»one jest przez f. Jak ªatwo da si zauwa»y ±rednie przystosowane osobników pasuj cych do schematu H mo»na wyrazi wzorem (2.6). f(h) = (1 + c)f (2.6) Zakªadaj c jedynie wyst powanie reprodukcji (przyjmuj jako metod selekcji selekcj proporcjonaln ) je±li przyj,»e m(h, t) odpowiada ilo±ci osobników reprezentowanych przez schemat H w generacji t, to oczekiwana ilo± reprezentantów powy»szego schematu w generacji t+1 przedstawiona jest wzorem (2.7), i nazywany 10

17 jest równaniem wzrostu. m(h, t + 1) = m(h, t) f(h) f = (1 + c)m(h, t) (2.7) Ze wzgl du na to,»e schemat H powoduje przystosowanie wy»sze od przeci tnego, w zwi zku z tym kolejna generacja posiada wi ksz ilo± osobników reprezentuj cych go. Rozpatruj c przyrost ilo±ci reprezentantów z uwzgl dnieniem wpªywu krzy»owania i mutacji (obydwa operatory dziaªaj ce jednopunktowo) powy»szy wzór przedstawi mo»na jako (2.8). m(h, t + 1) m(h, t) f(h) f [ ] δ(h) 1 p c l 1 p mo(h), (2.8) gdzie p c jest prawdopodobie«stwem zaistnienia w nowej generacji na skutek krzy»owania, w odró»nieniu od reprodukcji, δ(h) jest dªugo±ci deniuj c (patrz denicja 5) schematu H, l dªugo±ci chromosomu, p m prawdopodobie«stwem mutacji, natomiast o(h) jest rz dem schematu (patrz denicja 4). Zaªo»one zostaªo,»e schemat H w wyniku krzy»owania lub mutacji zginie, odnosi si to do cz ±ci wzoru zawieraj cej prawdopodobie«stwo przetrwania schematu (2.5). Nie rozwa»yªem natomiast faktu powstania nowych chromosomów przynale»nych do H. Jak wida wyra¹nie w tym wypadku stosuje szacowanie dolne dla mo»liwo±ci przetrwania schematu H. Dotyczy to szczególnie drugiego czªonu w nawiasie. Je»eli za± chodzi o mutacj, to zostaªa zastosowana aproksymacja (1 p m ) o(h) = pm o(h), ze wzgl du na zaªo»enie,»e p m 1. Jak wida z (2.8) krótkie schematy (maªe δ(h)) niskiego rz du (maªe o(h)) powy»ej ±redniej warto±ci przystosowania (wysokie f(h)/f) propagowane s w kolejnych generacjach, i zgodnie z tym co pisze Falkenauer [8] i Goldberg [2], liczba osobników reprezentuj cych dany schemat wzrasta wykªadniczo - o czym wspomnia- ªem ju» wcze±niej. Jest to tre±ci twierdzenia o schematach. Twierdzenie 1 (Twierdzenie o schematach) Krótkie schematy niskiego rz du i ocenione powy»ej ±redniej uzyskuj wykªadniczo rosn c liczb ªa«cuchów w kolejnych pokoleniach. Z powy»szego twierdzenia wynika,»e w przypadku gdy nie ma mo»liwo±ci zastosowania metod analitycznych do rozwi zania problemu (np. optymalizacyjnego) nie ma lepszego sposobu przeszukiwania podprzestrzeni rozwi za«ni» algorytmy genetyczne Bloki buduj ce Poniewa» krzy»owanie rozrywa ªa«cuchy obecne w chromosomie, powoduj c niszczenie dªugich schematów, ªatwo mo»na zauwa»y i» krótsze schematy maj znacznie wi ksze mo»liwo±ci przetrwania. W zwi zku z powy»szym podpunktem od samego pocz tku dziaªania algorytmu wa»ne s schematy o ponadprzeci tnym przystosowaniu. Krótkie schematy charakteryzuj ce si ponadprzeci tnym przystosowaniem mog by postrzegane jako cegieªki 11

18 do budowy najlepiej przystosowanych osobników. Wªa±nie one nazywane s blokami buduj cymi. Trudno±ci na któr napotyka si w próbie skorzystania ze schematów jest ich ilo±. Ze wzgl du na ni niemo»liw staje si bezpo±rednia ocena ka»dego z niskorz dowych schematów. Schemat jest reprezentowany przez hiperpªaszczyzn w przestrzeni rozwi za«. Punkt, czyli w szczególno±ci rozwi zanie, jest miejscem gdzie przecinaj si hiperpªaszczyzny. W zwi zku z powy»szym poszukiwanie optimum mo»e by postrzegane jako poszukiwanie najlepszego schematu. Emanuel Falkenauer [8] przedstawiª ciekawe wyprowadzenie ilo±ci potomków dla ponadprzeci tnie przystosowanych schematów. Na podstawie wyprowadze«zostaª sformuªowany wniosek, który pozwol sobie tutaj przytoczy : [... ] AG wykorzystuj strategi próbnej alokacji [... ] b d c optymaln [w przypadku] nieuniknionej niepewno±ci,»e niezb dne b dzie przeszukiwanie ogromnych przestrzeni poszukiwa«. Wynika z tego,»e w wypadku gdy wniosek ten daje si zastosowa algorytmy genetyczne s najlepszym z mo»liwych sposobem przeszukiwania przestrzeni poszukiwa«. W zwi zku z powy»szym mo»na stwierdzi i» schematy trafnie opisuj sposób dziaªania algorytmów genetycznych, pomimo»e nie da si ich bezpo±rednio wykorzysta - cho zostaªy skonstruowane metody na nich oparte (patrz krzy»owanie Simplex, w punkcie 3.8). Wniosek jaki z tego wypªywa jest taki,»e wybieraj c sposób kodowania chromosomów dla danego rozwi zania, a tak»e projektuj c operatory dziaªaj c na chromosomach, w celu optymalizacji nakªadów na poszukiwania wzgl dem przeszukiwanego obszaru podprzestrzeni poszukiwa«nale»y bra pod uwag schematy. Twierdzenie 2 (Twierdzenie o blokach buduj cych) Algorytm genetyczny poszukuje dziaªania zbli»onego do optymalnego przez zestawianie krótkich, niskiego rz du schematów o du»ej wydajno±ci dziaªania, zwanych blokami buduj cymi. Denicja 6 (Zwodzenie) Zwodzenie stan w którym ª czenie dobrych bloków buduj cych prowadzi do spadku warto±ci funkcji przystosowania. Jest przyczyn nieprzydatno±ci okre±lonych algorytmów genetycznych do rozwi zywania niektórych problemów. Powy»sze zjawisko jest silnie poª czone z poj ciem epistazy. W przypadku wysokiej epistazy bloki buduj ce nie mog si formowa i w efekcie tego zadanie jest zawodne. Istniej metody post powania w tym przypadku. Poni»ej wymieniam i opisuj je w skrócie. 1. zmiana sposobu kodowania, niezb dna jest do tego wst pna wiedza na temat problemu, 2. u»ycie operatora inwersji, nie zawsze jest to jednak wystarczaj ce, 3. zastosowanie nieporz dnego algorytmu genetycznego, algorytmy te posiadaj kilka ciekawych wªa±ciwo±ci, jednak nie zajmowaªem si nimi - po wi cej informacji odsyªam do [3] gdzie zostaªy dobrze opisane. 12

19 Denicja 7 (Dryf genowy) Dryf genowy jest procesem zmniejszania si prawdopodobie«stwa wyst pienia niektórych alleli. Zwi ksza si ze wzrostem ilo±ci pokole«. Szybciej wyst puje w maªych populacjach. Mo»e prowadzi do wygini cia okre±lonych alleli, przez to zmniejszaj c ró»norodno± genetyczn populacji. 2.5 Tworzenie algorytmu genetycznego Tworzenie algorytmu genetycznego opiera si na sze±ciu skªadowych: 1. odpowiednia reprezentacja rozwi zywanego problemu, 2. metoda generacji rozwi za«pocz tkowych, 3. funkcja przystosowania (sªu»y do oceny potencjalnych rozwi za«), 4. operatory genetyczne, 5. staªe parametry charakteryzuj ce dany algorytm - takie jak: rozmiar populacji, prawdopodobie«stwo stosowania operatorów genetycznych, 6. warunki zako«czenia dziaªania algorytmu. 2.6 Staªe parametry charakteryzuj ce algorytm Nawet najprostszy algorytm genetyczny posiada zestaw parametrów, przez które jest charakteryzowany. Parametry te s niezmienne podczas dziaªania algorytmu i zale»nie od ich warto±ci algorytm mo»e by bardzo przydatny do znalezienia rozwi zania dla rozpatrywanego zagadnienia lub zupeªnie nieprzydatny. W niektórych implementacjach prawdopodobie«stwo mutacji mo»e ulega zmianie w kolejnych generacjach - nale»y mie to na uwadze, czasami zdarzaj si implementacje w których rozmiar populacji lub nawet dªugo± chromosomu osobników jest zmienna - s to jednak przypadki szczególne i zwykle ±ci±le powi zane z rodzajem zadania do rozwi zania którego stosowany jest algorytm. Algorytm mo»e by bezwarto±ciowy ze wzgl du na zachodz c w nim rozbie»no± lub cz stszy przypadek, zbie»no± do lokalnego ekstremum. Wyodr bniªem sze± podstawowych grup i parametrów charakterystycznych: rodzaj kodowania chromosomu, dªugo± chromosomu, rozmiar populacji i ich ewentualnego rozkªadu, wyst powanie podpopulacji (specjalizacja) i wykorzystanie operatora migracji lub przenikania, rodzaje stosowanych operatorów genetycznych (selekcja, krzy»owanie, mutacja, inwersja), 13

20 prawdopodobie«stwo zaj±cia mutacji, rodzaj wybranego skalowania. Opis, sposób dziaªania i znaczenie powy»szych parametrów przedstawiªem w dalszych cz ±ciach mojej pracy. 2.7 Zastosowania algorytmów genetycznych Algorytmy genetyczne posiadaj rozliczne zastosowania. Wymieni tutaj niektóre z nich, zaczerpni te z [10, 12, 13, 15]. In»ynieria komputerowa: wykorzystanie AG w wi kszo±ci wszelkich rodzajów systemów adaptacyjnych. In»ynieria komputerowa: u»ycie algorytmów genetycznych w systemach rozpoznawania wzorców, ich rola polega tutaj na dokonywaniu klasykacji. In»ynieria komputerowa: wykrywanie brzegów obrazów, implementacja ma dwa zadania - sterowane lokalnym doborem parametrów ltracji obrazu; lokalizacja punktów brzegowych. In»ynieria komputerowa: Algorytmy genetyczne wykorzystywane s do asystowania sieciom neuronowym: wybór cech lub transformacja przestrzeni cech u»ywanej przez klasykator sieci neuronowej, wybór sposobu uczenia lub parametrów steruj cych uczeniem, analiza sieci neuronowych. In»ynieria: budowa samolotów niewykrywalnych przez radary - okre±lenie optymalnego ksztaªtu. In»ynieria: budowa anten satelitarnych, okre±lenie optymalnego ksztaªtu potrzebnego do maksymalizacji propagacji po» danego sygnaªu przy minimalizacji zakªóce«. In»ynieria: wykorzystywane w systemach w których wyst puje problem optymalizacyjny. In»ynieria: budowanie cyfrowych adaptacyjnych ltrów rekursywnych. In»ynieria: techniki efektywnego wykrywania, ±ledzenia i precyzyjnego okre- ±lenia odlegªo±ci od podwodnych obiektów przy u»yciu - du»ych macierzy pasywnych sonarów, radarów, kamer wideo. 14

21 Produkcja: optymalne wykorzystanie ci tych materiaªów, u»ycie algorytmów genetycznych sprowadza si do okre±lenia optymalnego ci cia elementów danej dªugo±ci w celu minimalizacji ilo±ci odpadków i jak najszybszego speªnienia okre±lonych zamówie«; wycinanie zadanej ilo±ci ksztaªtów z jak najmniejszej powierzchni materiaªu. Astronomia: obserwacje radarowe (ang. radar imaging) w radio-astronomii, u»ycie modulowanej fali radiowej odpowiedniej dªugo±ci pozwala na bardzo precyzyjne okre±lenie powierzchni planet i asteroid, z powierzchni Ziemi - algorytmy genetyczne u»ywane s tutaj do okre±lenia optymalnej dªugo±ci fali i jej modulacji. Nauka: rozwi zywanie nieliniowych równa«ró»niczkowych wysokich rz dów. Robotyka: budowanie MOBOTów (ang. mobile robot - maszyna na wzór i podobie«stwo np. R 2 D 2 lub C 3 P O z Gwiezdnych Wojen) czyli maszyn b d - cych w stanie porusza si w nieznanym, niepewnym ±rodowisku bez potrzeby u»ycia mapy. W zwi zku z tymi wymaganiami MOBOTy musz by w stanie przystosowywa si do warunków panuj cych w otoczeniu i uczy si co mog zrobi (np. przej±cie przez drzwi), a co jest niewykonalne (np. przej±cie przez ±cian ). Fizycy: modelowanie problemów ±wiata rzeczywistego zawieraj cych du»e ilo- ±ci zmiennych, które w szczególno±ci na swój równolegªy charakter mog by modelowane ªatwiej i szybciej przy pomocy algorytmów genetycznych. Biolodzy: wykorzystanie algorytmów genetycznych do modelowania zachowania prawdziwych populacji. Chemicy i biochemicy: wykorzystanie algorytmów genetycznych do prowadzenia bada«w celu wymy±lania nowych lub modykacji istniej cych produktów leczniczych. Jednym z dobrze znanych problemów w których bardzo dobrze sprawuj si algorytmy genetyczne s zagadnienia szeregowania (ang. order based problems). Przykªadem mo»e by klasyczny problem komiwoja»era. Zadanie polega na odwiedzeniu okre±lonej liczby miast w taki sposób by suma drogi byªa jak najkrótsza, przy czym miasta mog by poªo»one w dowolnych odlegªo±ciach od siebie. 15

22 Rozdziaª 3 Algorytmy genetyczne i ich schemat dziaªania 3.1 Reprezentacja problemu: chromosom Pierwsz rzecz przy tworzeniu algorytmu genetycznego jest okre±lenie kodowania chromosomów. Musz by one kodowane ªa«cuchami sko«czonej dªugo±ci z okre- ±lonego sko«czonego alfabetu. Najcz ±ciej alfabet jest maªy. Zachodzi tutaj analogia do j zyka, gdzie ka»dy chromosom jest sªowem (ªa«cuchem znaków) skªadaj cym si z liter (znaków alfabetu), o czym pisze Michalewicz [3]. Dªugo± chromosomu zale»na jest od wymaganej dokªadno±ci przybli»enia rozwi zywanego zagadnienia oraz sposobu kodowania. Ka»dy punkt przestrzeni rozwi - za«reprezentowany jest przez jeden ªa«cuch. Algorytm genetyczny pracuje na tych wªa±nie reprezentacjach. W zwi zku z tym reprezentacja powinna by odpowiednio dobrana. Zgodne z prawidªami dziaªania algorytmów genetycznych istniej dwie zasady konstrukcji kodowania - zasada znacz cych cegieªek i zasada minimalnego alfabetu. Zostaªy one przedstawione przez Goldberga [2]. Zasada 1 (Zasada znacz cych cegieªek) Kod nale»y dobiera w taki sposób,»eby schematy niskiego rz du i o maªej rozpi to±ci wyra»aªy wªasno±ci zadania oraz pozostawaªy wzgl dnie niezale»ne od schematów o innych pozycjach ustalonych. Zasada 2 (Zasada minimalnego alfabetu) Nale»y wybra najmniejszy alfabet w którym dane zadanie wyra»a si w sposób naturalny. W zale»no±ci od dªugo±ci alfabetu zmienia si te» mo»liwa liczba dost pnych odwzorowa«na przestrze«rozwi za«, a co za tym idzie tak»e dªugo± chromosomów. Wzór 3.1 przedstawia porównanie mo»liwej do odwzorowania liczb punktów w ªa«- cuchu 2-elementowym i k-elementowym, gdzie l i l s odpowiednio - dªugo±ci ci gu binarnego i dªugo±ci sªowa w alfabecie k-elementowym. 2 l = k l (3.1) Wzór (k + 1) l opisuje liczb dost pnych schematów dla alfabetu k-elementowego. 16

23 dziesi tne kodowanie Graya Tablica 3.1: Przykªad warto±ci kodowania metod Graya Poprzez liniowe odwzorowanie przedziaªu < P min, P max > na zbiór nieujemnych liczb caªkowitych, z przedziaªu < 0, 2 l 1 > mo»na dokªadnie kontrolowa zakres i precyzj zmiennych decyzyjnych. Dokªadno± reprezentacji (π) tego typu opisana jest wzorem przedstawionym poni»ej. π = P max P min 2 l 1 (3.2) Kod dla przypadków wieloparametrycznych konstruowany jest poprzez podziaª chromosomu na bloki odpowiedniej dªugo±ci - zale»nej od wymaganej ilo±ci punktów i dokªadno±ci reprezentacji. Bloki te w taki sam sposób odpowiadaj powy»szym zasadom Chromosomy binarne (BCD) Najcz ±ciej stosowane s geny binarne, ze wzgl du na uniwersalno± tego rozwi zania. Dla kodowania binarnego mo»liwe s dwa gªówne rozwi zania kodowania: BCD (Binary Coded Decimals) i kodowanie Graya. Inny sposób kodowania, to kodowanie chromosomu przy pomocy tablicy zmiennych typu rzeczywistego. Najbardziej popularnym typem kodowania chromosomów jest BCD [19]. Przy innych ni» reprezentacja binarna konieczne jest skonstruowanie odpowiednich do danego typu genów operatorów. W mojej pracy przedstawiªem to zagadnienie na przykªadzie chromosomów wyra»onych tablic zmiennych typu rzeczywistego, które dalej nazywa b d tak»e chromosomami kodowanymi zmiennoprzecinkowo Chromosomy kodowane metod Graya Jest to inny ni» BCD sposób kodowania binarnego. Zasada kodowania metod Graya zakªada,»e zmianie mi dzy kolejnymi warto±ciami podlega dokªadnie jeden bit. Co powoduje jego du» przydatno± w przypadku ukªadów cyfrowych [1, 19]. Dla przykªadu w tablicy 3.1 przedstawiªem 3-bitowe kodowanie liczb od 0 do 7. Operator mutacji przy zastosowaniu kodowania Graya gwarantuje wi ksz dynamik przeszukiwania przestrzeni rozwi za«. Przykªadowe efekty mutacji pojedynczego genu ªa«cucha , dla kodowania 6-bitowego w formie porównania z kodowaniem BCD, przedstawiªem w tabeli

24 numer genu kod binarny kod Graya Tablica 3.2: Przedstawienie dynamiki przeszukiwania Konwersja mi dzy powy»szym kodami odbywa si w sposób przedstawiony wzorami (3.3) i (3.4) [30]: Konwersja kodu binarnego (b) na kod Graya (g) Konwersja kodu Graya (g) na binarny (b) g = b XOR(b DIV 2) (3.3) b = GRAY (g) = { g jesli g {0, 1} g XOR GRAY (g DIV 2) dla g 2 (3.4) Chromosomy kodowane logarytmiczne Kodowanie logarytmiczne jest kolejnym ze sposobów kodowania binarnego. Liczba reprezentowana jest poprzez warto± wyra»on wzorem (3.5). ( 1) b e ( 1)a [bin] BCD (3.5) Gdzie chromosomy maj posta : ab[bin] BCD. Pierwsze dwa bity (a i b) nie maj bezpo±redniego powi zania z warto±ci, sªu» jedynie do ustalenia znaku liczby i znaku pot gi Chromosomy kodowane zmiennopozycyjnie Dokªadno± kodowania liczbami zmiennopozycyjnymi jest zwykle wy»sza od dokªadno±ci kodowania bitowego [10]. Reprezentacja zmiennopozycyjna mo»e obejmowa wi ksze dziedziny przestrzeni rozwi za«, na dodatek przy zachowaniu wi kszej dokªadno±ci. Przy u»yciu kodowania zmiennoprzecinkowego przestrze«poszukiwa«ma taki wymiar jak ilo± zmiennych okre±laj cych badan funkcj. Problem dokªadno±ci reprezentacji sprowadza si do czego± innego ni» w przypadku sposobów kodowania binarnego. Ograniczeniem nie jest przyj ta ilo± bitów wektora, a rodzaj procesora i systemu operacyjnego - w chwili obecnej najcz ±ciej 32 lub 64 bity. 3.2 Dziaªanie algorytmu genetycznego Kolejne etapy dziaªania algorytmu genetycznego przedstawione s na rysunku

25 Rysunek 3.1: Diagram dziaªania algorutmu genetycznego 19

26 W dalszej cz ±ci mojej pracy omówiªem kolejne przedstawione etapy dziaªania algorytmów genetycznych. 3.3 Warunki stopu Dziaªanie algorytmów genetycznych mo»e odbywa si w niesko«czono±, a przynajmniej na tyle dªugo by poprawa wyniku byªa niewspóªmierna do czasu dziaªania. W zwi zku z tym potrzebne jest okre±lenie warunków stopu, które w przypadku speªnienia którego± z nich doprowadz do zako«czenia dziaªania algorytmu. Istnieje kilka mo»liwo±ci wyj±cia z algorytmu. Mo»na próbowa podzieli je ze wzgl du na zako«czone sukcesem lub pora»k. Do pierwszej grupy nale»y: limit przystosowania - jest to przerwanie dziaªania algorytmu w momencie gdy przez najlepszego osobnika zostanie osi gni ta mniejsza lub równa zadanej warto± funkcji przystosowania. Wi cej na temat funkcji przystosowania mo»na znale¹ w punkcie 3.5. Natomiast do drugiej grupy - zako«czenia pora»k - zaliczane jest wi cej warunków: osi gni cie zadanej ilo±ci generacji - okre±la maksymaln ilo± iteracji wykonanych przez algorytm genetyczny, szczególnie przydatne gdy nie ma pewno±ci co do optymalnych ustawie«algorytmu genetycznego i poszukuje si ich metod empiryczn, co cz sto ma miejsce, limit czasowy - okre±lenie maksymalnego czasu, przez jaki algorytm b dzie dziaªa przed zatrzymaniem, opcja przydatna gdy poszukiwany algorytm powinien wpasowa si w naªo»one ograniczenia czasowe, co mo»e mie miejsce w rzeczywistych zastosowaniach, maksymalna ilo± bezproduktywnych generacji - pozwala na okre±lenie ile iteracji powinien wykona algorytm w przypadku gdy nie nast puje poprawa wyniku, czasowy limit bezczynno±ci - umo»liwia ustalenie przez ile czasu algorytm ma dziaªa w przypadku braku poprawy wyniku funkcji przystosowania. 3.4 Metody generacji rozwi za«pocz tkowych Dziaªanie algorytmu genetycznego rozpoczyna si od utworzenia pocz tkowej populacji. Teoretyczne analizy algorytmów genetycznych stosuj losow generacj populacji pocz tkowej. Dzi ki temu mo»liwe jest jednoczesne przeszukiwanie rozlegªej przestrzeni. Poza tym pomaga to w unikni ciu zablokowania si algorytmu w ekstremum lokalnym. W zastosowaniach praktycznych, np. optymalizacji, cz sto stosuje si inne sposoby takie jak metody deterministyczne. Dodatkowo przy dobrej znajomo±ci problemu, jak pisze Chippereld [11], mo»liwe jest dodanie kilku konkretnych osobników o których wiadomo i» znajduj si w pobli»u ekstremum. 20

27 Mo»liwe jest tworzenie jednej populacji, jednak istnieje tak»e mo»liwo± tworzenia pod-populacji (ang. subpopulations) w ich obr bie osobnicy krzy»uj si mi dzy sob wedªug przyj tej reguªy i dziaªanie poszczególnych pod-populacji nie ró»ni si niczym od pojedynczej, najcz ±ciej spotykanej populacji. Jedyna ró»nica polega na przenoszeniu si najlepszych osobników do s siednich populacji. Pozwala to na lepsze pokrycie przestrzeni rozwi za«, przy jednoczesnej zwi kszonej ochronie przed zatrzymaniem algorytmu w optimum lokalnym [10]. Zagadnienia pod-populacji i migracji zostaªy szerzej opisane w dalszej cz ±ci pracy (rozdziaª ). Dla reprezentacji zmiennoprzecinkowej osobnicy populacji pocz tkowej generowani s wedªug wzoru: i(m) = (i max i min ) random() + i min (3.6) gdzie i(m) jest m-tym osobnikiem, i min jest doln warto±ci zakresu poszukiwa«, i max jest górn warto±ci zakresu poszukiwa«, natomiast random() jest generatorem liczb losowych o rozkªadzie jednorodnym, z przedziaªu < 0, 1 >. 3.5 Funkcja przystosowania Funkcja przystosowania obliczana jest dla ka»dego osobnika w populacji. Odzwierciedla jak bardzo dany osobnik, wzgl dem reszty populacji, zbli»yª si do optimum. Jest przedstawieniem jako±ci rozwi zania reprezentowanego przez poszczególnego osobnika. Odwzorowuje ona chromosom na warto± przystosowania, [3]. Funkcja przystosowania peªni znacz c rol w przebiegu dziaªania algorytmu genetycznego. W zwi zku z tym powinna by odpowiednio dobrana. Powinna prowadzi do oddzielenia chromosomów pozwalaj cych na najlepsze rozwi zanie problemu i nie mo»e by zbyt ostro selekcjonuj ca [13]. Wa»ne jest by, zgodnie wcze±niejszymi postulatami, pozwalaªa na zbadanie jak najwi kszego obszaru przestrzeni rozwi za«. Funkcja przystosowania nie mo»e przyjmowa warto±ci ujemnych, ze wzgl du na to i» jest ona nieujemnym kryterium jako±ci. W zwi zku z tym potrzebne jest przeksztaªcenie funkcji celu w funkcj przystosowania. W przypadku algorytmów genetycznych przej±cie z zadania maksymalizacji zysku do zadania minimalizacji kosztu i vice versa, odbywa si inaczej ni» w klasycznych badaniach operacyjnych. Temat te zostaª szerzej opisany przez Goldberga [2]. W zagadnieniach algorytmów genetycznych stosuje si przedstawione poni»ej przeksztaªcenie funkcji kosztu (g(x)) w funkcj przystosowania (f(x)): { Cmax g(x), je»eli g(x) < C f(x) = max (3.7) 0 w przeciwnym wypadku Wspóªczynnik kosztu maksymalnego (C max ) mo»e by dobrany na ró»ne sposoby: zosta ustawiony na sztywno (np. wczytany z wej±cia), równy najwi kszej napotkanej dotychczasowo warto±ci, równy najwi kszej napotkanej dotychczasowo warto±ci w k ostatnich populacjach, 21

28 waha si w zale»no±ci od wariancji rozpatrywanej populacji. W zastosowaniach w których wyst puje funkcja zysku nie ma problemów z odpowiednim kierunkiem funkcji, jednak mog by problemy z ujemnymi warto±ciami funkcji u»yteczno±ci (u(x)). Wzór (3.8), analogiczny do (3.7), przedstawia sposób poprawnego przewarto±ciowania funkcji u»yteczno±ci w funkcj przystosowania: { u(x) + Cmin, je»eli u(x) + C f(x) = min > 0 (3.8) 0 w przeciwnym wypadku Wspóªczynnik kosztu minimalnego (C min ) mo»e by dobrany na ró»ne sposoby, o czym pisze Goldberg [2]: zosta ustawiony na sztywno (np. wczytany z wej±cia), równy najmniejszej napotkanej dotychczasowo warto±ci, równy najmniejszej napotkanej dotychczasowo warto±ci w k ostatnich populacjach, waha si w zale»no±ci od wariancji rozpatrywanej populacji. 3.6 Operatory genetyczne Operatory genetyczne s ±ci±le powi zane ze sposobem reprezentacji chromosomu. Istniej trzy podstawowe operatory genetyczne: operator selekcji, operator krzy-»owania i operator mutacji. Opisaªem je szerzej w kolejnych rozdziaªach - odpowiednio: 3.7, 3.8 i 3.9. Poza tym istniej jeszcze rzadziej u»ywane operatory genetyczne takie jak: inwersja, migracja, przenikanie. Dwa ostatnie z nich nale» do grupy wprowadzaj cej do zagadnie«populacji genetycznych termin specjalizacji. Informacje na ich temat mo»na znale¹ w rozdziaªach - odpowiednio: 3.10, i Zale»nie od wybranego typu operatora nale»y liczy si z charakterystycznymi mo»liwo±ciami i ograniczeniami ka»dego z nich. 3.7 Operator selekcji Operator selekcji (czasem w literaturze dotycz cej algorytmów genetycznych okre±la si selekcj mianem reprodukcja) ma za zadanie wybór osobników do nowej populacji promuj c jednocze±nie najlepszych osobników [7, 13]. Osobnicy posiadaj cy lepiej przystosowane chromosomy maj wi ksze szanse przekazania swoich genów. Istnieje wiele, wr cz niesko«czona ilo±, ró»nych mechanizmów selekcji, [13]. Jednym ze sposobów ich usystematyzowania jest podziaª na selekcj tward (ang. hard selection) i selekcj mi kk (ang. soft selection). Poni»ej przedstawiam denicje obu tych terminów, na podstawie [8]. 22

29 Denicja 8 (selekcja twarda) Selekcja twarda polega na wspóªzawodnictwie mi dzy osobnikami. Tylko najlepsze osobniki posiadaj potomstwo. Co za tym idzie tylko one maj wpªyw na allele obecne w przyszªych pokoleniach. Denicja 9 (selekcja mi kka) Selekcja mi kka jest mechanizmem który pozwala sªabiej przystosowanym osobnikom na umieszczenie swojego potomstwa w kolejnej generacji. Dzieje si tak ze wzgl du na to i» ka»dy osobnik w populacji, niezale»nie od warto±ci funkcji przystosowania, posiada niezerowe prawdopodobie«stwo selekcji. Do najcz ±ciej stosowanych metod selekcji zalicza si : Selekcja elitarna, Selekcja proporcjonalna zwana tak»e "metod koªa ruletki"(roulette wheel selection), Turniejowa (tournament selection), Równomierna, Stochastyczna równomierna, Reszta, Lepsza poªowa, Wybór losowy wedªug reszt z powtórzeniami, Deterministyczny. Poni»ej omówiªem krótko ka»d z nich, w celu uzupeªnienia informacji odsyªam do [7, 9] oraz ¹ródeª wymienionych przy opisach. Selekcja elitarna Zwana tak»e elityzmem, jest mechanizmem zapewniaj cym przechodzenie do nast pnych generacji osobników o najwy»szym przystosowaniu. Nie podlegaj oni dziaªaniu»adnych operatorów genetycznych, przechodz bezpo±rednio (w literaturze dotycz cej algorytmów genetycznych mo»na si tutaj spotka z terminem klonowanie). Jest tutaj oczywiste i» w wypadku stosowania elityzmu najwy»sze przystosowanie w algorytmie genetycznym nie spada. Prowadzi to do szybszej zbie»no- ±ci. W zwi zku z ró»nymi rodzajami problemów do których mo»e by zastosowany ten sposób selekcji mo»e on zwi ksza prawdopodobie«stwo znalezienia optymalnego osobnika lub je zmniejsza. Ze wzgl du na ograniczenia tego sposobu selekcji i jednocze±nie jej niew tpliw przydatno± stosowana jest ona równolegle z innymi metodami, co zostaªo szerzej opisane w [7]. 23

30 Rysunek 3.2: Selekcja proporcjonalna Selekcja proporcjonalna ("Metoda koªa ruletki ") Metoda koªa ruletki wykorzystywana jest do wyselekcjonowania n c osobników z populacji licz cej L osobników. Zasada dziaªania opiera si na tym,»e je±li osobnik a posiada dwa razy lepsz warto± wspóªczynnika przystosowania ni» osobnik b, to wtedy osobnik a powinien reprodukowa si dwa razy cz ±ciej ni» osobnik b. W zwi zku z powy»szym prawdopodobie«stwo selekcji jest adaptacje i opisane jest wzorem (3.9), i przedstawione na rysunku (3.2). P l / l P l, gdzie P l = min l (J l ) J l, l, l {1,..., L} (3.9) Wa»nym aspektem dziaªania mechanizmu koªa ruletki jest fakt i» selekcja dokonywana jest probabilistycznie, a nie deterministycznie. Oznacza to,»e fakt posiadania przez danego osobnika najwy»szej warto±ci przystosowania w caªej populacji nie gwarantuje i» zostanie on wybrany w którymkolwiek z dziaªa«mechanizmu. Pewne jest jedynie,»e statystycznie prawdopodobie«stwo»e zostanie wybrany jest proporcjonalne do warto±ci jego funkcji przystosowania - najwy»sze, w danej populacji. Selekcja deterministyczna Metoda ta zapewnia i» osobniki posiadaj ce najwy»sze warto±ci przystosowania zostan wybrani do reprodukcji. Wybór deterministyczny odbywa si poprzez policzenie prawdopodobie«stwa reprodukcji przedstawionego wzorem (3.10). p i = f i fi (3.10) Nast pnie na podstawie prawdopodobie«stwa reprodukcji liczona jest, oczekiwana liczba osobniów. e i = p i n (3.11) Ka»dy osobnik otrzymuje tyle kopii ile wynosi cz ± caªkowita z e i. W kolejnym kroku cz ±ci uªamkowe porz dkowane s malej co i pozostaªe miejsca zapeªniane s osobnikami z góry listy. 24

31 Rysunek 3.3: Przedwczesna zbie»no± selekcji deterministycznej Ten sposób selekcji jest, wzgl dem innych, szybkobie»ny. Wad natomiast jest fakt i» mo»e prowadzi do przedwczesnej zbie»no±ci, to znaczy - algorytm mo»e zatrzyma si w ekstremum lokalnym, podczas gdy odrzucone zostaªy osobniki znajduj ce si na zboczu prowadz cym do rozwi zania najlepszego globalnie. Zilustrowaªem to na rysunku 3.3, bª d tego typu okre±lany jest mianem bª du próbkowania (ang. sampling error). Ze wzgl du na to i» populacja pocz tkowa generowana jest caªkowicie losowo, zupeªnie bez znajomo±ci problemu - ani obszarów, w których warto prowadzi poszukiwania, istnieje du»a szansa,»e w wi kszo±ci sytuacji gdzie stosowane s algorytmy genetyczne doprowadzi do zdominowania populacji przez grup osobników najlepiej w danej generacji przystosowanych. Przez to nast pi utrata zró»nicowania w populacji. Innymi sªowy wszyscy osobnicy stan si podobnie przystosowani, co za tym idzie b d mie wªa±ciwie takie same szanse na reprodukcj. Turniejowa Selekcja turniejowa przebiega w nast puj cy sposób: losowo wybiera si dwóch lub wi cej osobników z caªej populacji. Porównuje si wyniki ich funkcji przystosowania. Wybrany zostaje osobnik o najlepszej warto±ci funkcji przystosowania. Stosowanie metody selekcji turniejowej daje szczególnie dobre efekty po dokonaniu skalowania przystosowania metod rankingow (patrz 3.11). 25

32 Równomierna Polega na wyborze rodziców w sposób caªkowicie losowy, wedªug rozkªadu równomiernego, zgodnie ze wzorem (3.12). Zaznacz jednak,»e sposób ten w wi kszo±ci przypadków nie jest u»ytecznym sposobem selekcji, co opisane jest w [8] i [18]. Stochastyczna równomierna p i = 1, i {1, 2,... N} (3.12) N Opisywana metoda selekcji jest, w przeciwie«stwie do np. selekcji koªem ruletki, selekcj jednoprzebiegow. Wykorzystuje si N wska¹ników, gdzie N jest oczekiwan liczb osobników. Populacja jest ustawiana losowo i generowana jest losowa liczba ptr z przedziaªu < 0, suma/n >. Nast pnie wybierane jest N osobników przez wygenerowanie N wska¹ników odlegªych o 1, < ptr, ptr+1,..., ptr+n 1 >, i wybór osobników których przedziaª przystosowania przypada na pozycje wska¹ników. Jej zalety polegaj na stabilnych warunkach selekcji. Ka»dy osobnik ma gwarancj zostania wybranym - nie mniej ni» et(i) razy i dokªadnie nie wi cej ni» et(i) razy, gdzie et(i) jest oczekiwany prawdopodobie«stwem selekcji osobnika i. Metoda ta jest szeroko u»ywana w algorytmach genetycznych. Wybór losowy wedªug reszt z powtórzeniami Pocz tek przebiega analogicznie do selekcji deterministycznej. Po przypisaniu osobników wedªug ich cz ±ci caªkowitych, cz ±ci uªamkowe u»ywane s jako prawdopodobie«stwa przy konstrukcji koªa rulety. Wybór pozostaªych osobników dokonywany jest przy jego u»yciu [18, 8]. Lepsza poªowa Lepsza, pod wzgl dem przystosowania, poªowa populacji zostaje przekopiowana do nowej populacji bez zmian. Pozostaªa cz ± ( pop ) poddawana jest dziaªaniu operatorów genetycznych 2 [7]. Wyselekcjonowani osobnicy poddawani s wpªywowi operatorów genetycznych dziaªaj cych z odpowiedni cz stotliwo±ci. 3.8 Operator krzy»owania Operator krzy»owania, nazywany tak»e operatorem rekombinacji, zamienia ªa«- cuchy genów mi dzy dwoma chromosomami. Jedna para chromosomów przechodzi w drug, now par, powstaª na skutek zamiany bloków chromosomów w punkcie ci cia. Najprostsz metod krzy»owania jest krzy»owanie jednopunktowe. Wybór miejsca ci cia dokonywany jest losowo. Dziaªanie tego operatora opiera si na zªo»eniu i» cenne fragmenty genotypu rozproszone s w±ród cz ±ci populacji. Mieszanie cz ±ci chromosomów mi dzy osobnikami i ª czenie ich losowo, z uwzgl dnieniem wyniku funkcji przystosowania, da w wyniku osobniki lepiej przystosowane. 26

33 Do± dobrym zobrazowaniem tego rozumowania mo»e by przykªad przytoczony przez Emanuela Falkenauera, [8]: Zaªó»my,»e istnieje stado antylop i przyjmijmy,»e jedna z nich posiada dªugie nogi, pozwalaj ce na szybsz ni» inni czªonkowie stada ucieczk przed drapie»nikiem, podczas gdy inna posiada wyj tkowo dobry wzrok, pozwalaj cy na ªatwiejsze odnalezienie po»ywienia ni» inne. Teraz gdy te dwie konkretne antylopy b d mie potomstwo, zajdzie krzy»owanie i chromosomy ich mªodych b d zawiera kawaªki chromosomów rodziców. To z kolei prowadzi do dziedziczenia cech rodziców przez ich potomstwo, istnieje prawdopodobie«stwo,»e przynajmniej jedno z nich odziedziczy równocze±nie dªugie nogi od jednego z rodziców i dobry wzrok od drugiego. W ten prosty sposób mªoda antylopa b dzie lepsza [w znaczeniu przystosowania do przetrwania i co za tym idzie posiadania potomstwa] od ka»dego z rodziców. Dzi ki temu w ±wiecie rzeczywistym najlepsze osobniki prze»ywaj najdªu»ej i posiadaj najwi cej potomstwa. Natomiast w odniesieniu do algorytmów genetycznych, tylko one maj potomstwo i s dalej krzy»owane, niezale»nie od przyj tego modelu selekcji zakªadam, i» najgorsze pod wzgl dem przystosowania osobniki posiada b d, co najwy»ej, bliskie zeru prawdopodobie«stwo krzy»owania. Prowadzi to w kolejnych generacjach do pozostania najlepszych genów, z pocz tkowej puli. Na skutek dziaªania tego operatora, zarówno w ±wiecie rzeczywistym jak i w algorytmach genetycznych, dziaªa znacznie wi cej ni» jedynie prosta reguªa - przetrwaj tylko najlepiej przystosowani. Wa»ne jest u±wiadomienie sobie i» krzy»owanie nie prowadzi do powstania nowych cech. Nie oznacza to jednak,»e operator nie tworzy jednak czego± nowego. Istotnie, tworzy - zestawia dost pne, istniej ce cegieªki w nowym porz dku. Co odnosi si bezpo±rednio do teorii schematów (patrz punkt 2.4). Niszcz ca natura krzy»owania bardziej wpªywa na powi kszenie przestrzeni poszukiwa«ni» premiuje osobniki dobrze przystosowane. Dzi ki temu znacznie poprawia si dziaªanie algorytmu. W±ród metod krzy»owania wyró»nia si : Krzy»owanie jednopunktowe Krzy»owanie jednopunktowe (ang. simple arithmetic crossover ) polega na krzy-»owaniu s t v i s t w na k-tej pozycji. Wynikiem tej operacji jest potomstwo przedstawione wzorem (3.13) gdzie warto± k jest losowana z przedziaªu 2,..., N 1. Obrazuje to rysunek 3.4. s t+1 v = (v 1,..., v k, w k+1,..., w N ) s t+1 w = (w 1,..., w k, v k+1,..., v N ) (3.13) 27

34 Rysunek 3.4: Sposób dziaªania krzy»owania jednopunktowego. Rysunek 3.5: Sposób dziaªania krzy»owania wielopunktowego. Krzy»owanie wielopunktowe Krzy»owanie wielopunktowe przebiega w m punktach krzy»owania (k i takie,»e i 1, 2,..., N 1, gdzie N jest dªugo±ci chromosomu) które wybierane s losowo, bez powtórze«i ustawiane rosn co. Nast pnie wymieniane s odcinki znajduj ce si bezpo±rednio za nieparzystymi punktami krzy»owania. Przedstawiªem to na rysunku 3.5. Krzy»owanie po±rednie Krzy»owanie po±rednie (ang. uniform crossover) mo»na rozpatrywa jako pewien szczególny przypadek krzy»owania wielopunktowego. Jednak o ile krzy»owane wielopunktowe okre±la punkty w których nast puje zamiana cz ±ci chromosomu, to krzy»owanie po±rednie umo»liwia potencjalne dokonanie wymiany na dowolnym locus. Tworzona jest losowa maska krzy»owania tej samej dªugo±ci co chromosom. Na jej podstawie okre±lane s miejsca krzy»owania. Dziaªanie powy»szego operatora krzy»owania mo»na prze±ledzi na przykªadzie przedstawionym na rysunku 3.6. Dla potomka O 1 pobiera si gen od rodzica P 1 w przypadku wyst pienia 0 w masce i analogicznie, gen od rodzica P 2 w przypadku wyst pienia 1. Dla drugiego potomka dziaªanie maski jest dokªadnie odwrotne. Sposobem wpªywania na dziaªanie tego operatora jest ustawienie zadanego prawdopodobie«stwa zmiany warto±ci bitu maski podczas jej tworzenia. 28

35 Rysunek 3.6: Sposób dziaªania krzy»owania po±redniego. Rysunek 3.7: Efekt dziaªania krzy»owania z tasowaniem Krzy»owanie z tasowaniem Krzy»owanie z tasowaniem (ang. shue crossover) jest rodzajem krzy»owania z u»yciem jednego punktu. Zanim jednak nast pi krzy»owanie dokonywane jest losowe mieszanie genów w chromosomach rodziców. Po operacji krzy»owania geny ustawiane s na poprzednich pozycjach. Sposób dziaªania tego rodzaju krzy»owania zobrazowaªem na rysunku 3.7. Ze wzgl du na efekty dziaªania zbli»one do krzy»owania wielopunktowego i po- ±redniego nie b d si szerzej zajmowa t metod. Krzy»owanie simplex Wykorzystywana jest para rodziców lepszych (z wy»sz, z trzech, warto±ci funkcji przystosowania) i rodzic sªabszy. Krzy»owanie przebiega w taki sposób i» 29

36 Rysunek 3.8: Efekt dziaªania krzy»owania simplex kolejne geny ustalane s zgodnie ze wzorem (3.14), gdzie o t+1 n jest n-tym bitem potomka, natomiast vn t i wn t to bity rodziców lepszych, u t n to bit rodzica gorszego i n < 0, 1,... N >, gdzie N jest liczebno±ci populacji. { v o t+1 t n = n je»eli vn t u t n vn t = wn t (3.14) wn t je»eli vn t = u t n Sposób dziaªania przedstawiono na rysunku 3.8. Krzy»owanie simplex jest analogi do nauki ze zªego zachowania lub inaczej na podstawie bª dów. Jest ono oparte bezpo±rednio na teorii schematów i bloków buduj cych, które opisaªem w podrozdziale (2.4). Jest to bardzo interesuj cy operator zaczerpni ty z [6]. Krzy»owanie dla reprezentacji zmiennoprzecinkowej Dla reprezentacji binarnych opisany wy»ej sposób krzy»owania jest bardzo dobry, jednak nie jest on wystarczaj cy w przypadku reprezentacji z wykorzystaniem liczb rzeczywistych. Oczywistym tego powodem jest brak wprowadzania nowych informacji do genotypu. Zachodzi jedynie wymiana poszczególnych warto±ci (ma to ±cisªy zwi zek ze sposobem kodowania chromosomów kodowanych zmiennoprzecinkowo, o czym pisaªem wcze±niej (rozdziaª 3.1.4). W zwi zku z tym opracowane zostaªy inne metody krzy»owania, bardziej efektywne w tym przypadku. Krzy»owanie rozproszone (ang. Intermediate recombination) Stosowane jest w wypadku zmiennoprzecinkowego kodowania chromosomów. Potomstwo powstaje zgodnie ze wzorem (3.15), gdzie α jest wspóªczynnikiem skalowania wybranym losowo z pewnego przedziaªu, zwykle α < 0; 1 >, wn t+1 i vn t+1 n-tymi genami potomstwa, wn t i vn t s natomiast n- tymi genami rodziców. Ka»da zmienna w potomku O 1 powstaje zgodnie ze wzorem (3.15), przy czym dla ka»dej pary genów rodziców losowany jest nowy wspóªczynnik α. vn t+1 wn t+1 = vn t α w t n vn t = wn t α vn t wn t (3.15) 30

37 Rysunek 3.9: Mo»liwy efekt dziaªania krzy»owania rozproszonego Rysunek 3.10: Mo»liwy efekt dziaªania krzy»owania liniowego Krzy»owanie rozproszone mo»e prowadzi do powstania nowych osobników w obszarze zobrazowanym na rysunku 3.9. Decyduje o tym zakres wspóªczynnika α. Krzy»owanie liniowe Krzy»owanie liniowe (ang. line recombination) podobne jest do krzy»owania rozproszonego, jednak z t ró»nic, i» dla caªego chromosomu wykorzystywana jest raz wylosowana warto± α, o czym pisze Falkenauer w [8]. Na rysunku 3.10 przedstawiono ten wªa±nie sposób krzy»owania. Natomiast Randy i Sue Ellen Haupt, w [10], przedstawiaj troch inny wzór na krzy»owanie liniowe mianowicie (3.16). Gdzie O t+1 v i O t+1 w to chromosomy dzieci, natomiast Pv t i Pw t s chromosomami rodziców, gdzie β jest wspóªczynnikiem z przedziaªu < 0; 1 > i jest losowany raz dla caªego osobnika. Ov t+1 Ow t+1 = βp t v + (1 β)p t w = βp t w + (1 β)p t v (3.16) Ze wzgl du na niemo»liwo± wyj±cia z parametrami poza obszar obecnej populacji przydatna jest modykacja wzoru, gdy rozszerzanie przestrzeni poszukiwa«jest konieczne. Tego typu modykacj wprowadziª Wright, przedstawia to wzór (3.17). 31

38 Ov t+1 = 0, 5 Pv t + 0, 5 Pw t = 1, 5 Pv t 0, 5 Pw t O t+1 w O t+1 u = 0, 5 P t v + 1, 5 P t w (3.17) W programie, który napisaªem wykorzystaªem wersj krzy»owania liniowego zaproponowan przez E.Falkenauera. Krzy»owanie po±rednie W krzy»owaniu po±rednim (heuristic crossover) dla reprezentacji zmiennoprzecinkowej wyra»one jest wzorem (3.18). Gdzie wspóªczynnik α < 0, 1 > i losowany jest oddzielnie dla ka»dej pary genów. vn t+1 wn t+1 = αw t n + (1 α)v t n = αv t n + (1 α)w t n (3.18) Krzy»owanie ekstrapolacyjne Krzy»owanie ekstrapolacyjne (an extrapolation method with a crossover method ) zostaªo zaproponowane przez pa«stwo Haupt [10]. Zostaªo opracowane z my±l o stworzeniu algorytmu krzy»owania opartego na krzy»owaniu binarnym. Pierwszym krokiem jest znalezienie punktu krzy»owania zgodnie ze wzorem (3.19). Gdzie: roundup jest zaokr gleniem do warto±ci caªkowitej, natomiast n jest liczb genów w chromosomie. α = roundup{random() n} (3.19) Nast pnie dla rodziców opisanych wzorem (3.20), powstaj dzieci zgodnie ze wzorem (3.21), gdzie w punkcie krzy»owania warto±ci s generowane wedªug wzoru (3.22). s t v = [v t 1, v t 2,... v t α,... v t N] s t w = [w t 1, w t 2,... w t α,... w t N] (3.20) s t+1 v = [v1 t+1, v2 t+1,... v t+1,... w t+1 N ] s t+1 w = [w1 t+1, w2 t+1,... w t+1,... v t+1 N ] (3.21) v t+1 = v t α β[v t α w t α] w t+1 = w t α + β[w t α v t α] (3.22) Je»eli nie jest speªnione β > 1 potomstwo powstaje jedynie w granicach wyznaczonych przez rodziców. Powy»szy operator generuje nowe chromosomy w bliskim 32

39 otoczeniu chromosomów wyj±ciowych. Dzieje si tak na skutek dziedziczenia bloków genów. Badania pokazaªy,»e krzy»owanie i selekcja oparta na funkcji przystosowania s dwoma procesami, które w najwi kszym stopniu wi» si z teori ewolucji. Wi cej informacji zwi zanych z tym tematem mo»na znale¹ w [1, 6, 8, 10, 11, 13]. 3.9 Operator mutacji Operator reprodukcji tworz cy nowy chromosom poprzez niewielkie zmiany chromosomu rodzica. Zmienia jeden lub wi cej genów w wybranym chromosomie. Dzi ki temu wprowadza ró»norodno± w nowej populacji, gdy» nowy chromosom mo»e by bardzo odlegªy od chromosomu wyj±ciowego ze wzgl du na warto± funkcji przystosowania. W zwi zku z tym, mimo i» operator ten jest bardzo przydatny, istnieje potrzeba ograniczenia jego dziaªana. Mutacja jest krokiem losowym i nie prowadzi bezpo±rednio do znalezienia rozwi zania optymalnego [1]. Zapobiega natomiast tworzeniu si jednorodnych populacji osobników niezdolnych do reprodukcji prowadzonej do powstania odmiennych osobników. Prócz tego mutacja pomaga w odtworzeniu cennego materiaªu genetycznego (0 lub 1 na odpowiednim loci) wyeliminowanego przez selekcj i krzy»owanie. Prawdopodobie«stwo mutacji jest znacznie mniejsze ni» prawdopodobie«stwo krzy»owania, cho nie dla ka»dego osobnika. Dla przykªadu w pozycji [2] proponowane prawdopodobie«stwo mutacji jest na poziomie jeden do tysi ca skopiowanych bitów, w [11] proponowane jest ustalenie go na poziomie 0,001 do 0,1. Cho w niektórych przypadkach stosowana jest wy»sza warto± prawdopodobie«stwa mutacji, nawet 0,25! Dobre efekty daje uzale»nienie prawdopodobie«stwa mutacji od warto±ci funkcji przystosowania osobnika. Dzi ki temu istnieje wi ksza szansa na ulepszenie sªabszych osobników przy zachowaniu niezmienionych osobników bardzo dobrze, na tle populacji, przystosowanych. Innym sposobem poprawy skuteczno±ci dziaªania mutacji jest uzale»nienie jej prawdopodobie«stwa od tego w której generacji zachodzi [13]. Wykorzystywane s trzy poni»sze rodzaje mutacji: Mutacja jednopunktowa Mutacja ta stosowana jest w przypadku reprezentacji binarnej. Losowo wybrany element v k, k {1, 2,..., N} jest zast powany przez element o przeciwnej warto±ci. Mutacja wielokrotna jednorodna Jednopunktowa mutacja n losowo wybranych elementów, gdzie n zostaje ka»dorazowo losowo wybrane z przedziaªu {1, 2,..., N}. Mutacja gausoidalna Rodzaj mutacji stosowany w przypadku kodowania zmiennoprzecinkowego, [4], [7]. Wszystkie elementy chromosomu podlegaj mutacji. Wynikiem jest 33

40 Rysunek 3.11: Dziaªanie operatora inwersji. s t+1 v = (v 1,..., v k,..., m), gdzie v v k = v k + f k, k = 1, 2,..., N. Gdzie fk jest losow liczb z dystrybucji Gaussa ze ±redni zerow i adaptacyjn wariancj σk 2 = T t (vmax k vk min ). Parametr modykuj cy mutacj (σ 2 T 3 k) dla tego operatora zmienia si wraz z kolejnymi iteracjami dziaªania algorytmu - krzywa Gaussa staje si coraz cie«sza. Przy czym f k (x), gdzie x to zmienna losowa z przedziaªu < 0, 1 >, wyra-»one jest wzorem (3.23). W którym zmienna µ = 0, 5 jest warto±ci ±redni zmiennej losowej. f k (x k ) = 1 ( ) (x µ) 2 σ 2π exp (3.23) 2σ Operator inwersji Ostatnim z operatorów genetycznych, dziaªaj cych na pojedynczej populacji, jest operator inwersji. Gªównym zadaniem tego operatora jest zrównowa»enie niszcz cego schematy efektu krzy»owania. Poniewa» niektóre wªa±ciwo±ci przejawiaj si poprzez wyst powanie zestawu genów, w szczególno±ci pary, w odpowiednim ukªadzie zmiana kolejno±ci wyst powania dwóch genów mo»e prowadzi do niespodziewanej poprawy przystosowania osobnika. Dziaªanie operatora inwersji nie zmienia informacji zawartej w chromosomie. Jednak mo»e prowadzi do polepszenia dziaªania operatora krzy»owania ze wzgl du na znoszenie efektu przerwania (efekt ten opisaªem przy okazji omawiania teorii schematów, w punkcie 2.4.1). Inwersja polega na zamianie miejscami kolejnych par genów w losowo wybranym fragmencie chromosomu. Przedstawiªem to na rysunku Mimo»e w literaturze zwykle pomija si ten operator, to jego dziaªanie w po- ª czeniu z dziaªaniem krzy»owania jest nadzwyczaj skuteczne. Stosowanie inwersji poprawia szybko± zbie»no±ci algorytmu genetycznego, co potwierdziªem eksperymentalnie w dalszej cz ±ci mojej pracy. Du»o na temat operatora inwersji pisze Falkenauer [8]. 34

41 3.11 Skalowanie przystosowania Wynik funkcji przystosowania nie zawsze odpowiada skalowaniu dla potrzeb funkcji selekcji [8]. Przykªadem mo»e by sytuacja, gdy w populacji pojawia si kilku osobników z wysok warto±ci funkcji przystosowania na tle reszty z miernymi wynikami. W tym wypadku bezpo±rednie przyj cie wyniku funkcji przystosowania jako prawdopodobie«stwa selekcji (np. selekcja proporcjonalna) doprowadzi do zdominowania populacji i zako«czenia dziaªania algorytmu w ekstremum lokalnym. W zwi zku z tym bardzo przydatne jest tutaj zastosowanie operatora skalowania. Skalowanie ma bezpo±redni wpªyw na zbie»no± algorytmu. W dalszej cz ±ci tego punktu omawiam dokªadniej wybrane metody skalowania. Dodatkowo doª czyªem graczne przykªady skalowania warto±ci przykªadowej funkcji przystosowania. Symulowana funkcja przystosowania jest symulowana wzorem (3.24), gdzie otrzymane warto±ci - odpowiednio: wygenerowane i posortowane - przedstawiªem na rysunkach 3.12 i F i = 10 rand() 5 (3.24) W celu szerszego zapoznania si z zagadnieniem odsyªam do pozycji [6]. Funkcja skalowania okre±la funkcj u»ywan do skalowania otrzymanej warto±ci funkcji przystosowania. Najcz ±ciej u»ywane funkcje to: Liniowa normalizacja Wspomniana wcze±niej selekcja proporcjonalna (3.7) posiada niezaprzeczalne zalety. Jej dziaªanie jest skuteczne, jednak istniej powa»ne wady tej metody. Przedstawiam je poni»ej: 1. Poprzez odwoªanie si do natury b d cej inspiracj dla algorytmów genetycznych pozostaje niew tpliw prawd stwierdzenie,»e osobnicy lepiej przystosowani powinni posiada wi ksze szanse na przetrwanie i reprodukcj. Jednak stwierdzenie,»e jeden osobnik jest lepszy od drugiego 1,842 razy niekoniecznie jest sensowne. 2. Ten sposób selekcji tworzy niejednorodny nacisk selektywny (ang. selective pressure) - bardzo cz sto prowadzi do przedwczesnej zbie»no±ci na pocz tku dziaªana algorytmu i do utraty odpowiedniej promocji lepiej przystosowanych osobników pod koniec dziaªania - gdy wszyscy osobnicy posiadaj takie samo przystosowanie. 3. Nie jest konieczne by funkcja przystosowania miaªa jedynie warto±ci dodatnie, jednak jak okre±li metod dziaªania w przypadku pojawienia si warto±ci zerowych lub ujemnych? Zwykle dodana zostaje jednakowa warto± do ka»dej z funkcji przystosowania, jednak prowadzi to do odej±cia od selekcji ±ci±le proporcjonalnej. 4. Podobny problem, do powy»szego, pojawia si przy minimalizacji funkcji. Mo»- liwe s dwa rozwi zania: 1/przystosowanie lub C przystosowanie, przyjmowane jest jako podstaw selekcji - które jest skuteczniejsze? 35

42 Rysunek 3.12: Przykªadowe warto±ci do skalowania. Rysunek 3.13: Przykªadowe warto±ci do skalowania (posortowane). 36

43 Powy»sze problemy, w wi kszo±ci, rozwi zuje stosowanie liniowej normalizacji. Jest to powszechna metoda - ze wzgl du na skuteczno± i prostot. Dziaªanie metody przedstawia wzór (3.25), gdzie F max i F min s odpowiednio - maksymalnym i minimalnym przystosowaniem w populacji. Bezpo±rednie wyniki F mapowane s na warto±ci F z zakresu F max, F min. F i = F max F min F max F min (F i F min ) (3.25) Nie rozwi zuje to jednak wszystkich problemów. Nie porusza w ogóle problemu minimalizacji. Nie jest tak»e jasno okre±lony sposób doboru F max i F min. Skalowanie rankingowe Skalowanie rankingowe bazuje na pozycji wyniku osobnika w odniesieniu do ca- ªej populacji. Ka»demu osobnikowi (o numerze i) zostaje przydzielona ranga (R i ) w zale»no±ci od miejsca na posortowanej li±cie wyników funkcji przystosowania (F i ). Do skalowania wykorzystywany jest wzór (3.26). F i = F max F min R i (3.26) n Osobniki w populacji i ranga (R) liczona jest od zera (i < 0, n)). Gdzie n jest rozmiarem populacji. Przykªad: zostaje przydzielony wspóªczynnik prawdopodobie«stwa selekcji (100, 99, 98, 97, 96,...) osobnikom o nast puj cych wynikach funkcji przystosowania (98, 97, 91, 84, 80,...). Innym rodzajem skalowania rankingowego jest sposób zaproponowany przez Bakera [7]: x i 1 F (x i ) = 2 SP + 2(SP 1) (3.27) N ind 1 Gdzie x i jest pozycj w posortowanej populacji, N ind jest ilo±ci osobników, SP jest selektywnym naciskiem o proponowanej warto±ci SP = 1, 1. Na rysunku 3.14 przedstawiªem przykªadowy wynik skalowania rankingowego punktów z rysunku Skalowanie rankingowe liniowe Najlepszy osobnik otrzymuje warto± s, gdzie s < 1; 2 >. Najgorszy osobnik otrzymuje warto± s 2. Pozostali osobnicy otrzymuj warto±ci opisane wzorem (3.28). (2i(s 1)) f(i) = s (3.28) (N 1) Ten sposób skalowania sprawia,»e ±rednie prawdopodobie«stwo selekcji wynosi 1, dodatkowo ka»dy z osobników posiada tak oczekiwan ilo± potomstwa ile wynosi jego przeskalowana warto± przystosowania. Na rysunku 3.15 przedstawiªem przykªadowy wynik skalowania rankingowego liniowego punktów z rysunku 3.12, dla wspóªczynnika s = 1, 2. 37

44 Rysunek 3.14: Przykªad dziaªania skalowania rankingowego. Rysunek 3.15: Przykªad dziaªania skalowania rankingowego liniowego. 38

45 Rysunek 3.16: Przykªad dziaªania skalowania proporcjonalnego. Skalowanie proporcjonalne Sprawia i» prawdopodobie«stwo selekcji jest proporcjonalne do wyniku funkcji przystosowania. Istniej dwa podstawowe powody, dla których powinno si rozwa»y zastosowanie tej metody selekcji przed jej wykorzystaniem. Pierwszym jest szybka zbie»no± na pocz tku dziaªania algorytmu, w efekcie czego ªatwo mo»e doj± do dominacji populacji przez najlepiej przystosowanych osobników. Drugi to wada tej metody ujawniaj ca si w wypadku starszej populacji posiadaj cej osobników przystosowanych na podobnym poziomie - premiowanie osobników najlepiej przystosowanych nie zachodzi wtedy w wystarczaj cym stopniu. Na rysunku 3.16 przedstawiªem przykªadowy wynik skalowania proporcjonalnego punktów z rysunku Skalowanie górne Przeskalowuje osobników z najwy»sz warto±ci funkcji przystosowania w taki sposób i» tylko okre±lona liczba osobników posiada potomstwo [8]. Prawdopodobie«- stwo selekcji w obu grupach jest takie samo, odpowiednio: 1/n i 0. Nale»y okre±li ilo± osobników którzy maj zosta uwzgl dnieni w procesie selekcji. Mo»liwe s dwa sposoby deniowania cz ±ci populacji: na sztywno (poprzez dokªadne sprecyzowanie ilo±ci osobników), pªynnie (poprzez okre±lenie odsetka populacji). 39

46 Rysunek 3.17: Przykªad dziaªania skalowania górnego. Znacznie bardziej przydatny jest drugi z tych sposobów. Nie wprowadza on problemów przy ±rodowisku z wspóªistniej cymi pod-populacjami o du»ej rozbie»no±ci ilo±ci osobników. Prócz tego, w przypadku u»ycia oprogramowania korzystaj cego z algorytmów genetycznych nie ma potrzeby ka»dorazowego korygowania wspóªczynnika przy zmianie ilo±ci osobników. Na rysunku 3.17 przedstawiªem przykªadowy wynik skalowania górnego punktów z rysunku 3.12, dla 75% populacji. Skalowanie liniowe Wyra»a si wzorem: F (x) = af(x) + b (3.29) Gdzie a jest dodatnim (maksymalizacja) lub ujemnym (minimalizacja) wspóªczynnikiem skalowania, natomiast b ma za zadanie zapewnienie nieujemnego wyniku. Wa»ne jest by ±rednie przystosowanie po skalowaniu (F avg (x)) równe byªo ±redniemu przystosowaniu pierwotnemu (f avg (x)). Dzi ki temu zagwarantowane jest,»e osobniki przeci tne b d mie ±rednio po jednym potomku w nast pnym pokoleniu. redni liczb potomków osobnika o maksymalnym przystosowaniu pierwotnym mo»na kontrolowa za pomoc warunku (3.30). F max (x) = C mult f avg (x) (3.30) Pojawiaj si trudno±ci ze stosowaniem wzoru (3.30) w przypadku dojrzaªych generacji - ±rednia przystosowania pierwotnego przewa»aj cej wi kszo±ci osobników 40

47 Rysunek 3.18: Przykªad dziaªania skalowania liniowego. bliska jest maksimum, jednak znacznie obni»aj j osobniki o kiepskim przystosowaniu (Goldberg [2] nazywa ich degeneratami). W takich wypadkach znacznie korzystniejsze jest stosowanie alternatywnego warunku. F min (x) = 0 (3.31) Peter Hancock [5] przedstawia wzór (3.32) na skalowanie liniowe. Gdzie s jest wspóªczynnikiem spodziewanej liczby potomków i s < 1, 2; 2, 0 >. F (x) = 1 + (s 1)(F i F sr ) F max F sr (3.32) W efekcie dziaªania pojawiaj si osobnicy o przystosowaniu ujemnym. Jednym z rozwi za«w tym wypadku jest przyporz dkowanie im warto±ci zerowej. Jednak nie jest to najlepszym rozwi zaniem, gdy» potrzebne jest ponowne przeliczenie przystosowania i dodatkowo grozi to utrat ró»norodno±ci w populacji. Inne podej±cie, przedstawione wzorem (3.33), to redukcja wspóªczynnika tak by tylko najgorsi osobnicy otrzymali warto± zerow. s = 1 + (F max F sr ) F sr F min (3.33) Skalowanie liniowe mo»e prowadzi do szybkiej przedwczesnej zbie»no±ci. Na rysunku 3.18 przedstawiªem przykªadowy wynik skalowania liniowego punktów z rysunku 3.12, dla wspóªczynnika a = 1, 2. 41

48 Rysunek 3.19: Przykªad dziaªania skalowania wykªadniczego. Skalowanie wykªadnicze Najlepszy osobnik otrzymuje przystosowanie równe 1. Drugi pod wzgl dem przystosowania s, zwykle s = 0, 99. Trzeci s 2 i tak dalej, a» do ostatniego - s (N 1). W celu wyznaczenia oczekiwanej ilo±ci potomstwa trzeba podzieli warto± ka»- dego z osobników przez warto± ±redniego przystosowania. Na rysunku 3.19 przedstawiªem przykªadowy wynik skalowania wykªadniczego punktów z rysunku Skalowanie pot gowe Goldberg [2] pisze, i» wyra»a si wzorem: F (x) = f(x) k (3.34) Gdzie wspóªczynnik k pozostaje najcz ±ciej uzale»niony od rozpatrywanego zagadnienia. Mo»e si on zmieni znacz co podczas dziaªania algorytmu genetycznego, zaw»aj c lub rozszerzaj c zakres warto±ci przystosowa« Specjalizacja Specjalizacja jest w algorytmach genetycznych odpowiednikiem izolacji geogra- cznej [11]. Wyst puje gdy równolegle ewoluuje wi cej ni» jedna populacja i w ka»- dej z nich osobnicy mog ª czy si, i wymienia materiaªem genetycznym, jedynie 42

49 Rysunek 3.20: Dziaªanie operatora migracji ze sob. W wyniku tego pod-populacje ró»ni si mi dzy sob w charakterystyce. Dobr analogi mo»e by tak»e spojrzenie na pod-populacje jako na odr bne gatunki. Technika ta sprawdza si w przypadku poszukiwania kilku rozwi za«dla jednego problemu lub mo»e sªu»y utrzymaniu ró»norodno±ci w przestrzeni poszukiwa« Migracja Migracja jest przemieszczaniem si osobników mi dzy pod-populacjami wyst puj cymi w algorytmie genetycznym [17]. Co jaki± okre±lony czas nast puje migracja. Mo»liwe s dwie ±cie»ki post powania: - najlepsze osobniki jednej populacji zast puj najsªabsze osobniki w drugiej populacji, - losowo, wedªug rozkªadu równomiernego, wybrane osobniki emigruj do innej pod-populacji i zast puj emigrantów. Migracja mo»e zachodzi mi dzy losowo wybranymi pod-populacjami i mi dzy podpopulacj nast pn /poprzedni, lub tylko druga z mo»liwo±ci. W [11] Chippereld proponuje model z losowym wyborem pod-populacji, taki jak przedstawiªem na rysunku Dzi ki migracji zachodzi wymiana materiaªu genetycznego mi dzy podpopulacjami. Na rysunku przedstawiªem schemat siedmiu pod-populacji. Widoczna jest migracja jednostronna, kolejno GA1 GA2... GA7. Dziaªanie migracji mo»e by kontrolowane przez poni»sze parametry. Kierunek - migracja mo»e zaj± w jednym lub dwóch kierunkach. 43

50 w przód migracja odbywa si w kierunku nast pnej pod-populacji. W tym przypadku osobniki z n-tej pod-populacji migruj do (n+1)-tej pod-populacji. obustronnie migracja odbywa si w dwie strony. W tym przypadku osobniki migruj do (n+1)-ej i (n-1)-ej pod-populacji. W przypadku skrajnych pozycji wektora pod-populacji migracja zachodzi od ostatniej do pierwszej pod-populacji i vice versa. Ten proces nazywany jest zawijaniem pod-populacji (ang. migration wrapping), aby mu zapobiec nale»y ustawi rozmiar ostatniej pod-populacji jako zerowy. Cz ± oznacza jak du»a cz ± osobników przechodzi mi dzy populacjami w momencie migracji. Warto± ta odnosi si do mniejszej z populacji bior cej udziaª w migracji. Osobniki migruj ce z jednej pod-populacji do drugiej s przenoszone, nie kopiowane. Przedziaª okre±la jak wiele generacji upªywa mi dzy migracjami. W przypadku ustawienia Przedziaªu na warto± 20 migracja mi dzy populacjami b dzie zachodzi co ka»de 20 generacji Przenikanie Innym mechanizmem przemieszczania si materiaªu genetycznego jest przenikanie. Podczas gdy migracja wprowadza nieci gªo±ci w pod-populacjach, zwi zane z przemieszczaniem osobników. Operator przenikania opiera si na kopiowaniu osobników i przekazywaniu ich do s siednich pod-populacji [17]. Pod-populacje umieszczone s analogicznie do przypadku migracji. Przenikanie odbywa si co zadany okres czasu, jedynie mi dzy s siaduj cymi pod-populacjami. Rysunek 3.21 reprezentuje nast puj cy przykªad: Osobnik z populacji P op.1 zostanie skopiowany do populacji P op.2, osobnik z P op.2 do P op.3,... osobnik z P op.7. do P op.1. Analogicznie do migracji przenikanie tak»e mo»e zachodzi obustronnie. Wynikiem dziaªania tej operacji jest zwi kszenie ilo±ci osobników w populacjach. Najprostszym rozwi zaniem tego problemu jest zastosowanie odpowiedniej metody selekcji. Modele implementuj ce przenikanie odznaczaj si mniejszym ziarnem ni» modele migracyjne. Najprostszym mechanizmem wspieraj cym dziaªanie przenikania jest implementacja algorytmu najbli»szego s siedztwa, przedstawionego powy»ej. Jednak w przypadku obu modeli (tak»e migracji) mo»liwe jest ustawienie dodatkowych dróg przemieszczenia - mi dzy pod-populacjami nies siaduj cymi ze sob. Algorytm ten w wielu przypadkach wykazuje si wi ksz efektywno±ci dziaªania ni» algorytmy globalne czy migracyjne przy zbli»onej liczbie osobników. Jako wyznacznik efektywno±ci wzi to w tym wypadku pod uwag pr dko± odnajdywania optymalnego rozwi zania, liczon w iteracjach oraz wielko± przeszukiwanej podprzestrzeni. Pisze o tym Chippereld w [11]. 44

51 Rysunek 3.21: Dziaªanie operatora przenikania 45

52 Rozdziaª 4 Opis funkcjonalno±ci i obsªugi programu W tym rozdziale opisaªem funkcjonalno± i sposób obsªugi programu. Ka»d z funkcji programu omówiªem w sposób wystarczaj cy do korzystania z jego peªnej funkcjonalno±ci. 4.1 Zakªadka: Populacja Zakªadka Populacja (rysunek 4.1) sªu»y do ustawienia opcji: funkcji przystosowania i zakresów zmiennych, kodowania i ewentualnego sposobu (dªugo±ci) reprezentacji zmiennych, ustawie«populacji. Ustawienia zadania Wzór funkcji przystosowania pole umo»liwiaj ce wpisanie wzoru funkcji przystosowania, gdzie lista dost pnych funkcji matematycznych znajduje si w tabeli 5.1, prócz tego dost pne s staªe pi i e. Program realizuje poszukiwanie maksimum. Oznacza to potrzeb przeksztaªcenia wzoru funkcji w przypadku potrzeby dokonania minimalizacji. Dokonuje si tego cho by poprzez zmian znaku. Podziaª chromosomu pole dost pne przy kodowaniach binarnych, sªu»y do okre±lenia ile bitów reprezentuje kolejne zmienne. Gdzie zmienne s kolejnymi zmiennymi wzoru funkcji przystosowania. Kolejne warto±ci oddzielane s znakiem -. Zakres warto±ci przedziaªów pole sªu» ce do okre±lenia przedziaªu ograniczaj cego kolejne zmienne. Przedziaªy musz by poprawnie zapisane, tzn. w formie (a; b), gdzie a i b s warto±ciami ograniczenia, odpowiednio: dolnego i górnego, przedziaªu. 46

53 Rysunek 4.1: Wygl d zakªadki Populacja. 47

54 Rodzaj kodowania chromosomu lista sªu» ca do wyboru odpowiedniego kodowania. Dost pne s nast puj ce typy kodowania: Binarny (kodowanie BCD) Binarny (kodowanie Graya) Rzeczywisty Dodatkowo istniej jeszcze dwa pola - dªugo± chromosomu i dokªadno± - pozwalaj ce na odczyt aktualnej dªugo±ci chromosomu i dokªadno±ci reprezentacji zmiennej (w przypadku kodowania binarnego). Ustawienia populacji Ilo± osobników pole pozwala na okre±lenie ilo±ci osobników w populacji. Je- ±li wprowadzonych zostanie kilka warto±ci stworzone zostan pod-populacje. W tym wypadku liczby odpowiadaj za liczebno± ka»dej z nich. Kolejne warto±ci oddzielane s znakiem. Ograniczeniem jest minimalna warto± 2 osobników. 4.2 Zakªadka: Operatory genetyczne Zakªadka Operatory genetyczne (rysunek 4.2) sªu»y do ustawienia opcji dla operatorów: selekcji, skalowania, mutacji, krzy»owania, inwersji, specjalizacji. Opcje operatora selekcji Funkcja selekcji wybiera, na podstawie przeskalowanych warto±ci funkcji przystosowania, rodziców do tworzenia kolejnej generacji. Wybór funkcji selekcji dokonywany jest w polu Rodzaj selekcji Mo»liwy jest wybór nast puj cych funkcji: Proporcjonalna zwana tak»e metod koªa ruletki, budowany jest odcinek podzielony proporcjonalnie do wyników funkcji przystosowania kolejnych osobników. Losuje si liczb z zakresu odcinka i na tej podstawie dokonywany jest wybór rodzica. 48

55 Rysunek 4.2: Wygl d zakªadki Operatory genetyczne. 49

56 Deterministyczna Metoda ta zapewnia i» osobniki posiadaj ce najwy»- sze warto±ci przystosowania zostan wybrani do reprodukcji. Wybór deterministyczny odbywa si poprzez policzenie prawdopodobie«stwa reprodukcji wprost proporcjonalne do warto±ci funkcji przystosowania. Ka»dy osobnik otrzymuje tyle kopii ile wynosi cz ± caªkowita z oczekiwanej ilo±ci potomstwa. W kolejnym kroku cz ±ci uªamkowe porz dkowane s malej co i pozostaªe miejsca zapeªniane s osobnikami z góry listy. Turniejowa losowani s osobnicy, losowanie ma charakter rozkªadu równomiernego, na rodzica wybierany jest najlepszy z nich - decyduje warto± funkcji przystosowania. Poprzez Wielko± turnieju ustala si ilo± jednorazowo losowanych osobników. Stochastyczna równomierna - tworzony jest odcinek dzielony na pododcinki odpowiadaj ce kolejnym osobnikom, proporcjonalne do ich przystosowania. Algorytm przechodzi po caªej dªugo±ci krokami równej dªugo±ci. Miejsce startu jest liczb, mniejsz ni» dªugo± kroku, losow o rozkªadzie równomiernym. Przy ka»dym kroku wybierany jest odpowiedni osobnik. Wybór losowy wedªug reszt z powtórzeniami przepisuje rodziców na podstawie caªkowitych cz ±ci przeskalowanych warto±ci przystosowania. Do zapeªnienia pozostaªych miejsc wykorzystywany jest algorytm koªa rulety (selekcja proporcjonalna). Równomierna rodzice wybierani s caªkowicie losowo z rozkªadu równomiernego. Sposób ten zwykle nie jest u»ytecznym sposobem selekcji. Opcja selekcja elitarna pozwala na wª czenie bezpo±redniego przeniesienia, okre±lonej liczby, najlepszych osobników bezpo±rednio do nowej populacji. Nie podlegaj oni wtedy»adnym zmianom, chyba»e jest to ustawione w innych opcjach (mutacja wszystkich osobników ). Opcje operatora skalowania przystosowania Funkcja skalowania przeksztaªca wyniki zwracane przez funkcj przystosowania do warto±ci przydatnych dla funkcji selekcji. Rodzaj skalowania okre±la funkcj u»ywan do skalowania. Dost pne s nast puj ce funkcje: Rankingowe bazuje na pozycji wyniku osobnika w odniesieniu do caªej populacji. Ranga osobnika jest jego pozycj w±ród posortowanych wyników funkcji przystosowania caªej populacji. Rankingowe liniowe bazuje na pozycji wyniku osobnika w odniesieniu do caªej populacji. Liniowo± uzyskana jest poprzez u»ycie odpowiedniego wspóªczynnika. Proporcjonalne sprawia i» prawdopodobie«stwo selekcji jest proporcjonalne do wyniku funkcji przystosowania. 50

57 Górne przeskalowuje osobników z najwy»sz warto±ci funkcji przystosowania w taki sposób i» tylko okre±lona liczba osobników posiada potomstwo. Prawdopodobie«stwo selekcji w obu grupach jest takie samo, odpowiednio: 1/n i 0. Nale»y okre±li ilo± osobników którzy zostan uwzgl dnieni w procesie selekcji. Dokonywane jest to poprzez okre±lenie procentowej warto±ci górnej cz ±ci populacji w polu górna cz ± populacji. Wynik niecaªkowity ilo±ci osobników zaokr glany jest w dóª. Liniowe dokonuje skalowania przy zastosowaniu funkcji liniowej o zadanym wspóªczynniku skalowania, zwykle z przedziaªu < 1; 2 >. Wykªadnicze dokonywane jest na podstawie funkcji wykªadniczej. Najlepszy osobnik otrzymuje warto± przystosowania równ 1, nast pni kolejne caªkowite pot gi wspóªczynnika s=0,99. Opcje operatora mutacji Funkcja mutacji wprowadza niewielkie losowe zmiany w±ród osobników nale» - cych do populacji. Zapewnia to genetyczne zró»nicowanie i pozwala na przeszukanie wi kszej przestrzeni rozwi za«. Funkcja ustalaj ca sposób dziaªania mutacji ustawiana jest w polu rodzaj mutacji, natomiast prawdopodobie«stwo w polu prawdopodobie«stwo mutacji. Operacja ta ma ró»n posta zale»nie od sposobu kodowania osobników. Do wyboru pozostaj nast puj ce mo»liwo±ci: Jednopunktowa (kodowanie binarne) proces przebiega dwustopniowo, w pierwszym kroku porównuje si liczb losow z rozkªadu równomiernego, z prawdopodobie«stwem mutacji w celu ustalenia czy osobnik zostanie zmutowany. W drugim kroku losowana jest pozycja w chromosomie na której zajdzie mutacja. Wielokrotna (kodowanie binarne) Proces pocz tkowy jest identyczny jak dla przypadku jednopunktowego. Jednak losowana jest tak»e liczba miejsc na których zajdzie mutacja, gdzie minimalna ilo± to 1 natomiast maksymalna okre- ±lona jest w polu ilo± punktów mutacji. Gausoidalna (kodowanie zmiennoprzecinkowe) dodaje losow liczb do ka»- dej pozycji w wektorze danego osobnika. Liczba wybierana jest wedªug rozkªadu równomiernego z rozkªadu Gaussa, centrowanego na zerze. Wariancja rozkªadu zmienia si z przebiegiem dziaªania algorytmu - im dªu»sze dziaªanie tym wi ksze zaw»enie wariancji. Przeª cznik mutacja wszystkich osobników pozwala na wª czenie, opcji mutacji tak»e osobników podlegaj cych selekcji elitarnej. Korzystanie z tej opcji, w niektórych szczególnych przypadkach, mo»e doprowadzi do utraty cennych dla ±rodowiska osobników. 51

58 Opcje operatora krzy»owania Krzy»owanie to operacja poª czenia co najmniej dwóch osobników, prowadz ca do powstania nowych osobników do kolejnej generacji. Operacja ta, podobnie jak mutacja ze wzgl du na ±cisª zale»no± z reprezentacj ka»dego genu, ma ró»n posta zale»nie od sposobu kodowania osobników. Mo»liwe jest ustawienie funkcji dokonuj cej krzy»owania w polu Funkcja krzy»owania. Do wyboru s nast puj ce mo»liwo±ci: Jednopunktowe (kodowanie binarne) losowana jest liczba caªkowita l z przedziaªu <1,n>, gdzie n jest ilo±ci zmiennych wektora genotypu. Pozycje wektora pierwszego rodzica o indeksie mniejszym lub równym l i cz ± wektora drugiego rodzica o indeksie wi kszym ni» l tworzy jednego nowego osobnika, natomiast pozostaªe cz ±ci wektorów (pocz tek drugiego z wektorów i koniec pierwszego) tworz drugiego z nowych osobników. Patrz punkt 3.8. Wielopunktowe (kodowanie binarne) Przebiega tak samo jak krzy»owanie jednopunktowe, z tym,»e przebiega w ilo±ci punktów okre±lonych w polu ilo± punktów krzy»owania. Po±rednie (kodowanie binarne) polega na tworzeniu losowego wektora maski, jest to wektor binarny o dªugo±ci wektora genotypu. Na podstawie tego wektora, i jego inwersji (tzn. wektor powstaj cy z zanegowania wszystkich pozycji wektora wyj±ciowego), wybiera si elementy wektorów genotypów obu rodziców do wymiany. Dla pierwszego z dzieci bierze si te pozycje z wektora pierwszego rodzica na których w masce wyst puje 1 i od drugiego rodzica te pozycje wektora na których w masce wyst puje 0. Simplex (kodowanie binarne) zwane jest tak»e krzy»owaniem z nauk ze zªego zachowania, bierze w nim udziaª trzech rodziców - dwóch lepszych i jeden gorszy (pod wzgl dem warto±ci funkcji przystosowania), natomiast efektem jest jeden osobnik potomstwa. Sama procedura przebiega w ten sposób,»e dla ka»dego genu wybiera si gen tego rodzica lepszego który posiada gen inny ni» rodzic gorszy, chyba»e wszyscy trzej posiadaj taki sam. Rozproszone (kodowanie zmiennoprzecinkowe) dzieci tworzone przez zastosowanie ±redniej wa»onej rodziców. Rodzice wyznaczaj hiperkostk w której tworz przeciwne wierzchoªki. Losowany wspóªczynnik jest staªy dla danego osobnika. Je±li wspóªczynnik zawiera si w przedziale <0,1> to w tym wypadku dzieci znajduj si wewn trz hiperkostki. Natomiast je±li wspóªczynnik (kodowanie zmiennoprzecinkowe) jest wi kszy, to mog znajdowa si poza ni. Liniowe (kodowanie zmiennoprzecinkowe) tworzy dzieci le» ce na linii zawieraj cej dwójk rodziców, mniejsza odlegªo± od rodziców z lepsz warto±ci przystosowania i wi ksza od rodziców z gorsz warto±ci przystosowania. Jest losowany jeden wspóªczynnik dla caªego osobnika. 52

59 Po±rednie (kodowanie zmiennoprzecinkowe) dzieci tworzone przez zastosowanie ±redniej wa»onej rodziców. Rodzice wyznaczaj hiperkostk w której tworz przeciwne wierzchoªki. Dla ka»dego kolejnego genu losowany jest nowy wspóªczynnik. Je±li wspóªczynnik zawiera si w przedziale <0,1> to w tym wypadku dzieci znajduj si wewn trz hiperkostki. Natomiast je±li wspóªczynnik jest wi kszy, to mog znajdowa si poza ni. Ekstrapolacyjne (kodowanie zmiennoprzecinkowe) oparte jest na binarnym krzy»owaniu jednopunktowym. Losowany jest punkt krzy»owania, w którym geny dzieci s wynikow genów obydwu rodziców natomiast cz ± przed i po punkcie krzy»owania pochodzi bezpo±rednio odpowiednio od pierwszego i od drugiego z rodziców dla pierwszego potomka, i odwrotnie dla drugiego. Opcje inwersji Inwersja jest operatorem genetycznym stosowanym w przypadku kodowania binarnego. Jej zadaniem jest zapobieganie utracie cennych zestawów genów. Poniewa» niektóre cechy przejawiaj si poprzez wyst powanie okre±lonego zestawu kolejnych genów to krzy»owanie ma cz sto niszcz cy wpªyw szczególnie na dªu»sze schematy. Prawdopodobie«stwo inwersji jest zwykle du»o mniejsze (zwykle o rz d wielko- ±ci) ni» prawdopodobie«stwo mutacji. Inwersja nie zachodzi dla osobników podlegaj cych selekcji elitarnej i przemieszczanych w obr bie specjalizacji. Co wynika bezpo±rednio z przyczyny dla której jest stosowana. Opcje migracji Migracja jest przemieszczaniem si osobników mi dzy pod-populacjami tworzonymi przez algorytm w wypadku wpisania wektora w pole Rozmiar populacji (patrz punkt 4.1, na stronie 48). Co jaki± okre±lony czas najlepsze osobniki jednej populacji zast puj najsªabsze osobniki w drugiej populacji. Dziaªanie migracji mo»e by kontrolowane przez poni»sze parametry. Kierunek - migracja mo»e zaj± w jednym lub dwóch kierunkach. w przód migracja odbywa si w kierunku nast pnej pod-populacji. W tym przypadku osobniki z n-tej pod-populacji migruj do (n+1)-tej pod-populacji. obustronnie migracja odbywa si w dwie strony. W tym przypadku osobniki migruj do (n+1)-tej i (n-1)-tej pod-populacji. W przypadku skrajnych pozycji wektora pod-populacji migracja zachodzi od ostatniej do pierwszej pod-populacji i vice versa. Ten proces nazywany jest zawijaniem pod-populacji, aby mu zapobiec nale»y ustawi rozmiar ostatniej pod-populacji jako zerowy. Pole ile osobników oznacza jak du»a cz ± osobników przechodzi mi dzy populacjami w momencie migracji. Warto± ta odnosi si do mniejszej z populacji 53

60 bior cej udziaª w migracji. Osobniki migruj ce z jednej pod-populacji do drugiej s kopiowane (klonowanie), nie przenoszone. Pole co ile migracja okre±la jak wiele generacji upªywa mi dzy migracjami. W przypadku ustawienia na warto± 20 migracja mi dzy populacjami b dzie zachodzi co ka»de 20 generacji. Wa»ny jest dobór odpowiednio du»ego parametru aby miaªo szans wyksztaªci si rzeczywiste zró»nicowanie mi dzy pod-populacjami. 4.3 Zakªadka: Obsªuga wyj±cia Zakªadka Obsªuga wyj±cia (rysunek 4.3) sªu»y do ustawienia opcji: zapisu wyników dziaªania algorytmu, zapisu/odczytu ustawie«domy±lnych, zapisu/odczytu ustawie«, generacji/odczytu okre±lonego ±rodowiska. Ustawienia algorytmu Po wyborze pliku, przy pomocy dialogu otwieranego po naci±ni ciu przycisku Wybierz plik..., istnieje mo»liwo± zapisu danych do pliku lub odczytu danych. Formatem zapisu jest XML. Ustawienia domy±lne Po naci±ni ciu przycisku Zapisz dokonywany jest zapis ustawie«do pliku domy±lne.xml. Je»eli plik taki istnieje w katalogu programu aktywny jest wtedy przycisk Przywró, który powoduje odczytanie danych z pliku i ustawienie parametrów programu. Dane wej±ciowe Kontrolki znajduj ce si na tym panelu pozwalaj na wygenerowanie lub odczyt nowego ±rodowiska z pliku, a tak»e zapisanie go do wybranego pliku. Dodatkowe kontrolki pozwalaj na zapis wszystkich ustawie«programu (zapisz z wszystkimi ustawieniami), a tak»e u»ycie wygenerowanego/odczytanego ±rodowiska w uruchamianym algorytmie. Nie jest to jednak mo»liwe po zmianie ustawie«zadania lub populacji, od których bezpo±rednio zale» osobnicy ±rodowiska. Zapis wyników dziaªania algorytmu Kontrolki na tym panelu pozwalaj na zapis efektu dziaªania algorytmu do wybranego pliku. Po wyborze pliku mo»liwe jest wª czenie zapisu (Zapisuj kolejne populacje). Nale»y dokona wyboru, czy zapisywa wszystkie generacje, czy 54

61 Rysunek 4.3: Wygl d zakªadki Obsªuga wyj±cia. tylko kra«cowe wtedy zapisywana jest jedynie generacja pocz tkowa i ostatnia. Nale»y wzi przy tym pod uwag i» przykªadowy algorytm z kodowaniem binarnym o dªugo±ci chromosomu 26 genów, dla 20 osobników w 100 generacjach, przy zapisie warto±ci funkcji przystosowania tworzy plik wielko±ci 200kB. Domy±lnie zapisywane s tylko warto±ci chromosomu, dodatkowo mo»na wª czy : zapisz warto± przystosowania, zapisz reprezentowane punkty, zapisz ilo± selekcji. Mo»liwe jest wymuszenie zapisu jedynie lidera ka»dej populacji (zapisz tylko lidera. Dodatkowo mo»na zapisa wyniki z ustawieniami programu (zapisz ustawienia algorytmu). Opcja zapisu osobników do pliku jest bardzo przydatna przy dokªadnym ±ledzeniu mechanizmu dziaªania dla maªych populacji przy niewielkiej ilo±ci iteracji. 55

62 Rysunek 4.4: Wygl d zakªadki Wykresy i warunki stopu. 4.4 Zakªadka: Wykresy i warunki stopu Zakªadka Wykresy i warunki stopu (rysunek 4.4) sªu»y do ustawienia opcji: wykresów które maj by wy±wietlane, mechanizmu dziaªania algorytmu, warunków stopu. Ustawienia wykresów Funkcje rysowania umo»liwiaj przegl d wykresów dziaªania algorytmu genetycznego w ró»nych jego aspektach. 56

63 Najlepsze przystosowanie zaznacza najlepsz warto± funkcji w danej generacji. rednia odlegªo± w populacji wykre±la ±redni odlegªo± mi dzy osobnikami w populacji dla kolejnych generacji. Przystosowanie osobników wykre±la histogram przedstawiaj cy wyniki dla kolejnych generacji. Warunki stopu wykre±la poziom speªnienia konkretnych warunków stopu. Min/Max/ r przystosowania wykre±la minimaln, maksymaln i ±redni warto± przystosowania w ka»dej generacji. Selekcja wykre±la histogram rodziców. Pokazuje którzy rodzice przyczyniaj sie do powstania ka»dej z generacji. Rozmiar okna wykresów Umo»liwia ustawienie wybranej wielko±ci ekranu wy±wietlania. Automatyczny rozmiar ekranu zostanie ustawiony na domy±lne warto±ci. Zadany umo»liwia dokªadne okre±lenie szeroko±ci i wysoko±ci okna. Peªny ekran wykresy wy±wietlane s w trybie peªnoekranowym. Warunki stopu Warunki stopu okre±laj w jakim wypadku dziaªanie algorytmu zostanie przerwane. Maksymalna ilo± generacji okre±la maksymaln ilo± iteracji wykonanych przez algorytm genetyczny. Maksymalna ilo± bezproduktywnych generacji umo»liwia ustalenie przez ile generacji nie poprawiaj cych wyniku funkcji przystosowania algorytm ma dziaªa. Maksymalny czas okre±la maksymalny czas, w sekundach, przez jaki algorytm b dzie dziaªa przed zatrzymaniem. Oczekiwana warto± przystosowania algorytm przerywa dziaªanie w momencie gdy najlepsza warto± funkcji przystosowania osi gnie warto± wi ksz lub równ warto±ci danej. 57

64 a) b) c) d) Rysunek 4.5: Przykªadowe mo»liwo±ci stanu panelu sterowania dziaªaniem algorytmu: a) algorytm wª czony bez opó¹nienia, b) algorytm wª czonym opó¹nieniem, c) zatrzymanie dziaªania algorytmu, d) algorytm uruchomiony z opcj potwierdzania kolejnych generacji. 4.5 Panel sterowania dziaªaniem algorytmu Panel sterowania dziaªaniem algorytmu dost pny jest po uruchomieniu algorytmu genetycznego. Jego zadaniem jest umo»liwienie kontroli nad wykonywaniem kolejnych iteracji, dzi ki czemu mo»liwa jest bardziej wnikliwa analiza przebiegaj - cych procesów. Panel sªu»y do: wy±wietlania bie» cej generacji, wy±wietlania najlepszego przystosowania, przerwania dziaªania algorytmu, wª czenia/wyª czenia opó¹nienia mi dzy kolejnymi generacjami (je±li algorytm uruchomiony z opó¹nieniem), chwilowego zatrzymania dziaªania algorytmu, potwierdzania ka»dej z kolejnych generacji (je±li wª czono dziaªanie krokowe w zakªadce Wykresy i warunki stopu). Wi cej informacji na temat opó¹nienia i dziaªania krokowego algorytmu znale¹ mo»na w rozdziale 4.4. Podstawa funkcjonalno±ci programu opracowana zostaªa na podstawie toolboxu GATools [17] programu MatLab Opracowany przeze mnie program implementuje funkcje tego toolboxu, jak równie» zawiera nowe funkcje i posiada rozszerzone mo»liwo±ci. 58

65 Rozdziaª 5 Przedstawienie szczegóªów implementacji 5.1 Budowa programu Przypadki u»ycia Na rysunku 5.1 przedstawiªem diagram przypadków u»ycia programu. Nie b d tutaj skupiaª si na szczegóªach, które opisaªem dokªadnie w rozdziale Pakiety programu Program skªada si z trzech pakietów. Podziaª ten jest naturaln konsekwencj wymaganej funkcjonalno±ci programu oraz umo»liwienia ªatwej ewentualnej pó¹niejszej rozbudowy lub wykorzystania której± z cz ±ci. Podziaª przedstawiony zostaª na rysunku 5.2. Poszczególne pakiety tworz logiczne cz ±ci: GA_engine - cz ± obliczeniowa: tworzenie ±rodowiska zªo»onego z podpopulacji okre±lonych ilo±ci osobników i wykonywanie kolejnych iteracji zgodnie z ustawionymi parametrami ±rodowiska i operatorów genetycznych (rysunek 5.3). GA_program - pakiet zawieraj cy klas uruchomieniow (GA_learn), klas wykorzystywan do ustawienia i wª czenia algorytmu genetycznego (Sterowanie) cz ±ci interfejsu gracznego sªu» ce do wy±wietlania wykresów, wy±wietlania wyników, wy±wietlania numeru generacji i kontroli przebiegu algorytmu (rysunek 5.4). GA_UI - pakiet obsªugi interfejsu gracznego: klasy o nazwach P anel s Beanami b d cymi poszczególnymi cz ±ciami gªównego okna, okna dialogowe (DialogInf o i DialogHelp, odpowiednio - informacji o programie i pomocy), gªówn klas pakietu (U I_GA_learn) która korzysta z klasy obsªugi w tków SwingW orker do uruchomienia klasy Sterowanie pakietu GA_program (rysunek 5.5). 59

66 Rysunek 5.1: Diagram przypadków u»ycia Rysunek 5.2: Diagram pakietów 60

67 Rysunek 5.3: Diagram klas pakietu GA_engine Rysunek 5.4: Diagram klas pakietu GA_program 61

68 Rysunek 5.5: Diagram klas pakietu GA_UI 62

69 5.2 W tki w ±rodowisku Swing Event-Dispatching Thread Czasochªonno± oblicze«algorytmu genetycznego nale»y uwzgl dni szczególnie w sposobie dziaªania ±rodowiska gracznego. Obsªuga zdarze«i rysowane komponentów w Java Swing korzystaj z jednego w tku zwanego event-dispatching thread. To zapewnia zako«czenie dziaªania obsªugi ka»dego zdarzenia przed rozpocz ciem obsªug nast pnego i uniemo»liwia zakªócenie rysowania przez wywoªane obsªugi zdarze«. Aby unikn zakleszczenia nale»y podj szczególne ±rodki ostro»no±ci zmierzaj ce do zapewnienia by wszystkie komponenty i modele Swing byªy tworzone, modykowane i wykonywane tylko z event-dispatching thread. U»ycie metody invokelater Mo»na wywoªa invokelater z ka»dego w tku, który wymaga event-dispatching thread do wykonania okre±lonego kodu. Trzeba umie±ci kod w metodzie run obiektu Runnable i u»y tego obiekty jako argumentu wywoªania invokelater. Metoda invokelater nie czeka na zako«czenie dziaªania kodu przez event-dispatching thread tylko powraca natychmiastowo. Poni»ej przedstawiam przykªad wykorzystania metody invokelater. Listing 5.1: u»ycie metody invokelater 1 Runnable updateacomponent = new Runnable () { 2 public void run () { component. dosomething () ; } 3 }; 4 S w i n g U t i l i t i e s. invokelater ( updateacomponent ) ; U»ycie metody invokeandwait Metoda invokeandwait jest bardzo podobna do invokelater, z t tylko ró»nic»e nie powraca do czasu zako«czenia dziaªania kodu przez event-dispatching thread. Kiedy tylko jest to mo»liwe nale»y korzysta z invokelater zamiast invokeandwait - w przeciwnym wypadku nale»y liczy si z istnieniem mo»liwo±ci wyst pienia zakleszczenia. Je±li jednak u»ycie invokeandwait jest niezb dne nale»y upewni si,»e nie zakªada blokad na obiekty których mog potrzebowa inne w tki przed zako«czeniem dziaªania metody. Poni»ej przedstawiam przykªad dziaªania invokeandwait. Listing 5.2: u»ycie metody invokeandwait 1 void showhellotheredialog () throws Exception { 2 Runnable showmodaldialog = new Runnable () { 3 public void run () { 4 JOptionPane. showmessagedialog (mymainframe, " Hello There" ) ; 5 } 6 }; 7 S w i n g U t i l i t i e s. invokeandwait ( showmodaldialog ) ; 63

70 8 } U»ycie w tków dla poprawienia wydajno±ci W tki u»yte poprawnie mog prowadzi do poprawy wydajno±ci. Wa»na jest jednak rozwaga podczas u»ycia ich w programach Swing. W tki mog prowadzi tak»e do uproszczenia kodu programu. Podstawowe sytuacje kiedy warto ich u»ywa, to: dªugotrwaªe operacje obliczeniowe, operacje blokuj ce dost p lub dªugotrwale korzystaj ce z sieci, dysku lub innych urz dze«i/o, dªugotrwaªe operacje obliczeniowe, które mo»na przenie± z event-dispatching thread, tak by GUI pozostawaªo aktywne, potrzeba powtarzania jakiego± dziaªania co okre±lony czas, np. aktualizacja stanu stopera, oczekiwanie na powiadomienie z innego programu. Ze wzgl du na ªatwo± popeªnienia bª du podczas implementacji w tków w Swing, warto wykorzysta istniej ce klasy narz dziowe. Przykªadem takiej klasy mo»e by SwingWorker.java. Dziaªanie tej klasy polega na stworzeniu w tku do uruchomienia w nim czasochªonnego kodu. Dodatkowo umo»liwia wykonanie dodatkowego kodu w event-dispatching thread, po zako«czeniu pierwszego. W moim programie postanowiªem skorzysta z powy»szej klasy w celu uruchomienia silnika obliczeniowego dla algorytmu genetycznego. Klasa okazaªa si dziaªa bardzo dobrze i w peªni speªniªa moje oczekiwania. W kolejnym punkcie opisaªem sposób jej wykorzystania. U»ycie klasy SwingWorker Klasa SwingWorker nie nale»y do pakietu Swing, wymagane jest pobranie jej z [22] lub innego ¹ródªa. Wykorzystanie SwingWorker polega na stworzeniu podklasy implementuj cej metod construct, która zawiera wstawiony kod do wykonania. SwingWorker tworzy w tek jednak nie rozpoczyna jego dziaªania. W celu rozpocz cia dziaªania w tku nale»y wywoªa metod start, gdzie wywoªywana jest metoda construct. Poni»ej przedstawiam fragment kodu uruchomienia algorytmu genetycznego. Listing 5.3: fragment kodu UI_GA_learn.java 1 i f ( worker!= null ) { 2 worker. i n t e r r u p t () ; 3 wypiszstan ( "Przerwano d z i a ª a n i e algorytmu. Uruchomiono ponownie... " ) ; 4 } else wypiszstan ( "Uruchomiono : algorytm... " ) ; 5 6 worker = new SwingWorker () { 7 Sterowanie s t e r ; 64

71 8 public void i n t e r r u p t () { 9 // System. err. p r i n t l n (" s d f s a d f g a s d f g ") ; 10 s t e r. przerwij () ; 11 } 12 public Object construct () { 13 / tu j e s t kod / 14 } 15 }; 16 worker. s t a r t () ; Szczegóªowe informacje na temat u»ycia w tków w ±rodowisku Swing mo»na znale¹ w [22]. 5.3 Zastosowane biblioteki W projekcie korzystaªem z gotowych darmowych bibliotek. U»yªem ich do parsowania wzorów matematycznych (Java Expression Parser ) i do rysowania wykresów (JFreeChart). Poni»ej opisaªem wymienione biblioteki, aspekty dotycz ce ich dost pno±ci i stosowania JEP - Java Expression Parser Opis Strona producenta: Wykorzystana wersja: (released 2006/04/01) JEP jest bibliotek sªu» c do parsowania i sprawdzania poprawno±ci wzorów matematycznych. Dzi ki jej zastosowaniu istnieje mo»liwo± wprowadzania dowolnych funkcji matematycznych w postaci zmiennej typu String do wykorzystania w programie. Biblioteka JEP obsªuguje wprowadzanie zdeniowanych zmiennych, staªych i wzorów. Uwzgl dnia przy tym wykorzystanie wielu funkcji matematycznych, co przedstawiªem szerzej w podpunkcie Dost pne funkcje. Poni»ej wymieni- ªem w punktach mo»liwo±ci i zalety biblioteki. maªy rozmiar (plik jar ma obj to± jedynie 75kB ), wspiera u»ycie wyra»e«algebry boolowskiej (!, &&,, <, >,!=, ==, >= i <=), szybkie dziaªanie (wyra»enie mo»e zosta szybko przeliczone dla innych warto±ci zmiennych), wsparcie dla podstawowych funkcji matematycznych, mo»liwo± rozszerzenia przez zdeniowanie funkcji u»ytkownika, przedeniowane staªe, takie jak π i liczba Eulera e, wsparcie dla ªa«cuchów znakowych, liczb zespolonych i wektorów, 65

72 wsparcie dla wnioskowanego mno»enia (mo»liwo± u»ycia 3x zamiast 3*x), przy obliczeniach umo»liwia wybór mi dzy zadeklarowanymi i nie zadeklarowanymi zmiennymi, peªna kompatybilno± z Java 1.2 (biblioteka przekompilowana z u»yciem Sun JDK 1.2.2), wsparcie dla znaków typu Unicode (wª czaj c greckie symbole), obszerna i wyczerpuj ca dokumentacja, biblioteka jest darmowa (dystrybuowana na licencji GPL). Licencja JEP jest bibliotek która dystrybuowana jest na zasadzie dwóch licencji GNU General Public License (GPL) i JEP Commercial License. Poniewa» licencja GPL mo»e by zbyt restrykcyjna do zastosowa«w konkretnej aplikacji dost pna jest tak»e licencja komercyjna. Wi cej na temat licencji GPL mo»na znale¹ pod adresem: Dost pne funkcje W tabeli 5.1, przedstawiam list funkcji dost pnych w bibliotece JEP. Ograniczyªem si do wymienienia jedynie funkcji dla liczb rzeczywistych i zespolonych. Dodatkowo biblioteka umo»liwia tak»e tworzenie wªasnych funkcji. Jednak nie byªo potrzeby stosowania tej cechy biblioteki JFreeChart Opis Strona producenta: Wykorzystana wersja: JFreeChart jest darmow bibliotek napisan caªkowicie w j zyku Java. Pozwala w ªatwy i prosty sposób na wy±wietlanie zaawansowanych wykresów o profesjonalnym wygl dzie. Dzi ki temu, po opanowaniu podstaw biblioteki, staje si mo»- liwe rozwijanie konkretnego zagadnienia bez zbytniego zagª biania si w tworzenie ±rodowiska do wy±wietlania wykresów. Ze wzgl du na bardzo du» ilo± rodzajów wykresów mo»na znale¹ odpowiedni do ka»dego nie-specjalistycznego zagadnienia. Poza tym wykresy mo»na dostosowywa do swoich potrzeb, ª czy ze sob i daje to znacznie wi ksze mo»liwo±ci do ewentualnego wykorzystania. Poni»ej wymieniªem w punktach podstawowe cechy i zalety biblioteki. spójne i dobrze udokumentowane API, 66

73 funkcja symbol liczba double zespolona sinus sin(x) tak tak cosinus cos(x) tak tak tangens tan(x) tak tak arc sinus asin(x) tak tak arc cosinus acos(x) tak tak arc tangens atan(x) tak tak arc tangens (z 2 parametrami) atan2(y, x) tak nie sinus hiperboliczny sinh(x) tak tak cosinus hiperboliczny cosh(x) tak tak tangens hiperboliczny tanh(x) tak tak arc sinus hiperboliczny asinh(x) tak tak arc cosinus hiperboliczny acosh(x) tak tak arc tangens hiperboliczny atanh(x) tak tak logarytm naturalny ln(x) tak tak logarytm dziesi tny log(x) tak tak wykªadnicza (e x ) exp(x) tak tak warto± bezwzgl dna abs(x) tak tak liczba losowa z [0;1] rand() tak tak reszta z dzielenia mod(x,y)=x%y tak tak pierwiastek sqrt(x) tak tak suma sum(x,y,z) tak tak instrukcja warunkowa if(warunek) tak tak zamiana na ªa«cuch str(x) tak tak wspóªczynnik dwumianowy binom(n,i) dla warto±ci caªkowitych nie Tablica 5.1: Lista funkcji dost pnych w bibliotece JEP. 67

74 wsparcie dla szerokiego wachlarza ró»nych typów wykresów, elastyczny projekt, ªatwy w rozszerzaniu i mog cy by stosowany zarówno w aplikacjach klienckich, jak i serwerowych, wsparcie dla wielu typów wyj±ciowych (komponenty Swing, obrazy - wª czaj c PNG i JPEG, graka wektorowa - wª czaj c PDF, EPS i SVG), biblioteka jest darmowa (na licencji LGPL). Powa»n niedogodno±ci podczas korzystania z tej biblioteki jest fakt i» nie nale»y ona do oprogramowania open source. Ze wzgl du na licencj sama biblioteka jest darmowa, jednak za dokumentacj i przykªady nale»y zapªaci. W zwi zku z czym podczas pisania programów z jej u»yciem, w przypadku ograniczonych ±rodków - nansowych, przydatne staje si przeszukiwanie forów internetowych i stron www. W momencie gdy powy»sze ograniczenia nie s istotne dost pny jest podr cznik zawieraj cy 530 stron dokumentacji i przykªadów. Napisany zostaª przez Davida Gilbert'a, twórc JFreeChart, i b d c sprzedawanym przez rm nale» c do niego (Object Renery Limited ) stanowi gªówne ¹ródªo dochodu na rozwijanie biblioteki. W chwili obecnej dost pna jest wersja tej biblioteki. Licencja Szerzej na temat sposobu licencjonowania i niedogodno±ci z tym zwi zanych napisaªem we wcze±niejszym punkcie. Wi cej na temat licencji Lesser General Public License mo»na znale¹ pod adresem: Wymagania JFreeChart wymaga stosowania platformy Java 2 (JDK w wersji 1.3 lub pó¹niejszej). 5.4 Zastosowane technologie XML XML inaczej Extensible Markup Language jest prostym, otwartym formatem tekstowym. Wywodzi si od SGML (Standard Generalized Markup Language (ISO 8879), format powstaªy w 1986 roku). Powstaª jako format maj cy sprosta zadaniom wymiany ró»norodnych danych gªównie w sieci Internet. Prace nad opracowaniem tego formatu prowadziªo W3C [31]. Skªadnia XML jest bardzo podobna do HTML, z t ró»nic i» XML nie ma zdeniowanych»adnych znaczników. Zamiast tego, zale»nie od potrzeb, tworzone s odpowiednie znaczniki odpowiadaj ce odpowiedniemu zastosowaniu. W formacie XML uj ta jest idea DTD (Document Type Denition - plik zawieraj cy denicje elementów, atrybutów i encji), pliku okre±laj cego zestaw znaczników do rozwi zania 68

75 okre±lonego problemu oraz tego w jaki sposób znaczniki mog by zagnie»d»ane i jakie mog posiada atrybuty. Poni»ej przedstawiam dziesi punktów które ogólnie opisuj standard XML [32]: 1. XML sªu»y do przechowywania ustrukturyzowanych danych - czyli wi kszo±ci danych jakie przetwarzane s przez oprogramowanie, 2. XML wygl da troch podobnie do HTML - jednak w odró»nieniu od niego znaczniki maj jedynie na celu oddzielenie od siebie danych, 3. XML jest tekstem jednak nie jest przeznaczony do czytania - ta cecha pozwala jednak na ewentualne zajrzenie w kod w przypadku gdy plik ulegª uszkodzeniu (specykacja zakªada,»e programy nie parsuj niepoprawnych plików XML), 4. XML jest z zaªo»enia rozwlekªy - dzieje si tak poniewa» jest formatem tekstowym, przy obecnych cenach dysków i mo»liwo±ciach kompresji w locie nie jest to utrudnieniem, natomiast korzy±ci s niew tpliwe, 5. XML jest caª rodzin technologii - w skªad wchodz takie technologie jak XPointer, CSS, XSL (XSLT), DOM, i inne, 6. XML jest nowy, ale nie zbyt-nowy - powstaª w 1998 jednak wywodzi si z SGML powstaªego na pocz tku lat '80tych, 7. XML prowadzi HTML do XHTML - najpopularniejsze zastosowanie XML jako formatu dokumentu, 8. XML jest modularny - pozwala na stworzenie nowego formatu przez ª czenie i ponowne u»ycie ju» istniej cych, 9. XML jest podstaw RDF ( Resource Description Framework) i Semantic Web - wspomaga opisywanie zasobów i tworzenie aplikacji meta-danowych, 10. XML jest wolny od licencji, niezale»ny platformowo i dobrze wspierany - dzi ki temu tworzonych jest coraz wi cej narz dzi, w tym darmowych, które mo»na wykorzysta przy tworzeniu aplikacji opartych o XML. Du» zalet XML jest fakt i» jest on zapisywany w formacie ASCII. Je±li to potrzebne mo»e by edytowany w dowolnym edytorze. Prócz tego przegl danie plików w formacie XML mo»liwe jest przy u»yciu edytora plików tekstowych (np. Notepad lub Vi), ale znacznie lepiej nadaj si do tego przegl darki internetowe. Szczególnie chc zwróci tu uwag na przegl dark Firefox, w która dzi ki wªa±ciwej interpretacji formatu umo»liwia zwijanie i rozwijanie gaª zi struktury. Zapewnia to znaczn prostot czytania i przegl dania wyników. 69

76 5.4.2 JavaBean W wielu ±rodowiskach programowania (Borland Delphi, Microsoft Visual Studio.Net, NetBeans) interfejsy graczne tworzy si gracznie, gªównie przy pomocy myszy - ten sposób programowania zwany jest programowaniem gracznym. Poniewa» interfejsy graczne buduje si z komponentów, które posiadaj swoje wªa±ciwo±ci, posiadaj metody obsªugi i generuj zdarzenia, najlepsz mo»liwo±ci jest ª czenie ich w wi ksze caªo±ci, które b d mogªy by powielane bez potrzeby tworzenia caªego kodu ich obsªugi za ka»dym razem od nowa. W celu umo»liwienia tego powstaªa konwencja nazewnicza pozwalaj ca tworzy obiekty które pó¹niej mo»na wykorzysta w ±rodowisku programowania wizualnego. W skrócie: ka»da wªa±ciwo± obiektu klasy Abc (zwanego beanem) posiada metody getabc() i setabc(), które umo»liwiaj do niej dost p, metody zewn trzne nietrzymaj ce tej konwencji musz by zadeklarowane jako publiczne. Dzi ki temu mo»liwe jest automatyczne - bez odwoªywania si do kodu - tworzenie zestawu arkusza wªa±ciwo±ci i obsªugiwanych zdarze«. Ze wzgl du na rozbudowany interfejs graczny zostaªa znaczne rozbudowania klasa tego» interfejsu. W zwi zku z tym podzielenie logicznie powi zanych ze sob komponentów okna staªo si naturalnym i oczywistym rozwi zaniem. Do tego celu wykorzystany zostaª mechanizm JavaBean. W celu wi kszego uproszczenia u»ycia wszystkie Beany zaimplementowane w moim programie posiadaj wspólne co najmniej dwie metody: public void setvalue(int obiekt,string wartosc) public String getstringvalue(int obiekt) throws IndexOutOfBoundsException Gdzie jako obiekt wstawiana jest jedna ze staªych reprezentuj cych dost pne obiekty Beana. Dzi ki temu kod w klasie obsªugi interfejsu gracznego jest znacznie czytelniejszy, czego przykªad przedstawiam poni»ej na wycinkach metod: zapisuj cej ustawienia do pliku (listing 5.4) i przywracaj cej ustawienia po odczycie z pliku (listing 5.5) - gdzie el jest tablic odczytanych ustawie«. Znaki //[...] oznaczaj pomini te fragmenty kodu. Listing 5.4: Wycinek metody zapisu ustawie«1 private void zapiszustawienia ( PlikDoZapisuXML p l i k ) throws ExBladZapisuPliku { 2 p l i k. zapiszpoczatekgalezixml ( " ustawienia " ) ; 3 zapiszustawieniazadania ( p l i k ) ; 4 // <e d i t o r f o l d d e f a u l t s t a t e ="c o l l a p s e d " desc=" { ustawienia : s e l e k c j i } "> 5 p l i k. zapiszpoczatekgalezixml ( " u s t a w i e n i a _ s e l e k c j i " ) ; 6 p l i k. zapiszelementxml ( " jcm_selekcja ", 7 panelselekcja1. getstringvalue ( panelselekcja1.selekcja_rodzaj) ) ; 8 p l i k. zapiszelementxml ( " jcb_selekcja_elitarna ", 9 panelselekcja1. getstringvalue ( panelselekcja1.selekcja_elitarna) ) ; 70

77 10 p l i k. zapiszelementxml ( " js_selekcja_elitarna_osobnicy ", 11 panelselekcja1. getstringvalue ( panelselekcja1. SELEKCJA_ILOSC_OSOBNIKOW) ) ; 12 p l i k. zapiszkoniecgalezixml () ; 13 // </e d i t o r f o l d > 14 // <e d i t o r f o l d d e f a u l t s t a t e ="c o l l a p s e d " desc=" { ustawienia : skalowania } "> 15 p l i k. zapiszpoczatekgalezixml ( " ustawienia_skalowania " ) ; 16 p l i k. zapiszelementxml ( "jcm_skalowanie", 17 panelskalowanie1. getstringvalue ( panelskalowanie1.skalowanie_rodzaj) ) ; 18 p l i k. zapiszelementxml ( " jtf_skalowanie_wspolczynnik ", 19 panelskalowanie1. getstringvalue ( panelskalowanie1. SKALOWANIE_WSPOLCZYNNIK) ) ; 20 p l i k. zapiszelementxml ( " js_skalowanie_gorna_czesc ", 21 panelskalowanie1. getstringvalue ( panelskalowanie1. SKALOWANIE_GORNA_CZESC) ) ; 22 p l i k. zapiszkoniecgalezixml () ; 23 // </e d i t o r f o l d > 24 // [... ] 25 } Listing 5.5: Wycinek metody przywrócenia ustawie«1 private void przywrocustawienia ( String [ ] [ ] e l ) { 2 for ( int i =0; i<e l [ 0 ]. length ; i++){ // p t l a c z y t a n i a i ~ustawienia w a r t o ± c i odpowiednich obiektów 3 // [... ] 4 // <e d i t o r f o l d d e f a u l t s t a t e ="c o l l a p s e d " desc=" { ustawienia : s e l e k c j i } "> 5 i f ( e l [ 0 ] [ i ]. equals ( " jcm_selekcja " ) ) 6 panelselekcja1. setvalue ( panelselekcja1. SELEKCJA_RODZAJ, e l [ 1 ] [ i ] ) ; 7 i f ( e l [ 0 ] [ i ]. equals ( " jcb_selekcja_elitarna " ) ) 8 panelselekcja1. setvalue ( panelselekcja1. SELEKCJA_ELITARNA, e l [ 1 ] [ i ] ) ; 9 i f ( e l [ 0 ] [ i ]. equals ( " js_selekcja_elitarna_osobnicy " ) ) 71

78 10 panelselekcja1. setvalue ( panelselekcja1. SELEKCJA_ILOSC_OSOBNIKOW, e l [ 1 ] [ i ] ) ; 11 // </e d i t o r f o l d > 12 // <e d i t o r f o l d d e f a u l t s t a t e ="c o l l a p s e d " desc=" { ustawienia : skalowania } "> 13 i f ( e l [ 0 ] [ i ]. equals ( "jcm_skalowanie" ) ) 14 panelskalowanie1. setvalue ( panelskalowanie1.skalowanie_rodzaj, e l [ 1 ] [ i ] ) ; 15 i f ( e l [ 0 ] [ i ]. equals ( " jtf_skalowanie_wspolczynnik " ) ) 16 panelskalowanie1. setvalue ( panelskalowanie1. SKALOWANIE_WSPOLCZYNNIK, e l [ 1 ] [ i ] ) ; 17 i f ( e l [ 0 ] [ i ]. equals ( " js_skalowanie_gorna_czesc " ) ) 18 panelskalowanie1. setvalue ( panelskalowanie1. SKALOWANIE_GORNA_CZESC, e l [ 1 ] [ i ] ) ; 19 // </e d i t o r f o l d > 20 // [... ] 21 } Javadoc Javadoc jest narz dziem do tworzenia dokumentacji w HTML. Dokumenty tworzone s na podstawie odpowiednio sformatowanych komentarzy w kodzie ¹ródªowym. Javadoc mo»e by ±ci gni ty jedynie jako cz ± Java 2 SDK. Narz dzie to jest bardzo przydatne w tworzeniu jasnej i spójnej dokumentacji klas programu lub biblioteki. Kod ¹ródªowy musi by odpowiednio komentowany by mo»na byªo wygenerowa z niego dokumentacj, komentarze te swobodnie wspóªistniej z innymi - zwyczajnymi komentarzami. Zdecydowaªem si na dokumentacj kodu mojego programu w ten wªa±nie sposób ze wzgl du na kilka cech: wspomnian ju» wcze±niej - prostot, niezwykª przejrzysto± i spójno± tego typu dokumentacji, mo»liwo± tworzenia i wykorzystania jej na bie» co w ±rodowisku NetBeans, fakt i» ten typ dokumentacji jest standardem dla j zyka Java. Wi cej informacji na temat sposobu tworzenia dokumentacji w Javadoc mo»na znale¹ na stronach www pod adresem [23] oraz [24]. Dodatkowo ±rodowisko NetBeans umo»liwia zwijanie fragmentów kodu poprzez u»ycie odpowiednio formatowanych komentarzy. Przykªadem jest linia 4 z lini 11 w listingu

79 5.5 Okno dialogowe pomocy Ze wzgl du na fakt i» program napisany jako cz ± mojej pracy jest programem edukacyjnym od samego pocz tku jego powstawania byªo oczywiste i» istotnym elementem b dzie w nim pomoc. Przy tworzeniu pomocy postawiªem sobie dwa zaªo»enia prostota i efektywno±. Okno dialogu pomocy zawiera cztery komponenty dwa przyciski (Wstecz i Do przodu) oraz dwa obiekty typu JEdtorPane (menu i obszar wy±wietlania zawarto±ci pomocy). W zwi zku z tym wida,»e pierwsze zaªo»enie jest speªnione. U»ycie obiektów typu JEdtorPane, do± proste w implementacji, pozwoliªo na wykorzystanie mechanizmów dziaªania j zyka HTML. Dzi ki temu speªniªem te» drugie zaªo»enie dzi ki mo»liwo±ci u»ycia hiperª cz nawigowanie po tek±cie pomocy i przegl danie go jest intuicyjne. U»ycie samego obiektu JEdtorPane nie stwarza jeszcze mo»liwo±ci korzystania z HTML. Nale»y ustawi odpowiedni rodzaj zawarto±ci (linia 5 i 6 listingu 5.6). Dalszym krokiem jest ustawienie strony pocz tkowej, a tak»e dodanie metody obsªugi zdarzenia u»ycia hiperª cza. Listing 5.6: Obsªuga inicjalizacji pomocy 1 private void loadhelp () { 2 try { 3 String userdir = System. getproperty ( " user. d i r " ) ; 4 5 jepmenu. setcontenttype ( " text /html" ) ; 6 jephelp. setcontenttype ( " text /html" ) ; 7 jephelp. setpage ( " f i l e :/// "+userdir. concat ( "/ help / index. html" ) ) ; 8 h i s t o r y [0]=new String ( " f i l e :/// "+userdir. concat ( "/ help / index. html" ) ) ; 9 jepmenu. setpage ( " f i l e :/// "+userdir. concat ( "/ help /menu. html" ) ) ; 10 jepmenu. addhyperlinklistener ( this ) ; 11 jephelp. addhyperlinklistener ( this ) ; 12 } 13 catch ( IOException e ) { 14 System. out. p r i n t l n ( e. getmessage () ) ; 15 } 16 } Samo wy±wietlenie nowej strony po u»yciu hiperª cza widoczne jest na listingu 5.7 w linii 5. Prócz tego do tablicy historii przegl dania stron dodawana jest nowa strona co nast puje w kolejnej linii. Listing 5.7: Obsªuga u»ycia hipreª cza 1 public void hyperlinkupdate ( HyperlinkEvent event ) { 2 i f ( event. geteventtype () == HyperlinkEvent. EventType. ACTIVATED) { 73

80 3 try { 4 jephelp. setpage ( event. geturl () ) ; 5 addnext ( event. geturl (). getpath () ) ; 6 } catch ( IOException i o e ) { 7 System. out. p r i n t l n ( "Bª d : "+i o e. getmessage () ) ; 8 } 9 } 10 } Niew tpliwym atutem takiego sposobu implementacji pomocy jest istnienia pomocy niezale»nie od programu. Dzi ki temu mo»na dokonywa w niej zmian bez potrzeby ponownej kompilacji programu. Poza tym mo»liwe jest, niewykorzystywane w tym przypadku, odwoªanie si do plików umieszczonych w sieci Internet/Intranet. Daje to dodatkowe mo»liwo±ci na przykªad w przypadku tworzenia ±rodowisk opartych o architektur klient-serwer, gdzie zale»nie od potrzeb mo»na udost pnia jedynie okre±lone fragmenty pomocy. Wi cej na temat u»ycia HTML w obiektach Swing i JEditorPane mo»na znale¹ w [27] i [28]. 5.6 Stosowane oprogramowanie Przy projektowaniu programu, jego tworzeniu i pisaniu pracy korzystaªem z nast puj cego oprogramowania: MikTeX , TeXnicCenter 1 Beta 6.51, Inkscape 0.43, biblioteki Java (1.5.0_03), NetBeans IDE 5.0, MS-Windows XP Prof. (z SP2), MatLab wersja 7, Poseidon for UML comunity edition , PsPad freeware editor (2270). Znaczna wi kszo± z powy»szego oprogramowania to produkty typu freeware. Warto zainteresowa si programem Inkscape (http://www.inkscape.org/), który nie jest szeroko rozpowszechniony i jest maªo znany. Otwiera on pliki wielu formatów gra- cznych. Posiada mo»liwo± zapisu rysunków do takich formatów jak SVG, PS, EPS, PNG. W zwi zku z tym jest do± przydatny do wykonania rysunków o ±rednim stopniu rozbudowania. Drugim z programów, na który pragn zwróci nawet wi ksz uwag, jest freewareowy PsPad (http://www.pspad.com/en/). Jest to bardzo rozbudowany edytor 74

81 który wykorzystaªem do napisania pomocy do mojego programu. Posiada on wiele przydatnych opcji, takich jak kolorowanie skªadni, rozbudowany podgl d dla plików html, rozbudowan pomoc i wsparcie dla wielu formatów (C/C++, PHP, Perl, SQL, HTML, XHTML, CSS, XML, Java, JavaScript, i jeszcze wielu innych). 75

82 Rozdziaª 6 Badania eksperymentalne 6.1 Dziaªanie opracowanego programu Dziaªanie programu jest w peªni zgodne z wcze±niejszymi zaªo»eniami. Dodatkowo w trakcie implementacji i wst pnego testowania zostaªo rozbudowanych kilka funkcji programu zostaªo rozbudowane w zwi zku z ich u»yteczno±ci lub prawdopodobn przyszª przydatno±ci nowej funkcjonalno±ci. Mo»liwe jest: wybór ró»nego sposobu kodowania, zapis funkcji przystosowania przy pomocy dowolnego wzoru matematycznego, precyzyjne okre±lenie przedziaªów zmiennych, dobór dokªadno±ci reprezentacji (dla kodowania binarnego), kilka sposobów selekcji, kilka sposobów skalowania, kilka sposobów krzy»owania - zale»nie od kodowania, kilka sposobów mutacji - zale»nie od kodowania, kilka rodzajów wykresów przebiegu dziaªania, mo»liwo± opó¹nienia mi dzy iteracjami lub potwierdzenia co krok, ró»ne sposoby deklaracji warunków stopu, wiele innych - bardziej szczegóªowych opcji. W rozdziale 4 opisaªem szczegóªowo opcje programu. 76

83 6.2 Badania eksperymentalne W tym punkcie przedstawione zostaªy wyniki dziaªania programu (GA_learn) napisanego w efekcie zapoznania si z zagadnieniami dotycz cymi algorytmów genetycznych, opisanymi szczegóªowo w rozdziale 3. Cz ± przykªadów zostaªa zaczerpni tych z literatury wymienionej w bibliograi oraz stron WWW. Zostaªy wybrane szczególnie reprezentatywne przykªady funkcje posiadaj ce ekstrema globalne trudne lub wr cz niemo»liwe do znalezienia metodami analitycznymi. Na koniec dodany zostaª przykªad projektowania ltrów przy zastosowaniu algorytmów genetycznych Przykªad pierwszy - poszukiwanie maksimum funkcji dwóch zmiennych Przykªad pierwszy przedstawia poszukiwanie maksimum funkcji dwóch zmiennych. Funkcja przedstawiona jest wzorem (6.1). f(x 1, x 2 ) = 21, 5 + x 1 sin(4πx 1 ) + x 2 sin(20πx 2 ) 3, 0 x 1 12, 1 4, 1 x 2 5, 8 (6.1) Poni»ej przedstawiono szereg testów przeprowadzonych przy u»yciu programu GA_learn. Okre±lenie minimalnej liczby osobników W tabeli 6.1 przedstawiono zestawienie efektywno±ci dziaªania algorytmu dla ró»nych wielko±ci populacji, te same warto±ci znajduj si na wykresach na rysunku 6.2. Jako wynik ekstremalny, otrzymany z trzech prób na populacjach o rozmiarze 1000 osobników, przyj to warto± przystosowania 38,8499. W zwi zku z tym przeprowadzono szereg prób maj cych na celu ustalenie optymalnej wielko±ci populacji. Nale»y zwróci uwag, na to i» w przypadku wykonywanych tutaj testów porównywane s tak naprawd najlepsze przystosowania, a nie przystosowania jak mog to sugerowa np. nazwy u»ywane w tabelach. Przeprowadzono po 15 prób dla ka»dej z liczebno±ci populacji, przy pozostaªych ustawieniach ±rodowiska: wzór i zakres przedziaªów: j.w., podziaª chromosomu: (precyzja reprezentacji zmiennych: 14 bitów na pierwsz i 12 bitów na drug ), populacje: jedna populacja, skalowanie: rankingowe, selekcja: proporcjonalna + 1 osobnik elity, 77

84 Rysunek 6.1: Funkcja opisana wzorem (6.1) mutacja: jednopunktowa (prawdopodobie«stwo 0,15), krzy»owanie: jednopunktowe, specjalizacja: n.d., przy ograniczeniu: do 250 bezproduktywnych generacji. Na podstawie bada«ustalono, i» najni»szy wspóªczynnik ceny (wyra»ony wzorem (6.2)) osi gn ªo ±rodowisko zawieraj ce 15 osobników. Gdzie: wc wspóªczynnik ceny s e wielko± ±rodowiska n g suma ilo±ci generacji f sum suma przystosowania wc = s e n g f sum (6.2) 78

85 Rysunek 6.2: Okre±lenie minimalnej liczby osobników liczebno± populacji ±r.ilo± generacji min. ilo± generacji max. ilo± generacji ±r. przystosowanie min. przystosowanie max. przystosowanie wspóªczynnik ceny Tablica 6.1: Okre±lenie minimalnej liczby osobników 79

86 Jednak ilo± 15 osobników jest niewystarczaj ca ze wzgl du na fakt nieosi gni cia ekstremum podczas»adnej z prób. Wystarczaj cym okazaªo si ±rodowisko z populacj 25 osobników, gdzie osi gni te zostaªo ekstremum. Postanowiono dalsze badania przeprowadza na ±rodowisku 25 osobników. Porównanie wyników dla ró»nego rozkªadu osobników Poni»ej przeprowadzono badana dotycz ce optymalnego rozkªadu osobników na pod-populacje. Wprowadzenie ró»nych pod-populacji przydatne jest do: poszukiwania wi cej ni» jednego ekstremum, zachowania wi kszej ró»norodno±ci genetycznej. W tym wypadku zostaªa wykorzystana druga z tych wªa±ciwo±ci. Na rysunku 6.3 i w tabeli 6.2 przedstawiono wyniki bada«. Na ka»dym z ustawie«±rodowiska zostaªo poczynione 15 prób obliczeniowych. W wyniku tego okre±lono warto±ci minimalne, maksymalne i ±rednie. Pozostaªe ustawienia ±rodowiska byªy nast puj ce: wzór i zakres przedziaªów: j.w., podziaª chromosomu: 14-12, populacje: jedna populacja 20 osobników, skalowanie: rankingowe, selekcja: proporcjonalna + 1 osobnik elity, mutacja: jednopunktowa (prawdopodobie«stwo 0,15), krzy»owanie: jednopunktowe, specjalizacja: przenikanie obustronne, przy ograniczeniu: do 250 bezproduktywnych generacji. Nale»y zwróci uwag na fakt i» w tym wypadku wzór na wspóªczynnik ceny wyra»a si wzorem 6.3, obrazuje on zró»nicowanie nakªadu obliczeniowego w stosunku do otrzymanego wyniku. Wzór zmieniono (w odniesieniu do 6.2) ze wzgl du na to i» w tym wypadku ilo± wszystkich osobników jest staªa. Gdzie: wc wspóªczynnik ceny n g suma ilo±ci generacji f sum suma przystosowania wc = n g f sum (6.3) 80

87 Rysunek 6.3: Porównanie wyników dla ró»nego rozkªadu osobników rozkªad populacji ±r.ilo± generacji wzgl.±r.ilo± generacji min. ilo± generacji max. ilo± generacji ±r. przystosowanie min. przystosowanie max. przystosowanie Tablica 6.2: Porównanie wyników dla ró»nego rozkªadu osobników wspóªczynnik ceny 81

88 Dodatkowo wprowadzono wzgl dn ±redni ilo± generacji. Poniewa» ilo± generacji bezproduktywnych liczona jest zbiorczo dla wszystkich pod-populacji, wynika z tego, i» w ogólnym wypadku warunek stopu nie mo»e by speªniony tak dªugo jak trwa przej±cie najlepszych osobników z wiod cej populacji. Przy obustronnym operatorze przenikania zajmuje to dokªadnie T = roundup((n p 1)/2) t, gdzie T jest czasem liczonym w ilo±ciach generacji, n p jest liczb populacji, natomiast t odst pem czasu mi dzy dokonaniem specjalizacji. Jest to wzór dla przypadku gdy warto± ilo±ci bezproduktywnych populacji jest wi ksza od t. To wªa±nie z powodu opisanego powy»ej sztucznego wydªu»enia czasu oraz wzgl dnie du»ego prawdopodobie«stwa mutacji (0,15) du»a ilo± maªych populacji otrzymuje lepsze, pod wzgl dem ±redniej warto±ci przystosowania, wyniki. Wyra¹nie jednak wida jakim nakªadem kosztu obliczeniowego. Wynika st d wniosek i» je±li wzi pod uwag szybko± znajdowania rozwi zania najlepszy jest wariant 25 osobników w jednej populacji, przy czym dopiero czterokrotnie bardziej kosztowna obliczeniowo opcja gwarantuje uzyskanie lepszego minimalnego, maksymalnego jak równie» ±redniego przystosowania. Tak wi c rozkªad osobników nale»y dobra ze szczególnym uwzgl dnieniem danego zastosowania i mo»liwo±ci czasowo-obliczeniowych. Porównanie wyników dla ró»nych ustawie«mutacji Na rysunku 6.4 i w tabeli 6.3 przedstawiono wyniki bada«. Na ka»dym z ustawie«±rodowiska poczyniono 15 prób obliczeniowych. W wyniku tego okre±lono warto±ci minimalne, maksymalne i ±rednie. Pozostaªe ustawienia ±rodowiska byªy nast puj ce: wzór i zakres przedziaªów: j.w., kodowanie: BCD, podziaª chromosomu: 14-12, populacje: jedna populacja 20 osobników, skalowanie: rankingowe, selekcja: proporcjonalna + 1 osobnik elity, mutacja: dziaªanie na ka»dym z osobników, prawdopodobie«stwo mutacji 0,15, krzy»owanie: jednopunktowe, specjalizacja: przenikanie obustronne, przy ograniczeniu: do 250 bezproduktywnych generacji. Na podstawie bada«wida wyra¹nie,»e w ka»dym z bada«osi gni te zostaªo maksymalne przystosowanie. Nie jest to zaskoczeniem zwa»ywszy na fakt stosowania selekcji elitarnej. Najwy»sze ±rednie przystosowanie osi gni te zostaªo przy mutacji 82

89 Rysunek 6.4: Porównanie wyników dla ró»nych ustawie«mutacji rodzaj mutacji ±r.ilo± generacji min. ilo± generacji max. ilo± generacji ±r. przystosowanie min. przystosowanie max. przystosowanie wspóªczynnik ceny jednopunktowa punktowa punktowa punktowa Tablica 6.3: Porównanie wyników dla ró»nych ustawie«mutacji 83

90 2-punktowej. Dodatkowo wart uwagi jest fakt i» minimalne przystosowania z ka»dej, z 15 prób, dla ±rodowisk z mutacj wielopunktow, s znacznie wy»sze od to»samej warto±ci dla ±rodowiska z mutacj jednopunktow. Co naturalne okupione jest to co najmniej czterokrotnie, a» do pi ciokrotnie - dla ±rodowiska z mutacj 8-punktow, wi ksz ±redni ilo±ci iteracji. Czego odbicie wida na warto±ciach wspóªczynnika ceny. Konkluzja jest tutaj nast puj ca w przypadku wzgl dnie nieograniczonych zasobów najbardziej korzystne jest stosowanie mutacji 2-punktowej. Jednak w przypadku silnych ogranicze«czasowych i mniejszego nacisku na precyzj otrzymanego wyniku najwi ksz opªacalno± gwarantuje zastosowanie ±rodowiska z mutacj jednopunktow. W przypadkach po±rednich nale»y dokona bardziej szczegóªowej analizy lub, je±li to wystarczy, oprze si na danych które zebraªem w powy»szych badaniach. Porównanie wyników dla ró»nego rodzaju kodowania Na rysunku 6.5 i w tabeli 6.4 przedstawiono wyniki bada«. Na ka»dym z ustawie«±rodowiska zostaªo poczynione 15 prób obliczeniowych. W wyniku tego okre±lono warto±ci minimalne, maksymalne i ±rednie. Pozostaªe ustawienia ±rodowiska byªy nast puj ce: wzór i zakres przedziaªów: j.w., podziaª chromosomu: 14-12, populacje: jedna populacja 20 osobników, skalowanie: rankingowe, selekcja: proporcjonalna + 1 osobnik elity, mutacja: 2-punktowa (za wyj tkiem pierwszych prób gdzie jest to zaznaczone) (prawdopodobie«stwo 0,15), krzy»owanie: jednopunktowe, specjalizacja: przenikanie obustronne, przy ograniczeniu: do 250 bezproduktywnych generacji. Na podstawie wyników przedstawionych w tabeli 6.4 wida wyra¹nie i» najlepsze wyniki, w tym rodzaju zada«, uzyskaªy ±rodowiska stosuj ce kodowanie binarne metod Graya. Przy czym w tym wypadku zastosowanie inwersji dziaªaªo niekorzystnie - je±li chodzi o warto±ci wyników. Jest jednak dobrze widoczna poprawa czasu dziaªania, i co za tym idzie ni»sza warto± wspóªczynnika ceny. Najsªabsze efekty, je±li chodzi o warto± funkcji przystosowania, osi gn ªy populacje binarne z mutacj jednorodn. Jednak, co jest do przewidzenia w przypadku mniejszych ilo±ci mutacji, ten sposób kodowania prowadziª do najszybszej zbie»no±ci, niekoniecznie do warto±ci ekstremalnej. 84

91 Rysunek 6.5: Porównanie wyników dla ró»nego rodzaju kodowania rodzaj kodowania ±r.ilo± generacji min. ilo± generacji max. ilo± generacji binarne (BCD) (m.jednopunktowa) binarne (BCD) binarne (Gray'a) binarne (Gray'a) (inwersja) zmiennoprzecinkowe ±r. przystosowanie min. przystosowanie max. przystosowanie Tablica 6.4: Porównanie wyników dla ró»nego rodzaju kodowania wspóªczynnik ceny 85

92 Kodowanie zmiennoprzecinkowe charakteryzuje si do± szybk zbie»no±ci. Dzi ki temu, mimo nieosi gni cia - ani razu - maksimum globalnego ogólny rezultat w postaci ±redniego przystosowania nie jest zªy. Warto zwróci uwag na jednoczesn nisk warto± wspóªczynnika ceny. Jest to informacja o potencjalnej przydatno±ci tego rodzaju kodowania w przypadku zada«w których zagadnieniem priorytetowym jest czas, czy patrz c inaczej - moc obliczeniowa. Przy czym godny podkre±lenia jest fakt najni»szej warto±ci maksymalnej ilo±ci generacji. Pozwala, to na podstawie rozs dnej ilo±ci prób, na wyci gni cie dodatkowego wniosku o wysokiej stabilno±ci dziaªania tego typu ±rodowisk. Przedstawienie efektów dziaªania selekcji równomiernej Na rysunku 6.6 i w tabelach 6.5 i 6.6 przedstawiono wyniki bada«. Na ka»dym z ustawie«±rodowiska zostaªo poczynione 6 prób obliczeniowych. Liczb t uznano za optymaln w zwi zku z otrzymywanymi rezultatami dziaªania, które przedstawiono w dalszej cz ±ci. W wyniku tego okre±lono warto±ci minimalne, maksymalne i ±rednie, jednak jedynie dla przystosowania odno±nie ilo±ci populacji: patrz opis wyników. Ustawienia ±rodowiska byªy nast puj ce: wzór i zakres przedziaªów: j.w., podziaª chromosomu: 14-12, populacje: jedna populacja 20 osobników, skalowanie: rankingowe, selekcja: proporcjonalna (patrz: tabela 6.5), mutacja: 2-punktowa wszystkich osobników (prawdopodobie«stwo 0,15), krzy»owanie: jednopunktowe, specjalizacja: przenikanie obustronne, przy ograniczeniu: do 250 bezproduktywnych generacji. Przeprowadzono jedynie po 6 prób, ze wzgl du na fakt i»»adno z dwóch ±rodowisk nie zachowywaªo si stabilnie. wiadczy o tym zatrzymanie po 5000 generacji, która to warto± byªa warto±ci graniczn (pierwszy warunek stopu). W zwi zku z tym przyj to, i» ustawienia zastosowanie w tych ±rodowiskach nie nadaj si do u»ycia w przypadku tego typu zada«. Zastosowanie selekcji elitarnej znacznie poprawiªo uzyskiwane wyniki, jednak nadal nie s one zadowalaj ce. Istnieje du»a grupa ±rodowisk, które spisuj si lepiej w tego typu zadaniach. 86

93 Rysunek 6.6: Przedstawienie efektów dziaªania selekcji równomiernej selekcja ±rednie minimalne maksymalne elitarna przystosowanie przystosowanie przystosowanie tak nie Tablica 6.5: Przedstawienie efektów dziaªania selekcji równomiernej z selekcj bez selekcji elitarn elitarnej Tablica 6.6: Zestawienie efektów dziaªania selekcji równomiernej 87

94 6.2.2 Przykªad drugi - wyznaczenie liczby Pi Drugi z przykªadów jest poszukiwaniem najlepszego przybli»enia, przy pomocy uªamka zwykªego, warto±ci liczby π. Ze wzgl du na natur zadania mo»liwe jest stosowanie jedynie liczb binarnych. Wykres funkcji przedstawionej wzorem (6.4) znajduje si na rysunku 6.7. f(x 1, x 2 ) = abs(π x 1 x 2 ) 1 x x (6.4) Ze wzgl du na rozpi to± zakresów warto±ci jest on maªo czytelny, w zwi zku z tym na rysunku 6.8 umieszczono fragment wykresu. Widoczne na nim maksimum jest trudne do wykrycia metodami analitycznymi. Poni»ej przedstawiono wyniki poszukiwania maksimum przy wykorzystaniu ró»nych metod selekcji i kodowania. Poszukiwanie optymalnych metod selekcji i kodowania Ze wzgl du na skomplikowany przykªad obliczeniowy wa»ne jest odpowiednie ustawienie algorytmu genetycznego. Dla danego przykªadu postanowiono przeprowadzi zestawienie metod selekcji i kodowania (zarówno kodowania BCD jak i kodowania Graya). Badane selekcje to: selekcja: proporcjonalna, selekcja: deterministyczna, selekcja: turniejowa (2 osobników), selekcja: stochastyczna równomierna, selekcja: losowa wedªug reszty z powtórzeniami, selekcja: równomierna. Pozostaªe ustawienia algorytmu, to: wzór i zakres przedziaªów: j.w., podziaª chromosomu: 10-10, populacje: jedna populacja 100 osobników, skalowanie: rankingowe, selekcja elitarna: 1 osobnik, mutacja: wielopunktowa (2 punkty, prawdopodobie«stwo 0,15), krzy»owanie: jednopunktowe, 88

95 Rysunek 6.7: Funkcja opisana wzorem (6.4). Rysunek 6.8: Wycinek funkcji opisanej wzorem (6.4). 89

96 kodowanie BCD kodowanie Graya selekcja ±r.ilo± generacji min. ilo± generacji max. ilo± generacji proporcjonalna deterministyczna turniejowa (2) stochastyczna równomierna losowa wg.reszty z powtórzeniami równomierna proporcjonalna deterministyczna turniejowa (2) stochastyczna równomierna losowa wg.reszty z powtórzeniami równomierna ±r. przystosowanie min. przystosowanie Rysunek 6.9: Zestawienie wyników. max. przystosowanie wspóªczynnik ceny 90

97 specjalizacja: n.d., przy ograniczeniu: do 250 bezproduktywnych generacji. Na podstawie wyników w tabeli 6.9 mo»na zaobserwowa i» nadspodziewanie dobre rezultaty zostaªy uzyskane przy zastosowaniu selekcji równomiernej. Jest to ±ci±le zwi zane z rozkªadem warto±ci funkcji przystosowania. Dodatkowo wart uwagi jest fakt i» ten sposób selekcji, cho najlepszy, okazaª si bardziej kosztowny (funkcja wspóªczynnika ceny wyra»ona jest wzorem (6.5)) w przypadku kodowania Graya. Jednocze±nie byª on najbardziej kosztownym ze sposobów selekcji, w tym wypadku kodowania, podczas gdy w przypadku kodowania BCD koszt tego sposobu selekcji lokowaª si poni»ej ±redniego kosztu. Gdzie: wc wspóªczynnik ceny n g suma ilo±ci generacji f sum suma przystosowania wc = n g f sum (6.5) Zgodnie z oczekiwaniami kodowanie Graya okazaªo si skuteczniejsze jednak wolniejsze, cho nie we wszystkich przypadkach selekcji. Dla obu metod kodowania jedynie dla trzech rodzajów selekcji (deterministycznej, turniejowej i równomiernej) udaªo si uzyska warto± rzeczywistego ekstremum (w cho jednej z 15 prób). W obu przypadkach najsªabsze efekty osi gni te zostaªy przy zastosowaniu selekcji deterministycznej. Prawdopodobnie spowodowane jest to przez fakt szybkozbie»no±ci tej selekcji, o czym wspomniano w punkcie 3.7 pracy Przykªad trzeci - projektowanie ltru dolnoprzepustowego Przykªad trzeci przedstawia u»ycie programu GA_learn do projektowania ltru dolnoprzepustowego. Schemat ltru dolnoprzepustowego znajduje si na rysunku Funkcja transmitancji projektowanego ltru przedstawiona jest wzorem (6.6). = 1 T (s) = sr 1 C 4 (sr 4 C 3 + 1)(sR 3 C 2 + 1)(sR 2 C 1 + 1) =... 1 (6.6) s 4 R 1 R 2 R 3 R 4 C 1 C 2 C 3 C 4 + s 3 (R 1 R 3 R 4 C 2 C 3 C 4 + R 1 R 2 R 4 C 1 C 3 C 4 + R 1 R 2 R 3 C 1 C 2 C 4 )+ Uproszczenie wzoru (6.6) prowadzi do wzoru (6.7). +s 2 (R 1 R 4 C 3 C 4 + R 1 R 3 C 2 C 4 + R 1 R 2 C 1 C 4 ) + sr 1 C 4 91

98 Rysunek 6.10: Schemat ltru dolnoprzepustowego o transmitancji opisanej wzorem (6.6). 1 T (s) = s 4 a 4 + s 3 a 3 + s 2 a 2 + sa 1 a 4 = R 1 R 2 R 3 R 4 C 1 C 2 C 3 C 4 a 3 = R 1 R 3 R 4 C 2 C 3 C 4 + R 1 R 2 R 4 C 1 C 3 C 4 + R 1 R 2 R 3 C 1 C 2 C 4 a 2 = R 1 R 4 C 3 C 4 + R 1 R 3 C 2 C 4 + R 1 R 2 C 1 C 4 a 1 = R 1 C 4 (6.7) Projektowanie ltru opiera si na znalezieniu warto±ci elementów skªadowych ltru (R i C) na podstawie zadanej transmitancji. W zwi zku z tym nale»y, analogicznie do przykªadu z punktu 6.2.2, utworzy funkcj pozwalaj c na porównanie ltru zaprojektowanego z zadanym. Funkcja ta w wyniku daje liczb, jest ona wspóªczynnikiem podobie«stwa, do wyznaczenia tej funkcji mo»na u»y wzoru (6.7). W tym celu zostaje przeksztaªcony do wzoru (6.8). g(ã 1, ã 2, ã 3, ã 4 ) = ( a 4 ã a 3 ã a 2 ã a 1 ã 1 2 ) (6.8) Gdzie g(ã 1, ã 2, ã 3, ã 4 ) jest wzorem na wspóªczynnik podobie«stwa, czyli funkcj której maksimum jest poszukiwane. Wspóªczynniki ã n s skªadowym transmitancji poszukiwanego ltru, dodpowiadaj cym a n, gdzie n {1, 2, 3, 4}. Ze wzgl du na charakter wzoru (6.8), którego wynik jest liczb rzeczywist, mo»e on zosta wykorzystany jako funkcja przystosowania. W tabeli 6.11 przedstawiono warto±ci zadane (indeks z) ltru w zestawieniu z otrzymanymi, w wyniku dziaªania algorytmu genetycznego, warto±ciami zaprojektowanymi (indeks p). Dodatkowo policzono procentow zmian w warto±ciach poszczególnych elementów, co wyra¹niej obrazuje efekt projektowania z wykorzystaniem algorytmu genetycznego. Podczas projektowania wykorzystano algorytm genetyczny o nast puj cych ustawieniach ±rodowiska: wzór i zakres przedziaªów: opisany wzorem (6.8), podziaª chromosomu: (precyzja reprezentacji zmiennych: 12 bitów na parametr), 92

99 zadana rezystancja zaprojektowana ró»nica procentowa zadana pojemno± R 1z = Ω R 1p = 9767 Ω 2,3% C 1z = 4, 7 µf C 1p = 4, 4 µf 6,5% R 2z = Ω R 2p = Ω -12,1% C 2z = 1, 7 µf C 2p = 1, 9 µf -10,6% R 3z = Ω R 3p = Ω -33,6% C 3z = 8, 2 µf C 3p = 8, 8 µf -7,8% R 4z = Ω R 4p = Ω 7,2% C 4z = 2, 8 µf C 4p = 3, 2 µf -13,6% Rysunek 6.11: Zestawienie warto±ci elementów skladowych ltrów - warto±ci zadane i zaprojektowane zaprojektowana ró»nica procentowa populacje: jedna populacja (40 osobników), skalowanie: rankingowe, selekcja: proporcjonalna + 1 osobnik elity, mutacja: 2-punktowa (prawdopodobie«stwo 0,10), krzy»owanie: jednopunktowe, przy ograniczeniu: do 100 bezproduktywnych generacji. Po 86 generacjach, w wyniku dziaªania opisanego powy»ej algorytmu genetycznego, obliczono warto±ci elementów elektronicznych skªadaj cych si na poszukiwany ltr dolnoprzepustowy. Warto±ci te przedstawione zostaªy w tabeli Jak wida na podstawie porównania dla wi kszo±ci z nich warto±ci ró»ni si okoªo 10% wzgl dem warto±ci oczekiwanych. Natomiast warto± maksymalizowanej funkcji wyra»onej wzorem (6.8) wyniosªa przy tym g = 9, Wykres transmitancji ltrów przedstawiony jest na rysunku 6.12a. Na rysunku 6.12b przedstawiono procentow ró»nic mi dzy warto±ci transmitancji dla ltru zadanego, a zaprojektowanego. Jak wida nawet w maksimum wykresu nie przekracza ona 8%. Nale»y zwróci uwag na rozmiar przestrzeni rozwi za«która dotyczyªa tego problemu obliczeniowego. Chromosomy kodowane s binarnie i maj po 12 bitów dokªadno±ci na zmienn. W zwi zku z tym jedna zmienna generuje przestrze«rozwi za«wielko±ci 2 12 = Co wi cej, funkcja której ekstremum byªo poszukiwane jest funkcj o±miu zmiennych. W zwi zku z tym zupeªna przestrze«rozwi za«funkcji wynosi = Jak wida ilo± punktów jest na tyle du»a, i» metody typu brute force s w tym wypadku bezu»yteczne. Wida wyra¹nie przydatno± wykorzystania algorytmów genetycznych w obliczeniach projektowych. 93

100 a) b) Rysunek 6.12: Efekt projektowania ltru: a) wykresy transmitancji obu ltrów, b) procentowa ró»nica wartosci transmitancji Inne przykªady testowe Poni»ej przedstawiono jeszcze kilka innych przykªadów funkcji testowych dotycz cych zagadnie«poszukiwania ekstremum. Zostaªy one wykorzystane podczas testowania, w ró»nych kolejnych fazach pisania programu. f(x 1, x 2 ) = x 1 x 2 cos(x 2 ) sin(x 1 ) 0 x x 2 10 (6.9) f(x 1, x 2 ) = =((x 1 + 0, 5) 2 + 2(x 2 0, 5) 2 0, 3cos(3x 1 ) 0, 4cos(4x 2 ) + 0, 8) 1 (6.10) 5 x x 2 5 f(x 1 ) = x 1 sin(10πx 1 ) x 1 1 (6.11) 94

101 Rysunek 6.13: Funkcja opisana wzorem (6.9). Rysunek 6.14: Funkcja opisana wzorem (6.10). 95

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja

Bardziej szczegółowo

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15 ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku

Bardziej szczegółowo

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Lekcja 9 - LICZBY LOSOWE, ZMIENNE Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my

Bardziej szczegółowo

Wst p do sieci neuronowych, wykªad 15 Algorytmy genetyczne

Wst p do sieci neuronowych, wykªad 15 Algorytmy genetyczne Wst p do sieci neuronowych, wykªad 15 Algorytmy genetyczne M. Czoków, J. Piersa Faculty of Mathematics and Computer Science, Nicolaus Copernicus University, Toru«, Poland 2011-25-01 Motywacja Algorytmy

Bardziej szczegółowo

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

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w

Bardziej szczegółowo

przewidywania zapotrzebowania na moc elektryczn

przewidywania zapotrzebowania na moc elektryczn do Wykorzystanie do na moc elektryczn Instytut Techniki Cieplnej Politechnika Warszawska Slide 1 of 20 do Coraz bardziej popularne staj si zagadnienia zwi zane z prac ¹ródªa energii elektrycznej (i cieplnej)

Bardziej szczegółowo

CAŠKOWANIE METODAMI MONTE CARLO Janusz Adamowski

CAŠKOWANIE METODAMI MONTE CARLO Janusz Adamowski III. CAŠKOWAIE METODAMI MOTE CARLO Janusz Adamowski 1 1 azwa metody Podstawowym zastosowaniem w zyce metody Monte Carlo (MC) jest opis zªo-»onych ukªadów zycznych o du»ej liczbie stopni swobody. Opis zªo»onych

Bardziej szczegółowo

Metody numeryczne i statystyka dla in»ynierów

Metody numeryczne i statystyka dla in»ynierów Kierunek: Automatyka i Robotyka, II rok Wprowadzenie PWSZ Gªogów, 2009 Plan wykªadów Wprowadzenie, podanie zagadnie«, poj cie metody numerycznej i algorytmu numerycznego, obszar zainteresowa«i stosowalno±ci

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania

Bardziej szczegółowo

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb Wybrane poj cia i twierdzenia z wykªadu z teorii liczb 1. Podzielno± Przedmiotem bada«teorii liczb s wªasno±ci liczb caªkowitych. Zbiór liczb caªkowitych oznacza b dziemy symbolem Z. Zbiór liczb naturalnych

Bardziej szczegółowo

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu ➏ Filozoa z elementami logiki Na podstawie wykªadów dra Mariusza Urba«skiego Sylogistyka Przypomnij sobie: stosunki mi dzy zakresami nazw KLASYCZNE ZDANIA KATEGORYCZNE Trzy znaczenia sªowa jest trzy rodzaje

Bardziej szczegółowo

POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI PRACA DYPLOMOWA MAGISTERSKA

POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI PRACA DYPLOMOWA MAGISTERSKA POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI Kierunek: Specjalno± : Automatyka i Robotyka (AIR) Robotyka (ARR) PRACA DYPLOMOWA MAGISTERSKA Podatny manipulator planarny - budowa i sterowanie Vulnerable planar

Bardziej szczegółowo

Zastosowania matematyki

Zastosowania matematyki Zastosowania matematyki Monika Bartkiewicz 1 / 126 ...czy«cie dobrze i po»yczajcie niczego si nie spodziewaj c(šk. 6,34-35) Zagadnienie pobierania procentu jest tak stare jak gospodarka pieni»na. Procent

Bardziej szczegółowo

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska Wst p do informatyki Systemy liczbowe Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 21 pa¹dziernika 2010 Spis tre±ci 1 Liczby i ich systemy 2 Rodzaje systemów liczbowych

Bardziej szczegółowo

Metodydowodzenia twierdzeń

Metodydowodzenia twierdzeń 1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych

Bardziej szczegółowo

METODY SZTUCZNEJ INTELIGENCJI W ROZWI ZYWANIU ZADA OPTYMALIZACJI

METODY SZTUCZNEJ INTELIGENCJI W ROZWI ZYWANIU ZADA OPTYMALIZACJI METODY SZTUCZNEJ INTELIGENCJI W ROZWI ZYWANIU ZADA OPTYMALIZACJI Izabela Skorupska Studium Doktoranckie, Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski e-mail: iskorups

Bardziej szczegółowo

6. Klasyczny algorytm genetyczny. 1

6. Klasyczny algorytm genetyczny. 1 6. Klasyczny algorytm genetyczny. 1 Idea algorytmu genetycznego została zaczerpnięta z nauk przyrodniczych opisujących zjawiska doboru naturalnego i dziedziczenia. Mechanizmy te polegają na przetrwaniu

Bardziej szczegółowo

EDUKARIS - O±rodek Ksztaªcenia

EDUKARIS - O±rodek Ksztaªcenia - O±rodek Ksztaªcenia Zabrania si kopiowania i rozpowszechniania niniejszego regulaminu przez inne podmioty oraz wykorzystywania go w dziaªalno±ci innych podmiotów. Autor regulaminu zastrzega do niego

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny Soft computing Soft computing tym róŝni się od klasycznych obliczeń (hard computing), Ŝe jest odporny na brak precyzji i niepewność danych wejściowych. Obliczenia soft computing mają inspiracje ze świata

Bardziej szczegółowo

Obliczenia ewolucyjne - plan wykładu

Obliczenia ewolucyjne - plan wykładu Obliczenia ewolucyjne - plan wykładu Wprowadzenie Algorytmy genetyczne Programowanie genetyczne Programowanie ewolucyjne Strategie ewolucyjne Inne modele obliczeń ewolucyjnych Podsumowanie Ewolucja Ewolucja

Bardziej szczegółowo

Podstawy statystycznego modelowania danych Analiza prze»ycia

Podstawy statystycznego modelowania danych Analiza prze»ycia Podstawy statystycznego modelowania danych Analiza prze»ycia Tomasz Suchocki Uniwersytet Przyrodniczy we Wrocªawiu Katedra Genetyki i Ogólnej Hodowli Zwierz t Plan wykªadu 1. Wprowadzenie 2. Hazard rate

Bardziej szczegółowo

Generowanie i optymalizacja harmonogramu za pomoca

Generowanie i optymalizacja harmonogramu za pomoca Generowanie i optymalizacja harmonogramu za pomoca na przykładzie generatora planu zajęć Matematyka Stosowana i Informatyka Stosowana Wydział Fizyki Technicznej i Matematyki Stosowanej Politechnika Gdańska

Bardziej szczegółowo

PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO

PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO Piotr Borowiec PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO Sporód wielu metod sztucznej inteligencji obliczeniowej algorytmy genetyczne doczekały si wielu implementacji. Mona je wykorzystywa

Bardziej szczegółowo

1 Kodowanie i dekodowanie

1 Kodowanie i dekodowanie 1 Kodowanie i dekodowanie Teoria informacji zajmuje si sposobami gromadzenia, przechowywania oraz przesyªania informacji. W tym celu, a tak»e dla ochrony danych informacje kodujemy. Rozmowa telefoniczna,

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Optyka geometryczna. Soczewki. Marcin S. Ma kowicz. rok szk. 2009/2010. Zespóª Szkóª Ponadgimnazjalnych Nr 2 w Brzesku

Optyka geometryczna. Soczewki. Marcin S. Ma kowicz. rok szk. 2009/2010. Zespóª Szkóª Ponadgimnazjalnych Nr 2 w Brzesku skupiaj ce rozpraszaj ce Optyka geometryczna Zespóª Szkóª Ponadgimnazjalnych Nr 2 w Brzesku rok szk. 2009/2010 skupiaj ce rozpraszaj ce Spis tre±ci 1 Wprowadzenie 2 Ciekawostki 3 skupiaj ce Konstrukcja

Bardziej szczegółowo

Metody numeryczne i statystyka dla in»ynierów

Metody numeryczne i statystyka dla in»ynierów Kierunek: Automatyka i Robotyka, II rok Interpolacja PWSZ Gªogów, 2009 Interpolacja Okre±lenie zale»no±ci pomi dzy interesuj cymi nas wielko±ciami, Umo»liwia uproszczenie skomplikowanych funkcji (np. wykorzystywana

Bardziej szczegółowo

Lekcja 12 - POMOCNICY

Lekcja 12 - POMOCNICY Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.

Bardziej szczegółowo

Algorytmy ewolucyjne. wprowadzenie

Algorytmy ewolucyjne. wprowadzenie Algorytmy ewolucyjne wprowadzenie Gracjan Wilczewski, www.mat.uni.torun.pl/~gracjan Toruń, 2005 Historia Podstawowy algorytm genetyczny został wprowadzony przez Johna Hollanda (Uniwersytet Michigan) i

Bardziej szczegółowo

Metody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, 2012. Dawid Rasaªa Metody numeryczne 1 / 9

Metody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, 2012. Dawid Rasaªa Metody numeryczne 1 / 9 Metody numeryczne Wst p do metod numerycznych Dawid Rasaªa January 9, 2012 Dawid Rasaªa Metody numeryczne 1 / 9 Metody numeryczne Czym s metody numeryczne? Istota metod numerycznych Metody numeryczne s

Bardziej szczegółowo

W zadaniach na procenty wyró»niamy trzy typy czynno±ci: obliczanie, jakim procentem jednej liczby jest druga liczba,

W zadaniach na procenty wyró»niamy trzy typy czynno±ci: obliczanie, jakim procentem jednej liczby jest druga liczba, 2 Procenty W tej lekcji przypomnimy sobie poj cie procentu i zwi zane z nim podstawowe typy zada«. Prosimy o zapoznanie si z regulaminem na ostatniej stronie. 2.1 Poj cie procentu Procent jest to jedna

Bardziej szczegółowo

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia 2011. Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia 2011. Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej Matematyka wykªad 1 Macierze (1) Andrzej Torój Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej 17 wrze±nia 2011 Plan wykªadu 1 2 3 4 5 Plan prezentacji 1 2 3 4 5 Kontakt moja strona internetowa:

Bardziej szczegółowo

wiczenie nr 3 z przedmiotu Metody prognozowania kwiecie«2015 r. Metodyka bada«do±wiadczalnych dr hab. in». Sebastian Skoczypiec Cel wiczenia Zaªo»enia

wiczenie nr 3 z przedmiotu Metody prognozowania kwiecie«2015 r. Metodyka bada«do±wiadczalnych dr hab. in». Sebastian Skoczypiec Cel wiczenia Zaªo»enia wiczenie nr 3 z przedmiotu Metody prognozowania kwiecie«2015 r. wiczenia 1 2 do wiczenia 3 4 Badanie do±wiadczalne 5 pomiarów 6 7 Cel Celem wiczenia jest zapoznanie studentów z etapami przygotowania i

Bardziej szczegółowo

Mikro II: Krzywe kosztów, Poda» rmy i Poda» gaª zi.

Mikro II: Krzywe kosztów, Poda» rmy i Poda» gaª zi. Mikro II: Krzywe kosztów, Poda» rmy i Poda» gaª zi. Krzysztof Makarski 22 Krzywe kosztów Wst p Celem jest wyprowadzenie funkcji poda»y i jej wªasno±ci. Funkcj poda»y wyprowadzamy z decyzji maksymalizuj

Bardziej szczegółowo

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1 Temat: Funkcje. Własności ogólne A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1 Kody kolorów: pojęcie zwraca uwagę * materiał nieobowiązkowy A n n a R a

Bardziej szczegółowo

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania

Bardziej szczegółowo

Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna

Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna 1. Podaj denicj liczby zespolonej. 2. Jak obliczy sum /iloczyn dwóch liczb zespolonych w postaci algebraicznej? 3. Co to jest liczba urojona?

Bardziej szczegółowo

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, 20.09.2011. Instytut Matematyki Uniwersytetu Warszawskiego

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, 20.09.2011. Instytut Matematyki Uniwersytetu Warszawskiego Zdumiewaj cy ±wiat niesko«czono±ci Instytut Matematyki Uniwersytetu Warszawskiego Festiwal Nauki, 20.09.2011 Nasze do±wiadczenia hotelowe Fakt oczywisty Hotel nie przyjmie nowych go±ci, je»eli wszystkie

Bardziej szczegółowo

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej 3.1 Informacje ogólne Program WAAK 1.0 służy do wizualizacji algorytmów arytmetyki komputerowej. Oczywiście istnieje wiele narzędzi

Bardziej szczegółowo

Planowanie adresacji IP dla przedsibiorstwa.

Planowanie adresacji IP dla przedsibiorstwa. Planowanie adresacji IP dla przedsibiorstwa. Wstp Przy podejciu do planowania adresacji IP moemy spotka si z 2 głównymi przypadkami: planowanie za pomoc adresów sieci prywatnej przypadek, w którym jeeli

Bardziej szczegółowo

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu Rozdział 6 Pakowanie plecaka 6.1 Postawienie problemu Jak zauważyliśmy, szyfry oparte na rachunku macierzowym nie są przerażająco trudne do złamania. Zdecydowanie trudniejszy jest kryptosystem oparty na

Bardziej szczegółowo

Analiza wydajno±ci serwera openldap

Analiza wydajno±ci serwera openldap Analiza wydajno±ci serwera openldap Autor: Tomasz Kowal 13 listopada 2003 Wst p Jako narz dzie testowe do pomiarów wydajno±ci i oceny konguracji serwera openldap wykorzystano pakiet DirectoryMark w wersji

Bardziej szczegółowo

Baza danych - Access. 2 Budowa bazy danych

Baza danych - Access. 2 Budowa bazy danych Baza danych - Access 1 Baza danych Jest to zbiór danych zapisanych zgodnie z okre±lonymi reguªami. W w»szym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyj tymi dla danego programu

Bardziej szczegółowo

Wpisany przez Piotr Klimek Wtorek, 11 Sierpień 2009 22:36 - Zmieniony Poniedziałek, 03 Czerwiec 2013 03:55

Wpisany przez Piotr Klimek Wtorek, 11 Sierpień 2009 22:36 - Zmieniony Poniedziałek, 03 Czerwiec 2013 03:55 Na początku PHP było przystosowane do programowania proceduralnego. Możliwości obiektowe wprowadzono z językiem C++ i Smalltalk. Obecnie nowy sposób programowania występuje w większości językach wysokopoziomowych

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 15. ALGORYTMY GENETYCZNE Częstochowa 014 Dr hab. nż. Grzegorz Dudek Wydzał Elektryczny Poltechnka Częstochowska TERMINOLOGIA allele wartośc, waranty genów, chromosom - (naczej

Bardziej szczegółowo

Ekonometria. wiczenia 13 Metoda ±cie»ki krytycznej. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Ekonometria. wiczenia 13 Metoda ±cie»ki krytycznej. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej wiczenia 13 Metoda ±cie»ki krytycznej Instytut Ekonometrii Zakªad Ekonometrii Stosowanej Plan wicze«1 Przykªad: ubieranie choinki 2 3 Programowanie liniowe w analizie czasowej i czasowo-kosztowej projektu

Bardziej szczegółowo

Caªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona

Caªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona Akademia Górniczo-Hutnicza im. Stanisªawa Staszica w Krakowie Wydziaª Fizyki i Informatyki Stosowanej Krzysztof Grz dziel kierunek studiów: informatyka stosowana Caªkowanie numeryczne - porównanie skuteczno±ci

Bardziej szczegółowo

Problemy optymalizacyjne - zastosowania

Problemy optymalizacyjne - zastosowania Problemy optymalizacyjne - zastosowania www.qed.pl/ai/nai2003 PLAN WYKŁADU Zło ono obliczeniowa - przypomnienie Problemy NP-zupełne klika jest NP-trudna inne problemy NP-trudne Inne zadania optymalizacyjne

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego

Bardziej szczegółowo

Część II.A. Informacje o studiach podyplomowych ANALIZA DANYCH METODY, NARZĘDZIA, PRAKTYKA (nazwa studiów podyplomowych)

Część II.A. Informacje o studiach podyplomowych ANALIZA DANYCH METODY, NARZĘDZIA, PRAKTYKA (nazwa studiów podyplomowych) Część II.A. Informacje o studiach podyplomowych ANALIZA DANYCH METODY, NARZĘDZIA, PRAKTYKA (nazwa studiów podyplomowych) 1. Ogólna charakterystyka studiów podyplomowych 1.1 Ogólne cele kształcenia oraz

Bardziej szczegółowo

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia

Bardziej szczegółowo

Zadania z rachunku prawdopodobie«stwa

Zadania z rachunku prawdopodobie«stwa STATYSTYKA 2 rok, informatyka,. Zadania z rachunku prawdopodobie«stwa 1. Niech A B C = Ω, P (B) = 2P (A), P (C) = 3P (A), P (A B) = P (A C) = P (B C). Pokaza,»e 1 P (A) 1. Pokaza,»e oba ograniczenia mog

Bardziej szczegółowo

Konspekt lekcji otwartej

Konspekt lekcji otwartej Konspekt lekcji otwartej Przedmiot: Temat lekcji: informatyka Modelowanie i symulacja komputerowa prawidłowości w świecie liczb losowych Klasa: 2 g Data zajęć: 21.12.2004. Nauczyciel: Roman Wyrwas Czas

Bardziej szczegółowo

Standardowy algorytm genetyczny

Standardowy algorytm genetyczny Standardowy algorytm genetyczny 1 Szybki przegląd 2 Opracowany w USA w latach 70. Wcześni badacze: John H. Holland. Autor monografii Adaptation in Natural and Artificial Systems, wydanej w 1975 r., (teoria

Bardziej szczegółowo

Programowanie i struktury danych 1 / 44

Programowanie i struktury danych 1 / 44 Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje

Bardziej szczegółowo

LXV OLIMPIADA FIZYCZNA ZAWODY III STOPNIA

LXV OLIMPIADA FIZYCZNA ZAWODY III STOPNIA LXV OLIMPIADA FIZYCZNA ZAWODY III STOPNIA CZ DO WIADCZALNA Za zadanie do±wiadczalne mo»na otrzyma maksymalnie 40 punktów. Zadanie D. Rozgrzane wolframowe wªókno»arówki o temperaturze bezwzgl dnej T emituje

Bardziej szczegółowo

AUTO-ENKODER JAKO SKŠADNIK ARCHITEKTURY DEEP LEARNING

AUTO-ENKODER JAKO SKŠADNIK ARCHITEKTURY DEEP LEARNING AUTO-ENKODER JAKO SKŠADNIK ARCHITEKTURY DEEP LEARNING Magdalena Wiercioch Uniwersytet Jagiello«ski 3 kwietnia 2014 Plan Uczenie gª bokie (deep learning) Auto-enkodery Rodzaje Zasada dziaªania Przykªady

Bardziej szczegółowo

Podstawowe pojęcia: Populacja. Populacja skończona zawiera skończoną liczbę jednostek statystycznych

Podstawowe pojęcia: Populacja. Populacja skończona zawiera skończoną liczbę jednostek statystycznych Podstawowe pojęcia: Badanie statystyczne - zespół czynności zmierzających do uzyskania za pomocą metod statystycznych informacji charakteryzujących interesującą nas zbiorowość (populację generalną) Populacja

Bardziej szczegółowo

Koªo Naukowe Robotyków KoNaR. Plan prezentacji. Wst p Rezystory Potencjomerty Kondensatory Podsumowanie

Koªo Naukowe Robotyków KoNaR. Plan prezentacji. Wst p Rezystory Potencjomerty Kondensatory Podsumowanie Plan prezentacji Wst p Rezystory Potencjomerty Kondensatory Podsumowanie Wst p Motto W teorii nie ma ró»nicy mi dzy praktyk a teori. W praktyce jest. Rezystory Najwa»niejsze parametry rezystorów Rezystancja

Bardziej szczegółowo

Strategie zabezpieczaj ce

Strategie zabezpieczaj ce 04062008 Plan prezentacji Model binarny Model Black Scholesa Bismut- Elworthy -Li formuła Model binarny i opcja call Niech cena akcji w chwili pocz tkowej wynosi S 0 = 21 Zaªó»my,»e ceny akcji po trzech

Bardziej szczegółowo

WFiIS Imi i nazwisko: Rok: Zespóª: Nr wiczenia: Fizyka Dominik Przyborowski IV 5 22 J drowa Katarzyna Wolska

WFiIS Imi i nazwisko: Rok: Zespóª: Nr wiczenia: Fizyka Dominik Przyborowski IV 5 22 J drowa Katarzyna Wolska WFiIS Imi i nazwisko: Rok: Zespóª: Nr wiczenia: Fizyka Dominik Przyborowski IV 5 22 J drowa Katarzyna Wolska Temat wiczenia: Wyznaczanie stosunku przekrojów czynnych na aktywacj neutronami termicznymi

Bardziej szczegółowo

Strategia czy intuicja?

Strategia czy intuicja? Strategia czy intuicja czyli o grach niesko«czonych Instytut Matematyki Uniwersytetu Warszawskiego Grzegorzewice, 29 sierpnia 2009 Denicja gry Najprostszy przypadek: A - zbiór (na ogóª co najwy»ej przeliczalny),

Bardziej szczegółowo

1. Podstawy budowania wyra e regularnych (Regex)

1. Podstawy budowania wyra e regularnych (Regex) Dla wi kszo ci prostych gramatyk mo na w atwy sposób napisa wyra enie regularne które b dzie s u y o do sprawdzania poprawno ci zda z t gramatyk. Celem niniejszego laboratorium b dzie zapoznanie si z wyra

Bardziej szczegółowo

Elementy Modelowania Matematycznego Wykªad 9 Systemy kolejkowe

Elementy Modelowania Matematycznego Wykªad 9 Systemy kolejkowe Elementy Modelowania Matematycznego Wykªad 9 Systemy kolejkowe Romuald Kotowski Katedra Informatyki Stosowanej PJWSTK 2009 Spis tre±ci 1 2 3 Spis tre±ci 1 2 3 Spis tre±ci 1 2 3 Teoria masowej obsªugi,

Bardziej szczegółowo

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH Przygotował: mgr inż. Radosław Adamus 1 1 Na podstawie: Subieta K., Język UML, V Konferencja PLOUG, Zakopane, 1999. Wprowadzenie

Bardziej szczegółowo

PAKIET MathCad - Część III

PAKIET MathCad - Część III Opracowanie: Anna Kluźniak / Jadwiga Matla Ćw3.mcd 1/12 Katedra Informatyki Stosowanej - Studium Podstaw Informatyki PAKIET MathCad - Część III RÓWNANIA I UKŁADY RÓWNAŃ 1. Równania z jedną niewiadomą MathCad

Bardziej szczegółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG PLAN WYKŁADU OPTYMALIZACJA GLOBALNA Wykład 2 dr inż. Agnieszka Bołtuć Historia Zadania Co odróżnia od klasycznych algorytmów Nazewnictwo Etapy Kodowanie, inicjalizacja, transformacja funkcji celu Selekcja

Bardziej szczegółowo

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc PRAWA ZACHOWANIA Podstawowe terminy Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc a) si wewn trznych - si dzia aj cych na dane cia o ze strony innych

Bardziej szczegółowo

Edycja geometrii w Solid Edge ST

Edycja geometrii w Solid Edge ST Edycja geometrii w Solid Edge ST Artykuł pt.: " Czym jest Technologia Synchroniczna a czym nie jest?" zwracał kilkukrotnie uwagę na fakt, że nie należy mylić pojęć modelowania bezpośredniego i edycji bezpośredniej.

Bardziej szczegółowo

Temat: Co to jest optymalizacja? Maksymalizacja objętości naczynia prostopadłościennego za pomocą arkusza kalkulacyjngo.

Temat: Co to jest optymalizacja? Maksymalizacja objętości naczynia prostopadłościennego za pomocą arkusza kalkulacyjngo. Konspekt lekcji Przedmiot: Informatyka Typ szkoły: Gimnazjum Klasa: II Nr programu nauczania: DKW-4014-87/99 Czas trwania zajęć: 90min Temat: Co to jest optymalizacja? Maksymalizacja objętości naczynia

Bardziej szczegółowo

Systemy mikroprocesorowe - projekt

Systemy mikroprocesorowe - projekt Politechnika Wrocławska Systemy mikroprocesorowe - projekt Modbus master (Linux, Qt) Prowadzący: dr inż. Marek Wnuk Opracował: Artur Papuda Elektronika, ARR IV rok 1. Wstępne założenia projektu Moje zadanie

Bardziej szczegółowo

Surowiec Zużycie surowca Zapas A B C D S 1 0,5 0,4 0,4 0,2 2000 S 2 0,4 0,2 0 0,5 2800 Ceny 10 14 8 11 x

Surowiec Zużycie surowca Zapas A B C D S 1 0,5 0,4 0,4 0,2 2000 S 2 0,4 0,2 0 0,5 2800 Ceny 10 14 8 11 x Przykład: Przedsiębiorstwo może produkować cztery wyroby A, B, C, i D. Ograniczeniami są zasoby dwóch surowców S 1 oraz S 2. Zużycie surowca na jednostkę produkcji każdego z wyrobów (w kg), zapas surowca

Bardziej szczegółowo

Zaawansowana adresacja IPv4

Zaawansowana adresacja IPv4 Zaawansowana adresacja IPv4 LAN LAN... MAN... LAN Internet Zagadnienia: podział sieci na równe podsieci (RFC 950, 1985 r.) technologia VLSM (RFC 1009, 1987 r.) technologia CIDR (RFC 1517-1520, 1993 r.)

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą

Bardziej szczegółowo

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015 Android Podstawy tworzenia aplikacji Piotr Fulma«ski Instytut Nauk Ekonomicznych i Informatyki, Pa«stwowa Wy»sza Szkoªa Zawodowa w Pªocku, Polska March 4, 2015 Table of contents Framework Jednym z najwarto±ciowszych

Bardziej szczegółowo

Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI

Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI Marcn Šabudzik AGH-WFiIS, al. Mickiewicza 30, 30-059, Kraków, Polska email: labudzik@ghnet.pl www: http://fatcat.ftj.agh.edu.pl/

Bardziej szczegółowo

Charakterystyka systemów plików

Charakterystyka systemów plików Charakterystyka systemów plików Systemy plików są rozwijane wraz z systemami operacyjnymi. Windows wspiera systemy FAT oraz system NTFS. Różnią się one sposobem przechowywania informacji o plikach, ale

Bardziej szczegółowo

Spis tre±ci. Przedmowa... Cz ± I

Spis tre±ci. Przedmowa... Cz ± I Przedmowa.................................................... i Cz ± I 1 Czym s hurtownie danych?............................... 3 1.1 Wst p.................................................. 3 1.2 Denicja

Bardziej szczegółowo

Regulamin Usªugi VPS

Regulamin Usªugi VPS Regulamin Usªugi VPS 1 (Poj cia) Poj cia u»ywane w niniejszym Regulaminie maj znaczenia jak okre±lone w Ÿ1 Regulaminu Ogólnego Usªug Auth.pl Sp. z o.o. oraz dodatkowo jak ni»ej: Wirtualny Serwer Prywatny

Bardziej szczegółowo

Spis tre±ci. 1 Wst p... 1 1.1 Zawarto± rozdziaªów... 1 1.2 Projekt LoXiM... 2

Spis tre±ci. 1 Wst p... 1 1.1 Zawarto± rozdziaªów... 1 1.2 Projekt LoXiM... 2 1 Wst p..................................................... 1 1.1 Zawarto± rozdziaªów................................... 1 1.2 Projekt LoXiM........................................ 2 2 Strukturalne obiektowe

Bardziej szczegółowo

INFORMATOR TECHNICZNY WONDERWARE

INFORMATOR TECHNICZNY WONDERWARE Informator techniczny nr 95 04-06-2007 INFORMATOR TECHNICZNY WONDERWARE Synchronizacja czasu systemowego na zdalnych komputerach względem czasu systemowego na komputerze z serwerem Wonderware Historian

Bardziej szczegółowo

MATEMATYKA 4 INSTYTUT MEDICUS FUNKCJA KWADRATOWA. Kurs przygotowawczy na studia medyczne. Rok szkolny 2010/2011. tel. 0501 38 39 55 www.medicus.edu.

MATEMATYKA 4 INSTYTUT MEDICUS FUNKCJA KWADRATOWA. Kurs przygotowawczy na studia medyczne. Rok szkolny 2010/2011. tel. 0501 38 39 55 www.medicus.edu. INSTYTUT MEDICUS Kurs przygotowawczy na studia medyczne Rok szkolny 00/0 tel. 050 38 39 55 www.medicus.edu.pl MATEMATYKA 4 FUNKCJA KWADRATOWA Funkcją kwadratową lub trójmianem kwadratowym nazywamy funkcję

Bardziej szczegółowo

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania WYKŁAD 8 Reprezentacja obrazu Elementy edycji (tworzenia) obrazu Postacie obrazów na różnych etapach procesu przetwarzania Klasy obrazów Klasa 1: Obrazy o pełnej skali stopni jasności, typowe parametry:

Bardziej szczegółowo

INFORMATYKA dla gimnazjum Opis założonych osiągnięć ucznia klasy trzeciej

INFORMATYKA dla gimnazjum Opis założonych osiągnięć ucznia klasy trzeciej INFORMATYKA dla gimnazjum Opis założonych osiągnięć ucznia klasy trzeciej W ROKU SZKOLNYM 2015/2016 1. Podstawa prawna do opracowania Przedmiotowego Systemu Oceniania. a) Rozporządzenie Ministra Edukacji

Bardziej szczegółowo

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska Zarządzanie projektami wykład 1 dr inż. Agata Klaus-Rosińska 1 DEFINICJA PROJEKTU Zbiór działań podejmowanych dla zrealizowania określonego celu i uzyskania konkretnego, wymiernego rezultatu produkt projektu

Bardziej szczegółowo

KONCEPCJA NAUCZANIA PRZEDMIOTU RACHUNKOWOŚĆ SKOMPUTERYZOWANA" NA WYDZIALE ZARZĄDZANIA UNIWERSYTETU GDAŃSKIEGO

KONCEPCJA NAUCZANIA PRZEDMIOTU RACHUNKOWOŚĆ SKOMPUTERYZOWANA NA WYDZIALE ZARZĄDZANIA UNIWERSYTETU GDAŃSKIEGO KONCEPCJA NAUCZANIA PRZEDMIOTU RACHUNKOWOŚĆ SKOMPUTERYZOWANA" NA WYDZIALE ZARZĄDZANIA UNIWERSYTETU GDAŃSKIEGO Grzegorz Bucior Uniwersytet Gdański, Katedra Rachunkowości 1. Wprowadzenie Rachunkowość przedsiębiorstwa

Bardziej szczegółowo

Instalacja. Zawartość. Wyszukiwarka. Instalacja... 1. Konfiguracja... 2. Uruchomienie i praca z raportem... 4. Metody wyszukiwania...

Instalacja. Zawartość. Wyszukiwarka. Instalacja... 1. Konfiguracja... 2. Uruchomienie i praca z raportem... 4. Metody wyszukiwania... Zawartość Instalacja... 1 Konfiguracja... 2 Uruchomienie i praca z raportem... 4 Metody wyszukiwania... 6 Prezentacja wyników... 7 Wycenianie... 9 Wstęp Narzędzie ściśle współpracujące z raportem: Moduł

Bardziej szczegółowo

Podstawy Informatyki i Technologii Informacyjnej

Podstawy Informatyki i Technologii Informacyjnej Automatyka i Robotyka, Rok I Wprowadzenie do systemów operacyjnych PWSZ Gªogów, 2009 Denicja System operacyjny (ang. OS, Operating System) oprogramowanie zarz dzaj ce sprz tem komputerowym, tworz ce ±rodowisko

Bardziej szczegółowo

KLAUZULE ARBITRAŻOWE

KLAUZULE ARBITRAŻOWE KLAUZULE ARBITRAŻOWE KLAUZULE arbitrażowe ICC Zalecane jest, aby strony chcące w swych kontraktach zawrzeć odniesienie do arbitrażu ICC, skorzystały ze standardowych klauzul, wskazanych poniżej. Standardowa

Bardziej szczegółowo

EGZAMIN MATURALNY Z MATEMATYKI CZERWIEC 2012 POZIOM PODSTAWOWY. Czas pracy: 170 minut. Liczba punktów do uzyskania: 50 WPISUJE ZDAJĄCY

EGZAMIN MATURALNY Z MATEMATYKI CZERWIEC 2012 POZIOM PODSTAWOWY. Czas pracy: 170 minut. Liczba punktów do uzyskania: 50 WPISUJE ZDAJĄCY Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 010 KOD WPISUJE ZDAJĄCY PESEL Miejsce na naklejkę z kodem dysleksja EGZAMIN

Bardziej szczegółowo

INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI

INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI Spis treści Budowa okna aplikacji i narzędzia podstawowe... 4 Okno aplikacji... 5 Legenda... 5 Główne okno mapy... 5 Mapa przeglądowa...

Bardziej szczegółowo

2.Prawo zachowania masy

2.Prawo zachowania masy 2.Prawo zachowania masy Zdefiniujmy najpierw pewne podstawowe pojęcia: Układ - obszar przestrzeni o określonych granicach Ośrodek ciągły - obszar przestrzeni którego rozmiary charakterystyczne są wystarczająco

Bardziej szczegółowo

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski Instrukcja obsługi Norton Commander (NC) wersja 4.0 Autor: mgr inż. Tomasz Staniszewski ITM Zakład Technologii Maszyn, 15.10.2001 2 1.Uruchomienie programu Aby uruchomić program Norton Commander standardowo

Bardziej szczegółowo

RAPORT Z EWALUACJI WEWNĘTRZNEJ. w Poradni Psychologiczno-Pedagogicznej w Bełżycach. w roku szkolnym 2013/2014

RAPORT Z EWALUACJI WEWNĘTRZNEJ. w Poradni Psychologiczno-Pedagogicznej w Bełżycach. w roku szkolnym 2013/2014 RAPORT Z EWALUACJI WEWNĘTRZNEJ w Poradni Psychologiczno-Pedagogicznej w Bełżycach w roku szkolnym 2013/2014 WYMAGANIE PLACÓWKA REALIZUJE KONCEPCJĘ PRACY Bełżyce 2014 SPIS TREŚCI: I Cele i zakres ewaluacji

Bardziej szczegółowo

REGULAMIN KONTROLI ZARZĄDCZEJ W MIEJSKO-GMINNYM OŚRODKU POMOCY SPOŁECZNEJ W TOLKMICKU. Postanowienia ogólne

REGULAMIN KONTROLI ZARZĄDCZEJ W MIEJSKO-GMINNYM OŚRODKU POMOCY SPOŁECZNEJ W TOLKMICKU. Postanowienia ogólne Załącznik Nr 1 do Zarządzenie Nr4/2011 Kierownika Miejsko-Gminnego Ośrodka Pomocy Społecznej w Tolkmicku z dnia 20 maja 2011r. REGULAMIN KONTROLI ZARZĄDCZEJ W MIEJSKO-GMINNYM OŚRODKU POMOCY SPOŁECZNEJ

Bardziej szczegółowo

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14)

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14) POLITECHNIKA LSKA WYDZIAŁINYNIERII RODOWISKA I ENERGETYKI INSTYTUT MASZYN I URZDZE ENERGETYCZNYCH Laboratorium elektryczne Falowniki i przekształtniki - I (E 14) Opracował: mgr in. Janusz MDRYCH Zatwierdził:

Bardziej szczegółowo

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

Audyt SEO. Elementy oraz proces przygotowania audytu. strona Audyt SEO Elementy oraz proces przygotowania audytu 1 Spis treści Kim jesteśmy? 3 Czym jest audyt SEO 4 Główne elementy audytu 5 Kwestie techniczne 6 Słowa kluczowe 7 Optymalizacja kodu strony 8 Optymalizacja

Bardziej szczegółowo

Od redakcji. Symbolem oznaczono zadania wykraczające poza zakres materiału omówionego w podręczniku Fizyka z plusem cz. 2.

Od redakcji. Symbolem oznaczono zadania wykraczające poza zakres materiału omówionego w podręczniku Fizyka z plusem cz. 2. Od redakcji Niniejszy zbiór zadań powstał z myślą o tych wszystkich, dla których rozwiązanie zadania z fizyki nie polega wyłącznie na mechanicznym przekształceniu wzorów i podstawieniu do nich danych.

Bardziej szczegółowo

'()(*+,-./01(23/*4*567/8/23/*98:)2(!."/+)012+3$%-4#"4"$5012#-4#"4-6017%*,4.!"#$!"#%&"!!!"#$%&"#'()%*+,-+

'()(*+,-./01(23/*4*567/8/23/*98:)2(!./+)012+3$%-4#4$5012#-4#4-6017%*,4.!#$!#%&!!!#$%&#'()%*+,-+ '()(*+,-./01(23/*4*567/8/23/*98:)2(!."/+)012+3$%-4#"4"$5012#-4#"4-6017%*,4.!"#$!"#%&"!!!"#$%&"#'()%*+,-+ Ucze interpretuje i tworzy teksty o charakterze matematycznym, u ywa j zyka matematycznego do opisu

Bardziej szczegółowo