Techniki ewolucyjne - algorytm genetyczny i nie tylko

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

Download "Techniki ewolucyjne - algorytm genetyczny i nie tylko"

Transkrypt

1 Reprezentacja binarna W reprezentacji binarnej wybór populacji początkowej tworzymy poprzez tablice genotypów (rys.1.), dla osobników o zadanej przez użytkownika wielkości i danej długości genotypów wypełniamy ją losowo liczbami binarnymi, z tak przygotowanej tablicy losujemy z rozkładem równomiernym - jest to losowanie za pomocą ruletki, czyli każda liczba z danego przedziału ma równą szansę na wylosowanie, pozycje z tablicy i przyporządkowujemy wylosowane genotypy do poszczególnych osobników. Liczbę osobników tworzących populacje podaje użytkownik. Algorytm tworzenia genotypu ustawia się na pozycji w chromosomie odpowiadającej 1 genowi, po czym generator liczb pseudolosowych (zaimplementowany w języku programowania) losuje liczbę całkowitą z zakresu i wstawia ją na to miejsce. Po wstawieniu algorytm przestawia się na następną allelę (pozycję w genie) i powtarza losowanie oraz wstawianie wartości. Cykl ten jest kontynuowany aż do osiągnięcia końca bieżącego genotypu. W tym momencie stworzony jest osobnik. Zakładając, że długość genotypu L (genotyp) będzie wynosiła 8, genotyp może mieć np. postać:

2 Reprezentacja binarna Rys.1 Genotyp Natomiast, jeśli dziedzina zmienności funkcji przystosowania wynosi z=2 np [-1,1] to, aby uzyskać odpowiednią dokładność, długość dziedziny na z * równych podprzedziałów. Oznacza to, że chromosom musi mieć długość 21 bitów, gdyż: =2 20 < =2 21

3 Reprezentacja binarna Często w reprezentacjach binarnych stosuje się schematy lub inaczej wzorce podobieństwa genotypów w celu korzystniejszego kierunku procesu przeszukiwań przestrzeni. Mając lepiej przystosowany ciąg mamy większe prawdopodobieństwo reprodukcji. Jednak reprodukcja sama przez się nie wprowadza żadnych nowych elementów, więc operacje genetyczne wprowadzają nowe osobniki, lecz nie mogą zniszczyć struktury schematu.

4 Reprezentacja binarna Często w reprezentacjach binarnych stosuje się schematy lub inaczej wzorce podobieństwa genotypów w celu korzystniejszego kierunku procesu przeszukiwań przestrzeni. Mając lepiej przystosowany ciąg mamy większe prawdopodobieństwo reprodukcji. Jednak reprodukcja sama przez się nie wprowadza żadnych nowych elementów, więc operacje genetyczne wprowadzają nowe osobniki, lecz nie mogą zniszczyć struktury schematu. Kodowanie Graya Aby efektywnie zwiększyć dokładność kodowanie chromosomów w reprezentacji binarnej w przestrzeni przeszukiwań w wielu przypadkach stosuje się kodowanie Graya (TAB.). W reprezentacji binarnej punkty leżące blisko siebie są zazwyczaj definiowane jako liczba pozycji o różnych bitach, co prowadzi do fikcyjnych punktów leżących blisko siebie w przestrzeni reprezentacji do przestrzeni zadań i vice - versa.

5 Kodowanie Graya Pseudokod kodowania Graya: gray[0]:=bin[0]; for i:=1 to n-1 do gray[i] = bin[i-1] bin[i]; Rys. 2. Kodowanie Graya

6 Kodowanie Graya Na podstawie powyższej tabeli reprezentacja w czterobitowym kodzie Graya ma tę własność, że dowolne dwa punkty leżące obok siebie śąsiednie w przestrzeni zadania różnią się tylko jednym bitem, czyli ich odległość Hamminga wynosi 1. Ta własność sąsiadowania jest ogólną cechą kodów Graya.

7 Kodowanie Graya Na podstawie powyższej tabeli reprezentacja w czterobitowym kodzie Graya ma tę własność, że dowolne dwa punkty leżące obok siebie śąsiednie w przestrzeni zadania różnią się tylko jednym bitem, czyli ich odległość Hamminga wynosi 1. Ta własność sąsiadowania jest ogólną cechą kodów Graya. Kodowanie Graya eliminuje klify Hamminga w kodowaniu binarnym zmieniając wartość bitu w wektorze binarnym, które zdarzają się wtedy, gdy dwie kolejne liczby wzajemnie się uzupełniają w reprezentacji binarnej. Przykładem takim może być liczba 7 i 8 w zapisie dwójkowym, gdzie obie te liczby sąsiednie uzupełniają się 0111 i 1000 na skutek mutacji.

8 Reprezentacja zmiennopozycyjna W wersji zmiennopozycyjnej genotyp ma postać (x)=x =(x1,...,x n ), x i R. Przy takiej reprezentacji każdy wektor chromosomu zakodowano jako wektor liczb zmiennopozycyjnych o tej samej długości jak wektor rozwiązania. Dokładność takiego kodowania zależy od używanego komputera, ale zazwyczaj jest znacznie wyższa niż przy reprezentacji binarnej.

9 Reprezentacja zmiennopozycyjna W wersji zmiennopozycyjnej genotyp ma postać (x)=x =(x1,...,x n ), x i R. Przy takiej reprezentacji każdy wektor chromosomu zakodowano jako wektor liczb zmiennopozycyjnych o tej samej długości jak wektor rozwiązania. Dokładność takiego kodowania zależy od używanego komputera, ale zazwyczaj jest znacznie wyższa niż przy reprezentacji binarnej. Łańcuch binarny z 20, z 19, z z 0 przekształcamy w liczbę rzeczywistą x z zakresu [-1,1] według wzoru: (< z 20, z 19, z z 0 >) 2 = ( 20 ) z i 2 i = x i=0 10 Zatem: x = -1,0 + 2 x /(2 21-1), gdzie -1,0 jest lewą granicą dziedziny, a 2 (do odp. pot.) jest długością przedziału.

10 Reprezentacja zmiennopozycyjna Przykładowo chromosom : z = przekształcamy następująco: x = ( ) 2 =

11 Reprezentacja zmiennopozycyjna Przykładowo chromosom : z = przekształcamy następująco: x = ( ) 2 = zatem: x = -1, = 0,091464

12 Reprezentacja zmiennopozycyjna Przykładowo chromosom : z = przekształcamy następująco: x = ( ) 2 = zatem: x = -1, = 0, Dodatkowo reprezentacja zmiennopozycyjna może objąć całkiem duże dziedziny. Natomiast przy reprezentacji binarnej jesteśmy zmuszeni zrezygnować z dokładności ze wzrostem wymiaru dziedziny, przy ustalonej liczbie bitów. Oczywiście zawsze można zwiększyć dokładność reprezentacji binarnej, wprowadzając większą liczbę bitów, ale zwalnia to znacznie działanie algorytmu.

13 Reprezentacja zmiennopozycyjna Dla reprezentacji zmiennopozycyjnej jest także znacznie łatwiej zaprojektować specjalistyczne narzędzie ułatwiające postępowanie w przypadku nietrywialnych ograniczeń. David E. Goldberg wykazał, że reprezentacja zmiennopozycyjna jest szybsza, daje bardziej zbliżone wyniki w różnych cyklach algorytmu i prowadzi do lepszej dokładności w szczególności przy większych dziedzinach, gdzie kodowanie binarne wymaga zbyt długich reprezentacji. Jednocześnie jej działanie można poprawić wprowadzając specjalne operatory, aby uzyskać dużą dokładność - lepszą niż dla reprezentacji binarnych.

14 Operatory genetyczne i ocena populacji Krzyżowanie polega na wymianie materiału genetycznego pomiędzy losowo dobranymi parami osobników wybranych podczas selekcji. W wyniku krzyżowania powstają nowe chromosomy, które wejdą w skład kolejnej populacji (pokolenia). Intuicyjnie można interpretować krzyżowanie jako wymianę informacji genetycznej między potencjalnymi rozwiązaniami.

15 Operatory genetyczne i ocena populacji Krzyżowanie polega na wymianie materiału genetycznego pomiędzy losowo dobranymi parami osobników wybranych podczas selekcji. W wyniku krzyżowania powstają nowe chromosomy, które wejdą w skład kolejnej populacji (pokolenia). Intuicyjnie można interpretować krzyżowanie jako wymianę informacji genetycznej między potencjalnymi rozwiązaniami. Operację krzyżowania wprowadził Holland w 1975 roku używając zamiennie terminów crossover i crossing over. W znaczeniu biologicznym crossing over jest procesem prowadzącym do rekombinacji genów, polegającym na wymianie odpowiadających sobie odcinków między chromatydami chromosomów homologicznych podczas mejozy. Natomiast crossover oznacza kojarzenie płciowe dwóch genetycznie różnych organizmów. Operacja krzyżowania (o. crossover) stosowana w algorytmach genetycznych jest na tyle odległa od biologicznego pierwowzoru, że wydaje się usprawiedliwione użycie terminu krzyżowanie w rozumieniu czysto technicznym.

16 Operatory genetyczne i ocena populacji W pierwszej fazie kojarzymy w sposób losowy osobniki z puli rodzicielskiej (ang. mating pool) w pary. Potem każda para przechodzi proces krzyżowania, który zachodzi z określonym z góry prawdopodobieństwem (zazwyczaj od 0.6 do 1.0), przy czym jeśli krzyżowanie nie zajdzie potomstwo jest tworzone poprzez duplikację rodziców.

17 Operatory genetyczne i ocena populacji W pierwszej fazie kojarzymy w sposób losowy osobniki z puli rodzicielskiej (ang. mating pool) w pary. Potem każda para przechodzi proces krzyżowania, który zachodzi z określonym z góry prawdopodobieństwem (zazwyczaj od 0.6 do 1.0), przy czym jeśli krzyżowanie nie zajdzie potomstwo jest tworzone poprzez duplikację rodziców. Mutacja podobnie jak krzyżowanie zapewnia dodawanie do populacji nowych osobników. Jednak w odróżnieniu od krzyżowania w przypadku mutacji modyfikowany jest jeden a nie dwa osobniki. Podobnie jak w przypadku krzyżowania istnieje tzw. współczynnik mutacji, który określa ile osobników będzie w jednej iteracji ulegało mutacji (prawdopodobieństwo mutacji).

18 Operatory genetyczne i ocena populacji W elementarnym algorytmie genetycznym mutacja polega na niewielkiej przypadkowej zmianie wartości elementu ciągu kodowego. Jest stosowana jako dodatek do reprodukcji i krzyżowania na wypadek utraty ważnych składników potencjalnego rozwiązania. W prostym algorytmie genetycznym (SGA) odgrywa drugorzędną rolę, gdyż częstość mutacji potrzebna do uzyskania dobrych wyników jest rzędu jeden do tysiąca. W praktyce częstość mutacji jest mniejsza, co pozwala sądzić, że słusznie jest drugorzędnym mechanizmem.

19 Operatory genetyczne i ocena populacji W elementarnym algorytmie genetycznym mutacja polega na niewielkiej przypadkowej zmianie wartości elementu ciągu kodowego. Jest stosowana jako dodatek do reprodukcji i krzyżowania na wypadek utraty ważnych składników potencjalnego rozwiązania. W prostym algorytmie genetycznym (SGA) odgrywa drugorzędną rolę, gdyż częstość mutacji potrzebna do uzyskania dobrych wyników jest rzędu jeden do tysiąca. W praktyce częstość mutacji jest mniejsza, co pozwala sądzić, że słusznie jest drugorzędnym mechanizmem. Do dzisiaj jest wiele kontrowersyjnych twierdzeń na temat przewagi jednego operatora nad drugim. Znane są opinie, że krzyżowanie jest operatorem pierwszoplanowym, a mutacja ma zapewnić wprowadzenie różnorodności do populacji i jest operatorem o mniejszym znaczeniu. Z kolei znane są też opinie, że krzyżowanie jest operatorem zbędnym i mutacja jest jedynym mechanizmem przeszukiwania w przestrzeni rozwiązań. Wydaje się więc, że zależy to od rozpatrywanego problemu i doboru odpowiednich parametrów operatorów jak i sposobu kodowania.

20 Kojarzenie w pary i krzyżowanie osobników Do najprostszych krzyżowań należy krzyżowanie jednopunktowe, w którym losuje się punktu przecięcia chromosomu i dzieli się go na dwie części, aby później wymienić się genami między sobą. Na początku wybieramy z prawdopodobieństwem p k parę osobników do skrzyżowania X 1 i X 2 a następnie z rozkładem jednostajnym losujemy liczbę g ze zbioru 1,..., n -1, gdzie n jest długością kodu genetycznego, która będzie stanowiła punk przecięcia chromosomów. Tak podzielone chromosomy na dwie części w punkcie g dzielą się swoją informacją genetyczną łącząc się na krzyż - pierwsza część X 1 łączy się z drugą częścią X 2 i pierwsza część X 2 łączy się z drugą X 1. Z = [ X1 1,..., X g 1, Xg+1 2,..., X ] n 2

21 Schemat procedury krzyżowania jednopunktowego Rys. Krzyżowanie jednopunktowe Legenda: X 1, X 2 -osobniki rodzice X 1, X 2 -osobniki dzieci X a, X b -kod który ulega krzyżowaniu g -losowo wybrany punkt podziału Dane: Początkowe - Ciągi wybrane za pomocą operacji reprodukcji Końcowe - Potomkowie

22 Schemat procedury krzyżowania jednopunktowego Innym bardzo podobnym operatorem jest krzyżowanie dwupunktowe, w którym to chromosomy dzielimy na trzy części a nie na dwie części jak w przypadku krzyżowania jednopunktowego. Podobnie jak w krzyżowaniu jednopunktowym losujemy dwóch osobników X 1 i X 2 z populacji do krzyżowania z prawdopodobieństwem p k i losujemy im punkty przecięcia g 1 i g 2 chromosomu - wektora binarnego. Podzielone na trzy części chromosomy wymieniają się tylko środkowym fragmentem kodu genetycznego. Z= [ X1 1, X ] g 1 1, Xg 2 1+1,..., Xg 2 2, Xg 1 2+1,..., Xn 1

23 Schemat procedury krzyżowania dwupunktowego Legenda: X 1, X 2 -osobniki rodzice X 1, X 2 -osobniki dzieci X a, X b -kod który ulega krzyżowaniu g i g -losowo wybrane punkty podziału Rys. 3. Krzyżowanie dwupunktowe

24 Schemat procedury krzyżowania dwupunktowego Istnieje jeszcze kilka różnych metod krzyżowania wielopunktowego, w którym chromosom dzielimy na 3, 4 lub inne części, a wymiana fragmentu genu jest dowolna w zależności od naszych upodobań. Oprócz tego jest jeszcze szereg innych krzyżowań i wciąż powstają nowe pomysły na zoptymalizowanie operatora krzyżowania. W przypadku reprezentacji zmiennopozycyjnej w krzyżowaniu arytmetycznym zamiast wymieniać geny, jak w przypadku krzyżowania binarnego uśrednia się wartości z dwóch elementów w wybranych punktach. Operator zmiennopozycyjny krzyżowania arytmetycznego ma taką własność, że każdy element nowego chromosomu pozostaje nadal w dziedzinie. Krzyżowanie arytmetyczne można stosować albo do wybranych elementów dwóch wektorów, albo do całych wektorów. Przy zbiorach nie wypukłych potomek powstaje na krawędzi zbioru albo należy szukać gdzieś indziej pary do skrzyżowania lub zastosować algorytm naprawy.

25 Schemat procedury krzyżowania dwupunktowego Krzyżowanie arytmetyczne działające na dwóch argumentach definiuje się jako liniową kombinację dwóch wektorów. Jeżeli w takim krzyżowaniu mają być brane pod uwagę para rodziców x 1 ix 2 to potomkowie ich mają postać: x 1 = ax 1 + (1 a)x 2, x 2 = ax 2 + (1 a)x 2 W operatorze tym używa się losowej wartości a [0,1], co zawsze gwarantuje, że są to punkty dopuszczalne, czyli należące do dziedziny przeszukiwanej przestrzeni zadania. Jeśli a= 1 2, to takie krzyżowanie nosi nazwę gwarantowanego średniego krzyżowania, o którym szerzej w pracy Davisa L. Adapting Operator Probabilities in Genetic Algoritms. Trzecią metodą krzyżowania dla liczb zmiennopozycyjnych, którą warto przedstawić jest krzyżowanie heurystyczne, o której szerzej z kolei w pracy Wrighta A. H. Genetic Algorithms for Real Parameter Optimization.

26 Schemat procedury krzyżowania dwupunktowego Do określenia kierunku poszukiwań operator ten używa wartości funkcji celu, tworzy tylko jednego potomka i może on w ogóle nie utworzyć potomka. Operator ten tworzy jednego potomka z 3 z dwojga rodziców z 1 i z 2 według wzoru: z 3 = r (z 2 - z 1 ) + z 2 gdzie r jest liczbą losową leżącą między 0 a 1, zaś rodzic z 2 nie jest gorszy od z 1, to znaczy f (z 2 ) f (z 1 ) dla maksymalizacji i f (z 2 ) f (z 1 ) dla zadania minimalizacji. Jeśli operator utworzy potomka, który jest niedopuszczalny, to w takim przypadku generuje inną wartość losową r i tworzy innego potomka. Jednak, gdy po q próbach operator nie jest w stanie utworzyć osobnika dopuszczalnego, to nie dochodzi do utworzenia nowego potomka. Operator ten jest bardzo silnym narzędziem, gdyż znakomicie obsadza osobników w optimum lokalnym i przeszukuje przestrzeń rozwiązań w obiecujących kierunkach. Oczywiście istnieje jeszcze szereg innych rodzajów i podejść do operatorów krzyżowania dla kodowania rzeczywistego - zmiennopozycyjnego.

27 Operatory mutacji W przypadku mutacji w reprezentacji binarnej sprawa jest bardzo prosta wystarczy np. zanegować jeden bit w rozwiązaniu, aby otrzymać zupełnie nowego osobnika. Oczywiście mutacja może być bardziej urozmaicona (negacja losowej liczby bitów, odwracanie kolejności losowej liczby bitów, przesunięcie losowej liczby bitów i inne.). Należy jednak pamiętać, że operować ona może tylko na jednym rozwiązaniu. Mutowanie polega na negacji jednego z genów danego osobnika. Proces mutowania bieżącej populacji polega na:

28 Operatory mutacji W przypadku mutacji w reprezentacji binarnej sprawa jest bardzo prosta wystarczy np. zanegować jeden bit w rozwiązaniu, aby otrzymać zupełnie nowego osobnika. Oczywiście mutacja może być bardziej urozmaicona (negacja losowej liczby bitów, odwracanie kolejności losowej liczby bitów, przesunięcie losowej liczby bitów i inne.). Należy jednak pamiętać, że operować ona może tylko na jednym rozwiązaniu. Mutowanie polega na negacji jednego z genów danego osobnika. Proces mutowania bieżącej populacji polega na: wyborze osobników, których należy zmutować,

29 Operatory mutacji W przypadku mutacji w reprezentacji binarnej sprawa jest bardzo prosta wystarczy np. zanegować jeden bit w rozwiązaniu, aby otrzymać zupełnie nowego osobnika. Oczywiście mutacja może być bardziej urozmaicona (negacja losowej liczby bitów, odwracanie kolejności losowej liczby bitów, przesunięcie losowej liczby bitów i inne.). Należy jednak pamiętać, że operować ona może tylko na jednym rozwiązaniu. Mutowanie polega na negacji jednego z genów danego osobnika. Proces mutowania bieżącej populacji polega na: wyborze osobników, których należy zmutować, przeprowadzaniu po kolei na każdym wybranym osobniku operacji mutowania. Wybór osobnika odbywa się w następujący sposób: Pobieramy 1 osobnika bieżącej populacji, po czym losujemy progowo bez zwracania sprawdzając, czy osobnik może być zmutowany. Jeżeli tak, to losujemy z rozkładem równomiernym q, wartość losową z przedziału: < left(gen), right(gen) >; - długość genu, określający gen poddania negacji. Po zmutowaniu pobieramy następnego osobnika i sprawdzamy, czy może on być zmutowany i powtarzamy ten cykl aż do wyczerpania osobników do mutowania.

30 Schemat procedury krzyżowania dwupunktowego Rys. 4. Mutacja jednopunktowa

31 Schemat procedury krzyżowania dwupunktowego Rys. 4. Mutacja jednopunktowa W mutacji wielopunktowej stworzenie nowego chromosomu odbywa się za pomocą wygenerowania maski, która określa, które pozycje bitu zamienić. Działanie maski mutacji powoduje inwersję bitów kodu x na pozycjach, na których występują jedynki w kodzie maski i. Maska mutacji i = (a 0, a 1,..., a l 1 ) losowana jest niezależnie dla każdej operacji, bez względu na wartość x, przy czym prawdopodobieństwo wylosowania jedynki jest stałe, równe prawdopodobieństwu mutacji p m.

32 Schemat mutacji wielopunktowej Rys. 5. Mutacja wielopunktowa

33 Schemat mutacji wielopunktowej Rys. 5. Mutacja wielopunktowa Istnieje jeszcze wiele innych metod mutacji binarnych takich jak np.: mutacja brzegowa podobna do równomiernej lub mutacja nierównomierna. W przypadku zmiennopozycyjnej (rzeczywistej) reprezentacji mutacja może polegać np. na wpisaniu do losowego pola struktury losowej wartości, która jest zgodna z cechami osobnika.

34 Schemat mutacji wielopunktowej Dla każdego chromosomu generujemy liczbę losową q z zakresu [0,1]. Jeżeli q < prawdopodobieństwo mutacji to wybieramy chromosom do mutowania. Mutację dokonuje się poprzez dodanie wektora x = x + m, gdzie: m R n m = (m 1,...,m n ). Liczba mi jest losowana niezależnie dla i=1,...,n z rozkładem N(0,?), o N-wymiarowym rozkładzie normalnym i wartości oczekiwanej 0. Rys. Wektor mutacji

35 Schemat mutacji wielopunktowej Musimy pamiętać o tym, aby nie wypaść poza zbiór dopuszczalny. Jeśli taka sytuacja się zdarzy to możemy zastosować mutację brzegową tzn. przyjąć punkt przecięcia wektora z końcowym obszarem zbioru dopuszczalnego jako rozwiązanie. Mutacja brzegowa prowadzi do zbieżności populacji, co w niektórych rozpatrywanych problemach jest korzystne. Rolą mutacji jest nie tyle zmiana jakościowa chromosomów, co wprowadzenie nowego materiału genetycznego do danej populacji.

36 Schemat mutacji wielopunktowej Musimy pamiętać o tym, aby nie wypaść poza zbiór dopuszczalny. Jeśli taka sytuacja się zdarzy to możemy zastosować mutację brzegową tzn. przyjąć punkt przecięcia wektora z końcowym obszarem zbioru dopuszczalnego jako rozwiązanie. Mutacja brzegowa prowadzi do zbieżności populacji, co w niektórych rozpatrywanych problemach jest korzystne. Rolą mutacji jest nie tyle zmiana jakościowa chromosomów, co wprowadzenie nowego materiału genetycznego do danej populacji. Ocena osobnika i funkcja przystosowania Ocena osobnika to badanie dobroci poszczególnych osobników. W zależności od rodzaju problemu różne są funkcje sprawdzające przystosowanie osobników. W przypadku problemu f(x i )=eval(code(x i ))

37 Ocena osobnika i funkcja przystosowania znajdowania ekstremum funkcji dobrocią jest po prostu wartość funkcji w zadanym x. W przypadku rozwiązywania problemu komiwojażera jest to długość trasy, jaka jest reprezentowana przez danego osobnika. W czasie obliczania funkcji przystosowania ze zbioru osobników wydzielane są genotypy, które później są dekodowane a wartości, czyli fenotypy są przypisywane dla każdego osobnika. Dla każdego fenotypu wyliczana jest wartość funkcji przystosowania (ang. fitness) i przypisywana dla każdego osobnika. Otrzymany wynik powinien być proporcjonalny do użyteczności lub zdolności osobnika reprezentowanego przez ten chromosom. W metodach obliczeń ewolucyjnych funkcja oceny jest jedynym połączeniem zadania z algorytmem. Funkcja oceny szereguje osobników w populacji. Lepsze osobniki mają większe szanse przeżycia i reprodukcji. Dlatego podstawową rzeczą jest określenie funkcji oceny, która charakteryzuje zadanie w doskonały sposób.

38 Ocena osobnika i funkcja przystosowania Wraz ze wzrostem wymiarowości zadania zwiększa się stopień komplikacji rozwiązywanego problemu. Podwajają się automatycznie liczby różnych wartości w algorytmie genetycznym a nawet w niektórych przypadkach dochodzi do zaniku minimów lokalnych wraz z rosnącą liczbą wymiarów. Intuicyjnie funkcja przystosowania, nazywana funkcją celu lub przez biologów - przystosowania do środowiska, stanowi pewien miernik zysku użyteczności lub innej wielkości, którą chcielibyśmy z maksymalizować. W przyrodzie przystosowanie, czyli potomstwo, które dorasta do poziomu reprodukcyjnego, jest ostatecznym i jedynym kryterium życia.

39 Metody selekcji Krok ten jest esencją całej genetyki. W tym miejscu tworzona jest nowa populacja na podstawie już istniejącej. W zależności od wartości funkcji oceny (obliczanej w poprzednim kroku) dany osobnik ma większe, (gdy jest dobry ) lub mniejsze, (gdy jest słaby ) szanse na znalezienie się w kolejnym pokoleniu. Zadaniem reprodukcji jest wybranie rodziców dla operacji genetycznych prowadzących do utworzenia populacji potomnej O t. Operację selekcji można zrealizować na wiele sposobów. Jednym z najprostszych jest symulacja odpowiednio wykalibrowanej tarczy obrotowej rys. 7, każdemu ciągowi kodowemu (chromosomowi) odpowiada sektor o rozmiarze proporcjonalnym do przystosowania. tzw. ruletki.

40 Metody selekcji Koło ruletki polega na n krotnym losowaniu (n - liczba osobników w populacji) ze starej populacji osobników, które zostaną przepisane do nowej populacji. Oczywiście wszystkie osobniki mają różne prawdopodobieństwa wylosowania. Prawdopodobieństwo to jest liczone z następującego wzoru: Wartosc przystosowania danego osobnika suma wartosci przystosowania wszystkich osobnikow Powyższy wzór jest poprawny tylko wtedy, gdy maksymalizujemy funkcję oceny. Gdybyśmy ją minimalizowali można zastosować następujący wzór: Wartosc najgorszego osobnika Wartosc danego osobnika+1 suma wartosci wszystkich osobnikow+1 Wzór ten odwraca minimalizację na maksymalizację. Mamy trzy osobniki o następujących wartościach przystosowania dla maksymalizacji: 5, 1, 2

41 Pierwszy Drugi Trzeci Odpowiadające im wartości prawdopodobieństwa są zatem równe: osobnik: osobnik: osobnik: 5/8 1/8 2/8 czyli czyli czyli 62,5% 12,5% 25%

42 Pierwszy Drugi Trzeci Odpowiadające im wartości prawdopodobieństwa są zatem równe: Metody selekcji osobnik: osobnik: osobnik: Przykładowy algorytm selekcji: 5/8 1/8 2/8 czyli czyli czyli 62,5% 12,5% 25% 1.Dla każdego ciągu kodowego obliczyć wartość przystosowania eval(vi), v i (i = 1,..., rozmiar populacji), 2. Obliczyć całkowite przystosowanie populacji F (suma po wszystkich wartościach funkcji przystosowania), rozm pop F= i=1 p i = eval(vi ) F eval(v i )

43 Metody selekcji 3. Obliczyć prawdopodobieństwo selekcji p i każdego chromosomu v i 4. Obliczyć dystrybuantę q i dla każdego chromosomu v i. q i = i p i j=1 Ciągi kodowe losujemy w następujący sposób (Obrót ruletką): 1. Wygeneruj r z przedziału [0..1] 2. Jeśli r < q 1, to wybieramy chromosom v 1, gdy q i 1 < r q i wybieramy v 1 (2 i rozmiar populacji). Weźmy dowolne 4 ciągi 5-bitowe (rys. poniżej). Niech każdy z nich reprezentuje liczbę całkowitą zapisaną w systemie dwójkowym, natomiast funkcja celu niech będzie kwadratem liczby reprezentowanej przez chromosom.

44 Metody selekcji Rys. 6. Zasada ruletki Rys. 7. Podział ze względu na przystosowanie osobnika

45 Metody selekcji Reprodukcji dokonujemy czterokrotnie uruchamiając ruletkę. W naszym przykładzie chromosom nr 1 ma wskaźnik przystosowania 169, co odpowiada 14,4% sumarycznej wartości. Na ciąg ten przypada zatem 14,4% obwodu koła, tak więc w każdej próbie prawdopodobieństwo otrzymania ciągu nr 1 wynosi 0,144. Za każdym razem, gdy jest potrzebny nowy potomek, uruchamiamy ruletkę wybierając jednego z kandydatów do reprodukcji. Dokonujemy tego w następujący sposób: losujemy liczbę z przedziału [0 ; 1], zaś chromosomom przypisujemy określone rozłączne podprzedziały tego przedziału (np. ciąg nr 1 - (0 ; 0,144), ciąg nr 2 - (0,144 ; 0,636), gdzie 0,636 = 0, ,2 itd.). Dzięki temu lepiej przystosowane ciągi kodowe wprowadzają większą liczbę potomków do następnego pokolenia. Proces ten jest kontynuowany dopóki, dopóty wszystkie miejsca w nowej populacji nie zostaną zapełnione. Oczywiście pewne chromosomy będą wybrane więcej niż raz. Jest to zgodne z twierdzeniem o schematach, które mówi, że z najlepszych chromosomów powstaje więcej kopii, ze średnich tyle samo, a najgorsze wymierają.

46 Metody selekcji Istnieje kilka sposobów obliczania szansy poszczególnych osobników. Selekcja metodą rankingu linowego jest bardzo podobna do selekcji metodą koła ruletki. rozm pop F= i=1 eval(v i )

47 Metody selekcji Istnieje kilka sposobów obliczania szansy poszczególnych osobników. Selekcja metodą rankingu linowego jest bardzo podobna do selekcji metodą koła ruletki. rozm pop F= i=1 eval(v i ) Modyfikacja polega jedynie na zmianie funkcji określającej prawdopodobieństwo wyboru danego osobnika. Przed przystąpieniem do tej selekcji należy nadać każdemu z osobników pewną wartość (przystosowanie) zależną od jego położenia na liście posortowanej względem wartości funkcji oceny. Jeśli chcemy maksymalizować to wartości powinny być posortowane rosnąco, w przypadku minimalizacji wartości powinny być posortowane malejąco.

48 Metody selekcji Aby obliczyć prawdopodobieństwo wybrania każdego osobnika można skorzystać ze wzoru: Prawdopodobienstwo = p i = eval(vi ) F przystosowanie suma przystosowania wszystkich osobnikow

49 Metody selekcji Aby obliczyć prawdopodobieństwo wybrania każdego osobnika można skorzystać ze wzoru: Prawdopodobienstwo = p i = eval(vi ) F przystosowanie suma przystosowania wszystkich osobnikow Mając takie osobniki: 5, 1, 2 wartości prawdopodobieństw wyglądałyby następująco: Pierwszy Drugi Trzeci osobnik: osobnik: osobnik: 3/6 1/6 2/6 czyli czyli czyli 50% 16,7% 33,3%

50 Metody selekcji Ten sposób wyliczania prawdopodobieństw zmniejsza przewagę, jaką mają najlepsze rozwiązania, gdy ich przewaga jest bardzo duża i zwiększa przewagę, gdy jest ona bardzo mała. Metoda turniejowa jest zupełnie różna od powyższych i polega na losowym wyborze z całej populacji kilku osobników (jest to tzw. grupa turniejowa), a później z tej grupy wybierany jest osobnik najlepiej przystosowany i on przepisywany jest do nowo tworzonej populacji. Losowanie grup turniejowych oraz wybieranie z nich najlepszego osobnika należy powtórzyć aż do utworzenia całej nowej populacji. Selekcja metodą turniejową jest pozbawiona niedogodności metody koła ruletki, gdzie wymagana jest maksymalizacja funkcji oceny, w turnieju ważna jest jedynie informacja o łepszym jednego rozwiązania nad innym. Φ(X q ) Φ(Y ), dla każdego Y Q

51 Metody selekcji gdzie: Q - populacja wybrana z populacji potomnej do przeprowadzenia turnieju. X q - zwycięzca turnieju. Proces wyboru osobników do populacji Q może być realizowany dwoma sposobami:

52 Metody selekcji gdzie: Q - populacja wybrana z populacji potomnej do przeprowadzenia turnieju. X q - zwycięzca turnieju. Proces wyboru osobników do populacji Q może być realizowany dwoma sposobami: w losowaniu bez zwracania

53 Metody selekcji gdzie: Q - populacja wybrana z populacji potomnej do przeprowadzenia turnieju. X q - zwycięzca turnieju. Proces wyboru osobników do populacji Q może być realizowany dwoma sposobami: w losowaniu bez zwracania w losowaniu ze zwracaniem.

54 Metody selekcji gdzie: Q - populacja wybrana z populacji potomnej do przeprowadzenia turnieju. X q - zwycięzca turnieju. Proces wyboru osobników do populacji Q może być realizowany dwoma sposobami: w losowaniu bez zwracania w losowaniu ze zwracaniem. Losowanie osobnika do turnieju ze zwracaniem jest mniej restrykcyjne, ponieważ pozwala na reprodukcję dowolnego osobnika z niezerowym prawdopodobieństwem. Natomiast losowanie bez zwracania najgorszych osobników nie będzie w ogóle reprodukować.

55 Projekt Celem projektu jest przebadanie stopnia przydatności algorytmów ewolucyjnych do znajdowania optimów lokalnych i globalnych funkcji dwóch zmiennych. Rys.9. Badana funkcja nr 1

56 Projekt Rys.9. Badana funkcja nr 2

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA PLAN WYKŁADU Operator krzyżowania Operator mutacji Operator inwersji Sukcesja Przykłady symulacji AG Kodowanie - rodzaje OPTYMALIZACJA GLOBALNA Wykład 3 dr inż. Agnieszka Bołtuć OPERATOR KRZYŻOWANIA Wymiana

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

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

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

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba Algorytmy ewolucyjne - algorytmy genetyczne I. Karcz-Dulęba Algorytmy klasyczne a algorytmy ewolucyjne Przeszukiwanie przestrzeni przez jeden punkt bazowy Przeszukiwanie przestrzeni przez zbiór punktów

Bardziej szczegółowo

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

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009 Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.

Bardziej szczegółowo

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS Algorytmy ewolucyjne Łukasz Przybyłek Studenckie Koło Naukowe BRAINS 1 Wprowadzenie Algorytmy ewolucyjne ogólne algorytmy optymalizacji operujące na populacji rozwiązań, inspirowane biologicznymi zjawiskami,

Bardziej szczegółowo

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy ewolucyjne NAZEWNICTWO Algorytmy ewolucyjne http://zajecia.jakubw.pl/nai NAZEWNICTWO Algorytmy ewolucyjne nazwa ogólna, obejmująca metody szczegółowe, jak np.: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne

Bardziej szczegółowo

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Obliczenia ewolucyjne (EC evolutionary computing) lub algorytmy ewolucyjne (EA evolutionary algorithms) to ogólne określenia używane

Bardziej szczegółowo

Algorytmy genetyczne w optymalizacji

Algorytmy genetyczne w optymalizacji Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy

Bardziej szczegółowo

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

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki, pojęć

Bardziej szczegółowo

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Zadanie 5 - Algorytmy genetyczne (optymalizacja) Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania

Bardziej szczegółowo

ALGORYTMY GENETYCZNE ćwiczenia

ALGORYTMY GENETYCZNE ćwiczenia ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację

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

Algorytmy genetyczne

Algorytmy genetyczne 9 listopada 2010 y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom

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

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

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

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia stacjonarne i niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki,

Bardziej szczegółowo

Strategie ewolucyjne (ang. evolu4on strategies)

Strategie ewolucyjne (ang. evolu4on strategies) Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

Bardziej szczegółowo

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny Algorytmy stochastyczne, wykład 01 J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-21 In memoriam prof. dr hab. Tomasz Schreiber (1975-2010) 1 2 3 Różne Orientacyjny

Bardziej szczegółowo

Metody Rozmyte i Algorytmy Ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb

Bardziej szczegółowo

METODY HEURYSTYCZNE wykład 3

METODY HEURYSTYCZNE wykład 3 METODY HEURYSTYCZNE wykład 3 1 Przykład: Znaleźć max { f (x)=x 2 } dla wartości całkowitych x z zakresu 0-31. Populacja w chwili t: P(t)= {x t 1,...x t n} Założenia: - łańcuchy 5-bitowe (x=0,1,...,31);

Bardziej szczegółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Algorytm kolonii mrówek Idea Smuga feromonowa 1 Sztuczne mrówki w TSP Sztuczna mrówka agent, który porusza się z miasta do miasta Mrówki preferują miasta połączone łukami z dużą

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

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Treść wykładu Wprowadzenie Zasada działania Podział EA Cechy EA Algorytm genetyczny 2 EA - wprowadzenie Algorytmy ewolucyjne

Bardziej szczegółowo

Algorytmy genetyczne (AG)

Algorytmy genetyczne (AG) Algorytmy genetyczne (AG) 1. Wprowadzenie do AG a) ewolucja darwinowska b) podstawowe definicje c) operatory genetyczne d) konstruowanie AG e) standardowy AG f) przykład rozwiązania g) naprawdę bardzo,

Bardziej szczegółowo

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-27 1 Mutacje algorytmu genetycznego 2 Dziedzina niewypukła abstrakcyjna

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

ALGORYTMY GENETYCZNE

ALGORYTMY GENETYCZNE ALGORYTMY GENETYCZNE Algorytmy Genetyczne I. Co to są algorytmy genetyczne? II. Podstawowe pojęcia algorytmów genetycznych III. Proste algorytmy genetyczne IV. Kodowanie osobników i operacje genetyczne.

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania

Bardziej szczegółowo

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne, a algorytmy genetyczne Podobieństwa: Oba działają na populacjach rozwiązań Korzystają z zasad selecji i przetwarzania

Bardziej szczegółowo

METODY HEURYSTYCZNE wykład 3

METODY HEURYSTYCZNE wykład 3 SCHEMAT DZIAŁANIA AG: METODY HEURYSTYCZNE wykład 3 procedure Algorytm_genetyczny t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do t:=t+ wybierz P(t) z P(t-) (selekcja)

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

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Piotr Rybak Koło naukowe fizyków Migacz, Uniwersytet Wrocławski Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 1 / 17 Spis

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 przeszukiwania

Metody przeszukiwania Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania

Bardziej szczegółowo

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) 1 2 Wstęp Termin zaproponowany przez Pablo Moscato (1989). Kombinacja algorytmu ewolucyjnego z algorytmem poszukiwań lokalnych, tak że algorytm poszukiwań

Bardziej szczegółowo

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Modyfikacje i ulepszenia standardowego algorytmu genetycznego Modyfikacje i ulepszenia standardowego algorytmu genetycznego 1 2 Przypomnienie: pseudokod SGA t=0; initialize(p 0 ); while(!termination_condition(p t )) { evaluate(p t ); T t =selection(p t ); O t =crossover(t

Bardziej szczegółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory PLAN WYKŁADU Specyfika zadania komiwojażera Reprezentacje Operatory OPTYMALIZACJA GLOBALNA Wykład 5 dr inż. Agnieszka Bołtuć ZADANIE KOMIWOJAŻERA Koncepcja: komiwojażer musi odwiedzić każde miasto na swoim

Bardziej szczegółowo

Algorytmy ewolucyjne 1

Algorytmy ewolucyjne 1 Algorytmy ewolucyjne 1 2 Zasady zaliczenia przedmiotu Prowadzący (wykład i pracownie specjalistyczną): Wojciech Kwedlo, pokój 205. Konsultacje dla studentów studiów dziennych: poniedziałek,środa, godz

Bardziej szczegółowo

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy genetyczne w interpolacji wielomianowej Algorytmy genetyczne w interpolacji wielomianowej (seminarium robocze) Seminarium Metod Inteligencji Obliczeniowej Warszawa 22 II 2006 mgr inż. Marcin Borkowski Plan: Przypomnienie algorytmu niszowego

Bardziej szczegółowo

Dobór parametrów algorytmu ewolucyjnego

Dobór parametrów algorytmu ewolucyjnego Dobór parametrów algorytmu ewolucyjnego 1 2 Wstęp Algorytm ewolucyjny posiada wiele parametrów. Przykładowo dla algorytmu genetycznego są to: prawdopodobieństwa stosowania operatorów mutacji i krzyżowania.

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Automatyczny dobór parametrów algorytmu genetycznego

Automatyczny dobór parametrów algorytmu genetycznego Automatyczny dobór parametrów algorytmu genetycznego Remigiusz Modrzejewski 22 grudnia 2008 Plan prezentacji Wstęp Atrakcyjność Pułapki Klasyfikacja Wstęp Atrakcyjność Pułapki Klasyfikacja Konstrukcja

Bardziej szczegółowo

ALHE Z11 Jarosław Arabas wykład 11

ALHE Z11 Jarosław Arabas wykład 11 ALHE Z11 Jarosław Arabas wykład 11 algorytm ewolucyjny inicjuj P 0 {x 1, x 2... x } t 0 while! stop for i 1: if a p c O t,i mutation crossover select P t, k else O t,i mutation select P t,1 P t 1 replacement

Bardziej szczegółowo

Algorytmy ewolucyjne Część II

Algorytmy ewolucyjne Część II Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Część II Metaheurystyki Treść wykładu Zastosowania Praktyczne aspekty GA Reprezentacja Funkcja dopasowania Zróżnicowanie dopasowania

Bardziej szczegółowo

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę

Bardziej szczegółowo

Algorytmy zrandomizowane

Algorytmy zrandomizowane Algorytmy zrandomizowane http://zajecia.jakubw.pl/nai ALGORYTMY ZRANDOMIZOWANE Algorytmy, których działanie uzależnione jest od czynników losowych. Algorytmy typu Monte Carlo: dają (po pewnym czasie) wynik

Bardziej szczegółowo

Programowanie genetyczne, gra SNAKE

Programowanie genetyczne, gra SNAKE STUDENCKA PRACOWNIA ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne, gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................

Bardziej szczegółowo

Wstęp do Sztucznej Inteligencji

Wstęp do Sztucznej Inteligencji Wstęp do Sztucznej Inteligencji Algorytmy Genetyczne Joanna Kołodziej Politechnika Krakowska Wydział Fizyki, Matematyki i Informatyki Metody heurystyczne Algorytm efektywny: koszt zastosowania (mierzony

Bardziej szczegółowo

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność

Bardziej szczegółowo

Równoważność algorytmów optymalizacji

Równoważność algorytmów optymalizacji Równoważność algorytmów optymalizacji Reguła nie ma nic za darmo (ang. no free lunch theory): efektywność różnych typowych algorytmów szukania uśredniona po wszystkich możliwych problemach optymalizacyjnych

Bardziej szczegółowo

Algorytmy ewolucyjne (3)

Algorytmy ewolucyjne (3) Algorytmy ewolucyjne (3) http://zajecia.jakubw.pl/nai KODOWANIE PERMUTACJI W pewnych zastosowaniach kodowanie binarne jest mniej naturalne, niż inne sposoby kodowania. Na przykład, w problemie komiwojażera

Bardziej szczegółowo

Algorytmy ewolucyjne `

Algorytmy ewolucyjne ` Algorytmy ewolucyjne ` Wstęp Czym są algorytmy ewolucyjne? Rodzaje algorytmów ewolucyjnych Algorytmy genetyczne Strategie ewolucyjne Programowanie genetyczne Zarys historyczny Alan Turing, 1950 Nils Aall

Bardziej szczegółowo

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data ... 20 / EC3 VIII LAB...

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data ... 20 / EC3 VIII LAB... MIO - LABORATORIUM Temat ćwiczenia: TSP - Problem komiwojażera Imię i nazwisko Rok ak. Gr. Sem. Komputer Data Podpis prowadzącego... 20 / EC3 VIII LAB...... Zadanie Zapoznać się z problemem komiwojażera

Bardziej szczegółowo

Algorytmy ewolucyjne (2)

Algorytmy ewolucyjne (2) Algorytmy ewolucyjne (2) zajecia.jakubw.pl/nai/ ALGORYTM GEETYCZY Cel: znaleźć makimum unkcji. Założenie: unkcja ta jet dodatnia. 1. Tworzymy oobników loowych. 2. Stoujemy operacje mutacji i krzyżowania

Bardziej szczegółowo

Algorytmy genetyczne Michał Bereta Paweł Jarosz (część teoretyczna)

Algorytmy genetyczne Michał Bereta Paweł Jarosz (część teoretyczna) 1 Zagadnienia Sztucznej Inteligencji laboratorium Wprowadzenie Algorytmy genetyczne Michał Bereta Paweł Jarosz (część teoretyczna) Dana jest funkcja f, jednej lub wielu zmiennych. Należy określić wartości

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

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

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji Kolejna metoda informatyczna inspirowana przez Naturę - algorytmy genetyczne Struktura molekuły DNA nośnika informacji genetycznej w biologii Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania

Bardziej szczegółowo

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik Zadanie transportowe i problem komiwojażera Tadeusz Trzaskalik 3.. Wprowadzenie Słowa kluczowe Zbilansowane zadanie transportowe Rozwiązanie początkowe Metoda minimalnego elementu macierzy kosztów Metoda

Bardziej szczegółowo

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego Algorytm ewolucyjny algorytm ewolucyjny inicjuj P 0 {P 0 1, P 0 2... P 0 μ } t 0 H P 0 while! stop for (i 1: λ) if (a< p c ) O t i mutation(crossover

Bardziej szczegółowo

Teoria algorytmów ewolucyjnych

Teoria algorytmów ewolucyjnych Teoria algorytmów ewolucyjnych 1 2 Dlaczego teoria Wynik analiza teoretycznej może pokazać jakie warunki należy spełnić, aby osiągnąć zbieżność do minimum globalnego. Np. sukcesja elitarystyczna. Może

Bardziej szczegółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 17. ALGORYTMY EWOLUCYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska KODOWANIE BINARNE Problem różnych struktur przestrzeni

Bardziej szczegółowo

Systemy Inteligentnego Przetwarzania wykład 4: algorytmy genetyczne, logika rozmyta

Systemy Inteligentnego Przetwarzania wykład 4: algorytmy genetyczne, logika rozmyta Systemy Inteligentnego Przetwarzania wykład 4: algorytmy genetyczne, logika rozmyta Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej e-mail: Jacek.Mazurkiewicz@pwr.edu.pl Wprowadzenie Problemy

Bardziej szczegółowo

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 0 ALGORYTMY EWOLUCYJNE 2 Dla danego problemu można określić wiele sposobów kodowania i zdefiniować szereg operatorów (np. zadanie komiwojażera). AE to rozwinięcie

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

Problemy optymalizacyjne Dana jest przestrzeń X. Znaleźć x X taki, że x spełnia określone warunki. Dana jest przestrzeń X i funkcja celu f: X R.

Problemy optymalizacyjne Dana jest przestrzeń X. Znaleźć x X taki, że x spełnia określone warunki. Dana jest przestrzeń X i funkcja celu f: X R. Problemy optymalizacyjne Dana jest przestrzeń X. Znaleźć x X taki, że x spełnia określone warunki. Dana jest przestrzeń X i funkcja celu f: X R. Znaleźć x X taki, że f(x) jest maksimum (minimum) funkcji

Bardziej szczegółowo

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga 3 Ocena

Bardziej szczegółowo

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

ALGORYTMY GENETYCZNE (wykład + ćwiczenia) ALGORYTMY GENETYCZNE (wykład + ćwiczenia) Prof. dr hab. Krzysztof Dems Treści programowe: 1. Metody rozwiązywania problemów matematycznych i informatycznych.. Elementarny algorytm genetyczny: definicja

Bardziej szczegółowo

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii

Bardziej szczegółowo

Strategie ewolucyjne (ang. evolution strategies)

Strategie ewolucyjne (ang. evolution strategies) Strategie ewolucyjne (ang. evolution strategies) 1 2 Szybki przegląd Rozwijane w Niemczech w latach 60-70. Wcześni badacze: I. Rechenberg, H.-P. Schwefel (student Rechenberga). Typowe zastosowanie: Optymalizacja

Bardziej szczegółowo

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym Wstęp do programowania Reprezentacje liczb Liczby naturalne, całkowite i rzeczywiste w układzie binarnym System dwójkowy W komputerach stosuje się dwójkowy system pozycyjny do reprezentowania zarówno liczb

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Algorytmy sztucznej inteligencji

Algorytmy sztucznej inteligencji www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego

Bardziej szczegółowo

Zadania laboratoryjne i projektowe - wersja β

Zadania laboratoryjne i projektowe - wersja β Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Problemy z ograniczeniami

Problemy z ograniczeniami Problemy z ograniczeniami 1 2 Dlaczego zadania z ograniczeniami Wiele praktycznych problemów to problemy z ograniczeniami. Problemy trudne obliczeniowo (np-trudne) to prawie zawsze problemy z ograniczeniami.

Bardziej szczegółowo

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2011, Oeconomica 285 (62), 45 50

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2011, Oeconomica 285 (62), 45 50 FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2011, Oeconomica 285 (62), 45 50 Anna Landowska KLASYCZNY ALGORYTM GENETYCZNY W DYNAMICZNEJ OPTYMALIZACJI MODELU

Bardziej szczegółowo

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10). Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry

Bardziej szczegółowo

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for. Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9

Bardziej szczegółowo

Obliczenia Naturalne - Algorytmy genetyczne

Obliczenia Naturalne - Algorytmy genetyczne Literatura Obliczenia Naturalne - Algorytmy genetyczne Paweł Paduch Politechnika Świętokrzyska 20 marca 2014 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 1 z 45 Plan wykładu Literatura 1 Literatura

Bardziej szczegółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

Kodowanie informacji. Kody liczbowe

Kodowanie informacji. Kody liczbowe Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,

Bardziej szczegółowo

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ Zalety: nie wprowadzają żadnych ograniczeń na sformułowanie problemu optymalizacyjnego. Funkcja celu może być wielowartościowa i nieciągła, obszar

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 1 Kwantyzacja skalarna Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 10.05.005 Kwantyzacja polega na reprezentowaniu dużego zbioru wartości (być może nieskończonego) za pomocą wartości

Bardziej szczegółowo

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski Podejście memetyczne do problemu DCVRP - wstępne wyniki Adam Żychowski Na podstawie prac X. S. Chen, L. Feng, Y. S. Ong A Self-Adaptive Memeplexes Robust Search Scheme for solving Stochastic Demands Vehicle

Bardziej szczegółowo

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

5. Algorytm genetyczny przykład zastosowania

5. Algorytm genetyczny przykład zastosowania 5. Algorytm genetyczny przykład zastosowania Zagadnienie magicznych kwadratów Opis działania algorytmu Zagadnienie magicznych kwadratów polega na wygenerowaniu kwadratu n n, w którym elementami są liczby

Bardziej szczegółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo

Zaawansowane programowanie

Zaawansowane programowanie Zaawansowane programowanie wykład 1: wprowadzenie + algorytmy genetyczne Plan wykładów 1. Wprowadzenie + algorytmy genetyczne 2. Metoda przeszukiwania tabu 3. Inne heurystyki 4. Jeszcze o metaheurystykach

Bardziej szczegółowo

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż. Algorytmy genetyczne jako metoda wyszukiwania wzorców Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż. Marcin Borkowski Krótko i na temat: Cel pracy Opis modyfikacji AG Zastosowania

Bardziej szczegółowo

Algorytmy genetyczne i wielomiany w zagadnieniu interpolacji

Algorytmy genetyczne i wielomiany w zagadnieniu interpolacji Algorytmy genetyczne i wielomiany w zagadnieniu interpolacji Seminarium Metod Inteligencji Obliczeniowej Warszawa 30 V 2007 mgr inż. Marcin Borkowski Dziś opowiem o: Algorytmie genetycznym i niszach Starszym

Bardziej szczegółowo

Program "FLiNN-GA" wersja 2.10.β

Program FLiNN-GA wersja 2.10.β POLSKIE TOWARZYSTWO SIECI NEURONOWYCH POLITECHNIKA CZĘSTOCHOWSKA Zakład Elektroniki, Informatyki i Automatyki Maciej Piliński Robert Nowicki - GA Program "FLiNN-GA" wersja 2.10.β Podręcznik użytkownika

Bardziej szczegółowo

Zapis liczb binarnych ze znakiem

Zapis liczb binarnych ze znakiem Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.

Bardziej szczegółowo