Categorie archief: Computermodellen

Modellenwerk deel 4 – SimSketch 2.0

In Utrecht ben ik samen met Frank Leenaars begonnen aan SimSketch versie 2. Een voorname reden om aan deze versie te beginnen was een technische: ik wilde dat SimSketch ook op tablets kan werken, en dat vereiste een herimplementatie. Bovendien was dit de gelegenheid om delen opnieuw te ontwerpen, met name de wijze waarop het gedrag wordt geïmplementeerd. Het wordt nu mogelijk voor docenten en uiteindelijk zelfs leerlingen om niet alleen gedragsstickers toe te kennen aan elementen in de tekening, maar ook om zelf gedrag te definiëren. Ook is SimSketch toegepast op nieuwe domeinen, zoals evolutie. In samenwerking met de masterstudenten Dewi Heijnes en Juliette Schouten is bijvoorbeeld gedrag ontwikkeld waarmee evolutionaire processen kunnen worden gemodelleerd. Dewi heeft daarbij bijgedragen aan de specificatie van het model en de elementaire gedragingen die nodig zijn om het te specificeren, Juliette heeft het resultaat gebruikt in het ontwerp van een lessenserie. Het resultaat is een een set gedragingen waarin de evolutie van prooidieren kan worden gesimuleerd waarin de opvolgende generaties hun kleur aanpassen aan die van de achtergrond, als gevolg van het feit dat ze bejaagd worden door predators. Het voorbeeld dat daarbij gebruikt wordt is dat van slakken die worden gegeten door lijsters.

Dit onderwerp is gekozen in samenwerking met Naturalis die betrokken zijn bij onderzoek naar de evolutie van slakken, en waaraan een groot citizen science project is gekoppeld waarin leerlingen van scholen over heel Europa slakken verzamelen en determineren op kleur. In haar studie onderzocht Dewi hoe leerlingen in de onderbouw van het VWO redeneerden over het model dat ze tekenden. Ze vond een interessante wisselwerking tussen de wijze waarop leerlingen het model konden specificeren en hoe ze vervolgens over hun model redeneerden. In een eerste versie van de omgeving nam ze het volgende gesprek op tussen docent en leerlingen naar aanleiding van een vraag:

Docent: Wat is, denk je, de invloed van de kleuren van de gebieden op de kleur van de slakkenhuisjes, de kleur van de slakken?

Leerling: Ze worden …. Donkerder?

D: Hoe dan?

L: Omdat de groene kleur ze de beïnvloedt, of zoiets. Of het zorgt dat ze donkere kinderen krijgen.

D: Waarom zou dat zorgen dat ze donkerder kinderen krijgen?

L: Omdat ze een beetje pigment opnemen of zoiets?

D: Uit de bladeren?

L: Zou kunnen.

De leerlingen redeneren alsof er op een magische manier kleurstof uit de omgeving opnemen, iets dat met nadruk niet in het model is gestopt. Hoewel ze het model zelf gemaakt hebben denken ze blijkbaar dat er mechanismes in zitten die ze zelf niet hebben aangebracht. In deze versie van het systeem konden ze niet zelf aangeven hoe de vogels hun volgende prooi selecteerden. In een latere pilot was dit wel mogelijk. Leerlingen konden kiezen of de vogels hun prooi selecteerden op afstand, zichtbaarheid of een combinatie daarvan. Een gesprek tussen leerlingen en docent verliep toen als volgt:

D: En, als hij zou jagen op de slak die hij het beste ziet?

L1: Dan zal het …

L2: Dan zal het …

L1: Dan zal het jagen op kleur

L2: Ja, dat denk ik ook. Dan zal hij jagen… op rood zal hij op de groene jagen en op groen op de rode.

L1: Precies

D: Dus, wat zou je dan zien gebeuren? Wat voor slakken zou je hier en daar krijgen?

L2: Dan zou je hier een hoop rode krijgen en daar een hoop blauwe.

Hoewel er hulp van de docent nodig is is bij deze leerlingen is te zien hoe het model helpt bij het verkrijgen van inzicht in evolutionaire processen. De mogelijkheid om zelf het gedrag van de vogels te manipuleren geeft ook aanleiding om te redeneren welke rol dit in het model speelt. Op basis van deze enkele voorbeelden is het natuurlijk lastig algemene conclusies te trekken, maar ze geven aanleiding tot nader onderzoek.

De studie van Juliette Schouten richtte zich op het ontwerp van lessen rond deze modelleeropdracht en hoe die bijdraagt tot begrip over modellen in de wetenschap. In een serie van vier lessen maakte ze leerlingen vertrouwd met SimSketch, ging ze met hen het veld in om slakken te zoeken en te classificeren, maakten ze een evolutiemodel en spraken ze met een wetenschapper van Naturalis over de rol van modellen bij zijn onderzoek. In het onderzoek was ze, naast de vraag of leerlingen in staat zouden zijn in deze context modellen kunnen bouwen, geïnteresseerd in de opvattingen van leerlingen over modellen. Die werden gemeten met een vragenlijst met open vragen, waarvan de antwoorden vervolgens zijn gescoord volgens een rubric ontwikkeld door Grünkorn en collega’s. In de rubric worden vier categorieën over modelbegrip onderscheiden: de aard van wetenschappelijke modellen, het feit dat meerdere modellen van eenzelfde systeem kunnen bestaan, of en hoe modellen getest moeten worden en wat het precieze doel is van modellen. Per categorie worden vervolgens vier niveaus onderscheiden. Juliette vond dat leerlingen na afloop van de lessenserie hoger scoorden op de eerste twee categorieën: aard van modellen en het feit dat er meerdere modellen voor eenzelfde systeem kunnen bestaan. Hoewel de winst in vier lessen bescheiden was toonde haar studie aan dat het mogelijk is door leerlingen te laten modelleren bij te dragen aan de ontwikkeling van hun begrip van modellen.

SimSketch wordt naast evolutie ook in andere domeinen toegepast. Zo werkt Simeon van Tongeren aan een configuratie waarin modellen worden gemaakt van de elektrische activiteit in zenuwcellen. Door in een celmembraan poorten te tekenen waar bepaalde typen ionen kunnen passeren en het gedrag van ionen en poorten te sturen kan met SimSketch het verloop van de actiepotentiaal van een neuron worden gemodelleerd. Leerlingen in 6 VWO worden in het modelleerproces meegenomen en leren op deze manier mechanistisch redeneren een wijze van redeneren die in de celbiologie belangrijk is als tegenhanger van teleologisch redeneren. Het belangrijke inzicht van deze modellen is dat processen in de cel, zoals het opbouwen van een actiepotentiaal, maar ook de synthese van DNA, ontstaan uit elementaire mechanische processen en niet hoeven te worden toegeschreven aan een bepaalde doelgerichtheid van de moleculen in de cel. In twee ontwikkelingsslagen van het programma en het lesmateriaal er omheen bereikte Simeon dat leerlingen daadwerkelijk mechanistische redeneringen lieten zien waar ze dat nog eerst niet deden. Op de vraag naar het mechanisme dat verklaart hoe slaapmiddelen werken geven in de tweede ronde drie van de vier leerlingen een goede redenering in mechanistische termen, een indicatie dat zij diep inzicht hebben verworven.

Tot slot zijn we met de nieuwe versie van SimSketch weer op bezoek geweest bij NEMO. Deze keer modelleerden ongeveer 450 bezoekers in de leeftijd van 10 tot 15 het ontstaan van spookfiles, files die ontstaan zonder een duidelijk aanwijsbare oorzaak in het kader van het masteronderzoek van Eva Frenaij. De deelnemers slaagden er in de regel in om de modellen te construeren. Interessant is dat, volgens de nog voorlopige resultaten, de groep die tijdens het werken met hun model de specifieke vragen die beantwoord moesten worden, naar de invloed van diverse factoren, die een rol konden spelen als oorzaak van de files, betere modellen bouwden en er langer mee experimenteerden.

Deze voorbeelden tonen aan dat we er in geslaagd zijn om met SimSketch een modelleeromgeving te bouwen waarmee het maken en onderzoeken van modellen voor verschillende domeinen op basis van tekeningen binnen bereik is gekomen van jonge leerlingen, vanaf ongeveer 10 jaar. Uiteraard is nog veel onderzoek nodig voor de verdere ontwikkeling en met name het effect van modelleren op deze jonge leeftijd. Ik hoop dat de komende jaren met veel inzet te kunnen doen.

Net zoals ik in mijn vorige oratie een belofte deed voor de ontwikkeling van nieuw modelleergereedschap, dat heeft geleid tot SimSketch, doe ik u nu weer een belofte voor de ontwikkelingen in de komende vijf jaar. Die betreft mixed reality en 3D, de kunst van het combineren van virtuele en fysieke werkelijkheid. De technologie is zover dat het mogelijk is dat, gebruik makend van computer vision, tastbare objecten onderdeel gaan uitmaken van de virtuele wereld, zoals een simulatie. Een goed voorbeeld daarvan is de tinkerlamp, uit het lab van Pierre Dillenbourg, die het mogelijk maakt om bijvoorbeeld modellen te maken van een magazijn, waarin de stellingen worden weergegeven door fysieke blokjes waartussen virtuele vorkheftrucks zich verplaatsen. De mogelijkheden zijn legio. In de simulatie van celbiologische processen kunnen barrières worden ingebracht en weer weggehaald, in verkeerssimulatie kunnen wegenplannen op papier worden getekend en stoplichten en andere obstakels fysiek worden ingevoerd. Het modelleren en vooral de interactie met het resulterende model kan op deze manier veel interactiever worden. Aan ons, onderzoekers en ontwerpers, de uitdaging om die mogelijkheid ten volle te benutten.

Modellenwerk deel 3 – ICT en onderwijs

Excuus voor de lange tijd sinds het vorige blog. Mijn oratie is inmiddels een tijdje geleden. In het vorige blog eindigde ik met de rol van computermodellen in wetenschap. Hier ga ik in op computermodellen op school.

Wetenschap is dus modellenwerk. Als je iets van de nature of science wilt begrijpen moet je weten wat modellen zijn, hoe ze ontstaan en hoe ze gebruikt en beoordeeld worden. Dat is voor mij de belangrijkste reden om onderzoek te doen naar hoe je leerlingen het beste het modelmatige karakter van wetenschappelijke kennis kunt laten inzien. Het doel daarvan is tweeledig: ten eerste is het kunnen abstraheren van kennis, kritisch nadenken over aannames van modellen en het vervolgens construeren en testen ervan een belangrijk leerdoel in het kader van het verwerven van hogere orde vaardigheden. Ten tweede is het doel van modelleren in het onderwijs dat leerlingen zelf de rol ervaren en kunnen beoordelen.

Onderzoek is nodig naar het inrichten van onderwijs waarin leerlingen modellen kunnen maken en ze kunnen gebruiken om vragen te beantwoorden. Dergelijk onderwijs zal zich moeten richten op het ontwerp van modelleergereedschap voor leerlingen van alle leeftijden, het ontwikkelen van interessante modelleeropdrachten en het stimuleren van denken en redeneren met en over modellen. En onderzoek is nodig naar hoe we dat het beste kunnen doen en wat de effecten kunnen zijn. In dat ontwerp en onderzoek speelt ICT een belangrijke rol. Voor ik verder ga met modelleren geef ik eerst een stuk persoonlijke geschiedenis over ICT in onderwijs.

ICT, onderwijs en computermodellen

In 1993 promoveerde ik op instructieondersteuning bij onderzoekend leren met computersimulaties. Voordat ik mijn promotieproject startte werkte ik bij de toenmalige vakgroep Natuurkundedidactiek hier in Utrecht, die nu onderdeel is van het instituut waar ik wetenschappelijk directeur van mag zijn.  In die tijd was ICT in onderwijs nog in een pioniersfase. Ik programmeerde mee aan het programma “de trage inbreker”, een computersimulatie waarin leerlingen in een wereld waarin je wrijving aan en uit kon zetten een brandkast een bankgebouw uit moest duwen. Het idee was leerlingen te stimuleren na te denken over het begrip “kracht”, volgens een model van begripsverandering. In dezelfde tijd kwam DMS op, een programma van Jon Ogborn, waarmee leerlingen zelf modellen konden maken. Door de beperkte beschikbaarheid van computers op school en het naast elkaar bestaan van verschillende incompatibele systemen ging het onderzoek en met name de implementatie zeer langzaam. Toch hebben deze eerste stappen ertoe geleid dat modelleren onderdeel is geworden van het natuurkundeprogramma.

Als je de promovendus Wouter van Joolingen in 1993 had gevraagd wat de status van ICT in het onderwijs zou zijn in 2016 had hij vast niet gezegd dat er nog steeds discussie zou zijn over de vraag of ICT zou kunnen bijdragen aan het onderwijs. Ik verwachte dat ICT snel zijn weg zou vinden en dat leerlingen en docenten het net zo makkelijk zouden gebruiken als een schoolbord toen. Dat is deels gebeurd, deels niet. ICT is niet voor iedereen zo vanzelfsprekend geworden als ik dacht. Zo was er rond de de afgelopen jaarwisseling nog in het nieuws dat leerlingen bij een meldpunt konden melden dat hun docenten niet voldoende ICT benutten in de les.

oratie-017

Blijkbaar is een deel van de docenten nog niet op de hoogte van de mogelijkheden die ICT biedt of er niet van overtuigd zijn dat technologie in de klas voordelen biedt. Nu is het ook beslist niet zo dat ICT in de klas automatisch leidt tot onderwijsverbetering, en het is ook niet noodzakelijkerwijs waar dat leerlingen beter weten hoe ze ICT kunnen gebruiken voor hun leerproces dan volwassenen. Casper Hulshof en Pedro de Bruyckere ontkrachten de mythe van de zogenaamde digital natives effectief in hun boek.

In 1993 zag ICT er ook heel anders uit dan nu. Het plaatje van een leerling achter een computer in een apart lokaal is vervangen door alomtegenwoordige apparaten: smartphones, tablets, smartboards, en soms ook nog traditionele computers. Al die apparaten zijn veel krachtiger dan de computers waarop we toen pionierden. En omdat de technologie zo verspreid is, is het bijna onverantwoord die niet te gebruiken.

Oratie.018

Specifiek voor onderwijs in de bètawetenschappen biedt de beschikbaarheid van technologie veel mogelijkheden. Het wordt mogelijk om de simulaties en modellen die wetenschappers zelf gebruiken op school in te zetten. Ook maakt de technologie het mogelijk modelleren laagdrempeliger te maken, en daarmee toegankelijker voor jonge kinderen. Dit heeft geleid naar mijn onderzoek over drawing-based modeling.

Modellenwerk op de computer: modeltekenen

Wetenschap is modellenwerk. In mijn vorige oratie die ik ruim zes jaar geleden aan de Universiteit Twente hield pleitte ik al voor een het toegankelijk maken van modellen en modelleren voor jongere kinderen. De toen reeds beschikbare modelleersystemen voor het voortgezet onderwijs richtten zich met name op de bovenbouw. Ik stelde in die oratie een systeem voor, onder de titel “Modeltekenen”, waarmee leerlingen modellen zouden kunnen bouwen op basis van tekeningen. Het systeem zou tekeningen van de leerling herkennen en daarbij – op aanwijzing van de leerling – een simulatie genereren. Dat was niet toevallig gekozen. Onderzoek dat toen al bekend was, en onderzoek dat in de tussentijd verricht is laat zien dat het maken van tekeningen helpt bij het verwerken van lesstof. Ik wil hier laten zien welke stappen ik daarna, met hulp van anderen, zowel in Twente als aan deze universiteit heb gezet om dit systeem te realiseren en te onderzoeken.

Samen met Lars Bollen heb ik SimSketch versie 1 ontwikkeld (Bollen & van Joolingen, 2013). SimSketch biedt voor een groot deel wat ik in mijn oratie beloofde: leerlingen kunnen tekeningen maken van natuurlijke systemen, die worden herkend en als basis dienen voor een simulatie. Leerlingen kunnen gedrag toekennen aan componenten van de tekening, door er een “gedragsticker” op te plakken. Hierdoor wordt de tekening een simulatie. We hebben dit bijvoorbeeld toegepast op het modelleren van het zonnestelsel. Leerlingen tekenen de zon, planeten en de maan en specificeren dat de planeten rond de zon bewegen en de maan rond de aarde. Zodra de leerlingen op “play” drukken komen de planeten in beweging en wordt de baan van de maan zichtbaar als een soort cycloïde. Leerlingen kunnen hier allerlei onderzoek aan doen zoals onderzoeken waarom Mars aan de hemel soms achteruit lijkt te bewegen en hoe zons- en maansverduisteringen ontstaan. Met SimSketch is een grote studie uitgevoerd bij NEMO waarin 250 bezoekers in de leeftijd van 7 tot 12 met het programma aan de slag gingen en waarbij we vervolgens met een voortoets-natoets-ontwerp de ontwikkeling van kennis over het zonnestelsel hebben gemeten. Dit was werk van Annika Aukes, studente psychologie, samen met Lars Bollen en Hannie Gijlers. Het resultaat was dat met name jonge leerlingen met behulp van deze modelleertaak kennis verworven over het zonnestelsel, en met name over het ontstaan van zons- en maansverduisteringen. Ook bleek dat in deze leeftijdsgroep het werken met modellen binnen bereik lag, en dat leerlingen het werken ermee in het algemeen positief beoordeelden.

SimSketch versie 1 bevatte een collectie “gedragstickers” die het toepasbaar maakte voor verschillende domeinen. Naast het zonnestelsel waren dat bijvoorbeeld verkeer – het ontstaan van files – de verspreiding van ziektes, en de werking van antibiotica. Deze onderwerpen ontstonden uit activiteiten die we voor leerlingen organiseerden, zoals masterclasses, waarbij leerlingen zelf onderwerpen konden aandragen. In dialoog met de leerlingen werd vervolgens geanalyseerd welk gedrag nodig was en hoe dat geïmplementeerd moest worden. Binnen een week had Lars dan de nieuwe versie klaar voor de volgende sessie van de masterclass. Vragen vanuit de leerlingen, een nabije ontwikkelaar en een goede interactie met leerlingen kunnen heel productief zijn.

In deel vier ga ik verder met de ontwikkeling van SimSketch, versie 2.

Modelleren in het natuurkunde-examen

Afgelopen vrijdag maakten de 6 VWOers het eindexamen Natuurkunde. Zoals de laatste jaren gebruikelijk is zat er een vraag in over modelleren. De kandidaten moesten een model maken van een lift die met behulp van een motor omhoogklimt langs een kabel die gespannen is tussen het aardoppervlak en een satelliet. Na twee inleidende vragen over die satelliet en de kabel werden de leerlingen geconfronteerd met dit model (Bron: examenblad.nl, het volledige examen is hier te downloaden):

Screenshot 2016-05-20 21.34.48

Een diagram met veel pijlen waarvan  ik zelf ook moeite heb om te snappen wat er staat. Als tekst wordt het model zo weergegeven:

Screenshot 2016-05-20 21.36.43

Als je goed oplet zie je dat deze regels ook in de grafische vorm worden weergegeven. Leerlingen moeten over dit model vragen beantwoorden, maar voordat ik die bespreek eerst een korte uitleg over dit model, regel voor regel.

Het draait allemaal rond de variabele x, de hoogte van de lift rond het aardoppervlak. Tenminste, dat nemen we aan uit de context, want de namen van de variabelen (rx, Ma, x, etc. worden niet verklaard). Aan het begin van een stap in het model bevindt de lift zich op een hoogte x. Dan gaan we regel voor regel kijken wat er wordt berekend:

1.     rx = Ra + x De afstand van de lift tot het middelpunt der aarde wordt berekend door de straal van de aardbol bij x op te tellen
2.     mtot = m_lift+m_brandstof  De massa van lift en brandstof wordt opgeteld tot een totale massa
3.     Fg = G * Ma * mtot/rx^2 Gebruikmakend van de zwaartekrachtwet van newton wordt de zwaartekracht op de lift uitgerekend
4.     Fmpz = mtot * 4π^2*rx/(24*3600)^2 Omdat de aarde draait moet op de lift een middelpuntzoekende kracht worden uitgeoefend. Die is gelijk aan mω2r, waarbij ω de hoeksnelheid is. Die reken je uit door 2π te delen door de omlooptijd, in dit geval het aantal seconden in een dag. De formule klopt niet helemaal, in plaats van 24*3600 seconden in een dag moet eigenlijk uitgegaan worden van een siderische dag: iets meer dan 86164 seconden.
5.     Fmotor = Fg – Fmpz De motor levert een kracht naar boven die precies gelijk is aan de netto kracht op de lift – zwaartekracht min de middelpuntzoekende kracht – op die manier gaat hij met een constante snelheid omhoog, dat staat ook in de opgave.
6.     dx = v * dt7.     x = x + dx Dit zijn regels om het model te laten “lopen”, de verplaatsing binnen een tijdstap wordt uitgerekend en die wordt bij de plaats opgeteld.
8.     dW = Fmotor * dx De arbeid die de motor verricht is gelijk aan de kracht keer de verplaatsing
9.     dm_brandstof = … Het verbruik van de brandstof wordt gevraagd.
10.  m_brandstof = m_brandstof – dm_brandstof De verbruikte brandstof wordt van het totaal afgetrokken
11.  als x>4.0E7 dan stop eindals Als de lift op de gewenste hoogte is aangekomen, dan stopt het model
12.  t = t+dt De tijd wordt opgehoogd met een tijdstap.

En dan nu de vragen over dit model. De eerste vraag is te omschrijven wat in regel 8 wordt berekend. Het antwoord staat hierboven al. Het is het herkennen van de definitie van arbeid in de modelregel. Daarbij word je geholpen door het feit dat W (Work) normaalgesproken wordt gebruikt als symbool van arbeid.

De volgende vraag is regel 9 aan te vullen. Dit is typisch een trucjesvraag. dW wordt nog nergens aan de rechterkant van een =-teken gebruikt. Hetzelfde geldt voor verbrandingswarmte, dus die zal er ook wel in moeten. De eenheid van verbrandingswarmte is Joule/kg, de massa aan de linkerkant gaat in kg, dW gaat in Joule dus: dm_brandstof = dW/verbrandingswarmte. Waaraan voorbij wordt gegaan is dat er een rare aanname in de formule zit, namelijk dat alle energie die bij de verbranding vrij komt, wordt omgezet in arbeid om de lift omhoog te krijgen. Een rendement dat nooit kan. De formule zou dus eigenlijk moeten zijn: dm_brandstof = dW/(verbrandingswarmte*rendement). Maar rendement is geen variabele. De derde vraag is hoe je kunt zien dat v constant is is een inkoppertje: er is geen modelregel die begint met v = …. Dus v kan niet veranderen.

In de vraag die hierop volgt moeten leerlingen beredeneren dat je met minder brandstof ook boven kan komen, omdat je dan ook minder brandstof op hoeft te tillen. Een vraag waar je modelregels bij moet noemen, maar die ook op basis van eenvoudige principes los van het model is te beantwoorden.

Ik ben een groot voorstander van modelleren in het onderwijs, maar ik ben niet blij met deze opgave. Ten eerste gaat deze opgave alleen over de technische kant van het modelleren: een regeltje aanvullen, inzien dat een variabele niet verandert als er geen regel voor is, etc. Inzicht in waarom modellen eigenlijk worden gebruikt en wat ze betekenen wordt niet getoetst. Ook is er geen aandacht voor de aannames over het model, zoals het 100% rendement en de aanname dat de snelheid constant moet zijn. Vragen over wat er voor nodig zou zijn om dat te realiseren, waarom je in het model de relatie tussen kracht, versnelling en snelheid mag negeren, wat de stijgende lift met de kabel doet, etc worden niet gesteld. Binnen de context van zo’n examen is dat ook onmogelijk, maar de vraag is of je dat ook moet willen.

Naast dit alles vind ik de gekozen modelleertaal niet fijn. De grafische representatie is al snel onoverzichtelijk en de modelregels zijn in een quasi-programmeertaal geschreven. Raar vind ik dat getallen in de grafische representatie anders worden geschreven dan in de tekst (4,0.107 grafisch vs. 4,0E7 in de tekst). En als een super- en subscript mogelijk is waarom schrijf je dan niet Fmotor in plaats van Fmotor. En in de tekst duikt opeens een π op, wat betekent dat het ook weer geen echte programmeertaal is, die dit soort symbolen niet kent. Bovendien staat er 4π en niet 4 * π wat een programmeertaal zou eisen. Ik geef toe dat dat een beetje een zeurpunt is – ik verwacht niet dat leerlingen hier de mist op ingaan – maar als je modellen in een programmeertaal wil geven doe het dan goed.

Het resultaat is een vraag waarin leerlingen wordt gevraagd wat trucjes toe te passen op een wat slordig geformuleerd model in plaats van echt na te denken over wat modelleren is. Mijn voorstel zou zijn om modelleren in een praktische opdracht te verwerken, waarin leerlingen echt modellen zelf moeten bouwen, in een taal naar hun keuze. Modelleren is als vaardigheid te waardevol om op deze manier te toetsen.

Zwaartekracht

In het nieuwe examenprogramma natuurkunde, voor VWO is er aandacht voor sterrenkunde. Een goede zaak, want het antwoord op veel fundamentele vragen in de natuurkunde is te vinden in de sterren. Door de blik naar boven te richten en de straling van sterren en sterrenstelsels te onderzoeken krijgen we inzicht in de fysische processen in extreme situaties zoals hoge temperaturen en dichtheden, en in de bewegingen van de hemelobjecten.

Inzicht in sterrenkunde kan niet zonder inzicht in de zwaartekracht, de kracht die er voor zorgt dat dingen naar de aarde vallen, dat de aarde in een baan om de zon blijft en dat ons zonnestelsel om het centrum van de melkweg cirkelt. Het mooie is dat we door de introductie van sterrenkunde meteen een goed platform hebben om het te hebben over die zwaartekracht. Velen associeren zwaartekracht met sommen over kogelbanen en ballen die van torens worden geworpen.Het nadeel daarvan is dat alles uiteindelijk op aarde terechtkomt. Het is veel interessanter om situaties te onderzoeken waarin de zwaartekracht haar bindende rol in het heelal kan spelen.

Ik werd gevraagd door Jaap Vreeling, coordinator onderwijs van NOVA, of ik mee wilde denken over een simulatie die gebruikt kan worden in het onderwijs. Hij regelde een afspraak met Simon Portegies Zwart, hoogleraar computationele astronomie in Leiden. Ik kon niet laten er na dit gesprek mee te beginnen. Met behulp van algoritmes en datasets van Simon (www.nbabel.org) en de database van Jet Propulsion Lab van NASA, met de posities en snelheden van alle bekende objecten in het zonnestelsel heb ik een eerste vingeroefening gedaan. Het resultaat staat hieronder. Of klik hier voor een full screen versie.

De simulatie bevat een aantal voorbeelden: een systeem met de zon, aarde en maan, niet op schaal. Interessant is te zien dat de zon een klein beetje waggelt en dat de baan van de maan sterk varieert onder invloed van de zon. Het hele zonnestelsel is wel op schaal, tenminste, de afstanden van de objecten zijn dat. Als ik de afmetingen van de planeten ook op schaal zou maken zouden ze onzichtbaar zijn. De startposities van de planeten zijn die op 1 december, de dag dat ik ze uit de database heb gehaald. Mooi is om een planeet, bijvoorbeeld de aarde centraal te zetten en vorm van de baan te laten plotten. De lussen die je ziet verklaren waarom planeten soms in omgekeerde richting lijken te bewegen:

Je kunt zelfs zien dat Mars helderder wordt tijdens de terugbeweging, logisch, want hij staat dan dichterbij.

In de zonnestelselsimulatie heb ik ook de baan van een planetoïde opgenomen. Niet geheel toevallig die van de planetoïde “Marieke Baan“, de persvoorlichter van NOVA. Tot slot heb ik een aantal simulaties van sterrenhopen toegevoegd, gedownload van nbabel.org. Als je goed kijkt zie je dat soms een ster wegschiet, en dat er kleine deelgroepjes van sterren ontstaan.

Ik ben niet van plan de simulatie helemaal te gaan bouwen,en heb nog wel een wensenlijstje: een real-time koppeling met JPL, plotten van de baan van de voyagersondes, en meer interactiviteit, zodat leerlingen bijvoorbeeld een reis naar Mars kunnen plannen.Het zou dus mooi zijn als dit op de een of andere manier verder opgepikt wordt.

Genetische algoritmen

Het was een beetje stil op deze blog. Ondertussen ben ik aan de gang gegaan met Coffeescript, een taal die het mogelijk maakt je programma’s voor webpagina’s heel compact en toch leesbaar op te schrijven. Als je geïnteresseerd bent kun je de broncode van het programma hieronder bekijken. In dat geval weet je vast ook hoe.

Ik heb coffeescript gebruikt om inzichtelijk te maken hoe genetische algoritmen werken. Dit zijn algoritmen die gebruikt worden om oplossingen te vinden voor problemen waarbij het aantal mogelijke oplossingen zeer groot is. Denk bijvoorbeeld aan het maken van een rooster voor een school. Als je -zeg- twintig klassen hebt, die elk les moeten krijgen in twaalf vakken verdeeld over achttien lokalen, in veertig mogelijke lesuren per week is het aantal mogelijkheden enorm groot. Wel kun je eenvoudig uitrekenen of een bepaalde oplossing aan alle voorwaarden voldoet, zoals geen lokaal of docent dubbel geboekt. Ook is het mogelijk iets te zeggen over de kwaliteit van een oplossing. Je kunt zo de voorkeur geven aan zo min mogelijk tussenuren voor klassen en docenten. Door het enorme aantal mogelijkheden is het vinden van de beste oplossing vrijwel onmogelijk, daarvoor zou je alle mogelijkheden moeten doorrekenen. Met genetische algoritmen kun je goede oplossingen vinden, hoewel die dus niet noodzakelijk de beste zijn.

Het werkt als volgt:

  1. Genereer een aantal willekeurige oplossingen
  2. Gebruik die oplossingen om nieuwe oplossingen te maken. Dat kan op twee manieren: combineer twee oplossingen tot één nieuwe (seksuele reproductie) of kopieer een oplossing en breng er een kleine wijziging in aan (aseksuele reproductie met mutatie)
  3. Bereken voor elke oplossing de kwaliteit.
  4. Houd de beste oplossingen (b.v. de beste 25%) en ga terug naar stap 2

Stappen 2-4 worden herhaald totdat je tevreden bent over de beste oplossing uit je verzameling oplossingen.

Screenshot 2013-10-22 14.42.42

Ik heb dit algoritme toegepast op het handelsreizigersprobleem. (Daar ben ik overigens niet origineel in). Dit probleem vraagt naar de kortste route voor een handelsreiziger die N steden precies één keer moet bezoeken en terugkeren naar zijn beginpunt. Het aantal mogelijke routes is N!, een aantal dat zeer snel oploopt met N, waardoor het onmogelijk wordt alle routes door te rekenen.

Hieronder kun je zien hoe een genetisch algoritme probeert een goede route te vinden. Klik in het witte vlak om steden te plaatsen. Als je minimaal twee steden hebt geplaatst kun je op start drukken om een route te vinden. Na elke generatie pauzeert het algoritme even en laat de tot dan toe beste oplossing zien. Als een generatie geen verbetering geeft stopt het. Als je nog niet tevreden bent, kun je met “Verder” het algoritme nog een schop geven om het nog wat langer te proberen. Soms helpt meerdere keren schoppen.

Voortplanting gebeurt op twee manieren: seksuele voortplanting gebeurt door het eerste deel van een oplossing te knippen, uit een andere de in dit deel al bezocht steden te verwijderen en de rest aan de nieuwe oplossing te plakken. Bij aseksuele voortplanting met mutatie wordt in de kopie één stad van plaats veranderd of worden twee steden verwisseld.

Mijn implementatie is niet ideaal, en stopt vaak te snel. Dat komt doordat ik relatief weinig “kinderen” laat genereren en doordat mijn mutaties misschien te conservatief zijn. Dat merk je vooral in situaties met veel steden. In onderstaand plaatje kreeg ik het algoritme niet meer verder ondanks het feit dat er op het oog zeker verbeteringen mogelijk zijn. Deze relatief zwakke implementatie laat denk ik juist goed de principes en beperkingen van genetische algoritmes zien.

Screenshot 2013-10-22 12.43.56

Ik hoop binnenkort een versie hier te plaatsen waarmee je met de parameters (aantal generaties, wijze van voortplanting) van het algoritme kunt stoeien en de effecten op het resultaat kunt zien.

 

20 jaar doctor

Gisteren (22 juni) was het exact 20 jaar geleden dat ik mijn proefschrift verdedigde: “Understanding and facilitating discovery learning in computer-based simulation environments”. Het proefschrift gaat over het toepassen van computersimulaties als middel om leerlingen te leren door experimenteren. Het was in de tijd dat het constructivisme opkwam. In die visie is het belangrijk de leerling te zien als een actieve deelnemer aan het leerproces. Informatie wordt niet ‘gekopieerd’ in de hersenen maar actief verwerkt. Als gevolg daarvan moet de leerling ook actief informatie verzamelen en verwerken. Ontdekkend leren (tegenwoordig spreken we liever van onderzoekend leren) is een manier om dat expliciet te doen: leerlingen experimenteren zelf en (her) ontdekken de onderliggende regels en wetten.

De oppositie
De oppositie

In mijn proefschrift gebruikte ik simulaties als een middel waarbinnen leerlingen veilig in een gecontroleerde omgeving konden experimenteren. Ik deed mijn studies met eerstejaars scheikundestudenten die iets moesten leren over meetfouten. Ik vond (en vind) het idee ze helemaal los te laten zonder enige verdere ondersteuning niet goed en bedacht ter ondersteuning een “hypothesekladblok” (hypothesis scratchpad). Hierop konden de studenten invullen welke hypothese ze wilden toetsen, al dan niet geholpen door een aangeboden structuur. Die structuur bestond er uit dat ze in de zin “Als … … dan geldt dat … …”, op de stippeltjes gegeven namen variabelen en relaties konden invullen zodat de hypothesen een correcte vorm kregen zoals: “Als de hoeveelheid stof toeneemt, dan geldt dat de relatieve meetfout afneemt”. Het idee was dat leerlingen dat vervolgens met de simulatie (van een titratie-experiment) gingen toetsen. Idealistisch als ik was dacht ik dat het kladblok enorm zou helpen.

Dat pakte anders uit. Hoewel ik in mijn proefschrift probeer een en ander positief uit te leggen is er eigenlijk geen enkele aanwijzing dat het kladblok werkt. Integendeel, studenten gebruikten het niet spontaan, en als ze gedwongen werden formuleerden ze vooral heel algemene en daardoor niet toetsbare hypothesen. De reden waarom bedacht ik later: studenten doen vooral dingen om verder te komen met de opdracht. Het kladblok liet zich makkelijk invullen en de studenten kregen de indruk dat ze opschoten. Waar ik dacht dat het zou leiden tot dieper nadenken bereikte ik het tegenovergestelde.

Met paranimfen
Met mijn paranimfen, Melanie Njoo en Erica de Vries

Leuk is dat ik in het proefschrift een methode heb ontworpen om automatisch hypothesen en experimenten van de leerlingen met de simulatie te kunnen interpreteren. Een soort learning analytics avant-la-lettre (hoofdstuk 9). En mijn laatste stelling had een voorspellende waarde, die gaat over leraren. Sinds een jaar ben ik directeur van een lerarenopleiding.

Het onderzoek heeft een vervolg gekregen in een aantal mooie projecten die leidden tot het auteurssysteem SimQuest, een systeem waar ik nog alijd trots op ben. Met SimQuest is het eenvoudig om een computersimulatie te maken en daaromheen vervolgens instructie te ontwerpen in de vorm van opdrachten, uitleg, en het geleidelijk moeilijker maken van het simulatiemodel. SimQuest hebben we nog lang gebruikt, en het is ook opgepikt door groepen in binnen- en buitenland – zo kregen we op een bepaald moment het verzoek om het in het Vietnamees te vertalen.

Promotie 9

Het hypothesekladblok is een eigen leven gaan leiden. Het is door anderen gekopieerd en/of heruitgevonden en in veel systemen gebruikt, vaak met als doel om er achter te komen wat de leerling denkt. Natuurlijk zijn onder invloed van de snelle ontwikkelingen in de technologie de versies steeds fraaier geworden, aan het basisprincipe is weinig veranderd. Dat is jammer, want als mijn proefschrift één ding aantoont is dat er een fundamentele ontwerpfout in zit. Door in het programma een invulformulier aan te bieden wordt dat automatisch onderdeel van de taak en haalt de aandacht weg van het werkelijke doel: leren over het onderwerp van de simulatie. Op een conferentie heb ik niet zo lang geleden eens gezegd dat we het hypothesis scratchpad ritueel moeten verbranden. Recent zag ik het echter – zelfs dicht bij huis – weer opduiken. In de loop der tijd heb ik geleerd dat het het belangrijkst is de leerling te motiveren. Je kunt nog zulke mooie modellen maken van de leertaak, die wordt pas effectief als de leerling zelf daadwerkelijk wil leren. En gedachteloos inzetten van invulformulieren als ondersteuning van hypothesevorming, experimentontwerp of planning zit die motivatie vaak alleen maar in de weg.

Simulaties ben ik blijven maken, de laatste tijd post ik ze op deze blog.

Het 100-veld – in vele afmetingen

Leren rekenen is een hele uitdaging, zeker wanneer je met optellen of aftrekken over tientallen heen moet. Ook het automatiseren van de tafels van vermenigvuldiging gaat niet bij alle kinderen vanzelf. Om goed te leren rekenen is het nodig een goed begrip te hebben van hoe het getalstelsel in elkaar zit, en hoe je daar op een snelle manier de weg in vindt. Het helpt daarbij om een goede voorstelling te hebben van de getallen en hun samenhang, zodat je de verschillende stappen van de rekenkundige operaties kunt visualiseren. Een voorbeeld is de getallenlijn. Optellen en aftrekken kun je zien als stappen naar rechts of naar links op deze lijn. Met deze visualisatie kun je leren inzien hoe die elementaire rekenhandelingen werken. Dit werkt voor getallen die niet te groot zijn. Voor getallen tot honderd kwam ik via @ionicasmeets een getallenpijl tegen. Ik zag niet het precieze voordeel van die pijl (Ionica ook niet trouwens), maar misschien begrijp ik het niet helemaal. Op dezelfde pagina staat een ‘number map’, en die lijkt weer veel op het aloude honderdveld, dat wel een geweldige representatie is van getallen in het tientallig stelsel. Het veld staat hieronder.

Rekenoperaties tot 100 kunnen in dit veld worden gezien als stappen in het veld. Voor bijvoorbeeld 15+23 ga je naar het veld 15, dan 2 omlaag en 3 naar rechts. Als je aan het eind van de rij bent tel je op de volgende rij verder. Gaat – tot 100 – altijd goed. Op de lagere school heb ik alle tafels op het vel ingekleurd. Als je alle veelvouden van 3 inkleurt krijg je een patroon van diagonale lijnen, en zo heeft elke tafel een patroon. En, zoals Ionica opmerkte, het honderdveld is een mooie visualisatie om met de zeef van Eratosthenes de priemgetallen tot 100 te bepalen. Het bovenstaande 100-veld is interactief: als je op een getal klikt kleurt het alle veelvouden van dat getal in. En het knopje ‘Priemgetallen’ laat een animatie zien hoe je met de zeef alle niet-priemgetallen weg kunt strepen.

Om echt te waarderen hoe handig het 100-veld is, is het leuk om het te gebruiken om te proberen snel te leren rekenen in een ander talstelsel. Je kunt het getallenvierkant groter maken door een getal in het vakje erboven in te vullen. Als je bovendien het vakje eronder aanvinkt worden de getallen genoteerd in het talstelsel met als grondtal de breedte van het vierkant. Dat laatste werkt voor getalstelsels van 2 tot en met 37. Als symbolen voor cijfers groter dan 10 worden de letters van het alfabet gebruikt en het teken #. Speel maar eens met de patronen in een 16-tallig stelsel, of bedenk wanneer het zo is dat een getal deelbaar is door een cijfer als de som van de cijfers dat ook is (zoals bij 3 en 9 in het tientallig stelsel). Wat als de basis een priemgetal is? En hoe ziet de verdeling van de priemgetallen er uit voor grotere vierkanten? Zoals je ziet blijft het vierkant altijd een 100-vel, waarbij 100 natuurlijk in elk getalstelsel een ander getal verbeeldt.

Als je met grotere vierkanten wilt spelen past het vierkant niet meer op deze blogpagina. Klik dan hier voor een pagina met alleen het vierkant. Op dat moment is alleen de grootte van je scherm de beperkende factor. En als je ideeën hebt voor interessante toepassingen   of inkleuringen kan ik die misschien aan het veld toevoegen.

Update: Naar aanleiding van de reactie van Ionica heb ik het veld een beetje aangepast: de priemgetallen bouwen nu wat langzamer op, en elke tafel die je wegstreept heeft zijn eigen kleur. De witte, vetgedrukte cellen getallen die overblijven zijn de priemgetallen. Voor  grotere vierkanten neemt het programma grotere stappen en streept het hele tafels in één keer weg, omdat het anders heel lang gaat duren.

 

Kun je met gokken geld verdienen?

Als je met gokken geld wilt verdienen kun je het beste een casino beginnen. Alle gokspelen zijn zo ingericht dat het casino op de lange duur altijd met winst eindigt. Op de roulette kun je bijvoorbeeld inzetten op 36 nummers. Als het balletje op jouw nummer valt krijg je 35 keer plus je inzet terug. Er zijn echter 37 mogelijke uitkomsten: 0 tot en met 36. Dat betekent dat op de lange duur 1/37 van je totale inzet bij het casino terecht komt.

Of toch niet? Er zijn spelers die beweren dat ze door systematisch in te zetten toch winst kunnen maken. Het bekendste systeem hiervan is de martingaal, of verdubbelingsstrategie. Het idee er achter is in te zetten op de helft van de nummers (rood of zwart, even of oneven) waarmee bij winst de inzet wordt verdubbeld. De winkans is 18/37. Als je wint neem je de winst, als je verliest zet je opnieuw in met een verdubbelde inzet. Als je stopt direct nadat je een keer hebt gewonnen zul je altijd met winst eindigen. Het probleem is echter dat je inzetten steeds groter moeten worden als je blijft verliezen, en dat op een zeker moment het casino dicht gaat. Het kan dus zijn dat je met een groot verlies blijft zitten aan het eind van de avond.

Recent schreef Ionica Smeets een artikel in NWT magazine over een speelster die beweerde dat ze een winnend systeem had gevonden. Het bleek dat zij een variant van de martingaal had bedacht. In plaats van op 18 getallen zette zij in op dozijnen (b.v. 1-12, 13-24 of 24-36) en verhoogde de inzet volgens een zelfberekend schema dat er voor zorgt dat de totale balans direct na een winst positief eindigt. In het artikel werd ook duidelijk dat de strategie gevaarlijk is: ondanks haar voornemen vooraf liep de speelster toen het even tegen leek te zitten al bijna naar de pinautomaat.

Voor dat artikel maakte ik een simulatie van deze strategie. De plaatjes die deze simulatie maakt staan bij het artikel afgedrukt. Het spelen met de simulatie geeft inzicht in hoe de strategie werkt – en dat hij op de lange duur altijd tot verlies leidt. Die simulatie staat hieronder.

Je kunt spelen volgens de klassieke martingaal (met verdubbelen) en met het systeem van Ingrid Flieger, zoals uitgelegd in het artikel van Ionica. De inzet is altijd 5 euro of een veelvoud daarvan. Je kunt instellen hoeveel ronden je maximaal op een avond kunt spelen en met hoeveel geld je begint. De simulatie stopt als je de inzet die het systeem van je vraagt groter is dan de hoeveelheid geld die je in je zak hebt, of als het aantal ronden is bereikt. In het grafiekje geeft de blauwe lijn aan hoeveel geld je bezit, de gele wat je totaal hebt ingezet en de rode wat de inzet is voor de huidige ronde. Als rood blauw kruist ben je blut.

Met de simulatie kun je ook een aantal avonden achter elkaar simuleren. De grafiek laat dan een staafdiagram zien van je kapitaal aan het eind van elke avond. De meeste laten een bescheiden winst zien, maar op de avonden dat je verliest is het verlies meteen erg groot. Onder de grafiek verschijnt de eindbalans. Trek zelf je conclusies….

Mondriaan meets Fractals.

Via twitter kwam ik deze wedstrijd tegen: http://elegant.setup.nl/, en ik voelde me uitgedaagd om een algoritme te schrijven om een Mondriaan te genereren. Hier is mijn inzending:

Hoe vang je een Mondriaan in een algoritme? Een mooie uitdaging. Ik besloot om niet te proberen de Victory Boogie-Woogie na te maken, maar te proberen vlakverdelingen te genereren die van Mondriaan zouden kunnen zijn. Daarnaast is het interessant om een kleine eigen touch aan het w erk te geven.  Niet om de meester te willen verbeteren, maar omdat het interessant en leuk is. Ik ben geen kenner, wel een liefhebber, en had geen tijd me te verdiepen in de literatuur. Ik ben dus puur op eigen indrukken van de schilderijen afgegaan.

Een Mondriaan, tenminste zijn latere werk, is in essentie een verdeling van het vlak in rechthoeken. In veel werk worden die vlakken gescheiden door duidelijke zwarte lijnen, in VBW niet, daar onderscheidt een vlak zich alleen door zijn kleur.

Belangrijk in een Mondriaan is de verhouding tussen de grootte van de vlakken. Vaak zijn de grotere vlakken excentrisch maar wel dicht bij het midden geplaatst, als een soort centrale pleinen. Naar de randen toe worden de vierkanten vaak kleiner en soms langwerpiger. Bij Victory Boogie-Woogie zijn er bovendien twee verdelingen die in andere schilderijen niet voorkomen. De eerste noem ik strips, geblokte banden die de functie van een grens lijken te hebben. De tweede zijn vlakken met een zwevend, kleiner, contrasterend vlak er in. Die rechthoeken zijn altijd dicht bij een vierkant. Lengte en breedte verschillen niet veel van elkaar.

i6

Op basis hiervan kwam ik tot een algoritme:

  1. Verdeel het vlak in negen delen. De centrale rechthoek plaats je excentrisch en wordt niet verder verdeeld.
  2. Voeg de 8 vakken rond de centrale vak samen tot vier rechthoeken. Dit kan op meerdere manieren, gebruik een toevalsgenerator om te kiezen hoe.
  3. Verdeel deze vier rechthoeken opnieuw op deze wijze, met de volgende uitzonderingen:
    1. Op basis van toeval wordt een deel van de rechthoeken niet verder verdeeld.
    2. Een langgerekte driehoek kan een strip worden
    3. Een kleine rechthoek die bijna vierkant is kan een vierkant worden met een kleiner zwevend vierkant er in.
  4. In een Mondriaan wordt meestal na 1 stap niet verder onderverdeeld, maar in principe kun je oneindig lang doorgaan. Het schilderij wordt dan een fractal, een figuur waarin je oneindig lang kunt inzoomen en steeds nieuwe structuren te zien. Omdat algoritmebouwers van recursie houden is dit een mooie twist voor deze opdracht.

i4Ik heb voor zowel de Mondriaans met lijnen en primaire kleuren, als voor de wat zachtere kleuren van de Victory Boogie-Woogie een aantal “schilderijen” gemaakt met dit algoritme. De resultaten staan verspreid op deze pagina. Hieronder staat de generator zelf:  Door op ‘go’ te klikken maak je een nieuw schilderij. Als het niet bevalt maak je gewoon een nieuwe. Je kunt kiezen voor het kleurenpallet, of er lijnen moeten worden getekend en voor de diepte: hoe vaak wil je dat het algoritme rechthoeken blijft opdelen? Als je op ‘save’ drukt opent een nieuw venster met daarin een PNG-afbeelding van het schilderij dat je kunt opslaan vanuit je browser.

De broncode van het algoritme is hier te downloaden. De afbeelding hieronder is een ‘diepere’ uitvoering en in groot formaat te downloaden. En oja, als je dit leuk vindt, stem dan op me bij de wedstrijd.

VBW groot

 

 

 

Quantumtheorie getest

Quantummechanica wordt vaak gezien als een beetje raadselachtig. Toen in de eerste decennia van de twintigste eeuw de nieuwe natuurkunde werd ontwikkeld werd duidelijk dat de wereld van de allerkleinste deeltjes er totaal anders uitziet als de werkelijkheid die we direct waarnemen. Materie blijkt zich soms als een golf en soms als een deeltje te gedragen, en kan zich zelfs in meerdere toestanden tegelijk bevinden, waardoor we nog steeds niet weten of de kat van Schrödinger nu wel of niet leeft.

Dit alles komt door een belangrijk principe in de quantummechanica. Sommige grootheden, zoals plaats en snelheid van een deeltje kun je niet tegelijkertijd meten. Als je de snelheid van een deeltje meet weet je de plaats niet en andersom. Dit is het onzekerheidsprincipe van Heisenberg. In de berekeningen voor plaats en snelheid zit altijd een minimale onzekerheid. Een quantummechanische toestand voorspelt daarom alleen de kans op een bepaalde uitkomst van een experiment. En door te meten verander je ook de toestand: een meting van plaats levert een toestand op met een zekere plaats en een onzekere snelheid en omgekeerd.

Einstein vond dit maar niets. Hij vond dat een theorie die niet alles kon voorspellen niet af is. In een jarenlange discussie met Niels Bohr probeerde hij de natuurkundige gemeenschap daarvan te overtuigen. In 1935 kwam hij, samen met twee anderen, tot een ultiem argument. Stel, je hebt een atoom, dat in twee delen uit elkaar valt, en die twee delen bewegen van elkaar weg. Dan kan ik uit een meting van het ene deeltje de eigenschappen van het andere berekenen. Dus, als ik van deeltje A de plaats meet weet ik de plaats plaats van deeltje B. En voor de snelheid is dat ook zo. Maar, als deeltje B inmiddels ver weg is, kan deeltje B niet weten wat ik meet, en moeten plaats en snelheid al bekend zijn. Anders zou deeltje B op het moment dat ik deeltje A meet moeten weten wat er gemeten wordt. Er zou dus een signaal met oneindige snelheid van A naar B moeten gaan, en dat kan niet volgens Einsteins relativiteitstheorie.

Bohr liet zien dat dit geen probleem hoeft te zijn met de theorie. De quantumtheorie geeft een bovengrens aan wat we kunnen weten, en in de redenering van Einstein hoeft er toch geen informatie te worden verzonden om de metingen toch kloppend te krijgen.

De discussie werd in de jaren 60 nieuw leven ingeblazen door John Bell. Hij was het met Einstein eens beide deeltjes alle eigenschappen moesten dragen, dus meer informatie bevatten dan de quantumtheorie toestaat. Hij richtte zich op een eigenschap van deeltjes die aangeeft hoe snel ze om hun as tollen, en in welke richting: de spin. Quantummechanisch geldt voor de spin in twee verschillende richtingen hetzelfde als voor plaats en snelheid: je kunt ze niet tegelijkertijd meten. Als je de spin in de verticale richting meet, blijf je in het ongewisse over de spin in de horizontale richting en andersom.

Bell bedacht een experiment waarbij een deeltje zonder spin uiteenvalt in twee deeltjes elk met spin. De totale spin van beide deeltjes moet dan wel nul zijn. Als je van beide deeltjes de spin meet in dezelfde richting, vind je bij elke positieve spin bij deeltje A een negatieve spin voor deeltje B. De correlatie, een maat voor de samenhang tussen de twee metingen, tussen beide spins is dan -1. Maar als je van deeltje A in de verticale richting meet, en bij B in de horizontale richting vind je een correlatie van nul, de metingen hangen totaal niet samen. De meting aan de ene kant zegt niets over wat je aan de andere kant vindt. Zowel de quantummechanica als de klassieke natuurkunde voorspellen dat en op die manier kun je dus niet bepalen welke theorie klopt. Bell kwam op het idee om ook te kijken naar situaties waarin de spin niet in dezelfde richting of loodrecht op elkaar wordt gemeten, maar bijvoorbeeld onder een hoek van 60 graden. Hij vond dat dan de quantummechanica en klassieke theorie dan wel verschillende uitkomsten geven. In een klassieke theorie splitst het deeltje en ligt de spin van beide brokstukken vast. In de quantumtheorie splitst het deeltje en ligt er nog niets vast over de spin van beide deeltjes. Pas op het moment van meten aan deeltje A verandert de quantumtoestand van beide deeltjes in een toestand waarin deeltje A een positieve of negatieve spin in de gemeten richting heeft. Als dan deeltje B wordt gemeten hangt de uitkomst mede af van die op deeltje A. Daardoor is de correlatie tussen de uitkomsten van de metingen volgens de quantummechanica sterker dan volgens de klassieke mechanica. In de simulatie hieronder kun je dit uitproberen.

Boven zie je een simulatie van het spin-experiment volgens de quantumtheorie, daaronder hetzelfde experiment berekend volgens een klassieke theorie. Je kunt de hoeken waaronder de spin wordt gemeten aanpassen voor beide deeltjes, A en B. Je kunt met Run 1 deeltje laten splitsen. Je ziet dan aan beide kanten een detector opflitsen en het deeltje registreren. Als de detectoren onder dezelfde hoek meten zie je dat steeds tegengestelde detectors opflitsen. Als ze een hoek maken van 90 graden is er geen verband tussen de flitsen links en rechts.

Met “Run 1000” kun je duizend experimenten achter elkaar doen. Je kunt aflezen wat de correlatie tussen de metingen aan deeltje A en B is. Hoe dichter bij 1 of -1 hoe sterker de correlatie. Bij nul is er geen verband. Probeer eens een verschil tussen a en b van 60. Je ziet dat de quantumtheoretische en de klassieke correlaties verschillen. De stelling die Bell bewees is dat er geen klassieke theorie mogelijk is die voor alle combinaties van a en b dezelfde voorspellingen als de quantumtheorie kan geven.

Welke instelling je ook maakt voor beide deeltjes is de kans op een meting van + of – 50%.  Voor een waarnemer die maar 1 van de deeltjes ziet is er niets bijzonders aan de hand, pas met de kennis over het andere deeltje valt de correlatie op. Dat betekent dat, hoewel er een correlatie is, er geen informatie tussen de deeltjes wordt uitgewisseld. Op die manier blijven we nog net binnen de regels van de relativiteitstheorie.

In het begin van de jaren 1980 voerde Alain Aspect een reeks experimenten uit met fotonen in een opstelling zoals hierboven getoond. Die experimenten toonden overtuigend aan dat de quantummechanische voorspellingen kloppen.