Zakzan hadanie Tabu search Fred Glover koncom Tabu
Zakázané hľadanie (Tabu search) ►Fred Glover, koncom ►Tabu (alebo Taboo): 80 tych rokov § 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äť ► „Recency“ § Čas od poslednej návštevy ► „Frequency“ § Ako často sa vyskytuje ► „Quality“ § Ako výhodné je dané miesto ► „Influence“ § Aký vplyv na kvalitu majú rozhodnutia počas hľadania
Základné myšlienky ► Iteratívna procedúra hľadajúca len najlepšie riešenie sa zasekne v lokálnom minime ► Preto je potrebné spraviť aj kroky, ktoré priamo nevedú k zlepšeniu ► Vzniká riziko zacyklenia, preto sa zaviedli tzv. tabu kroky – kroky vedúce k nedávno navštíveným stavom
Základné myšlienky ► Ašpiračné podmienky ► Intenzifikácia ► Diverzifikácia
Algoritmus (pseudokód) Krok 1. Vyber počiatočné riešenie i z S. Nastav i* = i a k = 0 ► Krok 2. Nastav k = k +1 a generuj podmnožinu V z i pomocou transformácií t z T tak, že platí: t sa nenachádza v tabu zozname alebo sú splnené ašpiračné kritéria ► Krok 3. Vyber najlepšie j z množiny V a nastav i = j ► Krok 4. Ak f(i) < f(i*), i* = i ► Krok 5. Uprav tabu zoznam a ašpiračné kritériá ► Ak je splnená ukončovacia podmienka, skonči. Inak choď na krok 2. ►
K – strom (Príklad)
Evolučné programovanie ► Stochastický optimalizačný algoritmus ► Vychádza z Horolezeckého algoritmu ► Optimalizačný problém : aopt = min f(a), pričom a Є binárny priestor s dimenziou k, f je funkcia z binarneho priestoru do oboru reálnych čísel, tzv. ohodnotenie argumentu a
Algoritmus (obrázok) Podmnožina Q množiny P ► Q zmutuje na Q´, zjednotenie do množiny R ► Výber S z R, tournament => dve možnosti ► § Usporiadanie vzostupne podľa funkčnej hodnoty, prvá polovica tvorí S § |R|/2 x náhodne vyberiem dva prvky množiny R, prvok s menšou funkčnou hodnotou ide do S ► S nahradí Q v P
Algoritmus (Pseudokód) begin P : = náhodne generovaná populácia chromozómov; Stop_criterion : = false; while not stop_criterion do begin Q : = náhodne vybratá podpopulácia z P; Q´ : = Omut (Q); R : = Q u Q´; S : = Otournament (R); P : = (P Q) u S; if konvergenčné kritériá sú splnené then stop_criterion = true; end; aopt : = min f (a); end;
- Slides: 10