Skip to main content

Hvad er genetisk programmering?

Genetisk programmering er processen med at bruge et computerprogram til at skrive et andet computerprogram ved hjælp af evolutionær algoritme-baseret metodologi.Denne proces sammenlignes ofte med lineær programmering, hvor programmøren skriver specifikke instruktioner til computeren til at udføre.Lisp og ordning er de mest almindelige programmeringssprog for denne type arbejde på grund af deres funktionalitet og fleksibilitet på højt niveau.Som et resultat af dens konceptuelle lighed med biologisk udvikling citeres genetisk programmering ofte som et eksempel på bioinspireret computing.

Genetiske programmer (GPS) arbejde ved at generere og køre tusinder af programmer og vælger det mest effektive at bruge.For eksempel kan en læge bruges til at oprette et program til at tegne en skitse af et fotografi.Den første ting, som gpen ville gøre, er at oprette et sæt programmer, der bruger forskellige computertegningsfunktioner i tilfældige kombinationer.Derefter kørte fastlegen hvert af disse programmer i rækkefølge og udsender resultaterne af hver til billedfiler.

Det næste trin for fastlegen er at vælge det bedste af disse programmer fra sættet.Denne proces er generelt den vanskeligste del af genetisk programmering.I tilfælde af tegningsprogrammet ville GP bruge billedsammenligningssoftware til at bestemme, hvilken af de tilfældige tegninger, der var mest ligner det billede, som softwaren forsøgte at tegne.Af de tilfældigt genererede programmer ville fastlegen vælge top flere og kassere resten.Udvælgelsesprocessen er kendt som fitnessevaluering og betragtes generelt som den vanskeligste del af genetisk programmering.

Når de øverste par programmer er valgt, vil fastlegen bruge dem som grundlag for en ny batch af programmer.Hver ny batch kaldes en generation.De to måder at skabe den nye generation er mutation og crossover.Mutation fungerer ved at tage et af de eksisterende programmer og foretage tilfældige ændringer til det, forhåbentlig til det bedre.Crossover, også kaldet avl, værker ved at tage to af de bedste programmer og kombinere elementer af dem for at oprette nye programmer.

Efter at have oprettet en ny batch af programmer, gentager fastlæge processen med at køre og evaluere dem og gentager derefter valget, eliminering og generationsprocesser.GPS kører ofte hundreder af generationer, før de finder et enkelt program med et tilfredsstillende resultat.På trods af denne begrænsning er genetisk programmering en almindelig måde at løse nogle typer vanskelige computerproblemer på, herunder robotteknik og kunstige intelligensproblemer.