请问巫师 #283
什么是 Fisher-Yates 洗牌?
Fisher-Yates 洗牌是一种编程技巧,用于快速且无偏差地对数组进行洗牌。假设数组中有 n 个元素。将计数器设置为 n。
- 从卡号1到n-1中随机选择一张卡。
- 将该卡与卡号 n 交换。
- 从 n 中减去 1。
- 重复步骤1至3,直到n=2。
这是它在 C++ 中的样子。注意,为了简单起见,这里忽略了模偏差。
void fisher_yates(int deck[], int NumCards) { int i,保持; 无符号整数 rn; 对于(i = NumCards-1;i> 0;i--) { rn=genrand_int32()%(i+1); 保持=甲板[rn]; 甲板[rn]=甲板[i]; 甲板[i]=保持; } }
我在Wizard of Vegas论坛上讨论过这个问题。
在加州的埃尔西诺湖酒店及赌场,有一种名为“Red Flex”的二十一点附加赌注。该赌注根据庄家手中连续的红牌数量(从第一张牌开始)进行赔付。赔付表如下:
- 七个或更多红色的赔率为 200 比 1
- 六个红色的赔率为 100 比 1
- 五张红牌赔率为 50 比 1
- 四个红色的赔率为 10 比 1
- 三张红牌赔率为 5 比 1
- 两张红牌赔率为 1 比 1
如果庄家爆牌,或者由于所有玩家都爆牌而不需要抽牌,庄家仍将根据需要抽牌来裁定边注。
几率有多大?
我在我的二十一点附录 8中展示了对 Red Flex 的分析。
我在Wizard of Vegas论坛上讨论过这个问题。
如果赌场不允许加倍或分牌,这会对二十一点的赌场优势产生什么影响?
不允许加倍会使赌场优势增加 1.48%。不允许分牌会使赌场优势增加 0.57%。两者都不允许会使赌场优势增加 1.91%。
冒着再次激怒优势玩家社区的风险,我只想说,在某些情况下,精明的玩家可以在知道自己的第一张牌是什么的情况下下注。
下表显示了每张牌的概率,以及当它是第一张牌时的优势(如果大于零)。条件回报是指在给定第一张牌的情况下的预期收益。预期回报是概率列和条件回报列的乘积。
牌九扑克 — 第一张牌 Q 或更好
卡片 | 可能性 | 条件 返回 | 预期的 返回 |
---|---|---|---|
小丑 | 0.018868 | 0.257773 | 0.004864 |
高手 | 0.075472 | 0.136483 | 0.010301 |
国王 | 0.075472 | 0.038914 | 0.002937 |
女王 | 0.075472 | 0.000534 | 0.000040 |
所有其他 | 0.754717 | 0.000000 | 0.000000 |
全部的 | 1.000000 | 0.018141 |
上表显示,如果玩家只在第一张牌是Q或更高时出牌,那么他每手牌的优势为1.81%。玩家下注的概率为24.52%。每手牌的优势为7.40%。
注意,Q的优势只有0.05%。如果我们不玩这手牌,那么牌桌会变成这样。
牌九扑克 — 首张牌王或更好
卡片 | 可能性 | 条件 返回 | 预期的 返回 |
---|---|---|---|
小丑 | 0.018868 | 0.257773 | 0.004864 |
高手 | 0.075472 | 0.136483 | 0.010301 |
国王 | 0.075472 | 0.038914 | 0.002937 |
所有其他 | 0.830189 | 0.000000 | 0.000000 |
全部的 | 1.000000 | 0.018101 |
上表显示,如果玩家只在第一张牌是K或更高时出牌,那么他每手牌的优势仍然为1.81%。玩家下注的概率为16.98%。每手牌的优势为10.66%。
如果玩家只玩 A 或小丑,则表格如下。
牌九扑克 — 第一张牌 A 或 Joker
卡片 | 可能性 | 条件 返回 | 预期的 返回 |
---|---|---|---|
小丑 | 0.018868 | 0.257773 | 0.004864 |
高手 | 0.075472 | 0.136483 | 0.010301 |
所有其他 | 0.905660 | 0.000000 | 0.000000 |
全部的 | 1.000000 | 0.015164 |
这表明,如果玩家只在第一张牌是A或Joke时出牌,那么他每手牌的优势仍然有1.52%。玩家下注的概率为9.43%。因此,每手牌的优势为16.07%。
请参阅我在Wizard of Vegas论坛上关于此问题的讨论。
一架飞机在正上方5公里处。你从地面向它发射一枚热寻的导弹。导弹始终朝着飞机直飞。飞机的速度是每分钟10公里,沿直线飞行,并保持相同的高度。导弹的速度是每分钟11公里。导弹需要多长时间才能击中飞机?
要查看您可能觉得有用的积分,请选择下面的黑色区域。
(1+x^2)^0.5 的积分 dx = ln(x + (1+x^2)^0.5) + 积分常数。 |
要查看答案,请选择下面的黑色区域。
55/21 分钟 = 2.6195 分钟 = 157.1429 秒。 |