我希望生成一个非常大的伪随机置换p : [0,n-1] -> [0,n-1],然后计算m个特定的值p[i],其中m << n。是否可能在O(m)的时间内完成此操作?动机是进行大规模并行计算,每个处理器只需要看到一小部分排列,但排列必须在处理器之间保持一致。
请注意,在并行情况下,计算不同集合i值的不同进程不应意外地为i != j产生p[i] == p[j]的结果。
请注意,在并行情况下,计算不同集合i值的不同进程不应意外地为i != j产生p[i] == p[j]的结果。
一个非常低强度版本的例子: