La probabilité que 2 mineurs aient le même monde

Bonjour à tous! Récemment, je me suis intéressé à la question: "est-ce que 2 joueurs dans Minecraft ont le même monde?"

Le fait est que le monde Minecraft est généré de manière aléatoire à partir d'une graine donnée. Il peut être réglé manuellement ou reçu par le gouvernement pseudo-aléatoire. Il convient de noter que la même graine génère le même monde.

Ce jeu est très populaire, il n'est donc pas possible d'interviewer directement tous les joueurs et de comparer leurs mondes uniques. Cependant, nous pouvons toujours calculer la probabilité de cet événement. Il semblerait: tout ce dont nous avons besoin est de calculer le nombre de résultats élémentaires qui satisfont cet événement et de le diviser en l'ensemble de tous les résultats élémentaires. Malheureusement, c'est une tâche très simple, donc je me suis souvenu du "Paradoxe d'anniversaire".

Le paradoxe lui-même est que dans un groupe de 23 personnes, avec une probabilité de 50%, deux personnes coïncident avec un anniversaire. De toute évidence, la tâche est similaire à la nôtre. Comment a-t-il été résolu? Très simple: il s'est avéré que le calcul de la probabilité que chaque personne d'un groupe ait un anniversaire unique est beaucoup plus facile. Pour ce faire, prenez une personne et souvenez-vous de son anniversaire, puis prenez la seconde, et la probabilité que sa journée ne coïncide pas avec la première sera égale

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

C'est-à-dire 100% moins la probabilité que leur anniversaire soit le même. Nous prenons le troisième et considérons la probabilité que son anniversaire ne coïncide pas avec les deux précédents

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

Et ainsi de suite jusqu'à la nième personne

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

Ensuite, la probabilité que personne dans le groupe ne correspond

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

Et la probabilité qu'au moins 2 correspondances

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



Il ne reste plus qu'à appliquer cette solution à notre cas. Il n'y a que 2 ^ 64 graines possibles dans Minecraft, et il y a environ deux cent millions de joueurs. Donc, notre formule ressemblera

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

Compter manuellement cela prend beaucoup de temps, j'ai donc écrit un petit programme Python 3 qui l'a fait à ma place.

image

Si quelqu'un est intéressé, voici le code du programme, mais c'est très 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) + '%') 


Il s'est avéré 0,1%, ce qui est d'ailleurs beaucoup compte tenu du nombre de graines possibles.

Merci de votre attention!

Références:

Paradoxe d'anniversaire
Combien de personnes jouent à Minecraft
Combien de graines sont dans Minecraft

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


All Articles