Вниз
Скачать: CL | DM;

Вопрос про случайные числа   Найти похожие ветки 

← →
Vasya.ru ©   (2004-11-13 11:29) [0]

Написал тут свой рандомайз (часть моей курсовой), за начальное значение брал GetTickCount(), проблема в том, что если использовать его в цикле, время в миллисекундах измениться не успевает, и генерируются одинаковые числа. Собственно вопрос: а какие еще варианты получения первого значения существуют? И где посмотреть исходник Random"а?


← →
Vaitek ©   (2004-11-13 12:30) [1]

Можно так пропробывать, не знаю что получться - тервер не моя стихия, но пока таймер не обновился в качестве семени использовать предыдущее случайное число сгенерированное тобою.


← →
kaZaNoVa ©   (2004-11-13 13:13) [2]

Vasya.ru ©   (13.11.04 11:29)
k:Int64;
QueryPerformanceCounter(k);


← →
ferr ©   (2004-11-13 13:19) [3]

Cчётчик тактов...
А зачем Randomize в цикле?


← →
Burmistroff   (2004-11-13 14:18) [4]

>Vaitek
Так кажется даже большинство алгоритмов и работают (рекурентно) :)

>Vasya.ru
А, кстати, какой алгоритм-то? что-то вроде
x{sub n+1}:=[x{sub n}*m + c], где [] - взятие дробной части
?


← →
Vasya.ru ©   (2004-11-13 15:07) [5]

Vaitek ©   (13.11.04 12:30) [1]
Так и делаю - генерю массив случайных чисел, где первое - GetTickCount, потом мешаю массив, и выбираю случайное.
Burmistroff   (13.11.04 14:18) [4]
Квадратичный конгруэнтный метод - (A * X * X + B * X + C) mod M


← →
Burmistroff   (2004-11-13 19:30) [6]

Понятно. А как распределение-то при этом, более равномерное получается (в плане сильно ли он себя оправдывает)?


← →
Vasya.ru ©   (2004-11-13 23:07) [7]

Burmistroff   (13.11.04 19:30) [6]
У меня еще перемешивание методом Макларена - Марсальи, а вообще, если - бы не задача по курсовой, сделал бы не квадратичный с перемешиванием, а линейный с перемешиванием  - быстрее, а по качеству также


← →
Burmistroff   (2004-11-14 00:19) [8]

OK :)
Ну тогда последний вопрос - а как производить проверку того, что получаемое распределение действительно хорошее-то? Просто график+гистограмма? Или какие-нибудь хорошие методы есть?


← →
Burmistroff   (2004-11-14 00:23) [9]

У меня задача была просто на асме сделать. Сделал, сравнил с дельфовым и встроенным в Mathematica4.2. В принципе очень похожи, только у меня в гистограмме разброс высто стольбцов получился где-то, скажем 30-50, а у них 35-45. Вот думаю может еще как сравнить можно :)


← →
Vasya.ru ©   (2004-11-15 00:18) [10]

Burmistroff   (14.11.04 00:19) [8]
Д. Кнут "Искусство программирования" том 2 "получисленные алгоритмы" - там все очень подробно описано, особенно полезно "Спектральный тест" разобрать



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
3-1099729172
Леван
2004-11-06 11:19
2004.12.05
кто помнит Dbedit клипера?


6-1096615076
AlexA
2004-10-01 11:17
2004.12.05
TIdSMTP в теле письма "заменяются" русские буквы


14-1100368415
FutureProgramme
2004-11-13 20:53
2004.12.05
Как поставить пароль на папку


4-1098633252
_Дельфин_
2004-10-24 19:54
2004.12.05
Параметры монитора


1-1100690599
markers
2004-11-17 14:23
2004.12.05
Хоткей




   Наверх