Analiz, oyunun en az iki puanlık bir farkla kazanmak için "fazla mesai" ye girme ihtimaliyle karmaşıklaşıyor. (Aksi takdirde, https://stats.stackexchange.com/a/327015/919 adresinde gösterilen çözüm kadar basit olacaktır.) Sorunu nasıl görselleştireceğinizi ve bunu kolayca hesaplanan katkılara ayırmak için nasıl kullanacağımı göstereceğim. cevap. Sonuç, biraz dağınık olmasına rağmen yönetilebilir. Bir simülasyon doğruluğunu ortadan kaldırır.
puan kazanma ihtimaliniz olsun . p Tüm noktaların bağımsız olduğunu varsayalım. Bir oyunu kazanma şansı, rakibinizin fazla mesai yapmadığınızı (fazla ) veya fazla mesai yapmadığınızı varsayarak, sonunda ne kadar puan kazandığına göre (örtüşmeyen) etkinliklere bölünebilir. . İkinci durumda, bir aşamada skorun 20-20 olduğu açıktır (veya olacaktır).0,1,…,19
Güzel bir görselleştirme var. Oyun sırasında puanları noktaları olarak çizilebilir edelim puanınız ve bir rakibin puanı almaktadır. Oyun ilerledikçe, skorlar başlayan birinci kadrandaki tamsayı kafes boyunca ilerleyerek bir oyun yolu oluşturur . Biriniz en az ve ilk en az puan almışsa ilk defa sona erer . Bu tür kazanma puanları, oyun sürecinin sona ermesi gereken, bu sürecin "emici sınırı" olan iki puan setini oluşturur.x y ( 0 , 0 ) 21 2(x,y)xy(0,0)212
Bu şekil, fazla mesai içine giren bir oyunun yoluyla (sizin için ne yazık ki) (sınırsız ve sağa doğru uzanan) emme sınırının bir bölümünü gösterir.
Hadi sayalım. Oyunu ile sona erebilir yolları sayısı rakibin noktalarının tam sayı kafes belirgin yolların sayısıdır , ilk puanı başlayarak puanları , sondan bir önceki puanı verme ve . Bu yollar kazandığınız oyunda puanından hangisi ile belirlenir . Bu nedenle, sayılarının boyutundaki alt kümelerine karşılık gelir ve bunlardan vardır. Böyle bir yolda puan kazandınız ( her seferinde bağımsız olasılıklar , son puanı sayıyorsunuz) ve rakibiniz kazandı( x , y ) ( 0 , 0 ) ( 20 , y ) 20 + y 20 1 , 2 , ... , 20 + yy(x,y)(0,0)(20,y)20+y201,2,…,20+y 21(20+y20)21y 1 - p ypy puanları ( her seferinde bağımsız olasılıklar ), ile ilişkili yollar toplam şansı1−py
f(y)=(20+y20)p21(1−p)y.
Benzer şekilde, 20-20 bağı temsil eden , ye ulaşmak için yolları vardır . Bu durumda kesin bir kazancınız yok. Ortak bir kural benimseyerek kazanma şansınızı hesaplayabiliriz: şu ana kadar kaç puan kazanıldığını unutun ve puan farkını izlemeye başlayın. Oyun farkında ve ilk önce veya ulaştığında sona erecek , mutlaka yol boyunca geçecek . Let Eğer diferansiyel olduğu zaman kazanma şansın . (20,20)0+2-2±1g(i)i∈{-1,0,1}(20+2020)(20,20)0+2−2±1g(i)i∈{−1,0,1}
Her durumda kazanma şansınız , bizp
g(0)g(1)g(−1)=pg(1)+(1−p)g(−1),=p+(1−p)g(0),=pg(0).
Vektör için bu doğrusal denklem sistemine özgü çözüm anlamına gelir(g(−1),g(0),g(1))
g(0)=p21−2p+2p2.
Bu nedenle, bir kez kazanma şansınız olur (bu, şansıyla gerçekleşir ).( 20 + 20(20,20)(20+2020)p20(1−p)20
Sonuç olarak kazanma şansınız, tüm bu ayrık olasılıkların toplamına eşittir.
==∑y=019f(y)+g(0)p20(1−p)20(20+2020)∑y=019(20+y20)p21(1−p)y+p21−2p+2p2p20(1−p)20(20+2020)p211−2p+2p2(∑y=019(20+y20)(1−2p+2p2)(1−p)y+(20+2020)p(1−p)20).
Sağdaki parantez içinde kalanlar cinsinden bir polinomdur . (Derecesi gibi gözüküyor , ancak önde gelen terimlerin tümü iptal edildi: derecesi )p2120
Ne zaman , bir galibiyet şansı yakındırp=0.580.855913992.
Bu analizi, herhangi bir sayıdaki puanla sona eren oyunlara genellemekte sorun yaşamazsınız. Gerekli marj daha büyük olduğu zaman sonuç daha karmaşık hale ama tıpkı basittir.2
Bu arada , kazanma şansınızla ilk maçı kazanma şansınız . Bu, bildirdiğinizle tutarsız değil, bu da her bir noktanın sonuçlarının bağımsız olduğunu varsaymaya devam etmemizi teşvik edebilir. Böylelikle bir şansın olduğunu tahmin ederdik.(0.8559…)15≈9.7%15
(0.8559…)35≈0.432%
kalan tüm oyunu kazanma , bu varsayımlara göre devam ettikleri varsayılarak. Kazanç büyük olmadıkça yapmak için iyi bir bahis gibi görünmüyor!35
Böyle bir çalışmayı hızlı bir simülasyonla kontrol etmeyi seviyorum. İşte R
saniyede onbinlerce oyun üretecek kod. Oyunun 126 puan içinde biteceğini varsayar (çok az oyunun bu kadar uzun sürmesi gerekir, bu nedenle bu varsayımın sonuçlar üzerinde önemli bir etkisi yoktur).
n <- 21 # Points your opponent needs to win
m <- 21 # Points you need to win
margin <- 2 # Minimum winning margin
p <- .58 # Your chance of winning a point
n.sim <- 1e4 # Iterations in the simulation
sim <- replicate(n.sim, {
x <- sample(1:0, 3*(m+n), prob=c(p, 1-p), replace=TRUE)
points.1 <- cumsum(x)
points.0 <- cumsum(1-x)
win.1 <- points.1 >= m & points.0 <= points.1-margin
win.0 <- points.0 >= n & points.1 <= points.0-margin
which.max(c(win.1, TRUE)) < which.max(c(win.0, TRUE))
})
mean(sim)
Bunu koştuğumda, 10.000 tekrardan 8.570 vakada kazandın. Bu tür sonuçları test etmek için bir Z-puanı (yaklaşık olarak Normal dağılımla birlikte) hesaplanabilir:
Z <- (mean(sim) - 0.85591399165186659) / (sd(sim)/sqrt(n.sim))
message(round(Z, 3)) # Should be between -3 and 3, roughly.
Bu simülasyondaki değeri , yukarıdaki teorik hesaplama ile mükemmel bir şekilde tutar.0.31
ek 1
İlk 18 oyunun sonuçlarını listeleyen soruya yapılan güncellemeler ışığında, bu verilerle uyumlu oyun yollarının yeniden yapılanması. Oyunların iki veya üçünün tehlikeli bir şekilde kayıplara yakın olduğunu görebilirsiniz. (Açık gri bir karede sona eren herhangi bir yol sizin için bir kayıptır.)
Bu rakamın potansiyel kullanımları şunları gözlemlemeyi içerir:
Yollar, toplam puanların 267: 380 oranı ile yaklaşık% 58.7'ye eşit bir eğim etrafında yoğunlaşmaktadır.
Bu eğimin etrafındaki patikaların dağılması, noktalar bağımsız olduğunda beklenen değişimi gösterir.
Noktalar çizgiler halinde yapılırsa, bireysel yollar uzun dikey ve yatay uzantılara sahip olma eğilimindedir.
Daha uzun bir benzer oyun kümesinde, renkli aralıkta kalma eğiliminde olan yollar görmeyi bekleyin, ancak birkaçının da ötesine geçmesini bekleyin.
Genelde yolu bu yayılmanın üzerinde olan bir ya da iki oyunun olasılığı, rakibinizin nihayetinde bir maçtan kazanma olasılığını, muhtemelen daha sonra değil.
Ek 2
Şekil oluşturmak için kod istendi. İşte (biraz daha güzel bir grafik üretmek için temizlenir).
library(data.table)
library(ggplot2)
n <- 21 # Points your opponent needs to win
m <- 21 # Points you need to win
margin <- 2 # Minimum winning margin
p <- 0.58 # Your chance of winning a point
#
# Quick and dirty generation of a game that goes into overtime.
#
done <- FALSE
iter <- 0
iter.max <- 2000
while(!done & iter < iter.max) {
Y <- sample(1:0, 3*(m+n), prob=c(p, 1-p), replace=TRUE)
Y <- data.table(You=c(0,cumsum(Y)), Opponent=c(0,cumsum(1-Y)))
Y[, Complete := (You >= m & You-Opponent >= margin) |
(Opponent >= n & Opponent-You >= margin)]
Y <- Y[1:which.max(Complete)]
done <- nrow(Y[You==m-1 & Opponent==n-1 & !Complete]) > 0
iter <- iter+1
}
if (iter >= iter.max) warning("Unable to find a solution. Using last.")
i.max <- max(n+margin, m+margin, max(c(Y$You, Y$Opponent))) + 1
#
# Represent the relevant part of the lattice.
#
X <- as.data.table(expand.grid(You=0:i.max,
Opponent=0:i.max))
X[, Win := (You == m & You-Opponent >= margin) |
(You > m & You-Opponent == margin)]
X[, Loss := (Opponent == n & You-Opponent <= -margin) |
(Opponent > n & You-Opponent == -margin)]
#
# Represent the absorbing boundary.
#
A <- data.table(x=c(m, m, i.max, 0, n-margin, i.max-margin),
y=c(0, m-margin, i.max-margin, n, n, i.max),
Winner=rep(c("You", "Opponent"), each=3))
#
# Plotting.
#
ggplot(X[Win==TRUE | Loss==TRUE], aes(You, Opponent)) +
geom_path(aes(x, y, color=Winner, group=Winner), inherit.aes=FALSE,
data=A, size=1.5) +
geom_point(data=X, color="#c0c0c0") +
geom_point(aes(fill=Win), size=3, shape=22, show.legend=FALSE) +
geom_path(data=Y, size=1) +
coord_equal(xlim=c(-1/2, i.max-1/2), ylim=c(-1/2, i.max-1/2),
ratio=1, expand=FALSE) +
ggtitle("Example Game Path",
paste0("You need ", m, " points to win; opponent needs ", n,
"; and the margin is ", margin, "."))