Vad är genetisk programmering?
genetisk programmering är processen att använda ett datorprogram för att skriva ett annat datorprogram med hjälp av 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) -arbete 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. Då skulle allmänläkaren köra vart och ett av dessa program i ordning och 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 kasta resten. Urvalsprocessen kallas fitnessutvärdering och anses generellt 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 en ny grupp 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 ändringar i det, förhoppningsvis förJu 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 sedan upprepar val, eliminering och genereringsprocesser. 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.