Skip to main content

Hva er genetisk programmering?

Genetisk programmering er prosessen med å bruke ett dataprogram for å skrive et annet dataprogram ved hjelp av evolusjonsalgoritmebasert metodikk.Denne prosessen blir ofte sammenlignet med lineær programmering, der programmereren skriver spesifikke instruksjoner for datamaskinen å utføre.LISP og ordning er de vanligste programmeringsspråkene for denne typen arbeid på grunn av deres funksjonalitet og fleksibilitet på høyt nivå.Som et resultat av dens konseptuelle likhet med biologisk evolusjon, blir genetisk programmering ofte sitert som et eksempel på bioinspirert databehandling.

Genetiske programmer (GPS) arbeid ved å generere og kjøre tusenvis av programmer og velger det mest effektive å bruke.For eksempel kan en fastlege brukes til å lage et program for å tegne en skisse av et fotografi.Det første som fastlegen vil gjøre er å lage et sett med programmer som bruker forskjellige datategningsfunksjoner i tilfeldige kombinasjoner.Da kjørte fastlegen hvert av disse programmene i orden, og utstedte resultatene fra hver til å bildefiler.

Neste trinn for fastlegen er å velge det beste av disse programmene fra settet.Denne prosessen er generelt den vanskeligste delen av genetisk programmering.Når det gjelder tegningsprogrammet, ville fastlegen bruke programvare for bildesammenligning for å bestemme hvilke av de tilfeldige tegningene som var mest lik det bildet programvaren forsøkte å tegne.Av de tilfeldig genererte programmene ville fastlegen velge topp flere og kaste resten.Utvelgelsesprosessen er kjent som treningsevaluering, og anses generelt for å være den vanskeligste delen av genetisk programmering.

Når de få programmene er valgt, vil fastlegen bruke dem som grunnlag for en ny gruppe programmer.Hver nye batch kalles en generasjon.De to måtene å skape den nye generasjonen er mutasjon og crossover.Mutasjon fungerer ved å ta et av de eksisterende programmene og gjøre tilfeldige endringer i det, forhåpentligvis til det bedre.Crossover, også kalt avl, fungerer ved å ta to av toppprogrammene og kombinere elementer av dem for å lage nye programmer.

Etter å ha laget en ny gruppe programmer, gjentar fastlegen prosessen med å kjøre og evaluere dem, og gjentar deretter utvalget, eliminering og generasjonsprosesser.GPS vil ofte kjøre hundrevis av generasjoner før du finner et enkelt program med et tilfredsstillende resultat.Til tross for denne begrensningen, er genetisk programmering en vanlig måte å løse noen typer vanskelige dataproblemer, inkludert robotteknikk og kunstig intelligensproblemer.