Skip to main content

Vad är genetisk programmering?

Genetisk programmering är processen att använda ett datorprogram för att skriva ett annat datorprogram med evolutionär algoritmbaserad metodik.Denna process jämförs ofta med linjär programmering, där programmeraren skriver specifika instruktioner för datorn att utföra.Lisp och schema är de vanligaste programmeringsspråken för denna typ av arbete på grund av deras funktionalitet och flexibilitet på hög nivå.Som ett resultat av dess konceptuella likhet med biologisk utveckling citeras ofta genetisk programmering som ett exempel på bioinspirerad datoranvändning.

Genetiska program (GPS) fungerar genom att generera och driva tusentals program och väljer det mest effektiva att använda.Till exempel kan en läkare användas för att skapa ett program för att rita en skiss av ett fotografi.Det första som allmänläkaren skulle göra är att skapa en uppsättning program som använder olika datorritningsfunktioner i slumpmässiga kombinationer.Sedan skulle läkare köra vart och ett av dessa program för att mata ut resultaten från var och en till bildfiler.

Nästa steg för GP är att välja det bästa av dessa program från uppsättningen.Denna process är i allmänhet den svåraste delen av genetisk programmering.När det gäller ritningsprogrammet skulle allmänläkaren använda bildjämförelseprogramvara för att bestämma vilka av slumpmässiga ritningar som var mest lik den bild som programvaran försökte rita.Av de slumpmässigt genererade programmen skulle allmänläkaren välja topp flera och kassera resten.Urvalsprocessen kallas fitnessutvärdering och anses i allmänhet vara den svåraste delen av genetisk programmering.

När de bästa få programmen har valts kommer fastighetsläkaren att använda dem som grund för ett nytt parti av program.Varje ny sats kallas en generation.De två sätten att skapa den nya generationen är mutation och crossover.Mutation fungerar genom att ta ett av de befintliga programmen och göra slumpmässiga förändringar i det, förhoppningsvis till det bättre.Crossover, även kallad avel, fungerar genom att ta två av de bästa programmen och kombinera element av dem för att skapa nya program.

Efter att ha skapat ett nytt parti program, upprepar GP processen att köra och utvärdera dem och upprepar sedan urvalet, eliminering och produktionsprocesser.GPS kommer ofta att köra hundratals generationer innan du hittar ett enda program med ett tillfredsställande resultat.Trots denna begränsning är genetisk programmering ett vanligt sätt att lösa vissa typer av svåra datorproblem, inklusive robotteknik och problem med konstgjord intelligens.