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