Skip to ContentSkip to Navigation
Onderdeel van Rijksuniversiteit Groningen
Science LinX Bezoek onze expo's! Permanente expo Game of life

Conway's Game of Life

Stimuleren van gedrag...

In 1970 bedacht de Britse wiskundige John Conway de Game of Life, een spel dat een simpele vorm van ‘leven’ simuleert op basis van hele eenvoudige regels. Uit die simpele regels komt complex en onvoorspelbaar gedrag voort, iets wat we emergent gedrag noemen. Emergentie is belangrijk bij het modeleren van ecosystemen en diergedrag, maar speelt ook een rol in onderzoeksgebieden als theoretische biologie, wiskunde, natuurkunde, economie en kunstmatige intelligentie.

Game of Life. Foto: Elco van der Meer.
Game of Life. Foto: Elco van der Meer.

Simpele ‘leef’- regels
Het ‘speelbord’ van de Game of Life bestaat uit vakjes, de cellen. In de basisversie kan elke cel twee waarden aannemen, aangegeven door een kleur. In de voorbeelden op deze pagina zijn witte cellen 'dood' en zwarte 'levend'. Iedere spelronde (of generatie) bepaalt een simpele set regels of een cel dood of levend is, afhankelijk van de status van zijn acht naaste buren.

Een dode cel komt in de volgende generatie tot leven als precies drie van de acht naaste buren levend zijn. Een levende cel blijft leven wanneer deze twee of drie levende buren heeft. Bij minder dan twee levende buren sterft de cel van eenzaamheid, terwijl een cel met meer dan drie levende buren sterft door overbevolking.

Deze set van regels, ook wel de b3s23 (born/stay) genoemd, bepaalt dus precies welke cellen tot leven komen en welke cellen dood gaan tijdens een generatie. Als speler mag je alleen de beginsituatie bepalen. Maar die is wel belangrijk, want met dezelfde set regels kunnen verschillende beginsituaties totaal verschillende patronen opleveren.

Complexe patronen
Hoewel de regels van de Game of Life simpel zijn kunnen er complexe patronen ontstaan in het tot leven komen en sterven van cellen. Sommige patronen houden zichzelf in stand. Je kunt bijvoorbeeld statische patronen krijgen, groepen cellen waarin generatie na generatie niets verandert. In dit geval heeft elke levende cel precies de juiste hoeveelheid levende buren om zelf te overleven, maar is er geen dode cel die tot leven kan komen.

Hierboven zie je een voorbeeld van een oscillerend patroon, dat na een bepaald aantal generaties de beginsituatie weer aanneemt. In dit geval gebeurt dat na acht generaties, het patroon heet dan ook 'Figure eight'.

En het patroon hiernaast heet de Glider – je ziet vast wel waarom! De Glider is een oscillerend patroon van vier generaties, dat zich elke vier generaties een rij naar beneden en een kolom naar rechts verschuift. Zo glijdt de Glider schuin over het speelveld.

Een speciaal type patroon dat altijd blijft bestaan is de Gosper Glider Gun. Dit patroon keert elke 30 generaties terug in zijn beginsituatie, maar maakt er dan een Glider bij. Dit patroon genereert dus andere patronen. Het is in de Game of Life ook mogelijk om een patroon te maken dat zichzelf kan voortplanten, het maakt identieke kopieën. Een voorbeeld hiervan is Gemini. Ondanks de simpele regels van de Game of Life kunnen er dus patronen verschijnen dus behoorlijk complex zijn.

Experimenteren met speelveld & spelregels
Er zijn inmiddels vele varianten van Conway's Game of Life. Bijvoorbeeld als het gaat om de randen van het speelveld. Cellen aan de rand hebben minder buren dan de rest, dus hoe stem je de regels daar op af? Je kunt de buren buiten het speelveld als dood beschouwen. Maar je kunt ook de linkerkant van het speelveld met de rechterkant verbinden en de bovenkant met de onderkant. Een Glider zal dan rechts van het scherm verdwijnen om aan de linkerkant weer te verschijnen!

Daarnaast zijn er ook variaties op de regels voor leven en dood, zodat een cel bijvoorbeeld pas tot leven komt als hij vier levende buren heeft. En er zijn simulaties die een realistischer ecosysteem weergeven, door cellen op het speelveld speciale eigenschappen te geven. Een cel kan bijvoorbeeld voedsel bevatten, of afval. Met deze laatste twee toevoegingen kun je experimenteren in de Game of Life opstelling in de Bernoulliborg. En daar staat ook een levende variant van het spel: de Bioglobe!

Het maken van Conway’s Game of Life is een opdracht die wel gebuikt wordt bij het leren van programmeren. Dit omdat het concept makkelijk te begrijpen is en het bijna alle basisvaardigheden van een beginnend programmeur vraagt. Programmeren is niet moeilijk en je kunt er hele leuke dingen mee doen. Lijkt het je leuk om te leren programmeren, kijk dan eens naar de programmeer taal Python. Hiervoor zijn veel gratis tutorials te vinden. Ben je meer geïnteresseerd in specifiek Conway’s Game of Life, dan is NetLogo aan te raden. Met NetLogo kun je spelen met agent-gebaseerde simulaties, waar Conway’s game of Life standaard in geprogrammeerd zit. Dus experimenteer met de gewone Game of Life en pas daarna de regels aan om te zien hoe je systeem verandert.

Technische info voor de ingewijden
Conway’s game of life is zelfs Türing compleet. Kort gezegd betekent dit dat de machine moet kunnen reageren op zijn omgeving en zichzelf, dus de manier van reageren moet kunnen aanpassen. Kan een systeem dit, dan noem je het Türing compleet. Een goed voorbeeld hiervan is de computer. Op een computer kun je programma’s draaien die input lezen en daardoor dingen doen. Maar deze programma’s kunnen ook elkaar aanpassen of nieuwe programma’s schrijven.

Bij Conway’s Game of Life is dit abstracter en dus een stuk moeilijker te zien waarom het Türing compleet is. Maar deze eigenschap zorgt er wel voor dat alle mogelijke situaties in Conway’s Game of Life voor zouden kunnen komen. Vooral de gebieden wiskunde en computing science vinden dit een interessante eigenschap om te bestuderen.

Agent-gebaseerde modellen, individu en effect op de groep
In Conway's Game of Life hebben simpele regels op het niveau van een individu effect op de groep als geheel. Daarmee was het een van de eerste zogeheten agent-gebaseerde modellen. Die zijn tegenwoordig belangrijk in veel vakgebieden, zoals wiskunde, natuurkunde, economie, kunstmatige intelligentie en theoretische biologie.

Ook in Groningen werken onderzoekers met agent-gebaseerde modellen. Economen onderzoeken er bijvoorbeeld mee hoe de keuzes van individuele consumenten het gebruik van groene energie beïnvloeden. Dat helpt om effectieve stimuleringsprogramma’s op te zetten.

Biologen bestuderen diergedrag met modellen. Een voorbeeld hiervan is het maken simpele regels op het niveau van individuele vogels en simuleren dan het gedrag van een hele zwerm. Wanneer de gesimuleerde zwerm dezelfde complexe patronen vertoont als echte vogels in de natuur weet je welke regels de echte vogels vermoedelijk volgen. Zo is ontdekt dat elke vogel alleen let op het gedrag van zijn buren en zijn vluchtgedrag daarop aanpast. En die methode is natuurlijk ook toe te passen op scholen vissen, of ander ‘kuddegedrag’.

Een laatste voorbeeld: bij kunstmatige intelligentie  kun je agent-gebaseerde modellen gebruiken om te bepalen hoe een team van robots het beste kan samenwerken om een voetbalwedstrijd tijdens de RoboCup te winnen. Maar vermoedelijk heeft de bondscoach van Oranje daar niet zoveel aan.

Colofon
Met bijzondere dank aan De Spullenmannen. Neem contact op met iemand van Science LinX indien je hier ook genoemd zou moeten worden.

Auteurs
Inne Lemstra en Harmen de Weerd

Laatst gewijzigd:19 januari 2016 13:15
View this page in: English