Mis on geneetiline programmeerimine?

Geneetiline programmeerimine on protsess, mille käigus täiustatakse arvutiprogramme, kasutades bioloogilisest arengust inspireeritud algoritme. Geneetilisele programmeerimisele loomulikult sobivad programmeerimiskeeled on need, kes suudavad oma koodi oma olemuselt hinnata. Klassikaline näide on LISP, mille iseloomulik andmestruktuur on nimekiri. Iga LISP programm on kirjutatud loendina, nii et LISP-programmid on väga head LISP-programmide töötlemiseks ja genereerimiseks.

Kuidas see töötab?

Geneetiline programm algab käsuga "kromosoomid" ja "fitnessfunktsioon", mis määrab, millised tulemused on ideaalsed. Juhised kombineeritakse juhuslikult, et luua programmide esimene "põlvkond", ja seejärel testitakse nende individuaalsete programmide sobivust.

"Aretamiseks" valitakse kõige sobivamad programmid - need, mis lähevad kõige paremini sobivuse funktsiooniga määratletud käitumise saavutamisele. Kõige sobivamate programmide kromosoomid on kombineeritud, bioloogilises aretuses kombineeritakse sarnaselt geneetilise koodiga. Mõned kromosoomid ületatakse (vahetatakse) teiste programmidega, ja mõned neist on "muteeritud" - muutunud juhuslikult eelnevalt määratletud viisil. Võib toota tuhandeid või isegi miljoneid programme, kusjuures iga põlvkond jõuab soovitud tulemuse saavutamisele lähemale ja lähemale.

Juhised, programmeerimise tingimused