Naar de content
Faces of Science
Faces of Science

Wiskunde tot leven brengen

Een 10-hoek waarin alle punten met lijnen aan elkaar zijn verbonden. In dit netwerk zijn 3 punten rood en de overige 7 blauw.
Een 10-hoek waarin alle punten met lijnen aan elkaar zijn verbonden. In dit netwerk zijn 3 punten rood en de overige 7 blauw.
Martijn Gösgens voor NEMO Kennislink

Wiskunde is soms erg abstract. Hierdoor is het soms moeilijk om het aan anderen uit te leggen. Wanneer wiskundigen met een bepaald abstract onderwerp bezig zijn, hebben ze vaak wel een bepaald beeld in hun hoofd. Dit beeld uittekenen en tot leven brengen helpt dan vaak bij het overbrengen van zulke ideeën.

Ik vind het zelf altijd leuk om animaties te maken om abstracte wiskundige ideeën over te brengen. Voor de Network Pages, een website van mijn onderzoeksinstituut waar we netwerkwetenschap proberen uit te leggen aan niet-wiskundigen, maak ik ook vaak zulke visualisaties.

Bottleneckdetectie

Zo maakte ik bijvoorbeeld onderstaande visualisatie van een algoritme dat de ‘bottleneck’ in een netwerk vindt. In het begin geeft het algoritme iedere knoop van het netwerk een willekeurig gewicht. Vervolgens update het algoritme deze gewichten. Het nieuwe gewicht van een knoop wordt gekozen op basis van de gewichten van de knopen die met deze knoop zijn verbonden. Als je dit vaak genoeg herhaalt, hebben de knopen aan de ene kant van de bottleneck uiteindelijk alleen maar positieve gewichten, terwijl de gewichten aan de andere kant van de bottleneck negatief zijn. Als je deze uitleg leest, geloof je dat misschien nog niet direct. Maar als je het uitbeeldt met een animatie zoals hieronder, wordt het idee duidelijker.

Visualisatie van het algoritme. Klik eerst op ‘Start’ om willekeurige gewichten te kiezen en klik daarna op ‘Update gewichten’ om de stappen te doorlopen. Meer uitleg over dit algoritme is in deze blog te vinden

Zulke visualisaties helpen bij het begrijpen van abstracte wiskundige ideeën. Maar een visualisatie is niet hetzelfde als een bewijs dat dit idee ook klopt. Als je het algoritme van deze visualisatie vaak ‘afspeelt’ en ziet dat dit algoritme iedere keer de bottleneck weet te vinden, krijg je steeds meer vertrouwen in het feit dat dit algoritme inderdaad werkt. Maar door alleen te kijken weet je het nooit helemaal zeker. Om het wél zeker te weten, is een wiskundig bewijs nodig. Hiervoor moet je de wiskundige bewering eerst heel precies formuleren, en daarna op basis van logische redeneringen deduceren dat dit waar is. Maar om zo’n bewijs te vinden, helpt het om eerst intuïtie te krijgen bij het algoritme. Dit kan bijvoorbeeld door met zo’n visualisatie te spelen.

Verspreiding van meningen

Visualisaties helpen ook om een inzicht te krijgen in de werking van wiskundige modellen. Laatst maakte ik bijvoorbeeld ook nog een visualisatie van een versimpeld model dat beschrijft hoe mensen elkaars meningen beïnvloeden. In de werkelijkheid werkt dat natuurlijk niet zo simpel, omdat niet iedereen zich zo eenvoudig laat ompraten. Maar bij dit vereenvoudigde model is dat voor het gemak wel even zo. Iedere persoon is een knoop in het netwerk en en een verbinding tussen twee personen betekent dat deze elkaars mening kunnen beïnvloeden. We nemen aan dat er twee meningen zijn (bijvoorbeeld ‘voor’ of ‘tegen’) en kleuren iedere knoop groen of rood aan de hand van de mening die de persoon op dat moment heeft.

De meningen veranderen als volgt: op iedere stap kiezen we een willekeurige knoop X en kiezen we een willekeurige knoop Y die met X verbonden is. Als Y een andere kleur heeft dan X, veranderen we de kleur van Y in de kleur van X. Je kan dit model als volgt inbeelden: op iedere stap print een willekeurige persoon een superovertuigende flyer uit en deelt deze uit aan een bekende.

Na genoeg stappen hebben alle knopen uiteindelijk dezelfde kleur. Maar het aantal stappen is willekeurig en hangt af van het netwerk. Hieronder zie je een visualisatie van dit model op een klein netwerk van vijf knopen. Je ziet dat met zo’n klein netwerkje, de knopen vaak al na een klein aantal stappen allemaal dezelfde kleur hebben, maar dat dit niet per se de kleur is die op het begin in de meerderheid was.

Visualisatie van het model op een simpel netwerk. Klik eerst op ‘Kies kleuren’ om iedere knoop een willekeurige mening te geven en klik daarna op ‘Volgende stap’ of gebruik de schuiver bij ‘Tijdsstap’ om automatisch te updaten. Meer uitleg is hier te vinden.

Willekeurige netwerken

Vaak worden deze modellen gesimuleerd op willekeurig gegenereerde netwerken. De meest gebruikte manier om zo’n willekeurig netwerk te bouwen is als volgt: eerst teken je voor iedere knoop een aantal ‘uiteinden’ (het aantal buren dat deze knoop uiteindelijk moet hebben). Vervolgens verbind je deze uiteinden willekeurig met elkaar. Op deze manier is het mogelijk dat knopen met zichzelf worden verbonden of dat sommige knopen meerdere keren met elkaar zijn verbonden. Maar als het aantal knopen groot genoeg is, is het aantal van zulke ‘rare’ verbindingen verwaarloosbaar. In onderstaande visualisatie zie je hoe zo’n netwerk wordt gegenereerd. Vervolgens kun je ook simuleren hoe lang het duurt voordat alle knopen dezelfde kleur hebben.

Visualisatie van het model op een willekeurig netwerk. Klik eerst op ‘volgende stap’ om verbindingen te genereren of gebruik de schuiver om dit automatisch te doen. Wanneer het netwerk klaar is, werkt de visualisatie hetzelfde als de vorige. Meer uitleg is hier te vinden.

Als je hier een tijdje mee speelt, valt het je misschien op dat het erg lang duurt voordat alle knopen dezelfde kleur hebben. Ook valt je misschien op dat de knopen met veel verbindingen in dit model niet zo veel invloed hebben op de kleur die het netwerk uiteindelijk krijgt.

Naast dat zulke visualisaties helpen met het overbrengen van wiskunde, zijn ze natuurlijk ook leuk om te zien. Je kan je misschien wel voorstellen dat tijdens een presentatie vol met wiskundige formules, het publiek blij is om af en toe wat bewegende beelden te zien. Het brengt wiskunde tot leven.

ReactiesReageer