В функциях PRNG вывод функции зависит от «начального» значения, так что один и тот же вывод будет предоставлен из последовательных вызовов с одинаковым начальным значением. Так да.
Пример (с использованием С#) будет выглядеть примерно так:
// Provide the same seed value for both generators:
System.Random r1 = new System.Random(1);
System.Random r2 = new System.Random(1);
// Will output 'True'
Console.WriteLine(r1.Next() == r2.Next());
Все это, конечно, зависит от генератора случайных чисел, использующего какую-то детерминированную формулу для генерации своих значений. Если вы используете так называемый генератор «настоящих случайных» чисел, который использует свойства энтропии или шума при его генерации, то будет очень сложно получить те же самые значения при некоторых входных данных, если только вы не сможете дублировать энтропийное состояние для оба вызова в функцию - что, конечно, противоречит цели использования такого генератора...
В случае систем удаленного доступа без ключа они, скорее всего, используют функцию PRNG, которая является детерминированной, чтобы воспользоваться преимуществами этой функции. Существует множество ИС, которые обеспечивают такую функциональность для создания случайных чисел для электронных схем.
Изменить: по запросу, вот пример недетерминированного генератора случайных чисел, который не полагается на указанное начальное значение: Квантовый генератор случайных чисел. Конечно, как указывает freespace в комментариях, это не генератор псевдослучайных чисел, поскольку он генерирует действительно случайные числа.
person
Erik Forbes
schedule
27.10.2008