Линейный конгруэнтный генератор (LCG) — это алгоритм, который дает последовательность псевдорандомизированных чисел, вычисленных с помощью разрывного кусочно-линейного уравнения.
3 ответа

Псевдослучайное распределение, которое гарантирует все возможные перестановки последовательности значений - C++

Случайный вопрос. Я пытаюсь создать программу, которая будет генерировать псевдослучайное распределение. Я пытаюсь найти правильный псевдослучайный алгоритм для моих нужд. Это мои проблемы: 1) Мне нужен один вход, чтобы генерировать один и тот же вы…
10 апр '15 в 20:12
0 ответов

Прогнозирование результата PHP-функции rand() по заданному значению

Недавно я начал понимать идею LCG и генераторов псевдослучайных чисел. В любом случае, я думаю, что PHP должен быть хорошей отправной точкой. У меня вопрос, учитывая номер с семенами (сделано через srand()) как можно предсказать следующее число в ra…
20 мар '17 в 20:13
0 ответов

По заданной последовательности псевдослучайных чисел найти эквивалентную порожденную lcg

Для заданной последовательности S псевдослучайных чисел существует ли эквивалентная lcg (линейный конгруэнтный генератор) сгенерированная последовательность S', которая учитывает относительный порядок S, и если да, то можно ли вычислить параметры a,…
04 апр '16 в 11:58
1 ответ

Выберите a, c, m в линейном конгруэнтном генераторе

Я ищу для реализации линейного конгруэнтного генератора в Excel. Как известно, нужно выбрать параметр LCG - это a, c, m и Z0. Википедия говорит, что Период общего LCG составляет самое большее m, а для некоторых вариантов множителя намного меньше это…
17 мар '16 в 11:09
1 ответ

Как работает java.util.random?

Чтобы понять, как работает java.util.random, я написал фрагмент простого кода для имитации случайных функций java и сравнил результаты случайных функций java и моей функции. Тем не менее, результаты разные. Это означает, что я либо сделал несколько …
10 ноя '17 в 19:15
1 ответ

Клен: ГСЧ не случайно

Я "находил Пи" методом Монте-Карло, но ответ был неверным. Оригинальный код был: RandomTools[MersenneTwister]: with(Statistics): tries := 10000: s := 0; for i to tries do if GenerateFloat()^2+GenerateFloat()^2 < 1 then s := s+1 end if; end do: ev…
03 мар '15 в 11:30
0 ответов

Код LCG в Matlab

Я написал этот код: for i=1:m-1 x(i+1)=mod(a*x(i)+c,m) x(i)=x(i+1) end Но я не знаю, как написать lcg как функцию, которая генерирует случайные числа. LCG - это линейный конгруэнтный генератор, который является одним из старейших и самых известных а…
16 окт '16 в 00:06
1 ответ

Создание настраиваемого LCG, который перемещается назад и вперед

Как мне сделать так, чтобы LCG (тип генератора псевдослучайных чисел) перемещался в обоих направлениях? Я знаю, что путешествие вперед (a*x+c)%m но как я смогу изменить это? Я использую это, чтобы я мог хранить начальное число в позиции игрока на ка…
02 янв '18 в 02:59
1 ответ

Почему моя математика не добавляется в мой LCG?

Например, здесь: http://www.math.cornell.edu/~mec/Winter2009/Luo/Linear%20Congruential%20Generator/linear%20congruential%20gen1.html Я пытаюсь реализовать LCG для примера набора проблем, но он не работает для меня, и я не могу понять, почему? Уравне…
18 сен '17 в 23:48
1 ответ

Анализ линейного конгруэнтного генератора неверен?

Таким образом, в попытке лучше понять реализацию MSVC++ rand, Я повторно реализовал это и попытался лучше понять это (и LCG в целом, я думаю). Моя реализация (которая почти полностью соответствует MSVC++) выглядит следующим образом: // vc++ impl. of…
07 июл '17 в 00:45
2 ответа

Пользовательский линейный конгруэнтный генератор в Javascript

Я пытаюсь создать пользовательский линейный конгруэнтный генератор (тот, который используется в glibc) в Javacript.Его свойства, как указано в Википедии: m=2^31, a=1103515245, c=12345, Теперь я получаю следующее начальное значение с x = (1103515245 …
12 июл '13 в 22:58
1 ответ

LCG в реализации MatLab

Привет, у меня возникли проблемы с созданием линейного конгруэнтного генератора в MatLab, который, как я обнаружил, онлайн-работа совершенно отличается от моей. затем я пытаюсь напечатать значения m и a (относительно простое, очевидно, m - большое п…
15 мар '12 в 17:45
2 ответа

Как сгенерировать предсказуемую перестановку последовательности без предварительной генерации всей последовательности?

Следующий код Python точно описывает, чего я хочу достичь для последовательности произвольного размера (популяции): import random fixed_seed = 1 #generate the same sequence every time with a fixed seed population = 1000 sample_count = 5 #demonstrati…
11 окт '10 в 21:29
1 ответ

Генерация нескольких розыгрышей (вызовов) данного метода в java (симуляция лотереи)

Я получил задачу симуляции розыгрыша в java. Скелет программы дает метод generateOneDraw, который создает 6 случайных чисел от 1 до 49 static int[] generateOneDraw() { int numbers[] = new int[NUMBER_OF_ELEMENT_PER_DRAW]; for(int i=0; i<numbers.le…
16 апр '15 в 11:43
3 ответа

Почему 48-битное начальное число в классе "Утилиты"

Почему этот класс использует 48-битное начальное число в своей формуле линейного соответствия? Я бы ожидал 32 или 64... Я знаю, что он принимает биты более высокого порядка при запросе 32-битных значений. Но почему только 16 дополнительных битов? Бы…
06 фев '10 в 17:07
1 ответ

Псевдослучайная перестановка на лету очень большого набора без повторения и с обратной операцией

У меня очень большой набор значений (0-300000^700), и я хотел бы найти алгоритм, который бы биективно назначал уникальное значение в том же наборе. Это эквивалент перестановки, но из-за очевидных проблем с памятью это должно быть сделано "на лету". …
01 окт '15 в 02:05
1 ответ

Как использовать линейный конгруэнтный генератор

Я должен разработать линейный конгруэнтный генератор с этой формулой Xn+1 = (aXn + b) mod m в Python. Я думаю, что понимаю, как генерировать последовательность чисел, но я не знаю, как ее использовать, например, для симуляции игры в кости (мне нужно…
03 мар '19 в 03:49
0 ответов

Метод создания LCG для установки подмножества всех свойств в классе (заменитель отражения; C#)

Сценарий: у меня есть этот класс public class Person { public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } } Пользователь имеет возможность выбирать только для примера FirstName а также Age, В наст…
04 апр '14 в 16:35
7 ответов

Почему использование rand() считается плохим?

Я слышал, как некоторые парни говорили, что использование rand() плохо ДАЖЕ ПОСЛЕ ИСПОЛЬЗОВАНИЯ srand() чтобы получить семя. Почему это так? Я хочу знать, как все происходит... И извините за еще один вопрос... но какая альтернатива этому тогда?
18 окт '18 в 07:38
4 ответа

Легкая генерация кода (LCG) мертва?

В средах.NET 2.0-3.5 LCG (он же класс DynamicMethod) был достойным способом для создания легких методов во время выполнения, когда для их поддержки не требовалась структура классов. В.NET 4.0 деревья выражений теперь поддерживают операторы и блоки и…
08 июн '10 в 23:03