Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Получи статус продавца и начни продавать свои сигналы!
Vitalie Postolache
11628
Vitalie Postolache 2013.07.15 06:30 

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

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

2) <16384/>16384;

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

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

 

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

Dmitry Fedoseev
41707
Dmitry Fedoseev 2013.07.15 06:37  

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

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

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

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

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

Vitalie Postolache
11628
Vitalie Postolache 2013.07.15 06:38  
Integer:

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

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

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

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

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

 

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

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

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

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


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

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

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

Dmitry Fedoseev
41707
Dmitry Fedoseev 2013.07.15 06:51  
Demi:
А еще раз можно?


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

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

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


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

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