25
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

Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

  • Upload
    misty

  • View
    41

  • Download
    1

Embed Size (px)

DESCRIPTION

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). - PowerPoint PPT Presentation

Citation preview

Page 1: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 2: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 3: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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)

Page 4: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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)

Page 5: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 6: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

x1k

xpk

w1j

j

M

wpj

1

Page 7: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 8: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera
Page 9: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 10: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 11: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera
Page 12: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 13: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

Algorytm dla ESOM1. 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)

2. Przypisz losowe wartości wektorom wj (wewnątrz CR) oraz przypisz t = 0

3. Losowo wybierz miasto i wprowadź jego współrzędne do warstwy wejściowej

4. Znajdź wygrywający neuron m(t) zgodnie z metryką euklidesową

5. Uaktualnij wagi neuronu m(t) i jego sąsiadów wg formuły

Page 14: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 15: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera
Page 16: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 17: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 18: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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)

Page 19: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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%

Page 20: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 21: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera
Page 22: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera
Page 23: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 24: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

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

Page 25: Zastosowanie sieci neuronowych do rozwiązywania problemu komiwojażera

Dziękuję za uwagę