6 votos

Valor esperado de la suma de tarjetas

Si cada tarjeta en una tarjeta regular de 52 cubierta tiene puntos que corresponde a su número (como 2 corazones 2 puntos, 7 de clubes es de 7 puntos), Jack, Reina, rey siendo cada uno 10 puntos y te mantenga dibujo sin reemplazo hasta que la suma de todos los puntos es 10 o más... ¿Cuál es la media de la suma de puntos?

9voto

jldugger Puntos 7490

La pregunta se pide la "media de la suma de puntos". Debido a que el objetivo es de 10 y no hay ningún valor supera los 10, esto es la media de una distribución definida en el diez enteros $10, 11, \ldots, 10+10-1$.

Se tarda aproximadamente la misma cantidad de poder de cómputo para el trabajo de esta distribución, exactamentecomo se hace para realizar una simulación. He aquí cómo.

La cubierta está determinado por el número de tarjetas de cada punto. Vamos a no ser $k_1 = 4$ tarjetas digno de un punto (los ases), $k_2$ valor de dos puntos, y así sucesivamente. Escrito $n=10$, el vector $\mathbf{k}=(k_1,k_2, \ldots, k_n)$ para una baraja estándar es

$$\mathbf{k} = (4,4,4,4,4,4,4,4,4,16).$$

When we draw a card from this deck, we remove a card worth $yo$ points with probability

$$P_{\mathbf{k}}(i) = \frac{k_i} {k_1+k_2+\cdots+k_n}.$$

The deck changes afterwards: $k_i$ is reduced to $k_i-1$. Let's indicate the new vector with the notation

$$S_i(\mathbf{k}) = (k_1, k_2, \ldots, k_{i-1}, k_i - 1, k_{i+1}, \ldots, k_n).$$

Let $f_{\mathbf{k}}(t, s)$ be the distribution of the sum of points when the target is $t$ starting with a sum of $s$ points. We wish to find $f_{\mathbf{k}}(10, 0)$.

The possible draws are described by $n=10$ distinct, non-overlapping events: event $i$ consists of drawing a card worth $i$ points. When that happens, any starting sum $s$ is increased to $s+i$, the target we need to reach is reduced to $t-i$, and the deck is changed to $S_i(\mathbf{k})$. The Law of Total Probability tells us to sum the chances over all these events. Thus,

$$f_{\mathbf{k}}(t, s) = \sum_{i=1}^n P_{\mathbf{k}}(i)f_{S_i(\mathbf{k})}(t-i, s+i).\tag{*}$$

Certainly when $s$ exceeds the original target ($10$) there's nothing left to figure out: the drawing terminates and the distribution will be 100% on the total value $s$. Equivalently, when the target is $0$ or negative then we should put all the probability on whatever value $s$ currently has, because the target obviously has been met.

These considerations give an effective recursive formula $(*)$ for $f$. Because $t$ decreases by at least $1$ with each iteration, it is guaranteed to terminate within $10$ draws. (It will actually terminate within $7$ draws, because soon all the aces would be used up.) This is short. (Just 4389 calls to $f$ are needed and only 446 of those have to perform the summation in $(*)$.) With double-precision computations the answer takes only a tenth of a second to obtain. It gives these probabilities for the final values $10, 11, \ldots, 19$ (which have been rounded for ease of reading):

0.37906 0.09108 0.08503 0.08203 0.07512 0.07132 0.06356 0.05877 0.04995 0.04408

Their expectation is $$10\times 0.37906 + 11\times 0.09108 + \cdots + 19\times 0.04408 = 12.7534.$$


An R implementation of $f$ is given below. First, though, its results can be checked by simulation. The game is played $10^4$ times, the final sums are tallied, and those tallies are compared to the preceding results with a $\chi^2$ test. (It is applicable and accurate because the smallest expected value of any cell count is a very large $440.8$.)

set.seed(17)
deck <- c(rep(4, 9), 16) # deck[i] counts cards of value `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)])

The output is

    Chi-squared test for given probabilities

data:  y
X-squared = 3.8856, df = 9, p-value = 0.9188

The large p-value demonstrates consistency between the simulation and the theoretical answers.

Here is how $f$ puede ser calculada.

f <- function(deck, total=0, target=10, maximum=20) {
  x <- rep(0, maximum)
  if (target <= 0) {
    x[total+1] <- 1
    return(x)
  }
  n <- sum(deck)
  x <- sapply(1:length(deck), function(i) {
    k <- deck[i]
    if (k <= 0) return (x)
    d <- deck
    d[i] <- d[i] - 1
    k/n * f(d, total + i, target - i, maximum)
  })
  return(rowSums(x))
}
x <- f(deck)
round(x[-(1:10)], 5)
sum(x * (1:length(x)-1)) # Expected value

Por cierto, las mismas técnicas--con sólo la más pequeña de las modificaciones (que dejo a los lectores interesados)--va a responder a la pregunta "¿cuál es la distribución del número de sorteos en el juego?" La respuesta (de nuevo en doble precisión) es el vector de probabilidades correspondientes a 1, 2, ..., 7 empates:

3.076923e-01 4.811463e-01 1.762293e-01 3.176286e-02 3.029212e-03 1.381895e-04 1.866540e-06

Una similar de la simulación, en esta ocasión de un millón de iteraciones, debido a que estas probabilidades de conseguir tan pequeña, produce estas frecuencias observadas:

     1      2      3      4      5      6      7 
306897 481652 176242  32052   3019    135      3 

Estos no difieren significativamente de los valores calculados.

5voto

Dipstick Puntos 4869

Por su definición, ha $16$ tarjetas ($10$, $\text{J}$, $\text{K}$, $\text{Q}$) que vale la pena $10$ puntos, por lo que con probabilidad de $16/52$ obtener $10$ puntos en un solo empate. Desde $9+\text{anything}=10$, entonces si tomamos en consideración que no es $4$ nines, que podemos saber de inmediato que con probabilidad mayor que el $20/52$ termine en dos sorteos. Sin embargo, el retorno de dos empates es simple obtener la enumeración de todos los $52 \choose 2$ combinaciones de pares de cartas y sumar sus puntuaciones.

unique_cards <- c(1:10, 10, 10, 10)  # A, 1, 2, ..., 10, J, Q, K
unique_cards <- rep(unique_cards, 4) # each appears 4 times

comb <- combn(unique_cards, 2) # take all possible combinations of card pairs

lo que le da a $79\%$ de probabilidad de obtener la puntuación de, al menos, $10$ en dos sorteos

> sum(colSums(comb) >= 10)/choose(52, 2) # accepted / all combinations
[1] 0.7888386

Perezoso solución para más de dos empates, puede ser obtenida por un simple simulación, donde toda la baraja es revuelta y, a continuación, se dibujan las tarjetas hasta que su puntuación total es de al menos $10$.

set.seed(123)

sim <- function(target = 10) {
  res <- cumsum(sample(unique_cards)) # shuffle, draw and sum
  n <- which.max(res >= target)       # take first score >= 10
  c(sum = res[n], n = n)
}

R <- 1e4
res <- replicate(R, sim())

y el resultado es que, en promedio, usted tiene que robar dos cartas y el promedio de la puntuación total es $12.77$

> apply(res, 1, summary)
          sum     n
Min.    10.00 1.000
1st Qu. 10.00 1.000
Median  12.00 2.000
Mean    12.77 1.946
3rd Qu. 15.00 2.000
Max.    19.00 6.000

Por otra parte, como se esperaba, con aproximadamente $30\%$ de probabilidad de terminar con un empate, pero con $79\%$ de probabilidad de terminar con dos empates y rara vez se obtiene más de tres empates:

 > cumsum(table(res[2,])/R)
     1      2      3      4      5      6 
0.3006 0.7910 0.9653 0.9968 0.9999 1.0000 

0voto

bdeonovic Puntos 2807

No está seguro de cómo responder a tu pregunta así adelantó y lo había simulado.

# number of simulations
N <- 10000

cards <- c(rep(2:10,4), rep(10,16))
res <- NULL
for( i in 1:N){
  #sample without replacement
  s <- sample(cards,52)

  #cumulative sum
  x <- cumsum(s)

  #when do we first hit 10+
  idx <- which(x >= 10)

  #store results
  res <- rbind(res,data.frame(idx = idx[1], value = x[idx[1]]))
}

#question 1: Expected value of our sum
mean(res$value) # 12.6421

#question 2: Expected value of when we hit 10+
mean(res$idx) # 1.746

Parece es muy probable que golpear 10 + en el primer sorteo (ya que hay tantas tarjetas de 10 en la cubierta).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X