A partir de una universidad de la tarea:
Hay $8$ numerada de las células y $12$ indistinto bolas. Todos los $12$ bolas están divididos al azar entre todos los de la $8$ de las células. ¿Cuál es la probabilidad de que no existe una sola celda vacía ($i.e.$ cada célula tiene al menos $1$ bola)?
La respuesta es $\large\frac{\binom{11}{7}}{\binom{19}{7}}$ que es acerca de $0.0065$. He llegado a este resultado de forma independiente, y fue confirmado por el oficial de la tarea de la solución de la universidad.
Un amigo mío y yo de forma independiente escribió Python simulaciones que ejecutar el experimento muchas veces (probado hasta a $1,000,000$). Hemos utilizado ambos Pitones' generador de números aleatorios y varias listas generadas de forma aleatoria a partir de www.random.org. Los resultados fueron similares, y constantemente se cierne en torno a $0.09$ que es un factor de $10$ o incluso un poco más de los esperado resultado teórico.
Hemos hecho algunas suposiciones equivocadas? Todas las ideas para esta discrepancia?
P. S.: Aquí está el código en Python que me escribió, y tal vez hay alguna defectuosa de la lógica.
def run_test():
global count, N
def run_experiment(n_balls, n_cells, offset):
cells = [0] * n_cells
# toss balls randomly to cells:
for j in range(n_balls):
cells[random.randrange(0, n_cells)] += 1
# cells[int(lines[offset + j])] += 1
cells = sorted(cells)
# print(cells)
# check if there is an empty cell. if so return 0, otherwise 1:
if cells[0] == 0:
return 0
return 1
count = 0
N = 1000000
offset = 0
N_CELLS = 8
N_BALLS = 12
# iterate experiment
for i in range(N):
result = run_experiment(N_BALLS, N_CELLS, offset=offset)
count += result
offset += N_CELLS
print("probability:", count, "/", N, "(~", count / N, ")")