Čo je genetické programovanie?

Genetické programovanie je proces zlepšovania počítačových programov pomocou algoritmov inšpirovaných biologickou evolúciou. Programovacie jazyky, ktoré sú prirodzene vhodné pre genetické programovanie, sú schopné hodnotiť svoj vlastný kód natívne. Klasickým príkladom je LISP, ktorého charakteristickou dátovou štruktúrou je zoznam. Každý program LISP je napísaný ako zoznam, takže programy LISP sú veľmi dobré pri manipulácii a vytváraní programov LISP.

Ako to funguje?

Genetický program začína súborom inštrukcií, ktoré slúžia ako „chromozómy“ a „fitness funkcia“, ktorá určuje, ktoré výsledky sú ideálne. Pokyny sa náhodne kombinujú, aby sa vytvorila prvá "generácia" programov, a potom sa jednotlivé programy testujú na ich vhodnosť.

Najvhodnejšie programy - tie, ktoré sú najbližšie k dosiahnutiu správania definovaného fitness funkciou - sú vybrané pre "šľachtenie". Chromozómy najvhodnejších programov sú kombinované, podobne ako genetický kód je kombinovaný v biologickom šľachtení. Niektoré chromozómy sú "prekrížené" (vymenené) s tými v iných programoch a niektoré sú "mutované" - zmenené náhodne vopred definovaným spôsobom. Tisíce alebo dokonca milióny programov sa môžu vyrábať, pričom každá generácia sa približuje k dosiahnutiu požadovaného výsledku.

Pokyny, podmienky programovania