Aan de slagGa gratis aan de slag

Het dertien-spel

De beroemde Franse wiskundige Pierre Raymond De Montmart, bekend om zijn werk in de combinatoriek, stelde een eenvoudig spel voor: het dertien-spel. Je hebt een stapel van 13 kaarten, genummerd van 1 tot en met 13. Schud de stapel en trek de kaarten één voor één. Er is sprake van een toevalligheid wanneer het getal op de kaart overeenkomt met de positie waarop je de kaart trekt. Als de 5e kaart die je trekt bijvoorbeeld een 5 is, is dat een toevalligheid. Je wint het spel als je alle kaarten kunt trekken zonder enige toevalligheid. Laten we met een simulatie de kans berekenen dat je dit spel wint.

Door deze oefening te maken, versterk je je vaardigheid om abstracte problemen te vertalen naar een simulatieraamwerk om kansen te schatten.

Deze oefening maakt deel uit van de cursus

Statisticale simulatie in Python

Cursus bekijken

Oefeninstructies

  • Trek bij elke trekking alle kaarten in deck zonder terugleggen en wijs deze toe aan draw.
  • Controleer of er toevalligheden in de trekking zitten en verhoog, als die er zijn, de teller coincidences met 1.
  • Bereken de winstkans als het aandeel spellen zonder toevalligheden en gebruik prob_of_winning om je resultaten te printen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Pre-set constant variables
deck, sims, coincidences = np.arange(1, 14), 10000, 0

for _ in range(sims):
    # Draw all the cards without replacement to simulate one game
    draw = np.random.choice(____, size=____, replace=____)
    # Check if there are any coincidences
    coincidence = (draw == list(np.arange(1, 14))).any()
    if coincidence == ____: 
        coincidences += 1

# Calculate probability of winning
prob_of_winning = ____
print("Probability of winning = {}".format(____))
Code bewerken en uitvoeren