Как выбрать оптимальный метод разделения (псевдо)случайных чисел для орлянки?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vitalie Postolache
7136
Vitalie Postolache  

Собственно, вопрос вот такой - есть ли разница между этими методами разделения псевдослучайных чисел, сгенерированных MathRand() и какой из них можно считать наиболее оптимальным:

1) чёт/нечет;

2) <16384/>16384;

3) нормализовать в диапазоне -0.999999999999:0.999999999999 и разделять по признаку <0/>0 например,

Rand=(MathRand()-16384)/32767); //если 0 то монетка упала на ребро и генерится другое число...

 

4) может есть и другие способы, если не жалко, приведите пример пожалуйста.

Dmitry Fedoseev
56207
Dmitry Fedoseev  

Есть разница.

1 - слишком закономерный.

2 - можно пользоваться.

3 - не имеет смысла (поскольку аналогичен 2), но неправильный.

4 - зачем, если достаточно одного правильного способа? 

Vitalie Postolache
7136
Vitalie Postolache  
Integer:

Есть разница.

1 - слишком закономерный.

2 - можно пользоваться.

3 - не имеет смысла (поскольку аналогичен 2), но неправильный.

4 - зачем, если достаточно одного правильного способа? 

 

А что именно неправильно в №3?
Dmitry Fedoseev
56207
Dmitry Fedoseev  
evillive:
А что именно неправильно в №3?

Если исключить одно значение, остается нечетное количество вариантов, вероятность орла решки будет разная.
Дмитрий
4080
Дмитрий  
Integer:

Если исключить одно значение, остается нечетное количество вариантов, вероятность орла решки будет разная.
А еще раз можно?
Vitalie Postolache
7136
Vitalie Postolache  
В №2 то же самое - <16384/>16384, то есть 16384 исключается, вариант Ранд==16384 не будет рассмотрен как и вариант Ранд==0 в пункте 3, причём, в отличие от №3 в №2 как раз и будет нечётное количество вариантов (16383/32767-16385=16382)...
Dmitry Fedoseev
56207
Dmitry Fedoseev  
evillive:
В №2 то же самое - <16384/>16384, то есть 16384 исключается, вариант Ранд==16384 не будет рассмотрен как и вариант Ранд==0 в пункте 3...

Извините, не вдавался в смысл всех каракулей, но функция случайных числел возвращает значения от 0 до 32767 (т.е. 32768 вариантов, четное количество), значит можно разделить весь диапазон на два равных участка. 
Дмитрий
4080
Дмитрий  
evillive:


3) нормализовать в диапазоне -0.999999999999:0.999999999999 и разделять по признаку <0/>0 например,

почему - нормализовать? Может, стандартизировать?

Я стандартизировал (-1;1) и разделял  <0/>0

Dmitry Fedoseev
56207
Dmitry Fedoseev  
Demi:
А еще раз можно?


А что? Слабо глазки поднять?
Vitalie Postolache
7136
Vitalie Postolache  
Demi:

почему - нормализовать? Может, стандартизировать?

Я стандартизировал (-1;1) и разделял  <0/>0


В терминах не силён, может стандартизировать и правильнее будет, главное - суть вопроса понять ;)
Дмитрий
4080
Дмитрий  
Integer:

А что? Слабо глазки поднять?
Да, спасибо, я уже увидел что ты не вдавался в смысл
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий