WOO logo

请问巫师 #283

什么是 Fisher-Yates 洗牌?

anonymous

Fisher-Yates 洗牌是一种编程技巧,用于快速且无偏差地对数组进行洗牌。假设数组中有 n 个元素。将计数器设置为 n。

  1. 从卡号1到n-1中随机选择一张卡。
  2. 将该卡与卡号 n 交换。
  3. 从 n 中减去 1。
  4. 重复步骤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

如果庄家爆牌,或者由于所有玩家都爆牌而不需要抽牌,庄家仍将根据需要抽牌来裁定边注。

几率有多大?

anonymous

我在我的二十一点附录 8中展示了对 Red Flex 的分析。

我在Wizard of Vegas论坛上讨论过这个问题。

如果赌场不允许加倍或分牌,这会对二十一点的赌场优势产生什么影响?

Luke

不允许加倍会使赌场优势增加 1.48%。不允许分牌会使赌场优势增加 0.57%。两者都不允许会使赌场优势增加 1.91%。

在您上一篇专栏文章中,Eliot Jacobson 提问了如果玩家知道第一张牌是 A 或 J 的话,牌九扑克的预期价值是多少。我猜这与玩家看到这张牌能够下注有关。您知道 Eliot 提问的原因吗?

odiousgambit

冒着再次激怒优势玩家社区的风险,我只想说,在某些情况下,精明的玩家可以在知道自己的第一张牌是什么的情况下下注。

下表显示了每张牌的概率,以及当它是第一张牌时的优势(如果大于零)。条件回报是指在给定第一张牌的情况下的预期收益。预期回报是概率列和条件回报列的乘积。

牌九扑克 — 第一张牌 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公里。导弹需要多长时间才能击中飞机?

anonymous

要查看您可能觉得有用的积分,请选择下面的黑色区域。

(1+x^2)^0.5 的积分 dx = ln(x + (1+x^2)^0.5) + 积分常数。

要查看答案,请选择下面的黑色区域。

55/21 分钟 = 2.6195 分钟 = 157.1429 秒。