Я пытаюсь реализовать функцию распределения вероятностей в java, где она возвращает запись i th
в массив с вероятностью:
F i = 6i (ni) / (n 3 - n)
, где n
- длина массива, т.е. для длина массива 4:
P 1 = 3/10, P 2 = 4/10, P 3 = 3/10, P ] 4 = 0
Обратите внимание, что эта функция предполагает нумерацию от 1 до n
, а не от 0 до n-1
, как в Java.
На данный момент я ' m просто используя равномерное распределение, то есть
int i = (int)(Math.random()*((arraySize)-1));
с -1, поэтому он не выбирает последний элемент (например, P n = 0, как в приведенном выше формулу).
У кого-нибудь есть идеи или советы по реализации этого?