|
Теория вероятности
|
|||
---|---|---|---|
#18+
Кто-нибудь знает, как сделать так, чтобы генератор создавал случайные числа с РАЗНЫМ процентом вероятности? Допустим, у меня есть rand(1,10) и я хочу, чтобы единица получалась не в 10% случаев, а скажем в 15%. Можно создать массив с числами, в котором единица будет фигурировать чаще, но как сделать так, чтобы эти 15% можно было задавать через переменную? Есть какой-нибудь более-менее простой способ? SHOGAL ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2003, 09:40 |
|
Теория вероятности
|
|||
---|---|---|---|
#18+
Да вроде есть. Функция, обратная интегралу от 0 до х от плотности распределения вероятности :) Практически выглядит след. образом. Пусть у тебя есть массив чисел, которые должны появляться с некой частотой. Пусть для удобства эта частота записана в виде десятичной дроби(ну там 1 раз из 10 = 0.1 и т.д.). Понятно, что сумма этих частот будет равна 1. Дальше формируешь массив частичных сумм частот. Т.е. в первым элемнетом будет первая частота, вторым сумма первой и второй, третиьм первой, второй итретьей и т.д. Далее генерируешь числа от от 0 до 1 и смотришь в какой из элементов массива она попадает. Точнее, если она меньше i-го и больше i-1 -го, то значит выпал i - элемент исходного массива. Может немного сумбурно, но надеюсь что смысл понятен. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2003, 10:50 |
|
|
start [/forum/topic.php?fid=23&fpage=524&tid=1480287]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 174ms |
0 / 0 |