Bazy danych

Transkrypt

Bazy danych
2011-03-30
PLAN WYKŁADU
Przeszukiwanie lokalne
Reguła Metropolisa
 Symulowane wyżarzanie
 Tabu search


OPTYMALIZACJA GLOBALNA
Wykład 7
dr inż. Agnieszka Bołtuć
HEURYSTYKI
METAHEURYSTYKI
z greckiego: heuresis – odnaleźć, odkryć, heureka
– znalazłem
 metoda znajdowania rozwiązań, dla której nie ma
gwarancji znalezienia rozwiązania optymalnego, a
często nawet prawidłowego,
 dają „dostatecznie dobry” wynik, ale nie gwarantują
go we wszystkich przypadkach,
 rozwiązań tych używa się np. wtedy, gdy pełny
algorytm jest z przyczyn technicznych zbyt
kosztowny, gdy jest nieznany lub do określania
wyników przybliżonych,


heurystyki nadrzędne, sterujące w procesie
iteracyjnego przeszukiwania heurystykami niższego
rzędu,
 w ostatnich kilkudziesięciu latach opracowano wiele
niekonwencjonalnych metod heurystycznego
przeszukiwania, inspirowanych często
mechanizmami fizycznymi lub biologicznymi,
zaliczanych obecnie do rzędu metaheurystyk,
1
2011-03-30
KLASYFIKACJA HEURYSTYK
jedno rozwiązanie
bieżące
„samotnego poszukiwacza”
PRZESZUKIWANIE HEURYSTYCZNE



Najprostszy,
Bazuje na zachowaniu ludzkim,
Zachowanie to skłania do przeszukiwania wszystkich
możliwych przypadków,
Schemat:
while (!empty(zbior))
{
inicjalizacja Xi
ocena Xi
if ( Xi gorszy od Xi-1)
{ rozw=Xi-1 }
else
{ rozw=Xi }
}
Algorytmy pełnego przeglądu,

Algorytmy pełnego przeglądu z warunkiem stopu,

Przeszukiwanie lokalne,
wiele rozwiązań
bieżących
„populacyjne”
ALGORYTMY PEŁNEGO PRZEGLĄDU


ALGORYTMY PEŁNEGO PRZEGLĄDU

Koszt liniowy – bo liczba porównań zawsze równa
liczności zbioru, tylko wtedy istnieje pewność o
optymalności,

Np. zadanie komiwojażera ma 2 dopuszczalnych
rozwiązań, a zadania praktyczne zmuszają do
przyjęcia zbioru nawet miliona miast,

Jeśli liczba rozwiązań rośnie wykładniczo wraz z
rozmiarem zadania, to algorytm pełnego przeglądu
przestaje mieć praktyczne zastosowanie.
(N 1)!
2
2011-03-30
ALGORYTMY PEŁNEGO PRZEGLĄDU Z
PRZESZUKIWANIE LOKALNE
WARUNKIEM STOPU

Modyfikacja algorytmu pełnego przeglądu,

Zakładamy, że po przerwaniu algorytmu w
dowolnym kroku mamy jakieś rozwiązanie, dlatego
też można wprowadzić warunek stopu, a wynikiem
będzie heurystyka będąca prototypem do bardziej
złożonej metody.
Opierają sie na koncepcji “odległości” lub
“podobieństwa” rozwiązań, wynikającej bądź z
naturalnej, bądź ze sztucznie nałożonej struktury
tychże rozwiązań,
 W praktyce do wytworzenia rozwiązań-kandydatów
używa sie ustalonego zestawu transformacji
rozwiązań bieżących: heurystyki samotnego
poszukiwacza - jednoargumentowe transformacje
lokalne (tzw. mutacje), heurystyki populacyjne oprócz transformacji lokalnych mamy dwu- lub
wieloargumentowe transformacje mieszające,
znane też pod nazwą rekombinacji.

PRZESZUKIWANIE LOKALNE
HEURYSTYKA LOKALNYCH ULEPSZEŃ
dla każdego rozwiązania określa sie zbiór
rozwiązań sąsiednich, tzw. sąsiedztwo,
 mając dany zestaw transformacji lokalnych


i
:S
N ( x)
i
( x), i I
x S
Losowanie rozwiązania początkowego,
W otoczeniu tego rozwiązania szukane jest rozwiązanie
lepszej jakości, które staje się rozwiązaniem bazowym,
 W kolejnych iteracjach szukamy nowego rozwiązania w
otoczeniu aktualnego,
 Kończymy gdy w otoczeniu nie można znaleźć lepszego
rozwiązania.

S, i I
definiujemy sąsiedztwo elementu
najprostszy wariant heurystyki samotnego
poszukiwacza,
 Etapy:

jako
3
2011-03-30
HEURYSTYKA LOKALNYCH ULEPSZEŃ

Rozwiązanie uzyskane za pomocą takiego algorytmu
jest optimum lokalnym,

Używając metafory wspinaczki, jest to szczyt, na który
dostajemy sie idąc wyłącznie pod gorę; z tego względu
heurystyki lokalnych ulepszeń nazywane są tez
algorytmami wspinaczkowymi (ang. hill-climbing),

Ciąg rozwiązań bieżących tworzonych przez heurystykę
lokalnych ulepszeń jest ciągiem ściśle monotonicznym
ze względu na funkcje oceny, dlatego nazywamy je
heurystykami monotonicznymi.
PRZYKŁADY STRUKTUR SĄSIEDZTWA

Reprezentacja binarna
Transformacja lokalna polega na zamianie wartości
jednego elementu wektora
j
( x1 , x2 ,, x j ,, xm ) ( x1 , x2 ,,1 x j ,, xm )
Nazywamy je mutacjami punktowymi, gdyż
sąsiedztwo składa się z wektorów różniących się od
danego jednym elementem, tzn. odległych o 1 w
sensie metryki Hamminga:
m
H
( x, y)
xj
yj
1
STRATEGIE PRZESZUKIWANIA LOKALNEGO
największego spadku
pierwszego ulepszenia
przeszukiwanie całego
otoczenia i wybranie
najlepszego rozwiązania
podczas każdej iteracji
brane jest tylko jedno
rozwiązanie należące do
sąsiedztwa, jeśli jest
lepsze to staje się nowym
PRZYKŁADY STRUKTUR SĄSIEDZTWA

Punkt w przestrzeni Rn
W przestrzeni Rn sąsiedztwem punktu x jest
hipersfera o środku w punkcie x i promieniu ε,

Permutacje
W permutacji n-elementowej można zdefiniować
sąsiedztwa jako następujące typy:

INSERT

SWAP

INVERT
j 1
4
2011-03-30
PRZYKŁADY STRUKTUR SĄSIEDZTWA
PRZYKŁADY STRUKTUR SĄSIEDZTWA

INSERT
prosta transformacja lokalna - transpozycja dwóch
elementów, para liczb (i,j) powoduje usunięcie go z
pozycji i-tej i wstawienie na pozycję j-tą

INSERT (i,j)
P=<1,…, i-1, i, i+1,…, j-1, j, j+1, …, n>
P*=<1,…, i-1, j, i, i+1,…, j-1, j+1, …, n>
INSERT (2,4)
P=<1,2,3,4,5,6,7,8,9>
P*=<1,4,2,3,5,6,7,8,9>
SWAP (i,j)
P=<1,…, i-1, i, i+1,…, j-1, j, j+1, …, n>
P*=<1,…, i-1, j, i+1,…, j-1, i, j+1, …, n>
SWAP (2,4)
P=<1,2,3,4,5,6,7,8,9>
P*=<1,4,3,2,5,6,7,8,9>
PRZYKŁADY STRUKTUR SĄSIEDZTWA
METODY UNIKANIA OPTIMÓW LOKALNYCH
INVERT
bardziej zaawansowany rodzaj transformacji zamiany z odwróceniem, polegają na odwróceniu
całego segmentu permutacji miedzy pozycjami i, j
(włącznie z końcami)
SWAP
prosta transformacja lokalna - transpozycja dwóch
elementów, zamienia pozycje elementów (i, j) w
permutacji

INVERT (i,j)
P=<1,…, i-1, i, i+1,…, j-1, j, j+1, …, n>
P*=<1,…, i-1, j, j-1,…, i+1, i, j+1, …, n>
INVERT (2,5)
P=<1,2,3,4,5,6,7,8,9>
P*=<1,5,4,3,2,6,7,8,9>

Metoda wielostartu

Metoda wielostartu ze zmodyfikowaniem bieżącego
położenia,

Heurystyki niemonotoniczne
5
2011-03-30
METODA WIELOSTARTU ZE ZMODYFIKOWANIEM
METODA WIELOSTARTU


Wielokrotne uruchamianie algorytmu lokalnych
ulepszeń z różnymi losowo wybranymi punktami
startowymi, gdy zostanie zauważona stagnacja
algorytmu,
BIEŻĄCEGO POŁOŻENIA

Podobny do wielostartu,

Przy stagnacji algorytm jest przerywany i
uruchamiany po raz kolejny, jednak punktem
startowym nie jest punkt wygenerowany losowo a
brane jest rozwiązanie bieżące lekko
zmodyfikowane,

Pozwala to na uwzględnienie pracy wykonanej
dotychczas i opuszczenie minimum lokalnego w
którym algorytm mógł utknąć,
Jako wynik ostateczny przyjmuje sie najlepsze
rozwiązanie końcowe ze wszystkich wykonań.
HEURYSTYKI NIEMONOTONICZNE
REGUŁA METROPOLISA

Opierają się na rezygnacji z monotoniczności, czyli
dopuszczają do wybrania rozwiązania gorszego,
x – rozwiązanie bieżące
y – rozwiązanie kandydat

Odstępstwo takie nie może być zbyt radykalne,
gdyż grozi to utraceniem mechanizmu
ukierunkowującego prowadzenie poszukiwań ku
rozwiązaniu optymalnemu,
x*=
y gdy f(y) lepsze niż f(x) akceptacja bezwarunkowa
y gdy f(y) gorsze niż f(x) akceptacja z prawdopodobieństwem
p exp( f ( x)

Postępuje się zgodnie z regułą Metropolisa.
f ( y) / T )
gdzie T- parametr rzeczywisty, zwany temperaturą, T>0,
6
2011-03-30
REGUŁA METROPOLISA

SYMULOWANE WYŻARZANIE
Dobierając T określamy siłę selekcji
 gdy T
0 to p 0 i otrzymujemy regułę
selekcji z heurystyk monotonicznych,


gdy T
losowe,
to p
Mateheurystyka będąca połączeniem dwóch
heurystyk: lokalnego przeszukiwania z regułą
selekcji Metropolisa oraz tzw. schematu chłodzenia
regulującego dynamicznie temperaturę,

Wywodzi się z technologii stosowanych w
metalurgii i wytopie szkła.
1 i otrzymujemy błądzenie
dla wartości pośrednich prawdopodobieństwo
akceptacji gorszego rozwiązania maleje wraz
z różnicą jakości.
SYMULOWANE WYŻARZANIE


SCHEMATY CHŁODZENIA
Schemat
wylosuj rozwiązanie początkowe
i=0
T
(0)
while (!stop)
{
x= RM(T, x, losuj (N(x)))
i=i+1
T
}
x
(i )

x D
Schemat logarytmiczny (Boltzmanna)
(k )
STOP – gdy
temperatura poniżej
progu wybranego w
okolicy 0

1
(1 log( k ))
Schemat liniowy (Cauchego)
(k )

1
k
Schemat geometryczny
(k )
ak ,
gdzie 0 a 1
7
2011-03-30
SCHEMATY CHŁODZENIA

Najpewniejszy – schemat logarytmiczny, jednak
bardzo wolny (średni czas porównywalny z
rozmiarem przestrzeni),

Najszybszy – geometryczny,

W każdym ze schematów trzeba odpowiednio
dobrać temperaturę początkową.
TABU SEARCH

Zwany przeszukiwaniem z tabu,

Jest algorytmem samotnego poszukiwacza,
stanowiącym niemonotoniczne rozwiniecie
deterministycznej heurystyki lokalnych ulepszeń,

Zostało wymyślone przez prof. Freda Glovera w
latach osiemdziesiątych.
TABU SEARCH - ZASADY
TABU SEARCH
Rozwiązanie bieżące zawsze jest zastępowane
przez najlepsze z danego otoczenia, nawet jeśli jest
gorszej jakości,
 Zastosowano tu metodę dynamicznego sąsiedztwa,
aby uniknąć powtarzania punktów bieżących –
polega ona na okrojeniu sąsiedztwa poprzez
wyeliminowanie rozwiązań, które były już
zaakceptowane jako bieżące,
 Te wcześniej zaakceptowane tworzą listę TABU,
której zakazy mają charakter czasowy,


Istnieją odstępstwa od zakazu, tzw. kryteria
przekraczania TABU :
Jakość nowego rozwiązania jest lepsza od
wszystkich poprzednich,
 Wszystkie propozycje przejść do sąsiadów są
objęte TABU (kryterium przymusowego
przekraczania TABU),
 Jakość rozwiązania jest zdecydowanie lepsza
od aktualnej,

8
2011-03-30
W YKŁAD PRZYGOTOWANO NA PODSTAWIE
TABU SEARCH - SCHEMAT
utwórz rozwiązanie początkowe x D
T=0
while (!stop)
{
x= RT(x, Nd(x,T))
uaktualnij T
T - lista TABU
RT – reguła selekcji z
}
kryterium przekraczania
Nd – sąsiedztwo
x
K. Trojanowski, „Metaheurystyki praktyczne”, WIT,
2005,
 K. Grygiel, „Metaheurystyki, notatki do wykładu”,
UW,
 J. Arabas „Wykłady z algorytmów ewolucyjnych”,
WNT, 2001,
 Z. Michalewicz „Algorytmy genetyczne + struktury
danych = programy ewolucyjne”, WNT, 1992,

dynamiczne zależne od listy
tabu
9