Vad är genetisk programmering?

Genetisk programmering är processen att förbättra datorprogram med hjälp av algoritmer inspirerade av biologisk utveckling. Programmeringsspråk som låter sig naturligt för genetisk programmering är de som kan utvärdera sin egen kod nativt. Ett klassiskt exempel är LISP, vars karakteristiska datastruktur är en lista. Varje LISP-program är skrivet som en lista, så LISP-program är mycket bra att manipulera och generera LISP-program.

Hur fungerar det?

Ett genetiskt program börjar med en uppsättning instruktioner som fungerar som "kromosomer" och en "fitnessfunktion" som bestämmer vilka resultat som är idealiska. Instruktionerna kombineras slumpmässigt för att producera en första "generation" av program, och sedan testas de enskilda programmen för deras skicklighet.

De hårdaste programmen - de som kommer närmast att uppnå det beteende som definieras av träningsfunktionen - väljs för "uppfödning". Kromosomerna i de fittesta programmen kombineras, precis som genetisk kod kombineras i biologisk uppfödning. Vissa kromosomer är "överkorsade" (utbyts) med de i andra program, och vissa är "muterade" - ändras slumpmässigt på ett fördefinierat sätt. Tusentals eller till och med miljontals program kan produceras, där varje generation kommer närmare och närmare uppnå ett önskat resultat.

Instruktioner, Programmeringsvillkor