Hva er genetisk optimalisering?
Genetisk optimalisering er bruk av programmeringsalgoritmer for å finne den beste løsningen på et problem. Dette har sin opprinnelse i arbeidet med matematikere som startet allerede på 1950-tallet som tok modeller de så i biologien og anvendte dem på ikke-lineære problemer som var vanskelige å løse på konvensjonelle måter. Ideen er å etterligne biologi, som utvikler seg gjennom generasjoner for å skape en størst mulig befolkning. I programmering er det mulig å simulere denne prosessen for å komme opp med en kreativ løsning på et problem.
Ikke-lineære problemer kan være utfordrende for matematikere. Et eksempel kan sees i verdipapirhandel, der det kan være en rekke mulige beslutninger som raskt avgrenes for å skape et valg av tre. Å uavhengig beregne sannsynlighetene knyttet til hvert valg ville være veldig tidkrevende. Matematikeren kan også savne en optimal løsning ved å ikke kombinere mulige valg for å utforske nye permutasjoner. Genetisk optimalisering lar forskere foreta beregninger av denne art på en mer effektiv måte.
Forskeren starter med et emne av interesse, kjent som en "befolkning", som kan deles inn i individer, noen ganger kjent som skapninger, organismer eller kromosomer. Disse begrepene, lånt fra biologi, gjenspeiler opprinnelsen til denne tilnærmingen til programmering. En datamaskin kan begynne å kjøre en simulering med befolkningen, velge individuelle organismer i en generasjon og la dem blande seg for å lage en ny generasjon. Denne prosessen kan gjentas gjennom flere generasjoner for å kombinere og rekombinere mulige løsninger, og ideelt sett oppnå det mest passende alternativet for de gitte forhold.
Dette kan være ekstremt ressurstungt. Beregningene som brukes i genetisk optimalisering krever betydelig datakraft for raskt å sammenligne og velge et antall alternativer og kombinasjoner samtidig. Tidlig forskning på genetisk optimalisering ble noen ganger begrenset av tilgjengelig prosessorkraft, ettersom forskere kunne se potensielle applikasjoner, men ikke kunne utføre komplekse programmer. Når datamaskinen øker, gjør nytten av denne metoden også, selv om store og komplekse beregninger fortsatt kan kreve en høyspesialisert datamaskin.
Forskere innen matematikk kan jobbe med genetisk optimalisering i en rekke innstillinger. Løpende utvikling av nye formler og tilnærminger illustrerer utviklingen i matematikk når folk lærer om nye måter å vurdere komplekse problemer på. Noe enkel genetisk optimalisering kan sees på jobb i innstillinger som programvare for verdipapirhandlere og programmering for spill og virtual reality der programmererne ønsker at brukerne skal få en mer naturlig opplevelse.