Wyciągujemy dwie kule z pudełka

0

W pudełku znajduje się 10 czerwonych i 6 niebieskich kulek. Wyciągane są dwie kule. Jakie jest prawdopodobieństwo, że będą miały ten sam kolor?

Nauczyciel nie wytłumaczył, ale potrzebuje metody Monte Carlo w wykonaniu poniższego zadania, będę wdzięczna, gdyby ktoś pomógł. Dziękuję.

0

Pythona nie tykałem od lat, a statystykę miałem jeszcze dawniej. Ale to nie po prostu coś takiego:

import random

balls = ['r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'b', 'b', 'b', 'b', 'b', 'b']

m = 1000000
pairs = 0
for i in range(m):
    a = random.sample(balls, 2)
    if a[0] == a[1]: pairs += 1


print(pairs / m)

wychodzi około 0.5

Zresztą licząc normalnie też tyle wychodzi, albo innym sposobem

4

The fuck ;| Montecarlo my ass.

  • Pierwsza piłka, szansa 10/16 na czerwoną i 6/16 na niebieską:
  • Case, czerwona: 9/15 na wyciągnięcie czerwonej, 6/15 na wyciągnięcie niebieskiej
  • Case, niebieska: 10/15 na wyciągnięcie czerwonej, 5/15 na wyciągnięcie niebieskiej

Szansa na wyciągnięcie dwóch takich sanych, czyli czerwona+czerwona lub niebieska+niebieska:

  • szansa na dwie czerwone: 10/16*9/15, 90/240, == 9/24
  • szansa na dwie niebieskie: 6/16*5/16, 30/240 = 3/24

Szansa na jedną lub drugą, 9/24 + 3/24 == 12/24, czyli 1/2, 50%

Nauczyciele zadający takie głupie zadania to powód czemu szkoły nie wytwarzają sensownych programistów. Jeśli już chcą uczyć metody montecarlo, to niech chociaż dadzą taki przykład, który faktycznie ma sens, czyli taki gdzie wygenerowanie odpowiedzi bruteforce'm faktycznie jest kilkarazy szybsza niż obliczenie tego na kartce, gdzie precyzja nie jest wymagana.

1 użytkowników online, w tym zalogowanych: 0, gości: 1