在一系列抛硬币中击中正面和反面图案所花费的时间


26

受彼得·唐纳利(Peter Donnelly)在TED上的演讲的启发,他在演讲中讨论了某种图案出现在一系列抛硬币中需要多长时间,我在R中创建了以下脚本。给定两种图案“ hth”和“ htt”,计算在您击中其中一种模式之前平均需要花费多长时间(即,掷多少硬币)。

coin <- c('h','t')

hit <- function(seq) {
    miss <- TRUE
    fail <- 3
    trp  <- sample(coin,3,replace=T)
    while (miss) {
        if (all(seq == trp)) {
            miss <- FALSE
        }
        else {
            trp <- c(trp[2],trp[3],sample(coin,1,T))
            fail <- fail + 1
        }
    }
    return(fail)
}

n <- 5000
trials <- data.frame("hth"=rep(NA,n),"htt"=rep(NA,n))

hth <- c('h','t','h')
htt <- c('h','t','t')

set.seed(4321)
for (i in 1:n) {
    trials[i,] <- c(hit(hth),hit(htt))    
}
summary(trials)

摘要统计如下,

      hth             htt        
 Min.   : 3.00   Min.   : 3.000  
 1st Qu.: 4.00   1st Qu.: 5.000  
 Median : 8.00   Median : 7.000  
 Mean   :10.08   Mean   : 8.014  
 3rd Qu.:13.00   3rd Qu.:10.000  
 Max.   :70.00   Max.   :42.000 

在演讲中,我们解释了两种方式的平均抛硬币次数将有所不同。从我的模拟中可以看出。尽管看了几次演讲,我还是不太明白为什么会这样。我知道'hth'会重叠,并且直觉上我认为您会比'htt'早点击打'hth',但是事实并非如此。如果有人可以向我解释这一点,我将非常感激。

Answers:


32

想一想当您第一次得到H并接着得到T时会发生什么。

情况1:您正在寻找HTH,并且您是第一次看HT。如果下一个折腾是H,那么您就完成了。如果是T,则回到第一个平方:既然最后两次掷是TT,那么您现在需要完整的HTH。

情况2:您正在寻找HTT,并且您是第一次看到HT。如果下一个折腾是T,那么您就完成了。如果是H,显然是个挫折;但是,这是次要的,因为您现在有了H,只需要-TT。如果下一个折腾是H,这不会使您的情况变得更糟,而T会使您的情况变得更糟,依此类推。

换句话说,在情况2中,您看到的第一个H占据了1/3的距离,从这一点开始,您不必从头开始。在第1种情况下情况并非如此,在这种情况下,TT会删除您的所有进度。


哦,所以在这种情况下,当一种模式获胜时,硬币翻转不会停止!那讲得通。这让我困惑了一阵子(还没看过TED的演讲),所以我想我想发表评论,以帮助其他可能一直在想同样事情的人。

15

8ñ+2ññHŤHHŤH

另一种看待它的方式是,在达到“ HT”后,“ T”将把“ HTH”发送回起点,而“ H”将开始前进到可能的“ HTT”。

ķķ2ķ2+0+8=100+0+8=8

5

情况变得更糟:在Penney的游戏中,您选择一种竞赛模式,然后我选择另一种。如果您选择“ HTH”,那么我将选择“ HHT”并有2:1的获胜几率;如果您选择“ HTT”,那么我将再次选择“ HHT”,仍然有2:1的赔率。但是,如果您选择“ HHT”,那么我将选择“ THH”,赔率是3:1。第二个玩家总是可以偏向于赔率,并且最佳选择不会传递。


+1感谢您与Penney游戏的链接;更多不眠之夜:)
lafrasu 2011年

亲爱的亨利,我在这个网站上问了类似的问题,并被告知要在这里寻找答案。我看了Penney的游戏,但仍然无法解决我的问题。任何帮助将不胜感激。
superAnnoyingUser

14

我喜欢画画。

在此处输入图片说明

这些图是有限状态自动机(FSA)。它们是很小的儿童游戏(如“ 溜槽”和“梯子”),通过响应令牌的翻转将令牌从一个节点移动到另一个节点,分别“识别”或“接受” HTT和HTH序列。令牌始于由箭头(线i)指向的顶部节点。每次抛硬币后,令牌都沿标记有该硬币结果的边缘(H或T)移动到另一个节点(我分别将其称为“ H节点”和“ T节点”)。当令牌落在终端节点上(没有向外的箭头,用绿色表示)时,游戏结束,FSA接受了该序列。

将每个FSA视为沿着线性轨道垂直发展。前后颠倒“正确”的顺序会导致令牌朝着其目的地前进。抛出“错误”值会导致令牌备份(或至少保持静止)。 令牌将备份到对应于最新掷出的最高级状态。 例如,HTT FSA的线II停留在放线II后,看到一个头,因为头可能是最终HTH的初始序列。它并没有全力以赴回到起点的方式,因为这将有效地完全忽略这最后头。

在验证这两款游戏确实符合所声称的HTT和HTH并逐行比较它们之后,现在很明显,HTH很难赢得比赛。它们的图形结构仅在第iii行不同,其中H将HTT带回到第ii行(并且T接受),但是在HTH中,T将我们带回到第i行(而H接受)。 玩HTH时,第iii行的处罚比玩HTT时的处罚更为严厉。

这可以量化。 我已经用接收所需预期投掷次数标记了这两个FSA的节点 让我们称这些节点为“值”。标签开始于

(1)在接受节点处写入明显值0。

设头的概率为p(H),头的概率为1-p(H)= p(T)。(对于一个公平的硬币,两个概率都等于1/2。)因为每次掷硬币都会使掷出的次数增加一,

(2)节点的值等于H节点的值加上p(H)乘以T节点的值加上p(T)乘以1。

这些规则确定值。这是一个快速而有用的练习,它可以验证所标记的值(假设有一个公平的硬币)是正确的。例如,考虑第ii行的HTH值。规则说8必须比8(第i行上的H节点的值)和6(第iii行上的T节点的值)的平均值大1;确定为8 = 1 +(1/2) * 8 +(1/2)* 6。您可以很容易地检查图中的其余五个值。


FSA方法是分析Penney博弈的好方法(在@Henry的回复中)。值的标记有些不同:FSA现在每个模式都有一个接受节点。要找到模式获胜的机会,请将其接受节点标记为1,将所有其他接受节点标记为0。任何其他节点上的值等于其H和T节点的平均值。(唯一)起始节点的值是获胜的机会。
ub

0

@gung感谢您抓住这一点。我固定了这个例子。然而,在图中的错字:它看起来像在第三行的HTT的值应该是4,而不是2
whuber

4

一些很好的答案。我想采取一点不同的方法,并解决反直觉性的问题。(我完全同意,顺便说一句)

这就是我的理解方式。想象一列打印在纸带上的随机连续投币结果列,其中包含字母“ H”和“ T”。

任意撕下该磁带的一部分,并制作相同的副本。

在给定的磁带上,如果磁带足够长,则序列HTH和序列HTT都会频繁出现。

但有时,HTH实例将一起运行,即HTHTH。(或什至很少是HTHTHTH)

对于HTT实例,不会发生这种重叠。

使用荧光笔挑出成功结果的“条纹”,一盘磁带上的HTH,另一盘磁带上的HTT。由于重叠,一些HTH条带会变短。因此,平均而言,它们之间的间隙将比其他磁带上的间隙稍长。

这有点像在等公共汽车,平均每五分钟一趟。如果允许公交车相互重叠,则平均间隔时间将略大于五分钟,因为有时两个公交车会同时经过。

如果您在任意时间到达,那么如果允许下一辆(对您来说,第一辆)公交车重叠,您将平均等待更长的时间。


2

我一直在寻找整数情况下的直觉(因为我正在通过Ross的概率模型概论)。所以我在考虑整数情况。我发现这有所帮助:

一种

一种=P一种=0

一种P一种0

因此,让我想象一下,我有机会在下一次抽奖时完成图案。我画了下一个符号,它没有完成图案。在我的模式不重叠的情况下,绘制的符号可能仍允许我从头开始重新构建模式。

在重叠的情况下,完成局部模式所需的符号与开始重建所需的符号相同。因此,我不能执行任何操作,因此肯定需要等到下一次抽奖才能有机会重新开始构建。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.