Algorytmy i struktury danych Symulowane wyżarzanie Poszukiwanie z listą tabu Algorytmy genetyczne Algorytmy mrówkowe Sieci neuronowe.
Download ReportTranscript Algorytmy i struktury danych Symulowane wyżarzanie Poszukiwanie z listą tabu Algorytmy genetyczne Algorytmy mrówkowe Sieci neuronowe.
Algorytmy i struktury danych
Symulowane wyżarzanie Poszukiwanie z listą tabu Algorytmy genetyczne Algorytmy mrówkowe Sieci neuronowe
Symulowane wyżarzanie
Przy wysokiej temperaturze (energii) czasteczka może przeskakiwać pomiędzy dowolnymi stanami Po zamrożeniu cząsteczka pozostaną w minimum lokalnym Przy powolnym obniżaniu temperatury czasteczka będzie z większym prawdopodobieństwem wybierać minimum globalne A B
Symulowane wyżarzanie
Implementacja: Ciąg rozwiazań R 1 ,R 2 ,R 3 . R R n n = SA(R n-1 ), powstaje z R n-1 przez drobną zmianę E(R n ) jest minimalna dla całego sasiedztwa R n-1 E zawiera czynnik losowy zależny od temperatury Powolne obniżanie temperatury – kompromis: szybkość vs. prawdopodobieństwo uzyskania optymalnego rozwiązania T(t) = t 0 e -at t 0 oraz a dobiera sie eksperymentalnie i powtarza dla różnych R 0
Przykład zastosowania
Kolorowanie grafów: SA – wybieramy jedno z pokolorowań powstałych z R n-1 przez zmianę koloru jednego (lub liczby zależnyej od temperatury) wierzchołków. Spośrod wszystkich pokolorować wybieramy takie dla których E(R) jest najmniejsze E(R) – energia odpowiada liczbie użytych kolorów + czynnik losowy e(t) zależny od temperatury
Poszukowanie z listą tabu
Wybieramy zawsze stan o niższej energii (koszcie) Staramy się unikać stanów wybieranych ostatnio co może ew. Prowadzić do tymczasowego wyboru gorszego rozwiązania
Poszukowanie z listą tabu
Implementacja: Ciąg rozwiazań R 1 ,R 2 ,R 3 . Na poczatku TL = Ø R n R n = TAB(R n-1 ), powstaje z R n-1 przez drobną zmianę E(R n ) jest minimalna dla całego sasiedztwa R n-1 z wyłączeniem stanów znajdujacych się na liście Tabu – TL Długość TL jest ograniczona do MAXLEN Po wygenerowaniu kolejnego R n • R n jest dodawane na początek listy tabu (TL) • ostatnie rozwiazanie (o ile lista jest już dłuższa niż MAXLEN) jest usuwane Długość listy tabu jest dobierana eksperymentalnie w zależności od problemu
Przykład zastosowania
Kolorowanie grafów: TAB – wybieramy jedno z pokolorowań powstałych z R n-1 przez zmianę koloru jednego wierzchołka (lub jeśli długość listy tabu tego wymaga - większej ich liczby). Spośrod wszystkich analizowanych pokolorowań wybieramy takie dla których liczba użytych kolorów najmniejsza, ale nie znajdujące się na liście tabu.
Aktualizujemy listę tabu tj. dodajemy nowe rozwiązanie i usuwamy ostatnie o ile lista osiagnęła maksymalną długość
Algorytmy genetyczne
Konkretny osobnik w naturze opisywany jest przez układ genów Nowe osobniki moga powstawać przez: • • krzyżowanie mutację Rozpatrujemy pewną populację osobników – w każdym pokoleniu z prawdopodobieństwem zależym od przystosowania eliminowane jest pewna liczba osobników i zastępowana nowymi osobnikami
Algorytmy genetyczne
Dla wygenerowania kolejnego pokolenia: • • • Powiela sie pewną ilość osobników(rozwiązań) o najlepszym przystosowaniu (najniższym koszcie) Resztę populacji uzyskuje się drogą krzyzownaia (wymiany cech) pomiędzy istniejącymi osobnikami (rozwiązaniami). Osobniki do krzyżownia są wybierane losowo z prawdopodobieńswem zależnym od stopnia przystosowania (jakości rozwiązania) Z pewnym (zwykle b. niewielkim) prawdopodobieństwem dokonuje się losowych zmian w powstających osobnikach(rozwiązaniach).
Po wygenerowaniu określonej (zwykle b. duzej) liczby pokoleń wybiera się osobnika o najlepszym przystosowaniu
Przykład zastosowania
Droga komiwojażera: Krzyżowanie osobników: dla wybranych rozwiązań-rodziców generuje się pewną liczbę rozwiązań powstałych z zamiany losowego fragmentu (lub fragmentów) drogi z jednego rozwiązania i przez ich odpowiedniki z drugiego Mutacja: jeżeli osobnik ma podlegać mutacji wybieramy jedną z użytych krawędzi i zastępujemy inną drogą łączącą oba wierzchołki
Algorytmy mrówkowe
Każda mrówka ma swobodę wyboru drogi do pożywienia ale chętniej wybiera taką droge po której chodziły inne mrówki Krótsze drogi pozwalają mrówkom pozostawić większą ilość ferromonów Fragmenty drogi odwiedzane przez większą liczbę mrówek są silniej oznaczone niż fragmenty nieuczęszczane
Przykład zastosowania
Droga komiwojażera: Każda krawędź grafu jest traktowana jako fragment drogi. Po znalezieniu odpowiedniej drogi komiwojażera w grafie wszystkie odwiedzone krawędzie są oznaczane w stosunku 1/L gdzie L jest łączną długością znalezionej drogi.
Krawędzie w grafie są wybierane z prawdopodobieństwem zależnym od wag i siły oznaczenia
Model neuronu
Dyskretny y = 1 Jeżeli x i w i >= P lub 0 w przeciwnym razie Ciągły y = 2/(1-e net ), gdzie net = x i w i y x 1 w 1 .....
w k x k
Sieć neuronowa
O 1 O 2 I 1 I 2 I 3 Warstwa wyjściowa Warstwa(y) ukryta Warstwa wejściowa
Topologia sieci
Warstwa wejściowa/wysciowa zależą od liczby pobudzeń i oliczby oczekiwanych kategorii Rozmiar i liczba warstw ukrytych Możliwe są niejednorodne połączenia między warstwami oraz połaczenia w neuronami z warstw innych niż poprzednia, połączenia hamujące między wybranymi neuronami Możliwe są sprzężenia zwrotne (z póżniejszych warst do wcześniejszych) – taka sieć może zmieniacsięw czasie - zwykle wiąże sie to z dyskretyzacją działania sieci na kolejne momenty czasowe t 1 , t 2 , t 3 ... w których określa się stan poszczególnych neuronów
Nauka
Algorytm modyfikacji wag: • BackPropagation Opracowanie wzorców Nauka z nauczycielem lub bez Modyfikacje: • • Logika rozmyta Symulowane żarzenie
Klasyfikator
O 1 O 2 A I 1 .....
I n Warstwa wyjściowa Warstwa(y) ukryta Warstwa wejściowa
Asocjator
Jedno lub dwukierunkowy KOŃ
Autoasocjator
A A
Nietypowe własności
Odporność na błedy Samoistne przypominanie
Przykłady zastosowań
Rozpoznawanie pisma i klasyfikacja obrazów Diagnostyka chorób skóry, ocena EKG Ocena ryzyka pożyczek bankowych Prognozowanie wyników giełdowych Poszukiwanie złóż surowców naturalnych Szacowanie wartości nieruchomości Kolorowanie grafów Sterowanie automatami Wykrywanie fałszerstw kart kredytowych