250 likes | 421 Views
Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera. K.-S. Leung, H.-D. Jin, Z.-B.Xu, „An expanding self-organizing neural network for the traveling salesman problem”, Neurocomputing, vol. 62, pp 267-292, Dec. 2004. Rafał Kuciński. Problem komiwojażera (TSP).
E N D
Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera K.-S. Leung, H.-D. Jin, Z.-B.Xu, „An expanding self-organizing neural network for the traveling salesman problem”, Neurocomputing, vol. 62, pp 267-292, Dec. 2004 Rafał Kuciński
Problem komiwojażera (TSP) • Definicja ogólna • Euklidesowy problem komiwojażera (ETSP) • Poszukiwanie algorytmów przybliżonych ze względu na NP-zupełność • Przybliżenie z dokładnością (1+1/c) można uzyskać w czasie O(n(logn)O(c)) • Zastosowania
Stosowane sieci neuronowe do rozwiązywania TSP • Sieci Hopfielda – dobre wyniki tylko w przypadku problemów o niewielkich rozmiarach • Samoorganizujące się mapy Kohonena (SOM) – niewielka złożoność obliczeniowa i dość dobre wyniki (ale jednak gorsze od innych metod przybliżonych SA, TS, GA)
Strategie poprawy jakości wyników generowanych przez SOM dla TSP • Sieci o zmiennej strukturze – dynamiczne wstawianie/usuwanie neuronów (KNIES, FLEXMAP) • Poprawa kryterium rywalizacji – ograniczanie zbyt częstych zwycięstw, opieranie się nie tylko na odległości • Poprawa reguły uczącej – oprócz przybliżania zwycięzcy rozpraszanie pozostałych (KNIES), wprowadzenie „elastycznej siły” w celu zminimalizowania wielkości wynikowego pierścienia (CEN)
Budowa SOM dla TSP • p neuronów wejściowych – ich stan jest reprezentowany przez wektor M tworzących pierścień neuronów wyjściowych Wektory te rozpatrujemy w dwóch przestrzeniach
Proces uczenia • Wprowadzanie danych wejściowych • Wyłanianie zwycięzcy zgodnie z metryką euklidesową • Uaktualnianie wag zwycięzcy i sąsiadów zgodnie z regułą (podstawową) Warianty: normalizacja, „elastyczna siła”, ESOM
Uzyskiwane rozwiązanie • Formowanie się mapy sąsiedztwa • Wynikowa trasa odtworzona z niej ma na celu z danego miasta odwiedzanie miasta położonego najbliżej • Gwarantuje to spełnienie wystarczającego warunku dla najkrótszej trasy, jednak nie jest on osiągalny we wszystkich przypadkach TSP
Wypukła otoczka a TSP • Uwzględnienie warunku koniecznego dla optymalnej trasy • W optymalnej trasie miasta tworzące wypukłą otoczkę znajdują się w takiej samej kolejności jak na otoczce • Własność wypukłej otoczki była już wcześniej uwzględniana w CEN, ale była wyznaczana dodatkowym algorytmem
Expanding Self-Organizing Map (ESOM) • Przyciągnie zwycięskiego neuronu w kierunku miasta w celu utworzenia mapy odwzorowującej sąsiedztwo miast • Wypychanie neuronu na zewnątrz w celu utworzenia wypukłej otoczki
Algorytm dla ESOM • Przekształć współrzędne miast tak, aby znajdowały się one w obrębie okręgu CR (R<=1) o środku w punkcie (0,0) • Przypisz losowe wartości wektorom wj (wewnątrz CR) oraz przypisz t = 0 • Losowo wybierz miasto i wprowadź jego współrzędne do warstwy wejściowej • Znajdź wygrywający neuron m(t) zgodnie z metryką euklidesową • Uaktualnij wagi neuronu m(t) i jego sąsiadów wg formuły
Algorytm c.d. 6. Uaktualnij σ(t) i η(t) zgodnie z przyjętym schematem zmniejszania; t = t+1; jeśli nie koniec idź do 3. 7. Oblicz wartość aktywacji każdego miasta wg formuły 8. Posortuj miasta zgodnie z wartością aktywacji, otrzymując rozwiązanie
Współczynnik rozszerzający βj(t) odzwierciedla własność wypukłej otoczki Współczynnik cj rośnie wraz ze wzrostem βj(t) – największą wartość przyjmuje dla miast na wypukłej otoczce; jednocześnie jest bliski swojemu minimum 1, kiedy wektor wagowy znajduje się blisko miasta
Poprawność ESOM • Jeżeli przyjmiemy R<sqrt(7)/4, to rozwiązania generowane przez ESOM są zbieżne do rozwiązania posiadającego własność zachowania sąsiedztwa wtw gdy dotyczy to także SOM • Brak formalnego dowodu, że ESOM generuje rozwiązania zachowujące własność wypukłej otoczki, ale analiza trendu i wyniki eksperymentów potwierdzają ten fakt
Złożoność • W kroku 1, 2, 7 i 8 każde miasto jest przeglądane co najwyżej dwa razy – O(n) • Liczba iteracji pomiędzy krokiem 3 a 6 wynosi O(n) • W każdej iteracji krok 4 potrzebuje czasu O(n) na wyłonienie zwycięzcy, a w kroku 5 używanych jest co najwyżej n neuronów • Całkowita złożoność: O(n2)
Implementacja • Promień R=0.6 • Liczba neuronów wyjściowych M równa liczbie miast n • 100 cykli treningowych (100n iteracji) • Parametr uczenia η: początkowo 0.8 liniowo maleje do 0 w ostatniej iteracji • Szerokość σ(t) początkowo ustawiona na 6.2+0.037n maleje liniowo do 1 przez pierwsze 65% iteracji i pozostaje równa 1 przez pozostałe 35%
Eksperymenty obliczeniowe • 1. Porównanie ESOM z SOM Budinicha i SA (podstawową wersją) • 18 syntetycznych TSP o rozmiarze od 50 do 2400 miast (wewnątrz kwadratu jednostkowego) - teoretyczne ograniczenie dolne: 0.765sqrt(n) • Przykłady z TSPLIB
2. Porównanie ESOM z rozszerzonymi wersjami SOM Budinicha i CEN • Rozwiązania poprawiane za pomocą heurystyki NII (na bazie 2-Opt) • Testy na 5 przykładach z TSPLIB • CEN wolniejsza ze względu na dodatkowy czas potrzebny do wyznaczenia wypukłej otoczki
3. Porównanie ESOM z KNIES • Sieć KNIES do tej pory była uznawana za dającą najlepsze wyniki dla TSP • Na 15 przykładów z TSPLIB okazuje się być lepsza od ESOM tylko w dwóch przypadkach • Jest bardziej skomplikowana przez co obliczenia zajmują więcej czasu