Hum je vois pas trop d'où vous sortez votre 0.5*score max...
En moyenne, ça devrait donner (nb espions)/100 tant qu'on est en-dessous de 60, après un peu plus complexe.
Le fonctionnement est simple : on a une chance sur trois que nos espions (ça se joue sur l'ensemble et pas un par un) prenne 0.005 chacun, une chance sur trois qu'ils prennent 0.01, et une chance sur trois qu'ils prennent 0.015, avec un maximum cumulé de 0.9.
Avec 90 espions, t'as 2 chances sur 3 de tout rafler à chaque fois, et une sur 3 de ne prendre que 45+10=55%.
Vu que ton mini apparemment c'est 0.36-0.37, c'est que tu as dans les 72-74 espions, donc tu as 1 chance sur 3 d'avoir une efficacité de 0.36, 1 sur 3 d'avoir 0.72, et 1 sur 3 d'avoir 0.9
Et pour vérifier la probabilité, 18 tours c'est largement pas assez
Ici c'est la loi des grands nombres qui s'applique, et donc si tu prends
vraiment beaucoup d'observations (disons 10 000), on retombera sur les proportions.
Il faut voir aussi qu'à mon avis, ce n'est pas chaque personne qui a 1/3 pour chaque efficacité, mais qu'en réalité c'est sur chaque attaque qu'il y a une chance sur 3 d'avoir telle efficacité, donc on peut très bien imaginer qu'avec 3 personnes qui attaquent à tour de rôle seulement sur le site, l'un se retrouve avec presque toujours l'efficacité minimale, le second presque toujours l'efficacité moyenne, et le dernier presque toujours l'efficacité max, avec sur l'ensemble une répartition 1/3-1/3-1/3 pour les différentes efficacités.
Mais sur un grand nombre d'attaques, même dans ce cas, chacun se retrouvera avec la bonne répartition.
Ensuite je ne sais pas comment c'est codé derrière. Il se peut aussi que ce soit simplement fait comme suit : disons qu'il y a N attaques sur le site dans la journée. La première à l'efficacité min, la 2e la moyenne, la 3e la max, la 4e la min, etc.
Il se peut aussi que ce soit fait comme ça (on va prendre sur 1h soit 3600s) : à la seconde 1 c'est l'efficacité min, à la 2 l'efficacité moyenne, à la 3 la max, à la 4 la min, etc.
Et c'est peut-être tout simplement : à chaque attaque on génère un nombre aléatoirement entre 1 et 3, 1 donnant la min, 2 la moyenne, 3 la max. (il y a de grandes chances que ce soit ça, mais plutôt avec une génération d'un nombre sur une plage de nombre plus grande dont on prend la valeur modulo 3, et que ce soit fait avec la fonction rand() qui ne donne pas un vrai aléatoire, mais qui conservera néanmoins les propriétés asymptotiques
Toujours est-il qu'au bout d'un grand nombre d'attaque on retombera toujours sur la répartition un tiers, un tiers, un tiers.