ID.nl logo
Hoe zou iets zich ontwikkelen? Bekijk het met de simulaties van NetLogo
© Faiza
Huis

Hoe zou iets zich ontwikkelen? Bekijk het met de simulaties van NetLogo

Simulaties vormen een onmisbaar gereedschap in de wetenschap, maar ook geïnteresseerde leken kunnen ermee spelen. Dat kan helemaal gratis met NetLogo.

Om de kans ergens op in te schatten,wordt veel gebruikgemaakt van simulaties. Met NetLogo kun je zelf allerlei simulaties kunt bekijken:

  • Hoe zuurstof en waterstof reageren
  • Voorspellingen over virussen
  • Het ontploffen van vuurwerk
  • Het kat-en-muisspel tussen jagers en hun prooien

Een heel ander soort simulatie: Aan de slag met Microsoft Flight Simulator

Een deel van onze wetenschappelijke kennis bestaat uit natuurwetten en die hebben vaak de vorm van formules waar je wat getallen in stopt en waar vervolgens een exact antwoord uit rolt. Helaas zit de wereld vol met processen die te complex zijn om op die manier te benaderen. Soms is dat omdat er te veel elementen een rol spelen en onze formules alleen werken voor eenvoudiger situaties en soms omdat we simpelweg de kennis missen om zulke formules te ontwikkelen. Er zijn daarnaast volop situaties waarin dat zelfs in theorie onmogelijk is.

Om in al die gevallen toch nuttige en bruikbare wetenschap te kunnen bedrijven, wordt veel gebruikgemaakt van simulaties.

Universeel

Voor heel veel simulaties wordt speciale software ontwikkeld. Dat geldt bijvoorbeeld voor de voorspelling van het weer en het klimaat, en het analyseren van verschijnselen in de kosmos die in het echt te langzaam verlopen om goed te kunnen bestuderen (zoals het botsen van melkwegstelsels).

Veel simulaties hebben echter gemeenschappelijke kenmerken en daarom bestaat er ook een universeel systeem waarin je allerlei soorten simulaties kunt maken. Het heet NetLogo en is helemaal gratis.

Er is ook een onlineversie, NetLogo Web, met enigszins beperkte functionaliteit en een desktopversie met volledige functionaliteit en een grotere verwerkingssnelheid.

We richten ons in eerste instantie op de webversie, omdat deze voldoende materiaal biedt voor een kennismaking.

Kennismaking

Wanneer je de webversie hebt gekozen, wordt het programma geopend met een willekeurig voorbeeld. NetLogo Web werkt met programmaatjes (die Models worden genoemd). Om een indruk te krijgen van het systeem openen we Connected Chemistry Gas Combustion. We zijn in eerste instantie niet geïnteresseerd in het doel van het model, maar in het gebruik ervan.

Zoals je links kunt zien, is er een knop genaamd setup. Klik je daarop, dan verschijnen in het zwarte vlak rechts blauwe en witte bolletjes die moleculen zuurstof en waterstof voorstellen.

Links zie je ook de nodige schuifregelaars waarmee je verschillende parameters van de simulatie kunt aanpassen, zoals het aantal moleculen waarmee de simulatie begint. We laten ze even voor wat ze zijn en klikken naast de setup-knop op go/stop. Je ziet nu de moleculen rondzweven, maar verder gebeurt er niets.

Klik je nu links op de knop speed up & trace one molecule, dan krijgt één molecuul waterstof zoveel energie dat het bij een botsing een zuurstofmolecuul kan breken om zich er vervolgens aan te binden en water te vormen. Hierdoor ontstaat zelfs een kettingreactie. Klik op go/stop om de simulatie te stoppen.

De simulatie begint te lopen nadat we op de knop speed up & trace one molecule hebben geklikt.

Werking

Zoals je hebt kunnen zien terwijl de simulatie draaide, verschijnen er ook grafieken voor het aantal moleculen, en de temperatuur en druk van het gasmengsel. Het zal duidelijk zijn dat dit niet kan zonder het nodige programmeerwerk. Programma’s voor de verschillende simulaties zijn toegankelijk. Je vindt ze door omlaag te scrollen en te klikken op NetLogo Code.

Uiteraard kunnen we je in deze workshop onmogelijk de programmeertaal van NetLogo leren. We zullen daarom alleen de nodige voorbeelden bekijken die een goed beeld geven van de veelzijdigheid en werking van het systeem.

Het leren van deze voorbeelden wordt vergemakkelijkt doordat programma’s vaak uitgebreid zijn voorzien van commentaar (de teksten achter ;;) en doordat ze in functionele blokken zijn verdeeld. Klik je op het keuzemenu genaamd Jump to Prcocedure, dan zie je de segmenten van het programma, zoals setup, make-box en make-gas-molecules (waar de begintoestand van de simulatie wordt gemaakt). Hierdoor kun je op zeker moment zelf de gewenste elementen uit bestaande voorbeelden halen en gebruiken als startpunt voor je eigen simulaties. Verderop komen we nog terug op educatief materiaal om NetLogo te leren.

De onderliggende programma’s zijn gestructureerd en overzichtelijk.

Uitleg

Elke simulatie in NetLogo kun je van tekst en uitleg voorzien en deze vind je onder het kopje Model Info. Hier lees je dat dit specifieke model de manier toont waarop zuurstof en waterstof met elkaar reageren in een raketmotor. Ook kun je deze ruimte gebruiken om te beschrijven hoe je het model gebruikt, bijvoorbeeld waar de verschillende schuifregelaars voor dienen (onder het kopje How to use it).

Omdat NetLogo vaak wordt gebruikt voor educatieve doeleinden, bevat dit specifieke model ook de nodige informatie over de achtergrond van het experiment en suggesties voor verder gebruik en uitbreiding ervan (vanaf het kopje Things to notice).

Interactie

Helemaal bovenaan de interface staat achter Search the Models Library een keuzemenu. Klik op het driehoekje van de modellenlijst bovenin en typ in het zoekvak dat daaronder verschijnt het woord lunar. Je ziet nu het model Lunar Lander. Klik erop om het te openen.

Net als bij het eerste voorbeeld zie je een schuifregelaar genaamd model speed. Deze komen we vaker tegen en dient uiteraard om de simulatie te versnellen of vertragen. Versnellen willen we in dit geval zeker niet, want Lunar Lander is een simulatie waarin je het oeroude spelletje Maanlander kunt spelen. Hierin moet je een ruimteschip een zachte landing op de maan laten maken.

Na een klik op setup wordt een willekeurig landschap gegenereerd met een blauw landingsplatform en een rood ruimteschip. Zodra je op go klikt, start de simulatie en begint het schip onder invloed van de zwaartekracht te dalen. Aan jou de taak om met de toetsen J (links), L (rechts) en K (motor) het schip zachtjes op het platform te plaatsen.. Behalve dat je automatisch draaiende simulaties kunt maken, biedt NetLogo dus ook volop interactie.

Een versie van het oude spelletje Maanlander.

Model

Ten tijde van de coronapandemie werden regelmatig voorspellingen gedaan over de verspreiding van het virus. Dergelijke voorspellingen waren gebaseerd op modellen. Een voorbeeld van zo’n model is Virus on a network. Op basis van de eerdere paragrafen weet je inmiddels hoe je dit model kunt vinden, initiëren en uitvoeren.

In dit model raken gezonde mensen (blauwe bolletjes) besmet (rode bolletjes). Er is een kans op herstel (recovery-chance). Als dat gebeurt wordt een bolletje weer blauw. Er is ook een kans dat iemand resistent wordt (gain-resistance-chance, grijze bolletjes). Iemand die resistent is (en dus zelf niet ziek wordt) kan het virus nog wel doorgeven.

Het model is opgebouwd als netwerk omdat zo ook onze leefwereld in elkaar zit: we zijn allemaal onderdeel van overlappende netwerken van familie, vrienden en collega’s.

Het voorspellen van de verspreiding van een virus.

Een virus stoppen?

Daar is zelfs een spelletje over gemaakt

Data

Onder de verschillende schuifjes waarmee je de parameters van het model naar je hand kunt zetten, zie je het venster Network Status. Dit heeft zijn eigen menu (de drie streepjes). Klik je daarop, dan kun je de gemaakte grafiek afdrukken (Print chart) of opslaan in verschillende formaten, zoals Download PNG image.

Beweeg je de cursor over de grafiek, dan zie je de bijbehorende waarden in een pop-up. Deze waarden kun je ook downloaden, zodat je er vervolgens in een programma als Excel verder mee zou kunnen werken. Dat doe je via de menuoptie Download CSV.

Grafieken kun je afdrukken en opslaan. Ook de achterliggende data kun je opslaan.

Complex

Tijdens de coronapandemie (en andere epidemieën) overleden er mensen aan een besmetting. In deze simulatie zou je dat kunnen verwerken door een percentage van de rode bolletjes na een bepaalde tijd te verwijderen. Dat zou de simulatie nog realistischer maken. Er is nog een factor als het gaat om de voorspellende waarde van dit model: virussen muteren en een nieuwe variant brengt nieuwe parameters met zich mee als het gaat om de kans op overleven of resistentie opbouwen. Die parameters ken je echter pas als zo’n nieuwe mutatie al een tijdje rondwaart.

Daarmee zie je ook meteen een tekortkoming van het werken met modellen. Ja, wetenschappers doen hun uiterste best om modellen zo goed mogelijk te maken, maar het blijft een kwestie van het doen van voorspellingen op basis van (soms zeer) onvolledige gegevens.

Overigens vind je tussen de vele voorbeelden in NetLogo ook meer geavanceerde voorbeelden op het gebied van virusverspreiding (zoek op epiDEM).

Logo

In de paragraaf ‘Werking’ hebben we al even onder de motorkap van een model gekeken. Een tweede model waarbij we dat doen is Fireworks. In dit eenvoudige programma wordt het ontploffen van vuurwerk nagebootst. Je speelt zelf met dit model door het weer op te zoeken in het keuzemenu Search the Models Library en te klikken op de inmiddels bekende knoppen setup en go.

Een eenvoudig programma dat het ontploffen van vuurwerk nabootst.

NetLogo is gebaseerd op Logo, een programmeertaal die al in 1967 werd ontwikkeld en die vooral voor educatieve doeleinden is gemaakt. Logo bevat een belangrijke grafische component, de zogeheten turtle-grapics. Het idee daarbij is dat je een schildpad, die is voorzien van een tekenpen, opdrachten geeft voor zijn bewegingen en voor het al dan niet gebruiken van de pen. Instructies worden dan ook gegeven vanuit het perspectief van de schildpad en het idee is dat dat perspectief het voor beginnende programmeurs eenvoudiger maakt om de juiste instructies te bedenken.

Open je het vak NetLogo Code, dan zie je ook meermaals het woord turtles in het programma (bijvoorbeeld op regels 34 en 44). De verschillende blokken die beginnen met to en eindigen met end beschrijven de bewegingen van de schildpadden die staan voor de afgeschoten vuurpijl of voor de vallende en gloeiende fragmenten.

In de programmeertaal (Net)Logo spelen zogeheten turtle-graphics een grote rol.

Lokaal

Telkens wanneer je de lijst met voorbeelden opent, zie je de tekst Grayed out models don’t yet run in NetLogo Web. Met andere woorden: de webversie kan nog niet alles wat de desktopversie kan. Tijd om de desktopversie te bekijken.

Daarvoor keren we terug naar de startpagina van NetLogo en kiezen Desktop App en Download NetLogo. Hierna hoef je niet per se iets in te vullen, maar kun je gewoon op Download klikken. Tot slot kunnen we kiezen uit versies voor Linux, macOS en Windows. Wij kiezen de Windows-versie in 64 bit. Eenmaal gedownload biedt de installatie geen verrassingen.

Als alles geïnstalleerd is en je hebt gekozen voor het maken van bureaubladpictogrammen, dan zie je dat er maar liefst vier zijn aangemaakt (ook te vinden in het Startmenu). Wij kiezen voor NetLogo.

Openen

Via het menu File / Open kun je uiteraard zelfgemaakt modellen openen, maar de meegeleverde voorbeelden vind je – keurig in rubrieken verdeeld – in Models Library. Hier kiezen we Sample Models / System Dynamics / Wolf Sheep Predation (System Dynamics). Dit is een bekend model uit de biologie waarmee het telkens verschuivende evenwicht tussen jagers en prooidieren wordt nagebootst. Dit is tevens een van de modellen die je in de webversie nog niet kunt gebruiken.

Naast een venster met het programma zie je nu ook een venster genaamd System Dynamics Modeller. Dit is een geavanceerde mogelijkheid die alleen de desktopversie biedt en waarin je grafisch allerlei verbanden kunt definiëren. Wanneer je dubbelklikt op een element, dan kun je de waarde bekijken en eventueel aanpassen. Ook vind je in dit venster een tabblad Code met het leeuwendeel van het programma.

Het programmavenster bevat weer de bekende elementen setup en go, en wanneer je die uitvoert, zie je hoe de populaties wolven en schapen veranderen.

Dit venster bevat naast het tabblad Interface (de uitvoer) ook het tabblad Info met uitleg en het tabblad Code met programmacode. Die activeert in dit geval de hoofdmoot van de code in het andere venster.

In de desktopversie kun je op geavanceerde wijze modellen visueel opbouwen.

Widgets

Open in de desktopversie het model Curricular Models / Connected Chemistry Gas Combustion dat we eerder in de webversie bekeken. Daar zagen we – naast de programmacode – ook de verschillende schuifregelaars waarmee we parameters konden wijzigen, grafiekjes waarin waarden worden bijgehouden en natuurlijk het venster waarbinnen de moleculen bewegen. Al deze elementen van een simulatie worden aangeduid met de term Widgets.

In het lint met pictogrammen vind je alle beschikbare widgets wanneer je klikt op het driehoekje achter Button. Met een klik op Add en een klik op de plaats van bestemming kun je een widget toevoegen aan de gebruikersinterface van een programma. Er wordt dan een pop-up geopend waarin je de eigenschappen opgeeft.

Met widgets voeg je elementen toe aan de gebruikersinterface van je programma.

Tot slot

In het menu Help vind je heel veel bronnen waarmee je NetLogo verder kunt verkennen. Onder File / Models Library vind je onder het kopje Code Examples heel veel basisvoorbeelden die speciaal zijn bedoeld om de verschillende aspecten van de NetLogo-taal te leren.

Ben je daarmee eenmaal vertrouwd, dan kun je je op de meer geavanceerde mogelijkheden storten, zoals het zoeken naar specifieke uitkomsten van een simulatie met de losse module BehaviorSearch en 3D-visualisaties met NetLogo3D.

Ga je naar het menu Tools / Extensions, dan zie allerlei reeds geïnstalleerde en beschikbare extensies waarmee je de mogelijkheden nog verder kunt uitbreiden. Zo kun je vanuit NetLogo een Arduino-apparaat aansturen, video’s vastleggen van simulaties en nog veel meer.

Er valt dan ook nog heel wat te ontdekken met dit boeiende gereedschap!

Analyseer simulaties automatisch met BehaviorSearch.
Watch on YouTube
▼ Volgende artikel
De beste koptelefoon voor in de trein: rustig reizen met noise cancelling
© Svetlana - stock.adobe.com
Huis

De beste koptelefoon voor in de trein: rustig reizen met noise cancelling

Behoefte aan totale rust tijdens je treinreis? De juiste koptelefoon filtert lawaai weg en verhoogt je concentratie. Ontdek waarom active noise cancelling (ANC) niet mag ontbreken. Wij laten je zien welke functies, zoals comfort en lange accuduur, belangrijk zijn voor de forens of gelegenheidsreiziger.

Reizen met de trein kan heerlijk zijn, maar luidruchtige medepassagiers en het gedender over het spoor verstoren nogal eens de rust. Een goede koptelefoon maakt hier het verschil tussen irritatie en ontspanning. Als je op zoek bent naar de beste optie voor onderweg, is er eigenlijk maar één technologie die er echt toe doet: active noise cancelling. In dit artikel lees je waar je precies op moet letten.

Waarom active noise cancelling onmisbaar is

De absolute topprioriteit voor elke treinreiziger is active noise cancelling, oftewel ANC. Deze techniek gebruikt microfoons aan de buitenkant van de oorschelpen om omgevingsgeluid op te vangen en een tegengeluidsgolf te produceren. Vooral het constante, lage gebrom van de treinmotor en de wielen op de rails worden hiermee effectief weggefilterd. Hoewel geen enkele koptelefoon álle geluiden volledig blokkeert, zorgen modellen met hoogwaardige ANC ervoor dat je op een normaal volume naar muziek of podcasts kunt luisteren zonder dat je het volume ongezond hard hoeft te zetten om het lawaai te overstemmen.

Over-ear versus in-ear in het openbaar vervoer

Naast de technologie is de pasvorm van groot belang voor de demping. Over-ear modellen, die volledig over je oren vallen, bieden van nature al een goede passieve isolatie. De oorkussens sluiten je gehoorgang af van de buitenwereld, wat de actieve ruisonderdrukking aanzienlijk ondersteunt. Voor de meeste forenzen is dit de beste keuze. In-ear oordopjes zijn weliswaar compacter en makkelijker mee te nemen, maar laten vaak toch iets meer geluid door omdat ze minder fysieke barrière opwerpen. Als comfort en maximale stilte voorop staan, wint de over-ear variant het sowieso.

©ER | ID.nl

Comfort en accuduur voor lange ritten

Omdat je in de trein vaak langere tijd stilzit, mag de koptelefoon niet gaan knellen. Let daarom goed op de kwaliteit van de hoofdband en de oorkussens; traagschuim (memory foam) is hierbij een aanrader omdat dit materiaal zich naar je hoofd vormt en de druk verdeelt. Daarnaast is de accuduur een belangrijke factor voor de frequente reiziger. Zoek naar modellen die minimaal 20 tot 30 uur meegaan met ANC ingeschakeld. Veel moderne koptelefoons beschikken bovendien over snellaadfuncties, waardoor je na 10 minuten laden weer uren vooruit kunt. Daarmee voorkom je dat je halverwege je reis opeens zonder muziek komt te zitten.

Connectiviteit en handige functies

Een functie die specifiek in de trein van pas komt, is de transparantiemodus. Hiermee versterk je tijdelijk het omgevingsgeluid via de microfoons, zodat je een omroepbericht van de conducteur kunt horen zonder je koptelefoon af te zetten. Ook multipoint-bluetooth is een waardevolle toevoeging voor forenzen die werken tijdens het reizen. Hiermee koppel je de koptelefoon gelijktijdig aan zowel je smartphone als je laptop, zodat je naadloos kunt wisselen tussen een videocall en je favoriete afspeellijst zonder opnieuw verbinding te hoeven maken.

Populaire merken voor noise cancelling koptelefoons

Als we kijken naar de marktleiders op het gebied van ruisonderdrukking, springen een paar namen er direct uit. Sony wordt al jaren geprezen om hun toonaangevende XM-serie, die bekendstaat om uitstekende ANC-prestaties en uitgebreide app-ondersteuning. Bose is de directe concurrent en blinkt vaak uit in draagcomfort en zeer effectieve stilte, wat bijvoorbeeld de QuietComfort-serie enorm populair maakt onder zakelijke reizigers. Voor liefhebbers van een meer audiofiele geluidsweergave is Sennheiser een sterke optie, waarbij geluidskwaliteit en functionaliteit in balans zijn, zoals de Momentum 4. Tot slot kiezen Apple-gebruikers vaak voor de AirPods Max en AirPods Pro vanwege de naadloze integratie met hun andere apparaten, hoewel deze in een aanzienlijk hoger prijssegment vallen.

▼ Volgende artikel
Waar voor je geld: 5 dual-sim smartphones voor minder dan 300 euro
© ID.nl
Huis

Waar voor je geld: 5 dual-sim smartphones voor minder dan 300 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt en die zijn voorzien van handige functies. Daarom gaan we een paar keer per week voor je op zoek naar zulke deals en kijken we op vergelijkingssite Kieskeurig.nl wat er zoal te vinden is. Dit keer: betaalbare smartphones met dual-sim voor minder dan 300 euro.

Met een dual-sim-telefoon kun je twee telefoonnummers tegelijkertijd gebruiken, zodat je bijvoorbeeld je zakelijke- en privénummer op één toestel kunt hebben. Dat scheelt weer het meeslepen van een extra telefoon wanneer je op pad bent. Wij zochten naar vijf betaalbare smartphones met dual-sim-mogelijkheden op Kieskeurig.nl voor minder dan 300 euro.

Motorola moto g35 5G / 128 GB

De Motorola moto g35 5G is een betaalbare telefoon met dual‑sim, waarvan één een nano-sim is, en de andere een eSim.. Het toestel heeft 128 GB opslag en draait op Android Het scherm meet ongeveer 17,1 cm (6,7 inch) en de batterij van 5 000 mAh zorgt voor een lange gebruiksduur Volgens de specificaties is de hoofdcamera 50 megapixel en ondersteunt het toestel 5G. De telefoon is waterafstotend en heeft een snelle oplader in de doos.

Samsung Galaxy A15 4G

De Samsung Galaxy A15 is een betaalbare smartphone met 4G‑ondersteuning. Volgens de specificaties heeft hij 128 GB opslag, een 6,5‑inch AMOLED‑scherm en draait hij op Android. De batterijcapaciteit bedraagt 5 000 mAh en de hoofdcamera is 50 megapixel. Dankzij de grote batterij en efficiënte processor kun je de telefoon gerust een dag gebruiken zonder opladen. Let op: deze telefoon is uitgebracht in december 2023, het gaat dus om een wat ouder model. Deze telefoon ondersteunt bijvoorbeeld daardoor geen 5G.

Xiaomi POCO C75 

De Xiaomi POCO C75 is een grote smartphone met een 6,88‑inch scherm. Hij beschikt over 128 GB opslagruimte, een 5 160 mAh batterij en wordt aangedreven door Android. De specificaties vermelden een 50 megapixel hoofdcamera en 13 megapixel selfiecamera. Het toestel ondersteunt dual‑SIM, zodat je twee nummers tegelijk kunt gebruiken. Met een prijs ruim onder de 150 euro (ten tijde van het maken van dit overzicht) is de C75 gericht op budgetbewuste gebruikers die toch een groot scherm en voldoende opslagcapaciteit willen.

Motorola Edge 60

De Motorola Edge 60 combineert een groot P‑OLED‑scherm van 6,67 inch met 5G‑ondersteuning. Het toestel is uitgerust met 256 GB opslagcapaciteit en draait op Android. In de specificaties staat een 5 200 mAh accu en een 50 megapixel camera. Het toestel heeft twee simkaartsleuven (dual‑SIM) zodat je eenvoudig kunt schakelen tussen privé‑ en werknummer. De waterdichte behuizing met IP68‑certificering beschermt tegen stof en water.

Xiaomi Redmi 15 256GB Dual SIM

De Xiaomi Redmi 15 is een betaalbare smartphone met een groot 6,9‑inch scherm en 256 GB opslag. De batterij heeft een capaciteit van 7 000 mAh, wat ruim voldoende is voor twee dagen gemiddeld gebruik. Het toestel ondersteunt dual‑sim en 4G, waardoor je twee simkaarten tegelijk kunt gebruiken. De specificaties melden een 50 megapixel hoofdcamera en een 8 megapixel frontcamera. Met een prijs van ongeveer 159 euro past deze smartphone ruim binnen het budget. Dankzij de grote opslag en de royale batterij is de Redmi 15 een interessante optie voor wie een dual‑sim‑telefoon zoekt zonder veel geld uit te geven.