реклама на сайте
подробности

 
 
> Генератор псевдослучайных чисел (ГПСЧ), Получение ПСЧ по seed-у и индексу внутри последовательности
fsergey
сообщение Jan 28 2014, 06:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 19-07-12
Пользователь №: 72 832



Проще говоря нужна функция rand_value(int seed, int index).
Все ГПСЧ, что я видел, при генерации нового значения используют в качестве зерна предыдущее, либо модифицируют собственные задающие значения.
Поэтому получение n+1 числа в последовательности невозможно без расчёта предыдущих n чисел.
Мне же нужно получить произвольное число в последовательности без расчёта предыдущих.
Есть ли такие генераторы? Если нет, то что можно придумать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
fsergey
сообщение Jan 28 2014, 17:35
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 19-07-12
Пользователь №: 72 832



Вопрос, может уже не в эту тему...
Последовал совету вычислять md5 от комбинации времени и индекса.
Время вычисления md5 на целевом камне - 15.17 мкс.
Зато алгоритм хэша "MurmurHash2" - 0.59 мкс.
Предел 1 мкс.
Кто-нибудь слышал про MurmurHash2? И есть ли альтернативная и быстрая хэш функция?
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Jan 28 2014, 18:24
Сообщение #3


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Альтернативная обязательно есть: любая функция с выходом фиксированной разрядности, зависящим от входа.

А мурмур-то почему не подходит?

xxhash посмотрите, но не думаю, что там кардинальные отличия по части быстродействия

Цитата(fsergey @ Jan 28 2014, 18:35) *
И есть ли альтернативная и быстрая хэш функция?
Go to the top of the page
 
+Quote Post
fsergey
сообщение Jan 28 2014, 18:54
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 19-07-12
Пользователь №: 72 832



Цитата(Fat Robot @ Jan 28 2014, 22:24) *
Альтернативная обязательно есть: любая функция с выходом фиксированной разрядности, зависящим от входа.

А мурмур-то почему не подходит?

xxhash посмотрите, но не думаю, что там кардинальные отличия по части быстродействия


мурмур как раз подходит! Тест на равномерность распределения, применительно к задаче, дал отличный результат.
За совет спасибо, xxhash тоже думаю потестировать.
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Jan 28 2014, 19:15
Сообщение #5


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Тест на равномерность распределения не стоит и ломаного сентаво.

пример: rng = 0,1,2,3, 0,1,2,3, 0,1,2,3, ... имеет равномерное распределение в диапазоне [0; 3]

Я писал вам, чем проверяются RNG.

С другой стороны, если у вас все хорошо, то пусть так и будет. равномерно хорошо.
Go to the top of the page
 
+Quote Post
fsergey
сообщение Jan 28 2014, 20:04
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 19-07-12
Пользователь №: 72 832



Цитата(Fat Robot @ Jan 28 2014, 23:15) *
Тест на равномерность распределения не стоит и ломаного сентаво.

пример: rng = 0,1,2,3, 0,1,2,3, 0,1,2,3, ... имеет равномерное распределение в диапазоне [0; 3]

Я писал вам, чем проверяются RNG.

С другой стороны, если у вас все хорошо, то пусть так и будет. равномерно хорошо.

Тест последовательностей по дайхарду (Runs Test):
49.76 - 49.82-% восходящих последовательностей для разных сидов. Покатит.
Тест Birthday Spacings ещё кажется интересным.
Идею понял. Благодарю!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- fsergey   Генератор псевдослучайных чисел (ГПСЧ)   Jan 28 2014, 06:47
- - Rst7   QUOTE Есть ли такие генераторы? Если нет, то что м...   Jan 28 2014, 07:10
|- - fsergey   Цитата(Rst7 @ Jan 28 2014, 10:10) Не вида...   Jan 28 2014, 07:30
- - TSerg   Что мешает заполнить таблицу нужного размера от ГС...   Jan 28 2014, 07:41
|- - fsergey   Цитата(TSerg @ Jan 28 2014, 10:41) Что ме...   Jan 28 2014, 09:39
|- - Fat Robot   Выдумывайте функцию rng = f(seed, index) и проверя...   Jan 28 2014, 10:01
- - TSerg   Ну, хорошо. А открытый текст где держать? На больш...   Jan 28 2014, 09:50
|- - fsergey   Цитата(TSerg @ Jan 28 2014, 12:50) Ну, хо...   Jan 28 2014, 11:34
- - Tarbal   Аналоговый генератор шума + АЦП. Хотя дополнительн...   Jan 28 2014, 12:37
|- - TSerg   Цитата(Tarbal @ Jan 28 2014, 16:37) Анало...   Jan 28 2014, 14:05
|- - Tarbal   Цитата(TSerg @ Jan 28 2014, 17:05) В этом...   Jan 29 2014, 15:09
|- - fsergey   Цитата(Tarbal @ Jan 29 2014, 18:09) Да, у...   Jan 30 2014, 04:44
- - TSerg   Позволяет, если в качестве исходного состояния взя...   Jan 30 2014, 11:49
- - Task Solver   Рассмотрим группу по умножению по модулю 2^32 она ...   Jan 30 2014, 18:47


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 17:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01424 секунд с 7
ELECTRONIX ©2004-2016