Rainer Storn Kenneth Price DE

Slides:



Advertisements
Podobne prezentacje
Excel Narzędzia do analizy regresji
Advertisements

Tablice 1. Deklaracja tablicy
Przetworniki pomiarowe
„Wielokryterialna optymalizacja pracy systemu wytwarzania o strukturze przepływowej – algorytm memetyczny” Przygotował: Dominik Żelazny, IIAR.
Schemat blokowy M START KONIEC
KSZTAŁTOWANIE STRUKTURY KAPITAŁU A DŹWIGNIA FINANSOWA
Mechanizm wnioskowania rozmytego
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
Wprowadzenie do optymalizacji wielokryterialnej.
Metody rozwiązywania układów równań liniowych
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Programowanie genetyczne (Genetic Programming)
Algorytm Dijkstry (przykład)
MATEMATYKA-ułamki zwykłe
PROGRAMOWANIE STRUKTURALNE
Badania operacyjne. Wykład 2
Grafika komputerowa Wykład 7 Krzywe na płaszczyźnie
Hybrydowe metody optymalizacji geometrii. Prezentacja wyników.
Analiza współzależności
ZŁOŻONOŚĆ OBLICZENIOWA
Nieelitystyczne algorytmy ewolucyjnej optymalizacji wielokryterialnej
Dodawanie i odejmowanie wektorów
Algorytm Rochio’a.
Sztuczna Inteligencja Reprezentacja wiedzy II Systemy produkcyjne Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W. Duch.
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Wykład 2: Upraszczanie, optymalizacja i implikacja
Metoda simpleks opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź Simpleks jest uniwersalną.
Sieci Hopfielda.
Algorytmy genetyczne.
Matematyka.
Algorytm mini-max.
Hipoteza cegiełek, k-ramienny bandyta, minimalny problem zwodniczy
Testy nieparametryczne
Algorytmy i struktury danych
PRACA DYPLOMOWA INŻYNIERSKA
Konstrukcja, estymacja parametrów
Algorytm genetyczny.
Algorytmy memetyczne i ich zastosowania
T Zsuwanie się bez tarcia Zsuwanie się z tarciem powrót.
IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM
TABLICE C++.
na podstawie materiału – test z użyciem komputerowo generowanych prób
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
II Zadanie programowania liniowego PL
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
ALGORYTMY ROZWIĄZYWANIA GIER C.D.
Tworzenie programów, etapów oraz określanie wymagań etapowych
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Marcin Jaruszewicz Jacek Mańdziuk
Farseer Physics Engine. Farseer Physics Engine jest silnikiem fizycznym napisanym dla platformy.NET. Został on zainspirowany przez silnik Box2D znany.
Spis treści W świecie algortmów -Budowa algorytmu
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Wzorce slajdów programu microsoft powerpoint
Do technik tych zalicza się: * sztuczne sieci neuronowe
Temat 7: Instrukcje warunkowe
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Diagram aktywności (czynności)
Obwody elektryczne - podstawowe prawa
Zagadnienie i algorytm transportowy
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
Metody rozwiązywania układów równań liniowych
Logistyka – Ćwiczenia nr 6
Treść dzisiejszego wykładu l Analiza wrażliwości –zmiana wartości współczynników funkcji celu, –zmiana wartości prawych stron ograniczeń. l Podejścia do.
Liczby naturalne i całkowite Spis treści Definicje Działania na liczbach Wielokrotności liczb naturalnych Cechy podzielności Przykłady potęg,potęgi o.
Wybór nazwy lub słów kluczowych dla interesującego nas szeregu czasowego. Opcjonalnie – ustawienie innych dostępnych atrybutów szukania.
Listy.
Regresja wieloraka – bada wpływ wielu zmiennych objaśniających (niezależnych) na jedną zmienną objaśnianą (zależą)
Metody sztucznej inteligencji
Grupy danych.
Zapis prezentacji:

Rainer Storn Kenneth Price DE Ewolucja różnicowa Rainer Storn Kenneth Price DE

Rzut oka na DE Równoległa wersja DE przechowuje dwie tablice. W każdej z nich znajduje się populacja NP D-wymiarowych wektorów o wartościach rzeczywistych. W tablicy głównej (primary) znajduje się bieżąca populacja, w tablicy dodatkowej (secondary) zaś gromadzi się wektory przeznaczone do następnego pokolenia. W każdym pokoleniu ma miejsce NP porównań, które służą określeniu składu następnej populacji: w i-tym porównaniu uczestniczy i-ty wektor populacji, nazywany tarczą (target) i wektor próbny, dla którego tarcza jest jednym z rodziców. drugim rodzicem jest wektor losowo wybrany z populacji, do którego dodano również losowy, ważony wektor różnicowy. Połączenie tego losowego (symulującego „szum”) wektora z tarczą kontrolowane jest przez niejednorodną operację krzyżowania, w której określa się, które parametry nowy wektor przejmuje od którego z wektorów macierzystych. Jeżeli koszt wektora próbnego nie przekroczy kosztu tarczy-rodzica, wektor próbny zastąpi tarczę na pozycji i-tej w następnym pokoleniu.

Mutacja w DE Całą ewolucją w DE sterują 3 zjawiska: wielkość populacji NP, waga przyłożona do losowej różnicy F, stała operacji krzyżowania CR. Wygodnym źródłem odpowiednio przeskalowanego zaburzenia jest sama populacja. Dla każdej pary wektorów (Xa, Xb) można zdefiniować różnicę: Xa i Xb. Kiedy Xa i Xb zostaną wybrane losowo, ich ważoną różnicę można wykorzystać zamiast gaussowskiego szumu do zakłócenia wartości trzeciego wektora Xc. Xc’= Xc + F(Xa – Xb) Czynnik skalujący F jest zadaną przez użytkownika stałą z zakresu od 0 do 1.2. Górna granica została wyznaczona empirycznie. Optymalna wartość F dla większości funkcji leży między 0.4 a 1.0.

Modyfikacje (zmiany) w DE W celu zbudowania potomka wykorzystuje się jednego głównego ojca i 2 pomocniczych rodziców. W zasadzie ojciec jest zniekształcany przez różnicę między dwoma pomocniczymi rodzicami. Rezultatem tego procesu jest rozwiązanie zwane prototypem/śladem rozwiązania. Prototyp jest następnie poddawany krzyżowaniu z innym wybranym wcześniej rozwiązaniem w celu wygenerowania potomka. Potomek jest dodawany do populacji jeśli przewyższa wcześniej wybrane rozwiązanie. Używając wektorów różnicujących, DE bierze pod uwagę informację o kierunku przeszukiwań.

Podstawowy mechanizm w DE

Schemat mutacji w DE

Techniki ewolucyjne a DE W DE stosuje się krzyżowanie niejednorodne, czyli takie, gdzie przejęcie parametrów od jednego z rodziców następuje wyraźnie częściej. Konstruując wektory próbne w oparciu o istniejących członków populacji, rekombinacja sprawia, że informacje o najbardziej udanych połączeniach rozprzestrzeniają się w populacji, co pozwala ograniczyć poszukiwania optimum do najbardziej obiecujących okolic. Strategia akceptacyjna stosowana w DE przypomina nieco metodę turniejową, z tą jednak różnicą, że za każdym razem dziecko spotyka się z jednym ze swoich rodziców, a nie z przypadkowym – lepiej przystosowanym przeciwnikiem – lepiej dopasowany z takiej pary wektorów zostaje przekazany do następnego pokolenia.

Rekombinacja w DE Każdy wektor z tablicy głównej Xi, dla i=0, 1 jest rekombinowany z wektorem Xc’, w wyniku czego powstaje wektor próbny Xi’. Wektor próbny jest potomkiem dwojga rodziców : losowego wektora zaszumienia i wektora tarczy, z którym zostanie później porównany. Poczynając od losowo ustalonego parametru źródło każdego z parametrów wektora próbnego ustala się porównując CR z wartością losową z [0, 1]. jeśli liczba ta jest większa od CR, wektor próbny zawdzięcza ten parametr tarczy, Xi’, w przeciwnym wypadku źródłem parametru będzie wektor szumu Xc’. Gdy CR =1 to parametry wektora próbnego pochodzą z Xc’, gdy zaś CR=0 to tylko jeden parametr pochodzi z Xc’. Zawsze jest to ostatni parametr.

Przykład rekombinacji w DE

Selekcja w DE W przeciwieństwie do wielu algorytmów genetycznych w DE nie stosuje się selekcji proporcjonalnej, czy szeregowania. Tutaj porównujemy koszt wektora próbnego z kosztem jego macierzystej tarczy – ten, który ma niższy koszt, zostaje nagrodzony przeniesieniem do tablicy pomocniczej, ponadto jeśli zwycięzcą okaże się wektor próbny, jego koszt zostaje zapisany w tablicy cost[i] . Kiedy mutacja, rekombinacja i selekcja dotknie już wszystkich wektorów z głównej tablicy, zamieniamy wskaźniki do tablic, przez co tablice główna i pomocnicza zamieniają się rolami: teraz wektory z tablicy pomocniczej zostaną poddane transformacji, zaś poprzednia tablica główna oczekuje na zwycięzców konkursu z następnego pokolenia.

Badanie funkcji f(x) =1/ 1+p1x+p2x^2

Rady praktyczne NP powinno być 5 do 10 razy większe od liczby parametrów tworzących wektor. F powinno przyjmować wartości od 0.5 , a następnie stopniowo powinno się zwiększać F i/lub NP, jeśli populacja nazbyt szybko przestanie się rozwijać. wartości F < 0.4 i F > 1 rzadko okazują się użyteczne. CR na początku powinno mieć wartość 0.1, następnie 0.9 do 1.0, żeby przekonać się, czy szybko znajdziemy rozwiązanie Jak widać istnieje duże pole manewru, pod warunkiem wybrania dobrej kombinacji stałych kontrolujących działanie DE.

Zastosowania DE Niedawno algorytm DE wziął udział w międzynarodowym konkursie dla programów optymalizujących, w którym zastosowano zestaw o wiele bardziej złożonych funkcji testowych. DE okazał się być najszybszym ze zgłoszonych „zawodników” w kategorii algorytmów ewolucyjnych. DE wykorzystano już w kilku przypadkach do stworzenia złożonych filtrów cyfrowych, z których największy wymagał dostrojenia 60 parametrów. www. ICSI. Berkeley. edu/~storn/code.html

ALGORYTM DE DE/rand/I {wariant DE} we: populacja P, par. krzyżowania CR, war. rzecz. F ewoluuj P: Dla index = 1 do rozmiaru pop. begin wybierz losowo 3 różne wartości i1, i2, i3, index ≠ i1≠i2≠i3 Dla każdej zmiennej j if Random CR X = P[i][j] + F(P[i2][j] – P[i3][j]) else X = P[index][j] if X jest lepszy od P[index], zamień P[index] przez X end wy: nowa populacja P

Modyfikacje DE (Shan, Qi, Abbass) Nową propozycją jest generowanie długości kroku w sposób losowy i zapamiętywanie kierunku w populacji, która zmienia się w czasie. W celu zapamiętania kierunku kolejny algorytm składa się z dwu populacji; jedną jest populacja rozwiązań a drugą jest populacja kierunków. Kierunek jest wyznaczany jako różnica między 2 rodzicami przedstawiona w pop. algorytmie. Jednakże I rodzic jest wybierany z najlepszej części bieżącej populacji, podczas gdy drugi z nich jest wybrany z pozostałej reszty. Rozmiar najlepszej części jest parametrem definiowanym przez użytkownika. To w pewien sposób zabezpiecza różnorodność w populacji kierunków, przy równoczesnym skupianiu się na elitaryzmie. W celu wygenerowania kolejnej populacji, populacja chwilowa jest wykorzystywana do zapamiętania zmodyfikowanych osobników najlepszej części bieżącej populacji. Każdy osobnik jest modyfikowany poprzez dodanie do niego losowo wybranych kierunków. To podejście ukierunkowane na elitaryzm, ułatwia nam zachowanie najlepszych osobników bez utraty różnorodności. Populacja chwilowa jest połączona z bieżącą w celu utworzenia następnej populacji poprzez mechanizm współdzielenia przystosowania.

ALGORYTM II Inicjalizacja. Ewaluacja wszystkich indywiduów z P1 i posortowanie ich w kolejności malejącej dla wartości przystosowania. Generowanie populacji kierunków w kolejnych krokach: wybór osobników spośród 20% najlepszych z P1 wybór osobników z pozostałych 80% z P1 wygeneruj kierunek d: d= i +U(0, 1)(i - j), w którym U(0,1) jest zmienną pseudolosową z przedz. (0,1) zmień każdą wart. kierunku d z prawdopodob. CR dodaj tę nowo utworzoną wart. kierunku do populacji kierunków Zbuduj kolejną populację rozwiązań P2 z tym samym rozmiarem, co P1 poprzez proces wyboru osobnika z 20% najlepszych osobników z P1 i dodania do nich losowo wybranych kierunków z populacji kierunków.

ALGORYTM II (cd) Oceń wszystkie osobniki w P2, jak również w populacji kierunków. Wartość przystosowania każdego wybranego kierunku jest określona poprzez wartość przystosowania po użyciu jego w odpowiadającemu mu potomku. Jeśli ten kierunek pogarsza f. przystosowania , lub nie jest wybrany, przypisuje mu się wartość zero. Połącz P1 z P2 w celu utworzenia nowej populacji P3 tego samego rozmiaru jak P1, poprzez wybór najlepszych z P1+P2. Najlepsi są określani poprzez współdzielenie przystosowania i użycie alpha1 jako współczynnika. Zamień P1 z P3. Posortuj P1. Zamień najgorsze 50% kierunków w populacji kierunków z nowo wygenerowanymi jak następuje: Połową z nich jest generowana losowo z już istniejących kierunków Pozostałość generowana jest jak w kroku 1 idź do punktu 2 aż do spełnienia warunków końcowych.

Przykłady działań DE

DE - Mathematica