Fitste software

In het artikel "de fitste software' wordt een beeld geschetst van slimme programmeurs die intelligente programma's schrijven welke zichzelf nog zelfs weten te verbeteren. Een soort survival of the fittest. De indruk wordt gewekt van uren rekenwerk met gecompliceerde software pakketten op supercomputers. Toch kan men op heel eenvoudige wijze, thuis achter de computer zittend, een beetje evolutie simuleren als ware men bioloog en bloemenkweker.

Richard Dawkins schetst in zijn boek "the blind watchmaker' een fascinerend beeld van de evolutie. Omstreeks Kerstmis 1991 gaf hij daarover een aantal boeiende lezingen voor een gehoor van kinderen, de zogenaamde "Christmas lectures', een populair wetenschappelijk hoogtepunt van de Engelse televisie. Eind december 1992 werd deze serie nog eens herhaald, en de kijkers hebben kunnen zien hoe kinderen bij een aantal experimenten, o.a. met de computer, actief betrokken werden. Een van die experimenten, ook beschreven in het boek, toont op het beeldscherm negen "computerinsekten' die onderling een klein beetje verschillen. De experimentator, een kind, selecteert hieruit een geschikt exemplaar op grond van een of ander criterium, grote vleugels, lange poten of iets dergelijks. Met de gedane keuze kan dan een nieuwe generatie gevormd worden. De insekten van de nieuwe lichting beantwoorden enigszins aan het gestelde doel, de een wat meer de ander wat minder. Derhalve moet wederom een keuze gemaakt worden, en dat proces kan een aantal generaties voortgezet worden. De insekten die tenslotte op het scherm verschijnen kunnen sterk afwijken van de originelen waar we mee begonnen zijn, er is een nieuwe soort gevormd.

Over het achterliggende wiskundig model zegt Dawkins niet zoveel, al geeft hij wel de indruk dat dat betrekkelijk eenvoudig was. Het een en ander was voor ondergetekende aanleiding een eenvoudig model van een evolutieprogramma te ontwerpen dat verschillende bloemvormen kan genereren. De elementen zijn aantal en grootte van kroonbladen en van meeldraden, en de grootte van het hart van de bloem. Het is beschreven in het jongste meinummer van het tijdschrift Natuur en Techniek (Jrg.61 no 5, pag. 440-441). Op het computerscherm verschijnt een negental bloemvormen die onderling een weinig verschillen. Men kiest, op grond van een bepaald criterium, er een uit als basis voor de volgende generatie. Het resultaat na zeg een tiental generaties kan heel verrassend zijn, veel of weinig bloemblaadjes, grote harten, kleine hartjes enz.

De wiskundige kern van het programma is een stukje van een Fourier reeks waarbij de coëfficiënten toevallige elementen bevatten. Uiteraard kan zo een programma op allerlei manieren gevarieerd en uitgebreid worden. Er komt overigens nooit meer uit dan er ingestopt is, maar het resultaat kan toch heel verrassend zijn.