Evoluerende afbeeldingen

Na gezien te hebben hoeveel mensen blijkbaar interesse hebben voor mijn vorige berichtje over het genetische algoritme was er voor mij reden genoeg om nog een projectje er aan te wagen.
Het idee deze keer werd gegeven door Nihilogic, die op zijn beurt weer een programma'tje had geschreven dat met een genetisch algoritme een afbeelding natekent uit een groot aantal semi-transparante polygonen.
Hoe het werkt
Aangezien mijn vorige berichtje niet helemaal duidelijk was over hoe het genetische algoritme werkt, of misschien gewoon voor storende herhaling, nog een keer. In de eerste plaats maak je een populatie aan van individuen (het onderscheid tussen computers en biologie is soms even zoek) en daaruit kies je de beste. Deze laat kruis je en daarmee ga je verder.Om het af te maken muteer je zo af en toe 1 waarde van het individu om te zorgen dat er daadwerkelijk ook verbetering kan optreden.
Het programma
... kan hier gevonden worden. Het programma is vrij simpel, kies een afbeelding en klik op start. Klik op de resultaatafbeelding om hem te exporteren. Verder zijn er nog een paar opties:Polygooncomplexiteit: aantal hoeken per polygoon.
Aantal polygonen: totaal aantal polygonen in de tekening.
Populatiegrootte: aantal verschillende combinaties dat geprobeerd wordt.
Selectiegraad: gedeelte van de populatie die gebruikt wordt voor de volgende. 0,25 betekent dat 25% mee mag.
Mutatiekans: kans dat een polygoon muteert.
Mutatiesterkte: grotere waarde betekent grotere mutaties
Uniforme kruising: Als deze is geselecteerd, worden willekeurig de helft van de polygonen van de ene ouder en de andere genomen. Indien niet geselecteerd wordt er een breekpunt gekozen.
Dood ouders: indien geselecteerd worden de besten van deze generatie niet meegenomen naar de volgende.