Kas ir ģenētiskā programmēšana?

Ģenētiskā programmēšana ir process, kurā tiek pilnveidotas datorprogrammas, izmantojot algoritmus, kas iedvesmoti no bioloģiskās evolūcijas. Programmēšanas valodas, kas dabiski izmanto ģenētisko programmēšanu, ir tās, kas spēj paši novērtēt savu kodu. Klasisks piemērs ir LISP, kura raksturīgā datu struktūra ir saraksts. Katra LISP programma ir uzrakstīta kā saraksts, tāpēc LISP programmas ir ļoti labas, lai manipulētu ar LISP programmām un tās ģenerētu.

Kā tas darbojas?

Ģenētiskā programma sākas ar instrukciju kopumu, kas kalpo kā "hromosomas" un "fitnesa funkcija", kas nosaka, kuri rezultāti ir ideāli. Instrukcijas tiek kombinētas nejauši, lai iegūtu pirmo programmu "paaudzi", un pēc tam šīs individuālās programmas pārbauda to piemērotības pārbaudei.

"Audzēšanai" tiek izvēlētas vistuvākās programmas - tās, kas ir vistuvāk fitnesa funkcijas definētajai uzvedībai. Kvalitatīvāko programmu hromosomas ir apvienotas, līdzīgi kā ģenētiskais kods ir apvienots bioloģiskajā audzēšanā. Dažas hromosomas tiek "pārsniegtas" (apmainītas) ar citām programmām, un dažas ir "mutētas" - mainītas nejauši iepriekš noteiktā veidā. Var tikt saražotas tūkstošiem vai pat miljonu programmu, katrai paaudzei tuvojoties un tuvojoties vēlamā rezultāta sasniegšanai.

Instrukcijas, programmēšanas noteikumi