riffle shuffle算法太机械且可预测。我们如何添加一些随机性,好像真正的人正在洗牌但仍然使用浅滩方法?
答案 0 :(得分:2)
在Aldous和Diaconis的论文 Shuffling Cards and Stoping Times 中(来自美国数学月刊, 93 :5,pp 333-348),作者研究了如何需要很多洗牌来随机化一副牌。该论文的第4部分是分析Shiffle Shuffles ,他们讨论了(非完美)卡片的等效公式。
特别是,他们引用了一个模型,用于模拟“真正的”人们如何随意改变洗牌。基本上,根据二项分布将牌组分成两部分,一手牌c
,另一手牌n-c
。然后,这些卡“从给定的手中丢弃,概率与数据包大小成比例”。
因此,一个简单的应用程序将假设您的牌组最初分成两个相等的牌,然后重复选择下一张牌来自哪一块,a / (a+b)
概率来自该牌块{当前大小a
的{1}}和b / (a+b)
概率。