1. Nauka
  2. /
  3. Kursy
  4. /
  5. Symulacje Monte Carlo w Pythonie

Connected

ćwiczenie

Symulacja z parą kości

Podobnie jak w przykładzie z lekcji, rzucisz dwiema kośćmi pobranymi z dwóch worków – każdy z nich zawiera trzy obciążone kości.

bag1 = [[1, 2, 3, 6, 6, 6], [1, 2, 3, 4, 4, 6], [1, 2, 3, 3, 3, 5]]
bag2 = [[2, 2, 3, 4, 5, 6], [3, 3, 3, 4, 4, 5], [1, 1, 2, 4, 5, 5]]

Różnica polega na tym, że kości z obu worków są sparowane: jeśli wybierzesz drugą kość z bag1, wybierzesz również drugą kość z bag2. W każdej próbie:

  • Losowo wybierasz jedną parę kości z obu worków i je rzucasz
  • Sukces następuje wtedy, gdy suma oczek na dice1 i dice2 wynosi osiem; w przeciwnym razie jest to porażka

Twoim zadaniem jest uzupełnienie pętli for w funkcji roll_paired_biased_dice() oraz użycie tej funkcji do obliczenia prawdopodobieństwa sukcesu dla każdej unikalnej kombinacji oczek na dice1 i dice2.

Następujące elementy zostały już zaimportowane: random, numpy jako np, pandas jako pd, seaborn jako sns oraz matplotlib.pyplot jako plt.

Instrukcje 1/2

undefined XP
    1
    2
  • Użyj random.randint(), aby uzyskać indeksy kości (każdy z nich to liczba od 0 do 5).
  • Użyj bag_index oraz odpowiedniego dice_index, aby pobrać parę kości z bag1 i bag2.