A análise é complicada pela perspectiva de que o jogo entre em "horas extras" para vencer por uma margem de pelo menos dois pontos. (Caso contrário, seria tão simples quanto a solução mostrada em https://stats.stackexchange.com/a/327015/919 .) Vou mostrar como visualizar o problema e usá-lo para dividi-lo em contribuições prontamente computadas para a resposta. O resultado, embora um pouco confuso, é gerenciável. Uma simulação confirma sua correção.
Seja sua probabilidade de ganhar um ponto. p Suponha que todos os pontos sejam independentes. A chance de você ganhar um jogo pode ser dividida em eventos (sem sobreposição), de acordo com quantos pontos seu oponente tem no final, assumindo que você não faça horas extras ( ) ou faça horas extras. Neste último caso, é (ou se tornará) óbvio que em algum momento a pontuação foi de 20 a 20.0 , 1 , ... , 19
Há uma boa visualização. Deixe as pontuações durante o jogo serem plotadas como pontos que x é a sua pontuação e y é a pontuação do seu oponente. À medida que o jogo se desenrola, as pontuações se movem ao longo da rede inteira no primeiro quadrante, começando em ( 0 , 0 ) , criando um caminho para o jogo . Termina na primeira vez que um de vocês marca pelo menos 21 e tem uma margem de pelo menos 2 . Esses pontos vencedores formam dois conjuntos de pontos, o "limite absorvente" desse processo, onde o caminho do jogo deve terminar.(x,y)xy(0,0)212
Esta figura mostra parte do limite absorvente (que se estende infinitamente para cima e para a direita) junto com o caminho de um jogo que passou para a prorrogação (com uma perda para você, infelizmente).
Vamos contar. O número de maneiras pelas quais o jogo pode terminar com pontos para o seu oponente é o número de caminhos distintos na rede inteira de pontuações ( x , y ) , começando na pontuação inicial ( 0 , 0 ) e terminando na penúltima pontuação ( 20 , y ) . Esses caminhos são determinados por qual dos 20 + y pontos no jogo que você ganhou. Eles correspondem, portanto, aos subconjuntos de tamanho 20 dos números 1 , 2 , … , 20 +y(x,y)(0,0)(20,y)20+y201,2,…,20+y 21py1-py(20+y20)21py1−py
f(y)=(20+y20)p21(1−p)y.
Da mesma forma, existem maneiras de chegar a representando o empate 20-20. Nesta situação, você não tem uma vitória definitiva. Podemos calcular a chance de sua vitória adotando uma convenção comum: esqueça quantos pontos foram marcados até agora e comece a rastrear o diferencial de pontos. O jogo tem um diferencial de e termina quando atinge ou , passando necessariamente por ao longo do caminho. Seja a chance de ganhar quando o diferencial for .(20+2020)(20,20)0+2−2±1g(i)i∈{−1,0,1}
Como sua chance de ganhar em qualquer situação é , temosp
g(0)g(1)g(−1)=pg(1)+(1−p)g(−1),=p+(1−p)g(0),=pg(0).
A solução exclusiva para este sistema de equações lineares para o vetor implica(g(−1),g(0),g(1))
g(0)=p21−2p+2p2.
Essa é, portanto, sua chance de ganhar uma vez alcançada (o que ocorre com uma chance de ).(20,20)(20+2020)p20(1−p)20
Consequentemente, sua chance de ganhar é a soma de todas essas possibilidades disjuntas, iguais a
==∑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).
O material dentro dos parênteses à direita é um polinômio na . (Parece que seu grau é , mas todos os termos principais são cancelados: seu grau é ).p2120
Quando , a chance de vitória é próxima dep=0.580.855913992.
Você não deve ter problemas para generalizar essa análise para jogos que terminam com qualquer número de pontos. Quando a margem exigida é maior que o resultado fica mais complicado, mas é igualmente simples.2
Aliás , com essas chances de ganhar, você tinha chance de ganhar os primeiros jogos. Isso não é inconsistente com o que você denuncia, o que pode nos encorajar a continuar supondo que os resultados de cada ponto sejam independentes. Assim, projetaríamos que você tem uma chance de(0.8559…)15≈9.7%15
(0.8559…)35≈0.432%
de vencer todos os jogos restantes , supondo que eles procedam de acordo com todas essas premissas. Não parece uma boa aposta a menos que o pagamento seja grande!35
Eu gosto de verificar trabalhos como este com uma simulação rápida. Aqui está o R
código para gerar dezenas de milhares de jogos em um segundo. Assume-se que o jogo terminará em 126 pontos (poucos jogos precisam continuar por tanto tempo, portanto essa suposição não tem efeito material nos resultados).
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)
Quando eu executei isso, você venceu em 8.570 casos das 10.000 iterações. Um escore Z (com aproximadamente uma distribuição Normal) pode ser calculado para testar esses resultados:
Z <- (mean(sim) - 0.85591399165186659) / (sd(sim)/sqrt(n.sim))
message(round(Z, 3)) # Should be between -3 and 3, roughly.
O valor de nesta simulação é perfeitamente consistente com o cálculo teórico anterior.0.31
Apêndice 1
À luz da atualização da pergunta, que lista os resultados dos primeiros 18 jogos, aqui estão as reconstruções dos caminhos do jogo consistentes com esses dados. Você pode ver que dois ou três dos jogos estavam perigosamente perto de perdas. (Qualquer caminho que termine em um quadrado cinza claro é uma perda para você.)
Os usos potenciais desta figura incluem a observação:
Os caminhos concentram-se em torno de uma inclinação dada pela razão 267: 380 da pontuação total, igual a aproximadamente 58,7%.
A dispersão dos caminhos ao redor dessa inclinação mostra a variação esperada quando os pontos são independentes.
Se os pontos são feitos em faixas, os caminhos individuais tendem a ter longos trechos verticais e horizontais.
Em um conjunto mais longo de jogos semelhantes, espere ver caminhos que tendem a permanecer dentro da faixa colorida, mas também espere que alguns se estendam além dela.
A perspectiva de um jogo ou dois cujo caminho esteja geralmente acima desse spread indica a possibilidade de seu oponente vencer um jogo, provavelmente mais cedo ou mais tarde.
Apêndice 2
O código para criar a figura foi solicitado. Aqui está (limpo para produzir um gráfico um pouco melhor).
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, "."))