Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Jedinec
Inicializácia jedinca
Vhodnosť jedinca



Ostatné kapitoly
Genetické algoritmy
Genetické programovanie
Umelá embryogenéza
Evolučný dizajn
Interaktívny evolučný výpočet
Ekogramatiky
Evolučný hardware


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Inicializácia jedinca

Inicializá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).

Hore
Kontakt: Marek Bundzel