La probabilidad de que 2 mineros tengan el mismo mundo.

Hola a todos! Recientemente me interesó la pregunta: "¿puede ser que 2 jugadores en Minecraft tengan el mismo mundo?"

El hecho es que el mundo de Minecraft se genera aleatoriamente a partir de una semilla dada. Puede ser configurado manualmente o recibido por el gobierno pseudoaleatorio. Vale la pena señalar que la misma semilla genera el mismo mundo.

Este juego es muy popular, por lo que no es posible entrevistar directamente a todos los jugadores y comparar sus mundos individuales. Sin embargo, siempre podemos calcular la probabilidad de este evento. Parecería: todo lo que necesitamos es calcular el número de resultados elementales que satisfacen este evento, y dividirlo en el conjunto de todos los resultados elementales. Desafortunadamente, esta es una tarea muy poco trivial, así que recordé sobre la "paradoja del cumpleaños".

La paradoja en sí es que en un grupo de 23 personas, con una probabilidad del 50%, dos personas coinciden en un cumpleaños. Obviamente, la tarea es similar a la nuestra. ¿Cómo se resolvió? Muy simple: resultó que calcular la probabilidad de que cada persona en un grupo tenga un cumpleaños único es mucho más fácil. Para hacer esto, tome una persona y recuerde su cumpleaños, luego tome la segunda, y la probabilidad de que su día no coincida con el primero será igual

$$ display $$ p_2 = 1- \ frac {1} {365} $$ display $$

Es decir 100% menos la probabilidad de que su cumpleaños sea el mismo. Tomamos el tercero y consideramos la probabilidad de que su cumpleaños no coincida con los dos anteriores.

$$ display $$ p_3 = 1- \ frac {2} {365} $$ display $$

Y así sucesivamente hasta la enésima persona

$$ display $$ p_n = \ frac {n-1} {365} $$ display $$

Entonces la probabilidad de que nadie en el grupo coincida

$$ display $$ p = 1 * (1- \ frac {1} {365}) * (1- \ frac {2} {365}) * ... * (1- \ frac {n-1} { 365}) $$ mostrar $$

Y la probabilidad de que al menos 2 coincidan

$$ display $$ p_ {search} = 1-p $$ display $$



Solo queda aplicar esta solución para nuestro caso. Solo hay 2 ^ 64 semillas posibles en Minecraft, y hay alrededor de doscientos millones de jugadores. Entonces nuestra fórmula se verá

$$ display $$ p = 1 * (1- \ frac {1} {2 ^ {64}}) * (1- \ frac {2} {2 ^ {64}}) * ... * (1- \ frac {2 * 10 ^ 8} {2 ^ {64}}) $$ mostrar $$

Contar manualmente esto lleva mucho tiempo, así que escribí un pequeño programa Python 3 que hizo esto en lugar de mí.

imagen

Si alguien está interesado, aquí está el código del programa, pero es muy simple.

a = 2**64 n = 200000000 p = 1 for i in range(n): p *= (1 - i/a) print('Chance that 2 players of minecraft have the same seed: ' + str((1-p)*100) + '%') 


Resultó 0.1%, que, por cierto, es bastante, dada la cantidad de semillas posibles.

Gracias por su atencion!

Referencias

Paradoja de cumpleaños
¿Cuántas personas juegan Minecraft?
Cuantas semillas hay en Minecraft

Source: https://habr.com/ru/post/460629/


All Articles