MulaiMulai sekarang secara gratis

Game of Thirteen

Seorang matematikawan Prancis terkenal, Pierre Raymond De Montmart, yang dikenal atas karyanya dalam kombinatorika, mengusulkan permainan sederhana bernama Game of Thirteen. Anda memiliki satu set 13 kartu, masing-masing bernomor 1 hingga 13. Kocok set kartu ini dan ambil kartu satu per satu. Suatu kebetulan terjadi ketika angka pada kartu sama dengan urutan pengambilannya. Misalnya, jika kartu ke-5 yang Anda ambil kebetulan adalah angka 5, itu disebut kebetulan. Anda menang jika berhasil melewati semua kartu tanpa ada kebetulan. Mari kita hitung probabilitas menang dalam permainan ini menggunakan simulasi.

Dengan menyelesaikan latihan ini, Anda akan semakin mengasah kemampuan untuk menerjemahkan masalah abstrak ke dalam kerangka simulasi guna mengestimasi probabilitas.

Latihan ini adalah bagian dari kursus

Simulasi Statistik di Python

Lihat Kursus

Petunjuk latihan

  • Untuk setiap pengambilan, ambil semua kartu dalam deck tanpa pengembalian dan simpan pada draw.
  • Periksa apakah ada kebetulan dalam hasil undian dan, jika ada, tambahkan penghitung coincidences sebesar 1.
  • Hitung probabilitas menang sebagai proporsi permainan tanpa kebetulan dan gunakan prob_of_winning untuk mencetak hasil Anda.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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(____))
Edit dan Jalankan Kode