|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 25, 2004 23:05:17 Еще раз смотрим на однобитный генератор Прости меня, пожалуйста, я, конечно, согласен с теоретическими выкладками. Ты совершенно прав. Полностью и абсолютно. И про длину периода, и про число состояний... Только я, хоть убей, не догоняю, почему ты его "однобитным" назвал? В твоем случае возвращается mov [rnd_data+edx],eax Ты что, хочешь сказать, что тебе эта инструкция 0 и 1 на выходе даст? Тогда я с головой не дружу. Все мои примеры возвращают числа в диапазоне 0 <= x <= RAND_MAX. При чем тут биты? Или ты имеешь в виду фразу Кнута ... Представляет интерес частный случай когда p = 2. Иногда требуется генератор случайных чисел, вырабатывающий всего лишь случайную последовательность двоичных разрядов - нулей и единиц - вместо дробей, лежащих между нулем и единицей. (р, в данном случае, это m). Ты об этом? Я бы разобраться хотел... |
|
|
Дата: Июн 26, 2004 00:30:46 volodya Однобитный герератор я стал рассматривать потому, что на нем проще всего показать что для последнего бита не важно что у нас было в массиве. У меня генератор не однобитный, но его можно рассматривать как 32 обнобитных генератора, в которых возникновение переноса в i-том разряде заставляет генератор i+1 разряда перепрыгнуть к другому состоянию(Кнут еще предлагает перенос из старших разрядов добавлять к младшим, что позволит увеличить длину последовательности младших разрядов). В связи с этим если в младшем разряде не все нули, генератор никогда не придет к состоянию когда в каком-то разряде будет постоянно генерироваться 0. Но, если старшие разряды мы инициализировали нулями, может потребоваться некоторое количество шагов, прежде чем генератор выйдет на генерирование периодической последовательность. |
|
|
Дата: Июн 26, 2004 00:44:51 · Поправил: volodya OК, никто и не спорил, что двоичный PRNG даст хорошие результаты и на rdtsc-заполненном массиве. Но я, хоть режьте, не согласен с тем, что и (0 <= x <= UINT_MAX)-генератор даст хоть сколь-нибудь хорошие результаты на сием. Сам посмотри. Нагони ТУЧУ чисел rdtsc. Пропусти ее через генератор (через ЗДОРОВЕННЫЙ цикл). Загони полученные числа в какой-нибудь мат. пакет и погляди на рассеивание. Ну как? |
|
|
Дата: Июн 27, 2004 08:29:18 или в winhex, он тоже показывает рассеивание |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.711 |