你有一張列表中的卡片在該列表中的位置不移動的52張卡片。 你有第二張卡位置列表。首先,位置列表與第一個列表相同。這個簡單的洗牌算法是否會返回隨機洗牌的撲克牌?
遍歷第一個列表。
對於第一個列表中的每張卡片,生成一個從1到52的數字。在第二個列表中交換其位置,卡片在該位置。
是否存在偏見?爲什麼?
更新:永遠不要相信純粹的數學或邏輯,我決定自己實現這一點。下面是第五張(位置明智)的百分比機率是每個號碼從1到52:
1. 1.9346%
2. 1.9011%
3. 1.8513%
4. 1.8634%
5. 1.8561%
6. 1.8382%
7. 2.5086%
8. 2.4528%
9. 2.4552%
10. 2.3772%
11. 2.3658%
12. 2.3264%
13. 2.3375%
14. 2.287%
15. 2.2627%
16. 2.2151%
17. 2.1846%
18. 2.1776%
19. 2.1441%
20. 2.1103%
21. 2.084%
22. 2.0505%
23. 2.0441%
24. 2.0201%
25. 1.972%
26. 1.9568%
27. 1.9477%
28. 1.9429%
29. 1.9094%
30. 1.8714%
31. 1.8463%
32. 1.8253%
33. 1.8308%
34. 1.8005%
35. 1.7633%
36. 1.7634%
37. 1.769%
38. 1.7269%
39. 1.705%
40. 1.6858%
41. 1.6657%
42. 1.6491%
43. 1.6403%
44. 1.6189%
45. 1.6204%
46. 1.5953%
47. 1.5872%
48. 1.5632%
49. 1.5402%
50. 1.5347%
51. 1.5191%
52. 1.5011%
正如你所看到的,完全是非隨機的。我很喜歡數學家來證明爲什麼第5張牌比其他任何東西更可能是7,但我猜這與7這樣的早期牌有更多機會交換有關 - 這是正確的算法可以防止,它只允許卡交換一次。