Bazy danych

Transkrypt

Bazy danych
2011-04-04
PLAN WYKŁADU

Algorytm mrówkowy
OPTYMALIZACJA GLOBALNA
Wykład 8
dr inż. Agnieszka Bołtuć
ALGORYTM MRÓWKOWY (ANT SYSTEM)
ALGORYTM MRÓWKOWY
Inspiracja:
Zasada działania w naturze:
 Mrówki początkowo wybierają trasę losowo,
 Wracając do mrowiska zostawiają ślad
feromonowy,
 Feromony stopniowo parują,
 Na krótszej trasie feromon odparowuje wolniej, a
więc kolejne mrówki chętniej wybierają tą trasę,
 Skoro wybierana jest ta trasa to następuje
wzmocnienie śladu feromonowego (atrakcyjna
trasa staje się bardziej atrakcyjna),
 W miarę upływu czasu mrówki opracowują
zbiorowo najkrótszą ścieżkę wiodącą je do
pożywienia.
Zachowanie mrówek podczas poszukiwania
żywności,

Zachowanie to polega na tym, że jeśli do żywności
prowadzą dwie drogi to po pewnym czasie większość
mrówek będzie korzystać z krótszej.

1
2011-04-04
ALGORYTM MRÓWKOWY
ALGORYTM MRÓWKOWY
Zastosowania:

Tworzenie populacji mrówek,

Pojedyncza mrówka generuje swoją ścieżkę niezależnie
od innych,

Każda mrówka ma losowo wybrany początek trasy,

Startując z niego mrówka porusza się po grafie szukając
najkrótszej drogi,

Mrówka jest wyposażona w pamięć, aby nie wracać do
już odwiedzonych wierzchołków (tzw. lista tabu),
pozwala później na aktualizację feromonu.

Najczęściej wykorzystywane do algorytmów
poszukiwania najlepszych ścieżek w grafie,

Bardzo często stosowany do rozwiązywania
zadania komiwojażera.
ALGORYTM MRÓWKOWY
ALGORYTM MRÓWKOWY
Rodzaje algorytmu mrówkowego:


Gęstościowy – mrówka zostawia stałą ilość
feromonu podczas budowania drogi (dochodząc do
każdego kolejnego miasta),

Ilościowy – mrówka zostawia ilość feromonu
odwrotnie proporcjonalną do długości krawędzi
wybranej podczas budowania drogi,

Przy wyborze drogi mrówka kieruje się:

Pamięcią – nie odwiedza już odwiedzonych,

Ilością feromonu na danej krawędzi,

Długością trasy.
Cykliczny – mrówki zostawiają feromon dopiero
gdy zbudują całą drogę, znacznie wydajniejszy
algorytm niż pozostałe wymienione,
2
2011-04-04
ALGORYTM MRÓWKOWY

ALGORYTM MRÓWKOWY
Przykładowa reprezentacja danych:

j
Prawdopodobieństwo wybrania drogi przez
mrówkę k z i do j w iteracji t:
1
d ij (t )
f ij (t )
i
dij
fij
k
ij
p (t )
l N ik
1
d il (t )
( f il (t )
)
- parametr określający wpływ pozostawionego feromonu na
prawdopodobieństwo,
dij – odległość pomiędzy i,j
fij – poziom feromonu
ALGORYTM MRÓWKOWY


Wraz ze wzrostem ilości feromonu na krawędzi i,j
prawdopodobieństwo wybrania feromonu rośnie,
zaś spada wraz ze wzrostem długości krawędzi,
Sterowanie zasięgiem odbywa się za pomocą
parametrów i ,
- parametr określający wpływ odległości na prawdopodobieństwo,
N
k
i
- zbiór miast których mrówka nie odwiedziła a do których prowadzi droga
z miasta i,
ALGORYTM KOLONII MRÓWKOWYCH (ANT
COLONY SYSTEM)
Odmiana systemu mrówkowego
Różnica leży w sposobie obliczania
prawdopodobieństwa wybrania krawędzi,
 Dla k-tej mrówki znajdującej się w i-tym mieście
ustalone jest na poziomie stałej q0
prawdopodobieństwo przejścia do tego miasta l, dla
1
którego wartość iloczynu f (t ) d (t ) jest najwyższa,
 Pozostała część prawdopodobieństwa (1-q0) jest
rozdysponowana wśród pozostałych krawędzi
wychodzących z l-tego miasta zgodnie ze
schematem podziału jak w systemach
mrówkowych,


ij
ij

Po ustaleniu prawdopodobieństwa dla wszystkich
krawędzi wychodzących z i-tego miasta następuje
losowanie w celu wybrania krawędzi według której
poruszać się będzie mrówka (najczęściej odbywa
się za pomocą koła ruletki),
3
2011-04-04
ALGORYTM KOLONII MRÓWKOWYCH

Takie sformułowanie wyliczania
prawdopodobieństwa pozwala kontrolować
prawdopodobieństwo wyboru tego połączenia,
które jest wskazywane przez najwyższy poziom
feromonu oraz najkrótszą krawędź,
ALGORYTM MRÓWKOWY
Aktualizacja poziomu feromonu:
uwzględnia zarówno odparowanie jak i złożenie
feromonu przez mrówkę k

odparowywanie
n
f ij (t 1) (1

Pozwala na obronę przed dominacją jednej
krawędzi oraz przypadkowością wyboru dalszej
ścieżki w przypadku równej wartości
prawdopodobieństwa dla wszystkich możliwych
krawędzi.
k 1

Wartości początkowe:
f ij
c
1,
najlepiej bardzo mała wartość 0.001
5,
0.5
dobrane eksperymentalnie przez Dorigo
1
Lk
składanie
- współczynnik odparowywania [0,1]
n
LK
ALGORYTM MRÓWKOWY
) f ij (t )
- liczba mrówek
- całkowita długość trasy przebytej przez mrówkę
ALGORYTM MRÓWKOWY - MODYFIKACJE

Dobre rezultaty dla zadań nie większych niż 75
miast, dlatego wprowadzano różne modyfikacje,

Modyfikacje:




elityzm,
system kolonii mrówkowych,
system mrówkowy MAX-MIN,
system mrówkowy z rangami,
4
2011-04-04
ALGORYTM MRÓWKOWY - MODYFIKACJE
ELITYZM

Elityzm – modyfikacja reguł pozostawiania śladu
feromonowego,

elita – zbiór o rozmiarze e, zawiera najlepsze
ścieżki znalezione w aktualnej iteracji,

dodatkowy mechanizm przechowywania
najkrótszej ścieżki znalezionej w ramach
całego procesu optymalizacji (k’’),
SYSTEM KOLONII MRÓWKOWYCH
Dwa rodzaje aktualizacji feromonu przez mrówkę:
globalny i lokalny,
 Aktualizacja globalna:
 tak jak w metodzie z poziomem cyklicznym w
systemie mrówkowym, ale feromon składany
jest wyłącznie przez jedną mrówkę – tą która
w danej iteracji znalazła najlepszą ścieżkę,
 Aktualizacja lokalna:
 Każda mrówka po przejściu krawędzi
pozostawia na niej ślad
(t ) (1
)
ij
(t )
0
aktualizując ślad feromonowy wyróżnia się
krawędzie należące do ścieżki k’’ , pod
warunkiem, że wystąpią w dowolnej ścieżce
należącej do elity,

do krawędzi należących do k’’ dodaje się
dodatkowy feromon w ilości eQ / Lk ,'' gdzie
Q to waga wyróżnienia (z eksperymentu),
zaś Lk '' to całkowita długość ścieżki k’’.
SYSTEM KOLONII MRÓWKOWYCH

'
ij

k
ij




mechanizm aktualizacji krok z krokiem znany
z systemów mrówkowych, jednak inaczej
liczy się ilość pozostawionego feromonu,
Sterujemy parametrem z przedziału [0,1],
Intencją dodania lokalnej aktualizacji śladu
feromonowego w takiej postaci jest to aby już
odwiedzone krawędzie nie stawały się zbyt
interesujące dla każdej następnej mrówki,
parametr oraz stałą
dobiera się w
drodze eksperymentu indywidualnie
dla
0
każdego zadania,
(t ) 1 / Lk
5
2011-04-04
SYSTEM MRÓWKOWY MAX-MIN




Tylko jedna mrówka pozostawia ślad, ta która
reprezentuje najlepsze globalne lub lokalne (w danej
iteracji) rozwiązanie,
Wprowadzono dodatkowo ( w celu zapobiegania
stagnacji w procesie szukania) ograniczenia na ilość
feromonu na krawędzi min ; max ,
Przy składaniu feromonu maksymalnie przyjmowana
jest górna granica, przy odparowywaniu dolna,
Ponadto wartość początkowa feromonu na krawędziach
jest ustalana na maksymalną dopuszczalną wartość –
co powoduje wzmocnienie cech eksploracyjnych
algorytmu na początku jego działania,
SYSTEM MRÓWKOWY Z RANGAMI

Ślad feromonowy pozostawia tylko mrówka która
wygenerowała globalnie najlepsze rozwiązanie
oraz pewna liczba mrówek reprezentujących
najlepsze rozwiązania w danej iteracji,

W każdym kroku mrówki są sortowane zgodnie z
długością ścieżki i jedynie w najlepszych
pozostawia ślad, który jeszcze jest mnożony przez
współczynnik (w-k), gdzie k to pozycja mrówki na
liście,
W YKŁAD PRZYGOTOWANO NA PODSTAWIE
K. Trojanowski, „Metaheurystyki praktyczne”, WIT,
2005,
 K. Grygiel, „Metaheurystyki, notatki do wykładu”,
UW,

6