PSO Rój cząsteczek - Particle Swarm Optimization. Michał Szopiak

Podobne dokumenty
Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

O dwóch modyfikacjach algorytmu PSO

Algorytmy ewolucji różnicowej (ang. differential evolution -DE) oraz roju cząstek (ang. particle swarm optimization -PSO)

Obliczenia z wykorzystaniem sztucznej inteligencji

Obliczenia z wykorzystaniem sztucznej inteligencji

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Stochastic modelling of phase transformations using HPC infrastructure

Algorytmy dla maszyny PRAM

Algorytm FIREFLY. Michał Romanowicz Piotr Wasilewski

Obliczenia Naturalne - Algorytmy rojowe

Algorytmy estymacji stanu (filtry)

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

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

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

Zastosowanie algorytmów heurystycznych do rozwiązywania problemu układania tras pojazdów

SZTUCZNA INTELIGENCJA

Systemy wieloagentowe (Multi Agent Systems - MAS) aspekty wybrane

Optymalizacja. Przeszukiwanie lokalne

Seminarium IO. Zastosowanie metody PSO w Dynamic Vehicle Routing Problem (kontynuacja) Michał Okulewicz

CZYM SĄ OBLICZENIA NAT A URALNE?

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

Optymalizacja ciągła

Uczenie sieci typu MLP

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

Algorytmy stadne w problemach optymalizacji


Program MC. Obliczyć radialną funkcję korelacji. Zrobić jej wykres. Odczytać z wykresu wartość radialnej funkcji korelacji w punkcie r=

Agnieszka Nowak Brzezińska

Wyznaczanie parametrów relaksacyjnych z zastosowaniem metod inteligencji obliczeniowej

Teoria ewolucji. Podstawowe pojęcia. Wspólne pochodzenie.

OPTYMALIZACJA BLACHOWNIC O ZMIENNYM PRZEKROJU METODĄ ROJU CZĄSTEK. mgr inż. Piotr Sych

Analiza stanów gry na potrzeby UCT w DVRP

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

optymizacji sprawności silnika indukcyjnego, z zastosowaniem algorytmów sztucznej inteligencji

OPTYMIZACJA SPRAWNOŚCI SILNIKA INDUKCYJNEGO Z ZASTOSOWANIEM ALGORYTMÓW SZTUCZNEJ INTELIGENCJI

Systemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski

Inteligencja stadna: od mrówek do cząsteczek

Heurystyki i metaheurystyki

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

ALHE Jarosław Arabas Metaheurystyki w Rn Ewolucja różnicowa EDA CMAES Rój cząstek

WSTĘP DO GRAFIKI KOMPUTEROWEJ

Mrówka Pachycondyla apicalis

Algorytmy mrówkowe. Plan. » Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji» Testowanie

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

Elementy inteligencji obliczeniowej

Optymalizacja optymalizacji

Kombinatoryczna analiza widm 2D-NOESY w spektroskopii Magnetycznego Rezonansu Jądrowego cząsteczek RNA. Marta Szachniuk

Algorytm grupowania danych typu kwantyzacji wektorów

Implementacja modelu FHP w technologii NVIDIA CUDA

Systemy wieloagentowe (Multi Agent Systems - MAS) aspekty wybrane

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Algorytm świetlika charakterystyka, własności aplikacyjne i usprawnienia

Algorytm grawitacyjnych poszukiwań (Gravitational Search Algorithm - GSA)

Optymalizacja. Przeszukiwanie tabu

Modelowanie absorbcji cząsteczek LDL w ściankach naczyń krwionośnych

Zaawansowane programowanie

System spawania orbitalnego A7 TIG 300

System spawania orbitalnego A7 TIG 300

Co to jest grupowanie

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Analiza i Przetwarzanie Obrazów

Podstawowe pojęcia i prawa chemiczne, Obliczenia na podstawie wzorów chemicznych

IX. MECHANIKA (FIZYKA) KWANTOWA

System bonus-malus z mechanizmem korekty składki

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Zastosowanie algorytmów rojowych w zadaniu planowania sieci WLAN Application of rogue algorithms in the WLAN planning task

Teoria ewolucji. Podstawowe pojęcia. Wspólne pochodzenie.

Stochastyczna dynamika z opóźnieniem czasowym w grach ewolucyjnych oraz modelach ekspresji i regulacji genów

Spis treści WSTĘP... 9

Algorytmy metaheurystyczne podsumowanie

Prawdopodobieństwo i statystyka

Dobór parametrów algorytmu ewolucyjnego

17.1 Podstawy metod symulacji komputerowych dla klasycznych układów wielu cząstek

Agnieszka Nowak Brzezińska Wykład III

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

Fizyka 1 Wróbel Wojciech

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Laboratorium ochrony danych

Techniki optymalizacji

Optymalizacja. Wybrane algorytmy

METODY NUMERYCZNE. wykład. konsultacje: wtorek 10:00-11:30 środa 10:00-11:30. dr inż. Grażyna Kałuża pokój

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Podstawy Sztucznej Inteligencji (PSZT)

Grafy i sieci wybrane zagadnienia wykład 3: modele służące porównywaniu sieci

Generalizacja algorytmu PSO. Seminarium IO

Metody numeryczne I Równania nieliniowe

Teoria i metody optymalizacji

INFORMATYKA POZIOM ROZSZERZONY

INFORMATYKA POZIOM ROZSZERZONY

Obliczenia inspirowane Naturą

Algorytm genetyczny (genetic algorithm)-

Wstęp do programowania

Transkrypt:

PSO Rój cząsteczek - Particle Swarm Optimization Michał Szopiak

Inspiracje biologiczne Algorytm PSO wywodzą się z obserwacji gróp zwierzą tworzony przez członków ptasich stad, czy ławic ryb, który umożliwia im synchroniczny ruch bez kolizji. Zachowania zbiorowe zwierząt są zarządzane przez pewne reguły. Istnieje wiele przykładów z natury potwierdzających pogląd, że dzielenie się informacją między osobnikami w społeczności stanowi wagę ewolucyjną, co stanowiło podstawę powstania PSO.

Co to jest PSO? Algorytm stada cząsteczek naśladuje ludzkie (albo owadzie) zachowania stadne. Podczas zdobywania własnego doświadczenia cząsteczki wzajemnie na siebie oddziałują, a członkowie populacji stopniowo przenoszą się w coraz lepsze obszary przestrzeni rozwiązań.

Cel Celem algorytmu jest znalezienie globalnego maximum lub minimum funkcji celu. PSO jest obliczeniowo niezbyt wymagająca, gdyż jej pamięć i prędkość obliczeń pod względem wymagań są niskie. Ponadto nie wymaga informacji na temat kierunku zmian funkcji celu, lecz jedynie jej wartość.

Rodzaje PSO Obecnie rozwijane są dwa warianty PSO, Globalne sąsiedztwo : każda cząsteczka przemieszcza się według najlepszej pozycji dla całej grup Lokalne sąsiedztwo : każda cząsteczka przemieszcza się w kierunku poprzedniej najlepszej pozycji według najlepszej cząsteczki w jego rozważanym sąsiedztwie,

Globalne sąsiedztwo Zalety Łatwe w implementacji Wymaga niskich kosztów obliczeniowych

Sąsiedztwo Pierścień Sąsiadem są cząsteczki o indeksach <i-l; i+1> modulo liczby cząsteczek

Sąsiedztwo Koło

Sąsiedztwo Von Neumann

Sąsiedztwo przestrzenne Po każdej iteracji szukamy k najbliższych cząstek według ustalonej mterykii

Inne sąsiedztwa Występują również inne sąsiedztwa topologia gwiazdy piramida

Wyznaczenie nowej pozycji cząstki z ppb.w1 na pozycji xj przepiszemy zawartość j-tej pozycji poprzedniego położenia z ppb.w2 na pozycji xj przepiszemy zawartość j-tej pozycji pbest z ppb.w3 na pozycji xj przepiszemy zawartość j-tej pozycji gbest

Wzór na prędkość v=c1*r1v+c2*r2*(pbest x) +c3*r3*(gbest x) Składnik momentu sprawia że cząstka stara się kontynuować ruch w dotychczasowym kierunku Składnik kognitywny sprawia że cząstka star powrócić do swojej najlepszej pozycji Składnik socjalny sprawia że cząstka Jest przyciągana Do najlepszej pozycji Odnalezionej przez rój

Wzór na prędkość v=c1*r1v+c2*r2*(pbest x)+c3*r3*(gbest x) r1,r2,r3- wartości losowe U(0,1) c1,c2,c3 - współczynniki określające wpływ poszczególnych elementów (jak bardzo ufa sobie, swojemu doświadczeniu i doświadczeniu swoich sąsiadów) pbest x - wektor odległości między obecnym położeniem, a najlepszym znalezionym dotychczas położeniem gbest x- wektor odległości między obecnym położeniem, a najlepszym znalezionym dotychczas położeniem przez zbiór sąsiadów v - wektor prędkość cząsteczki x - wektor położenia cząsteczki

Pseudo kod PSO() { swarm.initialize_randomlyparticleslocationandvelocity(); for i:1:max_iterations { swarm.updatebest_location(); for each particle in swarm { particle.update_velocity(); particle.update_location();

Particle { updatevelocity() { Obliczanie Prędkości for (i from 1 to dimensions) { this.v[i] =( c1*random(0,1)*(swarm.best[i] - this.x[i]) + c2*random(0,1)*(this.best[i] - this.x[i]) + c3*random(0,1)*(this.x[i] - swarm.random().x[i]) +a * this.v[i] +y *random(0,1); )

Aktualizacja pozycji cząstki Prticle { updatelocation() { for (i from 1 to dimensions) { this.x[i] = this.x[i] + this.v[i]; if (f(this.best) > f(this.x)) { this.best = this.x;