function pseudoPseudoRandom(threshold) {
var l = NaN;
return function() {
var i;
do {
i = Math.random();
} while (Math.abs(l - i) < threshold);
return l = i;
}
}
var pseudoCoin = pseudoPseudoRandom(0.5);
for (var i = 0; i < 100; ++i) {
pseudoCoin();
}
只要是標準分佈的隨機序列,其必定是均勻的。
只是人會傾向於認爲,小概率事件不會出現在隨機序列中。然而這是錯的。
巨數法則告訴我們,小概率事件在多次執行仍不發生的概率,會很快地下降。
http://zhuanlan.zhihu.com/chenqin/19927854
而使其看上去更隨機的方法,就如上所說,頻繁變換正反。