我正在使用带有固定种子的 RNG。根据输入,这是一个任意的整数序列,我想影响输出。像这样的东西:
foreach (int i in source_int_sequence) {
write_output (RNG.nextDouble());
RNG.feed (i);
}
反馈功能应该以可重复的方式(相同的输入产生相同的输出)但难以预测(即随机)的方式影响下一个输出。
不假定 RNG 在密码学上是安全的,自然,受影响的结果也不一定是。但是请注意,源序列可能看起来很奇怪,即只有零、+1 和 -1 交替、稳定增加的数字,或者您能想到的任何其他东西,这会导致一个幼稚的实现。
我正在使用 C#,但我相信这个问题与语言无关。