Псевдослучайное число — это последовательность чисел, которая кажется случайной, но на самом деле генерируется детерминированным алгоритмом. Она не является по-настоящему случайной, поскольку последовательность можно воспроизвести или предсказать, если известны алгоритм и его начальное состояние.
Псевдослучайные числа обычно используются в компьютерных программах и симуляциях, где желательно случайное поведение. Эти числа генерируются с использованием математических формул или алгоритмов, которые создают последовательность, обладающую свойствами случайности. Однако, поскольку последовательность определяется алгоритмом, она считается псевдослучайной, а не истинно случайной.
Существует несколько методов генерации псевдослучайных чисел. Вот некоторые из наиболее часто используемых:
-
Линейный конгруэнтный генератор (LCG): это один из старейших и простых методов генерации псевдослучайных чисел. Он использует линейное рекуррентное уравнение для создания последовательности чисел.
-
Mersenne Twister: это широко используемый генератор псевдослучайных чисел, разработанный в 1990-х годах. Он имеет очень длительный период и хорошие статистические свойства, что делает его пригодным для многих применений.
-
XORshift: XORshift — это семейство генераторов псевдослучайных чисел, которые используют побитовое исключающее ИЛИ (XOR) и операции побитового сдвига для генерации следующего числа в последовательности.
-
Генератор Фибоначчи с задержкой: этот метод использует последовательность Фибоначчи в качестве основы для генерации псевдослучайных чисел. Он объединяет предыдущие числа в последовательности, используя модульные арифметические операции.
-
Криптографически безопасные генераторы псевдослучайных чисел (CSPRNG). Эти генераторы специально разработаны для обеспечения безопасности криптографических приложений. Они используют алгоритмы, устойчивые к прогнозированию и статистическим атакам.
-
Генератори на основе хеш-функций. Эти генераторы используют хэш-функции, такие как SHA-1 или SHA-256, для генерации псевдослучайных чисел. Они берут начальное начальное значение и неоднократно применяют хэш-функцию для получения последовательности чисел.
-
Хорошо равнораспределенный линейный долгопериодный генератор (WELL): этот генератор объединяет несколько линейных конгруэнтных генераторов для достижения лучших статистических свойств и более длительного периода.
Короче говоря, псевдослучайные числа — это последовательности чисел, генерируемые детерминированными алгоритмами для имитации случайности. Они широко используются в компьютерных программах и симуляциях. Некоторые распространенные методы генерации псевдослучайных чисел включают линейные конгруэнтные генераторы, Mersenne Twister, XORshift, генераторы Фибоначчи с задержкой, криптографически безопасные генераторы, генераторы на основе хеш-функций и генератор WELL.