Monopoly

Bij banken, verzekeraars en het centraal planbureau worden modellen opgesteld die onze economie beschrijven. Alle facetten die een rol spelen krijgen een plek en met behulp van een computer worden verschillende scenario’s doorgerekend (gesimuleerd) om zo risico’s in te schatten bij bepaalde gebeurtenissen of om het effect van nieuwe maatregelen te onderzoeken.

Door de onderlinge afhankelijkheid van de parameters in dat soort modellen wordt het al snel ondoenlijk om het met de hand door te rekenen. Zeker als het effect van maatregelen een random component heeft. Met behulp van een computer gaat dat snel en kan je zelfs de settings vinden waarin je dingen kan optimaliseren: dat kan het maximaliseren van je winstkansen zijn, maar ook het minimaliseren van de kans dat je failliet gaat. Of een mix van die scenario’s.

In deze module gaan we een simpel voorbeeld doorrekenen: Monopoly met twee spelers, waarbij we stap voor stap meer complexiteit toevoegen. Voor degene die de smaak te pakken heeft en nu al droomt van een baan op de risk-analysisdivisie van JP Morgan hebben we nog wat suggesties voor extra opgaves gemaakt.

Twee dingen om alvast te weten voor je aan deze opdracht begint:

  1. Om goed te zien of je code werkt zul je vaak dingen printen. Erg handig, want het stelt je in staat te kijken of in elke nieuwe stap die je implementeert de ‘logica’ van je programma inderdaad zo werkt zoals jij het voor ogen had. Zodra je er eenmaal van overtuigd bent dat een bepaalde stap werkt kan je het print-statement weghalen. Dat is dan ook weer handig, want het printen kost veel tijd en is erg onoverzichtelijk voor uitgebreide simulaties.

  2. Deze module werkt toe naar een redelijk complexe simulatie van Monopoly. Om te zorgen dat je zelf de code goed begrijpt is het belangrijk om eenvoudig te beginnen en steeds een nieuwe component of laag van complexiteit toe te voegen aan het programma. Om de werkende code van elke opdracht te bewaren zullen we je bij elke nieuwe opdracht vragen het oude bestand te saven en in een nieuw bestand verder te gaan. De nieuwe opdracht, in een eigen bestand, is vaak een uitbreiding van de bestaande code tot dan toe.