Zelf spelen met historische simulaties

Enter the Complexity Lab, door William Roetzheim. 208 blz., Sams Publishing 1994, $34,50. ISBN 0-672-30395-7.

Vereist voor software: 386 chip, 4 MB RAM, Windows 3.1.

De woorden verschijnen met horten en stoten op het beeldscherm. Soms lijkt het alsof het toetsenbord defect is. Tegelijk met de tekstverwerker draait namelijk 'Galaxy', een programma dat bewegingen van sterren in een sterrenstelsel simuleert. Voor elke tik van de klok berekent de computer 1000 keer 999 krachten, 1000 snelheidsveranderingen, 1000 nieuwe snelheden, 1000 verplaatsingen, 1000 nieuwe plaatsen. De machine, waarachtig geen oud beestje, houdt geen tijd over voor zoiets laagbijdegronds als tekstverwerken.

'Galaxy' is een van de programma's die horen bij 'Enter the Complexity Lab', een merkwaardig samenstel van boek en diskette over complexe systemen, chaostheorie en nagebootst leven in de computer. Zo'n publikatie had er al veel eerder moeten zijn. Massa's boeken zijn er verschenen over dit onderwerp en allemaal maken ze duidelijk hoe belangrijk computersimulaties zijn geweest in deze tak van wetenschap. De simulaties in kwestie hebben bijna zonder uitzondering een hoge amusementswaarde, tenminste dat ga je denken als je er in de bewuste boeken over leest.

Fractals zijn een goed voorbeeld. De intrigerende computerplaatjes, die qua verschijning het midden houden tussen een buitenaards insekt en een uitslaande brand, hebben als voornaamste eigenschap dat voortdurend uitvergroten steeds dezelfde soort patronen onthult. De hoeveelheid detail is oneindig groot.

Een ander bekend programma is het 'Game of Life'. Daarbij wordt een vlak in hokjes verdeeld en elk hokje wordt al of niet bewoond door een zwarte stip. Vervolgens gaat het patroon van bewoonde hokjes zich in de tijd ontwikkelen: op elke tik van de klok kan een hokje al of niet van kleur veranderen volgens bepaalde regels. Je kunt dit spel spelen met ruitjespapier maar met een computer gaat het makkelijker en verloopt het sneller. 'Life' is verbazingwekkend rijk. Het kent stabiele patronen, oscillatoren, kanonnen, exploderende structuren en wat niet al. Wiskundigen, computergeleerden en theoretisch biologen hebben zich er suf op gestudeerd.

Wie een beetje kan programmeren kan deze spelletjes zelf wel maken en programma's voor fractals en 'Life' zijn altijd ruim verkrijgbaar geweest in het hobbycircuit. Maar een veelzijdige selectie van simulaties van complexe systemen was niet zomaar bij elkaar te krijgen, laat staan één die door een goede toelichting in de juiste context werd geplaatst.

'Galaxy' vertoont op den duur mooie sliertige structuren van bij elkaar geklitte sterren. Maar echt interessante dingen doen gaat niet, bijvoorbeeld uitrekenen wat er gebeurt met een wolk gruis rondom een ster. Ontstaan er planeten? Waar? Hoeveel? Hoe groot? Dat zou pas leuk zijn.

Twee sterrenstelsels met elkaar laten botsen kan ook al niet. Iets anders dan maar. Muizen kweken. 'Mice in a Maze' laat gesimuleerde muizen los op een stukje kaas. De muizen hebben 'genen' die bepalen hoe ze zich bewegen en steeds worden na een bepaalde tijd die muizen geselecteerd die de kaas het dichtst hebben benaderd. Dan worden ze vermenigvuldigd en weer losgelaten. Dit programma is minder rekenintensief dan 'Galaxy' en verdraagt zich beter met het schrijven van een recensie.

Behalve fractals, Life, muizen en sterren heeft 'Enter the Complexity Lab' programma's om een vlucht vogels te simuleren en om 'strange attractors' te vertonen, patronen die ontstaan als bepaalde eigenschappen van een complex systeem in een grafiek worden getekend. 'Enter the Complexity Lab' is geen computerprogramma-met-een-handleiding. Het is ook geen boek-met-diskette-erbij-cadeau. Schijf en boek zijn verweven; het woord 'multimediaal' dringt zich op (dit is het eerste boek dat ik ken waarin, naast een heuse commercial, een aftiteling is afgedrukt met niet minder dan 34 namen).

Auteur William Roetzheim gaat uit van de programma's op de schijf maar geeft veel meer uitleg over de materie dan het minimum dat voor het gebruik van de software nodig zou zijn. Voor de lezer die in chaos en dergelijke is geïnteresseerd biedt dit eindelijk de grijpbare illustratie die altijd heeft ontbroken. Het moet gezegd worden dat Roetzheim in zijn uitleg tekortschiet. Zo introduceert hij pardoes het begrip 'Lorenz attractor' zonder een woord vuil te maken aan de fysische verschijnselen waarbij die attractoren belangrijk zijn (bijvoorbeeld een wiel met emmertjes onder een lopende kraan). Hij gaat met reuzensprongen door dertig jaar wetenschap, en wekt daarbij de indruk dat het er maar vijftien zijn geweest. Ook faalt Roetzheim in het duidelijk maken van de onderlinge verbanden tussen de verschillende begrippen die in zijn computerprogramma's een rol spelen, bijvoorbeeld onvoorspelbaarheid, fractals, attractoren en emergent gedrag - complex gedrag dat voortkomt uit eenvoudige principes, zoals bij de kanonnen in 'Life' of bij de gesimuleerde vogels. De laatste blijven op een quasi-natuurlijke manier bij elkaar als je ze zich op een simpele manier laat oriënteren op hun buren en op de zwerm als geheel.

Ook de selectie van software had beter gekund, dat wil zeggen minder willekeurig en vollediger. Zo ontbreken de gesimuleerde mieren van Chris Langton - die in het boek wel worden genoemd - en de experimenten met in de computer nagebootste evolutie van Thomas Ray. De laatste simulaties zijn makkelijk verkrijgbaar (onder andere op het Internet: ftp tierra.slhs.udel.edu - de file heet tierra/tierra.tar.Z) maar het had Roetzheim gesierd als hij ze had inbegrepen.

Roetzheim gaat in een ander opzicht juist heel ver en verraadt daarbij zijn achtergrond als software-expert. Elk hoofdstuk van het boek heeft een sectie 'For Programmers Only', waarin diegenen die de computertaal C++ vloeiend beheersen uitleg krijgen over de diepste diepten van de programma's op de schijf (hoeveel mensen zouden C++ kennen èn zich in chaostheorie willen verdiepen?). Gelukkig kan iedereen ook zonder dat zijn eigen experimenten arrangeren met de kant en klare programma's.

Verbluffend. Geef je de kaas een vaste plaats, dan weten na 5 generaties bijna alle muizen de kaas te vinden. Pats, opeens arriveren er 80 tegelijk. Muizen die toevallig 'genetisch' in die ene vaste richting bewegen worden hierbij bevoordeeld. Kies je nu de optie 'verplaats kaas', dan ligt bij elke nieuwe generatie de kaas op een andere plek en bevoordeel je de muizen die werkelijk de kaas zelf lokaliseren. Het aantal winnaars na 5 generaties is dan maar half zo groot. Een even groot resultaat duurt nu 8 generaties.

'Enter the Complexity Lab' voorziet in een behoefte. Zelf spelen met de simulaties die een nieuwe, revolutionaire discipline in de wetenschap hebben gevormd. Vooral de programma's voor fractals, 'Life' en muizen fokken zijn prima.

Voor optimaal genot van 'Enter the Complexity Lab' leze men eerst een goed boek over de materie, bijvoorbeeld 'Chaos' van James Gleick of 'Artificial Life' van Steven Levy. De verdienste van Roetzheim is dat zulke boeken nu niet meer kunnen verschijnen zonder een diskette erbij.