zakázané hľadanie (tabu search)
DESCRIPTION
Zakázané hľadanie (Tabu search). Fred Glover, koncom 80tych rokov Tabu (alebo Taboo): Podľa slovníka: “zákaz, za účelom ochrany” V kontexte “Tabu Search”: obmedzenie v rámci prehľadávaného priestoru, s cieľom zabrániť cyklom a opakovanému návratu k nepotrebným riešeniam Meta-heuristické - PowerPoint PPT PresentationTRANSCRIPT
Zakázané hľadanie (Tabu search)
►Fred Glover, koncom 80tych rokov►Tabu (alebo Taboo):
Podľa slovníka: “zákaz, za účelom ochrany” V kontexte “Tabu Search”: obmedzenie v rámci prehľadávaného priestoru, s cieľom zabrániť cyklom a opakovanému návratu k nepotrebným riešeniam Meta-heuristické Neexistuje formálny dôkaz konvergencie Iteratívne prehľadávanie okolia
Hlavné vlastnosti zakázaného hľadania
►Adaptívna pamäť obsahuje oblasť, ktorá už bola prehľadaná Prospieva k efektívnejšiemu a
úspornejšiemu prehľadávaniu
► Responzívne prehľadávanie Algoritmus sa učí z dobrých aj zlých
riešení, ktoré už boli nájdené
PamäťPamäť
► „„Recency“Recency“ Čas od poslednej Čas od poslednej
návštevynávštevy
► „„Frequency“Frequency“ Ako často sa vyskytujeAko často sa vyskytuje
► „„Quality“Quality“ Ako výhodné je dané Ako výhodné je dané
miestomiesto
► „„Influence“Influence“ Aký vplyv na kvalitu Aký vplyv na kvalitu
majú rozhodnutia počas majú rozhodnutia počas hľadania hľadania
Základné myšlienkyZákladné myšlienky
► Iteratívna procedúra hľadajúca len Iteratívna procedúra hľadajúca len najlepšie riešenie sa zasekne v najlepšie riešenie sa zasekne v lokálnom minimelokálnom minime
►Preto je potrebné spraviť aj kroky, Preto je potrebné spraviť aj kroky, ktoré priamo nevedú k zlepšeniuktoré priamo nevedú k zlepšeniu
►Vzniká riziko zacyklenia, preto sa Vzniká riziko zacyklenia, preto sa zaviedli tzv. tabu kroky – kroky vedúce zaviedli tzv. tabu kroky – kroky vedúce k nedávno navštíveným stavomk nedávno navštíveným stavom
Základné myšlienkyZákladné myšlienky
► Ašpiračné Ašpiračné podmienky podmienky
► IntenzifikáciaIntenzifikácia►DiverzifikáciaDiverzifikácia
Algoritmus (pseudokód)Algoritmus (pseudokód)
► Krok 1. Vyber počiatočné riešenie i z S. Nastav i* = i Krok 1. Vyber počiatočné riešenie i z S. Nastav i* = i a k = 0a k = 0
► Krok 2. Nastav k = k +1 a generuj podmnožinu V z i Krok 2. Nastav k = k +1 a generuj podmnožinu V z i pomocou transformácií t z T tak, že platí: t sa pomocou transformácií t z T tak, že platí: t sa nenachádza v tabu zozname alebo sú splnené nenachádza v tabu zozname alebo sú splnené ašpiračné kritériaašpiračné kritéria
► Krok 3. Vyber najlepšie j z množiny V a nastav i = jKrok 3. Vyber najlepšie j z množiny V a nastav i = j► Krok 4. Ak f(i) Krok 4. Ak f(i) << f(i*), i* = i f(i*), i* = i► Krok 5. Uprav tabu zoznam a ašpiračné kritériáKrok 5. Uprav tabu zoznam a ašpiračné kritériá► Ak je splnená ukončovacia podmienka, skonči. Inak Ak je splnená ukončovacia podmienka, skonči. Inak
choď na krok 2.choď na krok 2.
K – strom (Príklad)K – strom (Príklad)
Evolučné programovanieEvolučné programovanie
►Stochastický optimalizačný algoritmusStochastický optimalizačný algoritmus►Vychádza z Horolezeckého algoritmuVychádza z Horolezeckého algoritmu►Optimalizačný problém : aOptimalizačný problém : aoptopt = min = min
f(a), pričom a f(a), pričom a ЄЄ binárny priestor s binárny priestor s dimenziou k, f je funkcia z binarneho dimenziou k, f je funkcia z binarneho priestoru do oboru reálnych čísel, tzv. priestoru do oboru reálnych čísel, tzv. ohodnotenie argumentu aohodnotenie argumentu a
Algoritmus (obrázok)Algoritmus (obrázok)
► Podmnožina Q množiny PPodmnožina Q množiny P► Q zmutuje na Q´, Q zmutuje na Q´,
zjednotenie do množiny zjednotenie do množiny RR
► Výber S z R, tournament Výber S z R, tournament ==>> dve možnosti dve možnosti Usporiadanie vzostupne Usporiadanie vzostupne
podľa funkčnej hodnoty, podľa funkčnej hodnoty, prvá polovica tvorí Sprvá polovica tvorí S
|R|/2x n|R|/2x náhodne vyberiem áhodne vyberiem dva prvky množiny R, dva prvky množiny R, prvok s menšou funkčnou prvok s menšou funkčnou hodnotou ide do Shodnotou ide do S
► S nahradí Q v PS nahradí Q v P
Algoritmus (Pseudokód)Algoritmus (Pseudokód)
beginbegin P := náhodne generovaná populácia P := náhodne generovaná populácia chromozómov;chromozómov;Stop_criterion := false;Stop_criterion := false; whilewhile not stop_criterion not stop_criterion dodo
beginbegin Q := náhodne vybratá podpopulácia z Q := náhodne vybratá podpopulácia z P;P;
Q´ := OQ´ := Omutmut (Q); (Q);R := Q u Q´;R := Q u Q´;S := OS := Otournamenttournament (R); (R);P := (P P := (P \\ Q Q) u S;) u S;ifif konvergenčné kritériá sú splnené konvergenčné kritériá sú splnené thenthen
stop_criterion = true;stop_criterion = true;endend;;aaopt := min f (a);opt := min f (a);
endend;;