【发布时间】:2011-09-06 13:37:51
【问题描述】:
我正在使用 Mersenne twister 算法来洗牌。每次需要洗牌时,我都会用 time(NULL) + deckCutCardNumber 播种,这是用户选择切割牌组的地方。仅通过第一手播种并继续使用相同的种子生成它们,或者这种方法更随机,我会得到更好的结果吗?
谢谢
【问题讨论】:
-
呃,你知道切割是在洗牌之后发生的,对吧?无论如何,当您信任洗牌器时,这毫无意义。
-
扑克牌和梅森捻线机不能混合(梅森捻线机的输出是可预测的)。您需要一个加密 PRNG。并用痛苦收集的熵来初始化它,因此很昂贵,这意味着你应该只初始化一次。