La pregunta solicita la "media de la suma de puntos". Debido a que el objetivo es 10 y ningún valor excede 10, esta es la media de una distribución definida en los diez enteros $ 10, 11, \ ldots, 10 + 10-1 $.
Se necesita aproximadamente la misma cantidad de potencia de cálculo para calcular esta distribución, exactamente , como lo hace para realizar una pequeña simulación. He aquí cómo.
La baraja está determinada por el número de cartas de cada punto. Sea $ k_1 = 4 $ cartas que valen un punto (los ases), $ k_2 $ que valen dos puntos, y así sucesivamente. Escribiendo $ n = 10 $, el vector $ \ mathbf {k} = (k_1, k_2, \ ldots, k_n) $ para un mazo estándar es
$$ \ mathbf {k} = (4, 4,4,4,4,4,4,4,4,16). $$
Cuando robamos una carta de este mazo, retiramos una carta que valga $ i $ puntos con probabilidad
$$ P _ {\ mathbf {k}} (i) = \ frac {k_i} {k_1 + k_2 + \ cdots + k_n}. $$
El mazo cambia después: $ k_i $ se reduce a $ k_i-1 $. Indiquemos el nuevo vector con la notación
$$ S_i (\ mathbf {k}) = (k_1, k_2, \ ldots, k_ {i-1}, k_i - 1, k_ {i + 1 }, \ ldots, k_n). $$
Sea $ f _ {\ mathbf {k}} (t, s) $ la distribución de la suma de puntos cuando el objetivo es $ t $ comenzando con una suma de $ s $ puntos. Deseamos encontrar $ f _ {\ mathbf {k}} (10, 0) $.
Los posibles empates se describen mediante $ n = 10 $ eventos distintos que no se superponen: el evento $ i $ consiste de sacar una carta por valor de $ i $ puntos. Cuando eso sucede, cualquier suma inicial $ s $ aumenta a $ s + i $, el objetivo que necesitamos alcanzar se reduce a $ t-i $ y el mazo se cambia a $ S_i (\ mathbf {k}) $. La Ley de la probabilidad total nos dice que sumemos las posibilidades de todos estos eventos. Por lo tanto,
$$ f _ {\ mathbf {k}} (t, s) = \ sum_ {i = 1} ^ n P _ {\ mathbf {k}} (i) f_ {S_i (\ mathbf {k})} (ti, s + i). \ tag {*} $$
Ciertamente, cuando $ s $ excede el objetivo original ($ 10 $), no queda nada por resolver: el dibujo termina y la distribución será del 100% del valor total $ s $. De manera equivalente, cuando el objetivo es $ 0 $ o negativo, entonces deberíamos poner toda la probabilidad en cualquier valor que $ s $ tenga actualmente, porque el objetivo obviamente se ha cumplido.
Estas consideraciones dan una fórmula recursiva efectiva $ ( *) $ por $ f $. Debido a que $ t $ disminuye en al menos $ 1 $ con cada iteración, se garantiza que terminará dentro de los $ 10 $ extraídos. (De hecho, terminará dentro de los sorteos de $ 7 $, porque pronto todos los ases se agotarían). Esto es corto. (Solo se necesitan 4389 llamadas a $ f $ y solo 446 de ellas tienen que realizar la suma en $ (*) $). Con cálculos de doble precisión, la respuesta solo toma una décima de segundo en obtener. Da estas probabilidades para los valores finales $ 10, 11, \ ldots, 19 $ (que se han redondeado para facilitar la lectura):
0.37906 0.09108 0.08503 0.08203 0.07512 0.07132 0.06356 0.05877 0.04995 0.04408 código>
Su expectativa es $$ 10 \ times 0.37906 + 11 \ times 0.09108 + \ cdots + 19 \ times 0.04408 = 12.7534. $$
Un R
la implementación de $ f $ se muestra a continuación. Primero, sin embargo, sus resultados pueden verificarse mediante simulación. El juego se juega $ 10 ^ 4 $ veces, se cuentan las sumas finales y esas cuentas se comparan con los resultados anteriores con una prueba de $ \ chi ^ 2 $. (Es aplicable y preciso porque el valor esperado más pequeño de cualquier recuento de celdas es $ 440.8 $ muy grande).
set.seed (17) deck <- c (rep (4, 9), 16) # deck [i] cuenta las cartas de valor `i`.deck.long <- unlist (sapply (1: length (deck), function (i) rep (i, deck [i]))) sim <- replicate (1e4, {x <- cumsum (sample (deck.long, 10)) x [which (x > = 10) [1]]}) y <- table (sim ) z <- c (rep (0, 10), y / sum (y)) rbind (x, z) chisq.test (y, p = x [- (1:10)])
La salida es
Prueba de chi-cuadrado para datos de probabilidades dados: yX-squared = 3.8856, df = 9, p-value = 0.9188
El valor p grande demuestra coherencia entre la simulación y las respuestas teóricas.
Así es como se puede calcular $ f $.
f <- función (cubierta, total = 0, objetivo = 10, máximo = 20) {x <- rep (0, máximo) if (objetivo < = 0) {x [total + 1] <- 1 return ( x)} n <- sum (mazo) x <- sapply (1: longitud (mazo), función (i) {k <- mazo [i] if (k < = 0) return (x) d <- mazo d [i] <- d [i] - 1 k / n * f (d, total + i, target - i, máximo)}) return (rowSums (x))} x <- f (deck) round (x [ - (1:10)], 5) sum (x * (1: length (x) -1)) # Valor esperado
Por cierto, las mismas técnicas, con solo las modificaciones más pequeñas (que dejo a los lectores interesados) - responderá a la pregunta "¿cuál es la distribución del número de empates en el juego?" La respuesta (nuevamente con doble precisión) es el vector de probabilidades correspondientes a 1, 2, ..., 7 sorteos:
3.076923e-01 4.811463e-01 1.762293e-01 3.176286e-02 3.029212e-03 1.381895e-04 1.866540e-06
Una simulación similar, esta vez de un millón de iteraciones, debido a estas probabilidades volverse tan pequeño - produce estas frecuencias observadas:
1 2 3 4 5 6 7 306897 481652 176242 32052 3019135 3
Estos no difieren significativamente de los valores calculados.