METODY SZTUCZNEJ INTELIGENCJI metaheurystyki dr hab. in˙z
Transkrypt
METODY SZTUCZNEJ INTELIGENCJI metaheurystyki dr hab. in˙z
'
$
METODY SZTUCZNEJ INTELIGENCJI
metaheurystyki
dr hab. inż. Andrzej Obuchowicz, prof. UZ
na bazie ksiażki
˛
Krzysztof Trojanowski: Metaheurystyki praktyczne
Wydawnictwo Wyższej Szkoły Informatyki Stosowanej i Zarzadzania
˛
(WIT)
Warszawa 2005
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
$
1/15
Plan wykładu
✏ symulowane wyżarzanie;
✏ przeszukiwanie tabu;
✏ przeszukiwanie rozproszone;
✏ systemy mrówkowe;
✏ rój czastek;
˛
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
Symulowane wyżarzanie
(Simulated Annealing)
$
2/15
simulated_annealing
T=T0 {temperatura poczatkowa}
˛
x=x0 {wybór rozwiazania
˛
poczatkowego}
˛
E=eval(x)
WHILE (T>eps)
WHILE (nie ustalony stan równowagi)
x’=losowe_sasiednie_rozwiazanie(x)
E’=eval(x’)
dE=E’-E
IF (dE<0 OR random<EXP(-dE/(kT)))
x=x’
T=aktualizacja(T)
RETURN x
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
$
3/15
Symulowane wyżarzanie
prawdopodobieństwo zmiany
1
exp(−x)
exp(−1/x)
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
&
0
1
2
3
4
5
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
Symulowane wyżarzanie
strategie wymrażania
$
4/15
a) Ti = αTi−1 ,
−T0
,
b) Ti = T0 − i TNN
i
TN N
c) Ti = T0 T
,
0
d) Ti =
A
i+1
e) Ti = T0 + iA , gdzie A =
f) Ti =
(T0 −TN )(N +1)
,
N
ln(T0 −TN )
,
ln(N )
+ T0 − A, gdzie A =
T0 −TN
1+exp(0.3(i−N/2))
+ TN ,
g) Ti = 0.5(T0 − TN )(1 + cos(iπ/N )) + TN ,
h) Ti = 0.5(T0 − TN )(1 − tgh(10i/N − 5)) + TN ,
T0 −TN
+ TN ,
cosh(10i/N
)
T0
i
j) Ti = T0 exp − N ln T
,
N
i 2
k) Ti = T0 exp − N ln TT0
N
i) Ti =
&
,
%
'
$
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
5/15
Symulowane wyżarzanie
wymrażanie
100
1
a
b
c
90
0.9
80
0.8
70
0.7
60
0.6
50
0.5
40
0.4
30
0.3
20
0.2
10
0.1
0
0
20
40
60
spadek temp.
&
80
100
0
a
b
c
0
20
40
60
80
100
prawdop. akceptacji dla dE = 1
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
Przeszukiwanie tabu (Tabu Search)
$
6/15
tabu_search
inicjacja struktur pami˛
eci
x=x0 {wybór rozwiazania
˛
poczatkowego}
˛
xbest=x {uznanie x za najlepsze rozwiazanie}
˛
fbest=eval(x)
WHILE (warunek końca algorytmu)
S = neighborhood(x) (zbiór n rozwiazań
˛
sasiednich
˛
x)
F =eval(S) (ocena jakości wszystkich elementów zbioru S)
x=arg min(Tabu(F)) (wybór najlepszego
uwzgl˛
edniajac
˛ informacj˛
e Tabu)
f=min(F)
IF (f<fbest)
xbest=x
fbest=f
aktualizacja struktur pami˛
eci
RETURN x
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
$
7/15
Przeszukiwanie tabu
struktury pamieci
˛
✒ pamie˛ ć bezpośrednia: informacja o wykonaniu
przemieszczenia w przestrzeni rozwiaza
˛ ń (np. zapalane
„flagi” w macierzy możliwych przejść - flagi moga˛ być
aktywne tylko w pewnym oknie czasowym)
✒ pamie˛ ć pośrednia: informacja przetworzona (najcze˛ ściej
stosunek liczby wystapie
˛ ń zdarzenia do np. liczby
wszystkich zdarzeń)
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
$
8/15
Przeszukiwanie tabu
konstrukcja zakazów i ograniczeń
✔ pamie˛ ć bezpośrednia: przejście jest tabu-aktywne jeżeli
jeden z atrybutów jest przekroczony (lub funkcja logiczna
atrybutów), istotnym parametrem jest sterowanie czasem
aktywności tabu;
✔ pamie˛ ć pośrednia: wartość parametrów (czetotliwo
˛
ści
wystepowania
˛
przejścia) jest argumentem funkcji kar i
nagród - modyfikacja funkcji jakości rozwiazania.
˛
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
$
9/15
Przeszukiwanie tabu
warunki przekraczania tabu
✖ kryterium przymusowego przekraczania tabu: wszystkie
możliwe przejścia tabu-aktywne – umożliwienie przejścia
np. o najkrótszym czasie do wygaśniecia
˛
tabu;
✖ kryterium kierunku poprawy: jeżeli w poprzednich
przejściach ich kierunek przyczyniał sie˛ do poprawy
jakości rozwiazania,
˛
to aktywność tabu w tym kierunku
może być oslabiona.
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
Przeszukiwanie rozproszone
(Scatter Search)
faza inicjujaca:
˛
wybór ziarna
WYKONUJ
X=GDgenerator(ziarno) (generacja zbioru rozwiazań
˛
X’=poprawa(X) {poprawa rozwiazań,
˛
np. lokalizacja optimum-atraktora}
RefSet= b najlepszych z X’
DOPÓKI RefSet nie zawiera założonej liczby rozwiazań
˛
faza przeszukiwania rozproszonego:
WYKONUJ
[SubSet1,SubSet2,Subset3,SubSet4] = generuj(RefSet)
C(SubSetn)=kombinacja(SubSetn)
C’(SubSetn)=poprawa(C(SubSetn))
RefSet= b najlepszych z C’(SubSetn)
DOPÓKI warunek końca algorytmu
&
$
10/15
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
$
11/15
Przeszukiwanie rozproszone
faza inicjujaca
˛
✐ wybór ziarna:
✏ przez badacza wykorzystjac
˛ heurystyczna˛ wiedze˛ o
problemie
✏ losowo - w przypadku braku powyższej wiedzy
✐ DG-generacja: równomierne rozłożenie prób wokół ziarna
✐ poprawa: proste modyfikacje rozwiaza
˛ ń w kierunku
poprawy
✐ zbiór podreczny
˛
RefSet
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
Przeszukiwanie rozproszone
faza przeszukiwania rozproszonego
$
12/15
✐ wybór zbiorów SubSetn:
✏ Subset1 - zbiór wszystkich par w RefSet
✏ Subset2 - zbiór wszystkich trójek w RefSet
✏ Subset3 - zbiór wszystkich czwórek w RefSet
✏ Subset3 - zbiór wszystkich piatek
˛
i wieciej
˛
w RefSet
✐ kombinowanie rozwiaza
˛ ń
✐ poprawa: proste modyfikacje rozwiaza
˛ ń w kierunku
poprawy
✐ aktualizacja RefSet
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
$
13/15
Systemy mrówkowe
(Ant systems)
✘ wyłacznie
˛
do zadań optymalizacji kombinatorycznej
✘ np. problem komiwojażera: poszukiwanie najkrótszej
ścieżki pomiedzy
˛
wezłem
˛
startowym i końcowym
✘ ścieżki znaczone feromonami
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
System mrówkowy
dla problemu komiwojażera
$
14/15
✘ ustalenie poczatkowego
˛
poziomu feromonu na krawedziach
˛
✘ wykonuj
✗ odparowanie cze˛ ści feromonu na wszystkich
krawedziach
˛
✗ wylosowanie miast poczatkowych
˛
i generacja ścieżek
wszystkich mrówek
✗ naniesienie nowego feromonu na krawedzie
˛
(im ścieżka
dłuższa, tym mniej feromonu)
✗ operacje dodatkowe (np. zapobieganie przesadnej
dominacji jednej ze ścieżek)
✘ dopóki warunek końca nie bedzie
˛
spełniony
&
%
'
MSI metaheurystyki – dr hab. inż. A. Obuchowicz, prof. UZ
Rój czastek
˛
(Particle swarm)
$
15/15
✎ cechy stada:
✍ bezpieczeństwo ruchu - zdolność poruszania sie˛
bezkolizyjnego z przeszkodami i innymi osobnikami
✍ rozprzestrzenianie - zdolność do rozproszenia stada w
celu ustalenia minimalnych odległości pomiedzy
˛
osobnikami
✍ skupianie - zdolność do gromadzenia sie˛ osobników w
celu ustalenia maksymalnych odległości pomiedzy
˛
osobnikami
✍ orientacja - zdolność odnajdywania pewnych punktów
w przestrzeni
&
%