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.

Notities

Het programma werkt niet in IE9. Het kan vrij lang duren voordat er herkenbare resultaten zijn, de afbeeldingen boven zijn gemaakt terwijl ik dit bericht schreef. Code gebruiken mag natuurlijk altijd, maar een vermelding is wel zo aardig. Enjoy!
Bert Peters | 22:14:09 11/06/2011 | Link | 0 reactie(s) | Tags: Genetisch Algoritme HTML5 
tweet


Reacties


Laat zelf een bericht achter

Naam (verplicht)
E-mail (verplicht, nooit publiek)
Typ deze tekst over: captcha
Link
Opmerking