Aksakal 的回答已经充分解释了为什么财富最终会落入一个口袋。在这个答案中,我们进一步阐述了 Matt F.
可以根据特定玩家留在游戏中的概率来计算概率,并独立考虑玩家的位置。
那么有两种方式
只有一个玩家在游戏中的概率等于一个玩家达到最大金额的概率。让我们称独立玩家获胜的概率pwin.
没有玩家获胜的概率是(1−pwin)n
只有一名玩家参与游戏的概率等于不超过n−2玩家已经赔钱了。让我们称这个概率为独立玩家松手ploose.
没有一个玩家获胜的概率,是少于 9 个玩家失败的概率,并且是1−(ploose)n−n(1−ploose)(ploose)n−1
但是,当我应用这些公式时,我会得到小的差异。一种方法高估了比赛结束前的试验次数,另一种方法低估了它。
差异的原因是各个玩家的分数是相关的。如果一名球员在之后输了n游戏,那么这会降低其他玩家输掉比赛的概率n游戏。

在图像中,我们还绘制了与矩量法拟合的逆高斯分布,它似乎与模拟确定的分布形状相当吻合。因此,可能可以使用逆高斯作为分布模型(但仍然需要计算均值和方差)。
### function to simulate game
sim = function(k=100,n=5) {
# x: is a variable that keeps track of values,
# the size of this variable will reduce
# once participants hit zero
x = rep(k,n)
### n_active: number of active participants
### these equals the lenght of 'x' but we do not
### want to compute that length everytime
n_active = n
### counts: keeping track of the number of games
counts = 0
while (n_active>1) {
counts = counts + 1
### sample two players
s = sample(1:n_active,2)
### add +1 and -1 to the wealth of the players
x[s] = x[s] + c(1,-1)
### check for zero wealth and remove the participant from 'x' if neccesary
if (x[s[1]]==0) {
x = x[-s[1]]
n_active = n_active -1
}
if (x[s[2]]==0) {
x = x[-s[2]]
n_active = n_active -1
}
}
return(counts)
}
### simulations
set.seed(1)
y = replicate(10^3,sim())
### plot histogram
hist(y, breaks = seq(0,10^6,10^4), main = "histogram of simulations \n compared with approximations")
### add estimates based on an individual's probability to loose or win after n turns
n = seq(0,10^6,10^4)
p1 = pnorm(500,mean = 100,sd = sqrt(0.4*n))-pnorm(-500,mean = 100,sd = sqrt(0.4*n))
lines(n[-1],-diff(p1^5)*10^3, col = 2)
p2 = pnorm(0,mean = 100,sd = sqrt(0.4*n))*2
lines(n[-1],-diff(pbinom(1,5,p2))*10^3, col = 3)
### add inverse gaussian curve fitted with method of moments
lines(n,statmod::dinvgauss(n, mean(y), dispersion = var(y)/mean(y)^3)*10^7, col = 4)
legend(4*10^5, 80,
c("estimate based on probability of winning", "estimate based on probability of loosing",
"inverse Gauss distribution"),
cex = 0.7, col = c(2,3,4), lty = 1)