Ein genetisk algoritme i JavaScript

18 februar 2015

Genetiske Algoritmer (GA) er ein type optimaliseringsalgoritme inspirert av korleis evolusjonen virkar. Les meir om dette.

Dette er eit enkelt eksempel skrive i Javascript som rett og slett startar med ein tilfeldig tekststreng for å finna ein bestemt streng som her er den gamle gode "Hello, World!".
Du kan sjå korleis algoritmen stadig nærmar seg svaret nedanfor. Hvis du vil prøva ein gong til er det bare å trykkja på teksten!

a
a

Programmet startar med tjue tilfeldige tekststrenger. Så blir dei målt i forhold til kor nær målet dei er, og dei to beste får lov til å laga tjue nye strenger, dvs. "avkom". (Dette er litt uvanlig å gjera. Det vanlige ville vore å la alle få sjansen i forhold til rangeringen) For å laga et avkom blir dei to "foreldre-strengene" delt i to på et tilfeldig punkt og så bytter dei resten av strengen etter dette punktet. Deretter kan det skje ein mutasjon ved at ein av bokstavane kan endrast tilfeldig til ein ny. Prosessen fortset til målstrengen er funnen.