문제 설명
하자 금액의 대수 될 도박꾼이 시간에이 .와이티= 로그10( M티)미디엄티티
가 도박꾼이 베팅하는 돈의 일부라고 하자 .큐
하자 돈의 양이 그와 도박꾼 시작 (10 달러)합니다. 하자 도박꾼 (1 센트 이하) 파산 곳 금액합니다. 간단하게하기 위해 우리는 도박꾼이 돈 약간 넘었을 때 도박을 중단하는 규칙을 추가합니다 (나중에 한도를 규칙을 해제 할 수 있습니다 ).와이0= 1와이엘= − 2와이여와이여→ ∞
무작위 걷기
비대칭 랜덤 워크로 돈의 성장과 하락을 볼 수 있습니다. 즉, 를 다음과 같이 설명 할 수 있습니다 .와이티
와이티= Y0+ ∑나는 = 1티엑스나는
어디
P [ X나는= a승= 로그( 1 + 2 Q) ] = P [ X나는= a엘= 로그( 1 − q) ] = 12
파산 확률
마틴 게일
표현식
지티= c와이티
우리가 를 선택할 때의 마틴 게일 입니다.c
caw+cal=2
(여기서 이면 ) 그때부터c<1q<0.5
E[Zt+1]=E[Zt]12caw+E[Zt]12cal=E[Zt]
파산 할 가능성
중지 시간 (손실 / 파산 또는 승리 )은 최악의 경우 특정 유한 길이 인 , 거의 확실하게 원하지이다.Yt<YLYt>YWYW−YLaw
그런 다음, 선택적 정지 정리 를 사용하여 정지 시간 가 시간 0 의 예상 값 과 있습니다.E[Zτ]τE[Z0]
그러므로
cY0=E[Z0]=E[Zτ]≈P[Yτ<L]cYL+(1−P[Yτ<L])cYW
과
P[Yτ<YL]≈cY0−cYWcYL−cYW
그리고 한도YW→∞
P[Yτ<YL]≈cY0−YL
결론
현금을 모두 잃지 않고 제공 할 수있는 최적의 현금 비율이 있습니까?
최적의 백분율이 어느 것이 다른 이익을 평가하는지에 달려 있습니다. 그러나 모든 것을 잃을 확률에 대해 말할 수 있습니다.
도박꾼이 돈의 제로 부분을 베팅 할 때만 파산하지 않을 것입니다.
증가와 도박꾼이 거의 확실 유한 한 시간 (도박꾼의 파멸이 코멘트에 로버트 롱 언급) 내에서 파산 몇 가지 지점까지 증가 파산 할 확률을. 이 점, 에서입니다 이에 대한 해결책이없는 포인트입니다 하나 아래가. 이것은 또한 증가하는 단계 가 감소하는 단계 보다 작은 이다.qqgambler's ruinqgambler's ruin=1−1/b
cawal
따라서 경우 도박꾼이 돈의 절반 이하로 베팅하는 한 도박꾼은 파산 하지 않을 것입니다.b=2
모든 돈을 잃을 확률은 시간이 지남에 따라 줄어들거나 증가합니까?
파산 할 확률은 도박꾼이 파산하는 금액과의 거리에 따라 다릅니다. 시 도박꾼의 돈 것, 평균 감소에 평균 증가 및 파산 의지를 갈 수있는 확률에.q<qgambler's ruin
켈리 기준을 사용할 때 파산 확률.
데이브 해리스 대답 한 켈리 기준 사용할 때 대한, 로부터 독립 한 단일 베팅 손실과 수익의 비율 인 의 값 동일 할 것이다 파산 할 확률은 입니다.q=0.5(1−1/b)bbc0.10.1S−L
즉, 켈리 기준을 사용할 때 매직 트리 의 아 시메트리 매개 변수 와 무관하게 파산 할 확률은 도박꾼이 파산하는 금액과 도박꾼이 시작하는 금액의 비율과 같습니다. 와. 10 달러와 1 센트의 경우 켈리 기준을 사용할 때 파산 할 확률은 1 : 1000입니다.b
시뮬레이션
아래 시뮬레이션은 다양한 도박 전략에 대한 다양한 시뮬레이션 궤적을 보여줍니다. 빨간 궤적은 파산하게 된 것입니다 ( 선을 ).Yt=−2
시간 이후 이익 분배t
머니 트리로 도박의 가능한 결과를 추가로 설명하기 위해 분포를 균일 한 에서 흡수 경계 (도박자가 파산하는 곳)에서 1 차원 확산 과정으로 모델링 할 수 있습니다 . 이 상황에 대한 솔루션은 Smoluchowski에 의해 제공되었습니다Yt
스몰 로브 스키, 마리안 V. Annalen der Physik 353.24 (1916) : 1103-1112. ( https://www.physik.uni-augsburg.de/theo1/hanggi/History/BM-History.html을 통해 온라인으로 이용 가능 )
방정식 8 :
W(x0,x,t)=e−c(x−x0)2D−c2t4D2πDt−−−−√[e−(x−x0)24Dt−e−(x+x0)24Dt]
이 확산 방정식은 속도 를 예상 증가 와 동일하게 설정했을 때의 트리 문제와 관련이 있으며 , 는 단일 단계에서의 변화의 분산과 동일하게 설정 합니다 , 은 초기 금액, 는 걸음 수입니다.cE[Yt]DVar(Xt)x0t
아래 이미지와 코드는 방정식을 보여줍니다.
코드
#
## Simulations of random walks and bankruptcy:
#
# functions to compute c
cx = function(c,x) {
c^log(1-x,10)+c^log(1+2*x,10) - 2
}
findc = function(x) {
r <- uniroot(cx, c(0,1-0.1^10),x=x,tol=10^-130)
r$root
}
# settings
set.seed(1)
n <- 100000
n2 <- 1000
q <- 0.45
# repeating different betting strategies
for (q in c(0.35,0.4,0.45)) {
# plot empty canvas
plot(1,-1000,
xlim=c(0,n2),ylim=c(-2,50),
type="l",
xlab = "time step", ylab = expression(log[10](M[t])) )
# steps in the logarithm of the money
steps <- c(log(1+2*q,10),log(1-q,10))
# counter for number of bankrupts
bank <- 0
# computing 1000 times
for (i in 1:1000) {
# sampling wins or looses
X_t <- sample(steps, n, replace = TRUE)
# compute log of money
Y_t <- 1+cumsum(X_t)
# compute money
M_t <- 10^Y_t
# optional stopping (bankruptcy)
tau <- min(c(n,which(-2 > Y_t)))
if (tau<n) {
bank <- bank+1
}
# plot only 100 to prevent clutter
if (i<=100) {
col=rgb(tau<n,0,0,0.5)
lines(1:tau,Y_t[1:tau],col=col)
}
}
text(0,45,paste0(bank, " bankruptcies out of 1000 \n", "theoretic bankruptcy rate is ", round(findc(q)^3,4)),cex=1,pos=4)
title(paste0("betting a fraction ", round(q,2)))
}
#
## Simulation of histogram of profits/results
#
# settings
set.seed(1)
rep <- 10000 # repetitions for histogram
n <- 5000 # time steps
q <- 0.45 # betting fraction
b <- 2 # betting ratio loss/profit
x0 <- 3 # starting money
# steps in the logarithm of the money
steps <- c(log(1+b*q,10),log(1-q,10))
# to prevent Moiré pattern in
# set binsize to discrete differences in results
binsize <- 2*(steps[1]-steps[2])
for (n in c(200,500,1000)) {
# computing several trials
pays <- rep(0,rep)
for (i in 1:rep) {
# sampling wins or looses
X_t <- sample(steps, n, replace = TRUE)
# you could also make steps according to a normal distribution
# this will give a smoother histogram
# to do this uncomment the line below
# X_t <- rnorm(n,mean(steps),sqrt(0.25*(steps[1]-steps[2])^2))
# compute log of money
Y_t <- x0+cumsum(X_t)
# compute money
M_t <- 10^Y_t
# optional stopping (bankruptcy)
tau <- min(c(n,which(Y_t < 0)))
if (tau<n) {
Y_t[n] <- 0
M_t[n] <- 0
}
pays[i] <- Y_t[n]
}
# histogram
h <- hist(pays[pays>0],
breaks = seq(0,round(2+max(pays)),binsize),
col=rgb(0,0,0,0.5),
ylim=c(0,1200),
xlab = "log(result)", ylab = "counts",
main = "")
title(paste0("after ", n ," steps"),line = 0)
# regular diffusion in a force field (shifted normal distribution)
x <- h$mids
mu <- x0+n*mean(steps)
sig <- sqrt(n*0.25*(steps[1]-steps[2])^2)
lines(x,rep*binsize*(dnorm(x,mu,sig)), lty=2)
# diffusion using the solution by Smoluchowski
# which accounts for absorption
lines(x,rep*binsize*Smoluchowski(x,x0,0.25*(steps[1]-steps[2])^2,mean(steps),n))
}