Việc phân tích rất phức tạp bởi triển vọng rằng trò chơi đi vào "làm thêm giờ" để giành chiến thắng với cách biệt ít nhất hai điểm. (Nếu không, nó sẽ đơn giản như giải pháp được hiển thị tại https://stats.stackexchange.com/a/327015/919 .) Tôi sẽ trình bày cách trực quan hóa vấn đề và sử dụng nó để chia nhỏ thành các đóng góp được tính toán dễ dàng câu trả lời. Kết quả, mặc dù một chút lộn xộn, có thể quản lý được. Một mô phỏng mang lại tính chính xác của nó.
Đặt là xác suất của bạn để giành được một điểm. p Giả sử tất cả các điểm là độc lập. Cơ hội bạn thắng một trò chơi có thể được chia thành các sự kiện (không chồng chéo) tùy theo số điểm mà đối thủ của bạn có khi kết thúc với giả định rằng bạn không đi làm thêm giờ ( ) hoặc bạn làm thêm giờ . Trong trường hợp sau, rõ ràng là (hoặc sẽ trở thành) rõ ràng rằng ở một giai đoạn nào đó, điểm số là 20-20.0,1,…,19
Có một hình dung tốt đẹp. Hãy để điểm số trong trò chơi được vẽ là điểm trong đó là điểm của bạn và là điểm của đối thủ. Khi trò chơi mở ra, điểm số sẽ di chuyển dọc theo mạng nguyên trong góc phần tư thứ nhất bắt đầu từ , tạo ra một đường dẫn trò chơi . Nó kết thúc lần đầu tiên một trong số bạn đạt được ít nhất và có biên độ ít nhất là . Điểm chiến thắng như vậy tạo thành hai bộ điểm, "ranh giới hấp thụ" của quá trình này, theo đó đường dẫn trò chơi phải chấm dứt.x y ( 0 , 0 ) 21 2(x,y)xy(0,0)212
Hình này cho thấy một phần của ranh giới hấp thụ (nó kéo dài vô tận lên và sang phải) cùng với con đường của một trò chơi đã đi vào giờ làm thêm (với một mất mát cho bạn, than ôi).
Hãy tính. Số cách trò chơi có thể kết thúc bằng điểm cho đối thủ của bạn là số đường dẫn riêng biệt trong mạng số nguyên của điểm bắt đầu ở điểm ban đầu và kết thúc ở điểm áp chót . Những đường dẫn như vậy được xác định theo điểm nào trong số điểm trong trò chơi bạn giành được. Do đó, chúng tương ứng với các tập hợp con có kích thước trong số và có trong số chúng. Vì trong mỗi con đường như vậy, bạn đã giành được điểm (với xác suất độc lập mỗi lần, tính điểm cuối cùng) và đối thủ của bạn đã giành chiến thắng( x , y ) ( 0 , 0 ) ( 20 , y ) 20 + y 20 1 , 2 , ... , 20 + yy(x,y)(0,0)(20,y)20+y201,2,…,20+y(20+y20)21py điểm (với xác suất độc lập mỗi lần), các đường dẫn được liên kết với chiếm tổng cơ hội1−py
f(y)=(20+y20)p21(1−p)y.
Tương tự, có cách đến đại diện cho cà vạt 20-20. Trong tình huống này, bạn không có một chiến thắng rõ ràng. Chúng tôi có thể tính toán cơ hội giành chiến thắng của bạn bằng cách áp dụng quy ước chung: quên số điểm đã được ghi cho đến nay và bắt đầu theo dõi chênh lệch điểm. Trò chơi ở mức chênh lệch và sẽ kết thúc khi lần đầu tiên đạt hoặc , nhất thiết phải đi qua trên đường đi. Đặt là cơ hội bạn giành chiến thắng khi chênh lệch là .(20+2020)(20,20)0+2−2±1g(i)i∈{−1,0,1}
Vì cơ hội chiến thắng của bạn trong mọi tình huống là , chúng tôi cóp
g(0)g(1)g(−1)=pg(1)+(1−p)g(−1),=p+(1−p)g(0),=pg(0).
Giải pháp duy nhất cho hệ phương trình tuyến tính này cho vectơ ngụ ý(g(−1),g(0),g(1))
g(0)=p21−2p+2p2.
Do đó, đây là cơ hội chiến thắng của bạn một khi đạt được (xảy ra với cơ hội ).(20,20)(20+2020)p20(1−p)20
Do đó, cơ hội chiến thắng của bạn là tổng của tất cả các khả năng rời rạc này, bằng với
==∑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).
Các công cụ bên trong dấu ngoặc đơn bên phải là một đa thức trong . (Có vẻ như mức độ của nó là , nhưng các điều khoản hàng đầu đều hủy bỏ: mức độ của nó là )p2120
Khi , cơ hội giành chiến thắng là gầnp=0.580.855913992.
Bạn sẽ không gặp khó khăn khi khái quát hóa phân tích này cho các trò chơi kết thúc với bất kỳ số điểm nào. Khi biên yêu cầu lớn hơn , kết quả sẽ phức tạp hơn nhưng cũng đơn giản như vậy.2
Ngẫu nhiên , với những cơ hội chiến thắng này, bạn đã có cơ hội chiến thắng trong trận đầu tiên . Điều đó không phù hợp với những gì bạn báo cáo, điều này có thể khuyến khích chúng tôi tiếp tục cho rằng kết quả của từng điểm là độc lập. Do đó, chúng tôi sẽ dự kiến rằng bạn có cơ hội(0.8559…)15≈9.7%15
(0.8559…)35≈0.432%
chiến thắng tất cả trò chơi còn lại , giả sử họ tiến hành theo tất cả các giả định này. Nó không giống như một vụ cá cược tốt để thực hiện trừ khi số tiền chi trả lớn!35
Tôi thích kiểm tra công việc như thế này với một mô phỏng nhanh. Đây là R
mã để tạo ra hàng chục ngàn trò chơi trong một giây. Nó giả định rằng trò chơi sẽ kết thúc trong vòng 126 điểm (cực kỳ ít trò chơi cần tiếp tục lâu như vậy, vì vậy giả định này không ảnh hưởng trọng yếu đến kết quả).
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)
Khi tôi chạy nó, bạn đã thắng trong 8,570 trường hợp trong số 10.000 lần lặp. Điểm Z (với phân phối chuẩn) có thể được tính để kiểm tra các kết quả như vậy:
Z <- (mean(sim) - 0.85591399165186659) / (sd(sim)/sqrt(n.sim))
message(round(Z, 3)) # Should be between -3 and 3, roughly.
Giá trị trong mô phỏng này hoàn toàn phù hợp với tính toán lý thuyết đã nói ở trên.0.31
Phụ lục 1
Theo bản cập nhật cho câu hỏi, trong đó liệt kê các kết quả của 18 trò chơi đầu tiên, đây là bản dựng lại các đường dẫn trò chơi phù hợp với các dữ liệu này. Bạn có thể thấy rằng hai hoặc ba trong số các trò chơi đã gần như thua lỗ. (Bất kỳ đường dẫn nào kết thúc trên một hình vuông màu xám nhạt đều là một mất mát đối với bạn.)
Sử dụng tiềm năng của con số này bao gồm quan sát:
Các đường dẫn tập trung quanh một độ dốc theo tỷ lệ 267: 380 của tổng số điểm, tương đương khoảng 58,7%.
Sự phân tán của các đường đi quanh độ dốc đó cho thấy sự thay đổi được mong đợi khi các điểm độc lập.
Nếu các điểm được tạo thành các vệt, thì các đường riêng lẻ sẽ có xu hướng kéo dài dọc và ngang.
Trong một tập hợp dài hơn các trò chơi tương tự, hy vọng sẽ thấy các đường dẫn có xu hướng nằm trong phạm vi màu, nhưng cũng mong đợi một số ít vượt ra ngoài nó.
Viễn cảnh của một hoặc hai trò chơi có đường đi nằm trên mức chênh lệch này cho thấy khả năng đối thủ của bạn cuối cùng sẽ thắng một trò chơi, có thể sớm hơn là muộn hơn.
Phụ lục 2
Mã để tạo hình được yêu cầu. Đây là (làm sạch để tạo ra một đồ họa đẹp hơn một chút).
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, "."))