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


Jedinec

Jedincom je hierarchicky členený počítačový program, ktorého veľkosť, forma a obsah sa môže počas evolučného procesu meniť. Je tvorený funkciami a terminálmi. Každý počítačový program môže byť vyjadrený ako orientovaný strom, kde vnútorné uzly stromu sú funkcie a listové uzly terminály. Každý rodičovský uzol je funkcia a jednotliví synovia sú jej argumentami. Takýto jednoduchý príklad jedinca Genetického programovania môžete vidieť na nasledujúcom obrázku:

Jedinec reprezentujúci program „x*(x+1)“

Množina prípustných funkcií môže obsahovať :

  • aritmetické operácie (+,-,* , apod)
  • matematické funkcie (sin, cos, exp, ...)
  • boolovské funkcie (AND, OR ...)
  • podmienené operátory (napr. if-then-else)
  • cyklické funkcie (napr. do-until)
  • rekurzívne funkcie
  • ľubovolné funkcie definované užívateľom

Terminálmi môžu byť premenné (predstavujúce vstupy detektorov, či senzorov), konštanty (reálne, boolovské ...) a príležitostne i funkcie, výstupy ktorých predstavujú stav dôležitých vonkajších podmienok .

Množina funkcií i terminálov musia spĺňať dve základné podmienky :

  • uzavretosť všetky funkcie musia byť schopné prijať ostatné funkcie alebo ľubovolný z terminálov ako svoj argument. Túto podmienku môžeme splniť úpravou problematických funkcií (ošetrenie 0 pre funkciu /, či úprava boolovských funkcií tak, aby ich hodnoty boli reálne (1,0 miesto
    True
    ,
    False
    ).
  • dostatočnosť odpoveď na otázku, či množina primitívnych funkcií a množina terminálov sú schopné vyjadriť riešenie daného problému je často podmienená len intuíciou a skúsenosťami programátora .

Hore
Kontakt: Marek Bundzel