Comment puis-je créer un nombre entier aléatoire n
en Java, entre 1
et k
avec un "linéaire décroissant de distribution", c'est à dire 1
est le plus probable, 2
est moins probable, 3
moins susceptibles, ..., k
moins susceptibles, et les probabilités de descendre de façon linéaire, comme ceci:
Je sais qu'il y a dosens de discussions sur ce sujet déjà, et je m'excuse pour faire un nouveau, mais je ne peux pas semblent être en mesure de créer ce que j'ai besoin d'eux. Je sais que l'utilisation d' import java.util.*;
, le code
Random r=new Random();
int n=r.nextInt(k)+1;
crée un entier aléatoire compris entre 1
et k
, répartis de manière uniforme.
GÉNÉRALISATION: Tous les conseils pour la création d'un arbitrairement distribués entier, c'est à dire f(n)=some function
, P(n)=f(n)/(f(1)+...+f(k))
), serait également appréciée, par exemple:
.