Prírodou inšpirované algoritmy
študijné materiály pre projekt mobilnej triedy umelej inteligencie
|
|
Inicializácia jedincaInicializácia jedinca v prvotnej populácii predstavuje generovanie stromu, s koreňom, označenými uzlami a orientovanými hranami. Uzlom grafu sú priradené prvky množín F a T . V zásade existujú dva základné druhy inicializácie jedinca (Koza, 1992):
- Metóda Full umožňuje vytvárať jedincov, u ktorých majú všetky cesty od koreňa stromu k ľubovolnému listovému uzlu konštantnú dĺžku
max_depth . Selekcia uzla grafu je riadená hĺbkou aktuálnej vetvy h . Ak je h menšia ako max_depth vyberá sa náhodne funkcia (prvok množiny F ), ak je h rovná max_depth vyberá sa náhodne terminál (prvok množiny T ) a rozvíjanie aktuálnej vetvy sa tým ukončí .
- Metóda Grow umožňuje vytvárať jedincov s rôzne hlbokými cestami od koreňa k ľubovolnému listovému uzlu. Ak je hĺbka aktuálnej vetvy
h menšia ako max_depth , vyberá sa náhodne prvok zjednotenia množín F, T, v prípade, že h je rovná max_depth vyberá sa náhodne terminál (prvok množiny T ).
Kombináciou týchto dvoch základných metód je
Metóda
Half-and-half
- táto metóda zabezpečuje približne rovnomerné rozdelenie hĺbky stromov jedincov. Nech požadovaný počet inicializovaných jedincov je P a maximálna povolená hĺbka stromov je max_depth . Rozdelíme množinu inic. jedincov na max_depth - 1 častí. Každej časti priradíme postupne maximálnu hĺbku 2,3,...,max_depth . Následne vygenerujeme 50% jedincov každej časti metódou Full a 50% jedincov každej časti metódou Grow (pri použití priradených maximálnych hĺbok).
|
|
Kontakt: Marek Bundzel |