Horolezecký algoritmus

Horolezecký algoritmus (hill climbing) odstraňuje problém enumerativních algoritmů, neprohledává všechny možné kombinace řešení, ale snaží se postupovat ve směru nejlepšího řešení, tedy podle největšího gradientu. Princip algoritmu se dá přirovnat k chování turistů, kteří se ztratili v horách a snaží se postupovat do nejnižší části údolí, protože ví, že je tam horská chata. Algoritmus pro aktuální řešení vygeneruje okolí sousedních bodů a v tomto okolí hledá nejlepší řešení, minimum nebo maximum. Poté se přesune do nejlepšího řešení a znovu opakuje hledání v okolí nové polohy. Proces se opakuje, dokud neproběhne předem daný počet iterací. Jedná se o gradientní metodu bez výpočtu gradientu.

Slovní popis horolezeckého algoritmu:

1.Na začátku se zvolí náhodné přípustné řešení.
2.Pro aktuální řešení se vygenerují všechna sousední řešení, pro která se vypočtou hodnoty účelové funkce.
3.Ze sousedních řešení se zvolí nové aktuální řešení, takové, které má nejnižší (nejvyšší) hodnotu účelové funkce.
4.Dokud není proveden příslušný počet iterací, pokračuje se bodem 2.

Základní slabinou horolezeckého algoritmu je stejně jako u jiných gradientních metod riziko uváznutí v lokálním extrému, tedy problém cyklického řešení.

Popis parametrů:

Parametr Popis Doporučená hodnota
Specimen Vzorové řešení Dle účelové funkci
Druh sousedství Udává jakým způsobem jsou generováni sousedé Kříž nebo náhodně ve čtverci
Velikost okolí Záleží na omezení řešené funkce Kolem 10% rozsahu
Velikost kroku Záleží na omezení řešené funkce Menší nebo rovno velikosti okolí
Maximální počet sousedů Uplatňuje se pouze při náhodné generaci sousedů Kolem 10
Počet iterací Určuje počet kroků při kterých bude zkoumána funkce Záleží na účelové funkci