Juegos de cartas: ¿Cuáles son las probabilidades para el juego de cartas de carreras de caballos?

[ TL; DL la probabilidad de que cada caballo gane se rige esencialmente por una distribución multinomial, sin embargo, debemos tener en cuenta que las probabilidades de que las cartas volteadas cambien (ya que la probabilidad de volteos futuros depende de lo que ya se volcó).]

Aquí hay una solución que describe:

  1. En primer lugar, cómo calcular el número de secuencias posibles de cada combinación (ganadora) de cartas.
  2. Usando estos recuentos para el número de secuencias, calculamos la probabilidad de observar una combinación de cartas de este tipo en función de las cartas restantes en el mazo (sin voltear).
  3. Finalmente, sumamos estas probabilidades individuales de cada combinación para establecer la probabilidad general de que cada caballo gane, antes de convertirlas en probabilidades de apuesta.

Observaciones iniciales

  • Cuantas más cartas de un palo en particular se muestren en la pista, es menos probable que ese palo se voltee dentro del mazo restante y, por lo tanto, es menos probable que gane el palo (es decir, mayores probabilidades).
  • Hay [matemáticas] 52- (4 \ mbox {ases} +6 \ mbox {tarjetas de carreras}) = 42 [/ matemáticas] cartas restantes en el paquete.

Paso 1: Calcular el número de secuencias posibles de cada combinación (ganadora) de cartas.

Primero considere el caso para que gane el caballo del corazón. Deje que la secuencia de cartas volteadas se denote con [math] H: = \ mbox {“Heart card”} [/ math], [math] C: = \ mbox {“Club card”} [/ math], [matemática] D: = \ mbox {“Tarjeta de diamante”} [/ matemática] y [matemática] S: = \ mbox {“Tarjeta de espada”} [/ matemática].

Para que los corazones ganen, requerimos una combinación de 6H con a lo sumo 5C, 5D y 5S. Cada combinación puede surgir de varias secuencias de cartas invertidas.

Podemos contar cuántas secuencias surgen de una combinación particular de tarjetas de la siguiente manera; tenga en cuenta que la última carta de la secuencia DEBE ser siempre una H para que el caballo del corazón gane (ya que el juego termina cuando tenemos un ganador), por lo tanto, en nuestra discusión de secuencias a continuación, omitimos esta 6ª H y solo nos referimos a las otras 5 volteadas H (por ejemplo, la primera secuencia, 5H, se refiere a la secuencia ganadora {HHHHH} + {H})

  1. 5H (y sin C, D o S invertidos), es decir, {HHHHH}. Tenga en cuenta que solo hay una forma para esta combinación de cartas (en particular, el orden de las H no importa, ya que cada H tiene el mismo efecto de avanzar el caballo del corazón en un paso).
    Aunque simplemente podemos contar el número de secuencias posibles para esta combinación particular de cartas, a medida que las combinaciones de cartas aumentan y se vuelven más complicadas, podemos usar la siguiente ecuación para calcular esto:

    [math] {n \ choose r}: = \ frac {n!} {n! (nr)!} = [/ math] “El número de formas para colocar las cartas [math] r [/ math] en un total de [matemáticas] n [/ matemáticas] tarjetas (donde el orden no importa) “

    De hecho, para la combinación de 5Hs, el número de formas de posicionar las tarjetas [math] r = 5 [/ math] H dentro del total de [math] n = 5 [/ math] las cartas (que en este caso son las mismas 5H) son [matemáticas] {5 \ elegir 5} [/ matemáticas] [matemáticas] = \ frac {5!} {5! (5-5)!} = [/ matemáticas ] 1 camino .

  2. 1S, 5H’s , es decir, {SHHHHH, HSHHHH, HHSHHH, HHHSHH, HHHHSH, HHHHHS} [matemáticas] = [/ matemáticas] 6 formas . Nuevamente, podemos confirmar esto usando la ecuación anterior; Tenga en cuenta que también debemos considerar el posicionamiento del 1S:
    • El número de formas de posicionar las tarjetas [math] r = 5 [/ math] H dentro del total de [math] n = 6 [/ math] las cartas (es decir, las 5H y las 1S) son [matemáticas] {6 \ elegir 5} = \ frac {6!} {5! (6-5)!} = [/ matemáticas] 6 formas .
    • El número de formas de posicionar la tarjeta [math] r = 1 [/ math] S dentro de las [math] n = 1 [/ math] restantes la tarjeta es [matemática] {1 \ elegir 1} = 1 [/ matemática] manera .
      • Nota [matemáticas] n = 1 [/ matemáticas] ahora ya que hemos fijado 5 posiciones para las 5H, por lo que solo queda un lugar disponible para el 1S en el que está obligado a posicionarse.
        (Por ejemplo, si fijamos las posiciones para que las 5H sean los primeros 5 lugares , { HHHHH _}, entonces el 1S se ve obligado a la 6ª posición , {HHHHH S })
    • Por lo tanto, en general hay [matemática] 6 \ veces 1 = [/ matemática] 6 formas de posicionar las 5H y 1S.
  3. 2S, 5H , es decir, {SSHHHHH, SHSHHHH, SHHSHHH, …, HHHHHSS} = [matemáticas] {7 \ elegir 5} \ veces {2 \ elegir 2} = 21 \ veces 1 = [/ matemáticas] 21 maneras siguiendo la misma lógica como anteriormente.
  4. 5S, 5H , es decir, {SSSSSHHHHH, SSSSHSHHHH, SSSHHSSHHH, …, HHHHHSSSSS} = [matemáticas] {10 \ elegir 5} \ veces {5 \ elegir 5} = 252 \ veces 1 = [/ matemáticas] 252 vías .
  5. 1C, 1S, 5H’s , es decir, {CSHHHHH, CHSHHHH, CHHSHHH, CHHHSHH, CHHHHSH, CHHHHHS, SCHHHHH, …, HHHHHSC} = [matemáticas] {7 \ elegir 5} \ veces {2 \ elegir 1} \ veces {1 \ elegir 1} = 21 \ veces 2 \ veces 1 = [/ matemáticas] 42 formas .
  6. 5S, 5D, 5C, 5H , que tiene [matemáticas] {20 \ elegir 5} \ veces {15 \ elegir 5} \ veces {10 \ elegir 5} \ veces {5 \ elegir 5} [/ matemáticas] posibles secuencias.

Recuerde, nos detenemos en esta combinación de cartas, ya que si tenemos más de 6 cartas para cualquier palo que no sea H, la carrera ya habría terminado con un ganador (sin corazón).

Siguiendo esta lógica, vemos que el número de secuencias dadas a cualquier combinación de tarjetas se puede calcular de la siguiente manera (deje que [matemática] n_H, n_C, n_D, n_S [/ matemática] denote el número de H, C, D, S invertido respectivamente ):

  • Hay [matemáticas] {n_H + n_C + n_D + n_S \ elegir n_H} [/ matemáticas] posibles posiciones para las cartas de corazón [matemáticas] n_H [/ matemáticas].
  • Luego, una vez que las [matemáticas] n_H [/ matemáticas] H se han posicionado, quedan [matemáticas] {n_C + n_D + n_S \ elegir n_C} [/ matemáticas] posibles posiciones para las [matemáticas] n_C [/ matemáticas] C.
  • Del mismo modo [matemáticas] {n_D + n_S \ elegir n_D} [/ matemáticas] y [matemáticas] {n_S \ elegir n_S} [/ matemáticas] posibles posiciones para las restantes [matemáticas] n_D [/ matemáticas] D y [matemáticas] n_S [ / math] S’s respectivamente.
  • En consecuencia, el número de secuencias para una combinación de [matemática] n_H [/ matemática] H, [matemática] n_C [/ matemática] C, [matemática] n_D [/ matemática] D, [matemática] n_S [/ matemática] S es :
    • [matemáticas] {n_H + n_C + n_D + n_S \ elegir n_H} \ times [/ matemáticas] [matemáticas] {n_C + n_D + n_S \ elegir n_C} \ veces [/ matemáticas] [matemáticas] {n_D + n_S \ elegir n_D } \ times [/ math] [math] {n_S \ choose n_S} [/ math]

[¡Podemos simplificar esto aún más expandiendo las ecuaciones y cancelando términos comunes en el numerador y el denominador (un ejercicio que queda para el lector), para obtener [matemáticas] \ frac {(n_H + n_C + n_D + n_S)!} {N_H! n_C! n_D! n_S!}] [/ math]

Paso 2: Utilizando estos recuentos para el número de secuencias, calculamos la probabilidad de observar una combinación de tarjetas de este tipo.

Dejar:

  • [math] r_H [/ math] denota el número de cartas H restantes.
  • [math] n_H [/ math] denota el número de H invertido (como antes)

y recuerde que inicialmente quedan 42 cartas en el paquete, luego, por ejemplo, para la combinación de 6 H (tenga en cuenta que incluimos la 6 H en los cálculos de probabilidad ya que dependen de la probabilidad de que este último H se voltee):

[matemáticas] \ begin {eqnarray *} \ mbox {prob (\ {HHHHHH \})} & = & \ mbox {prob (“Observar una combinación de 6H (cualquier orden)”)} \ times \ mbox {(el número de posibles secuencias de 6H)} \\ & = & \ frac {r_ {H}} {42} \ times \ frac {r_ {H} -1} {42-1} \ times \ frac {r_ {H} -1 -1} {42-1-1} \ times \ frac {r_ {H} -1-1-1} {42-1-1-1} \ times \ frac {r_ {H} -1-1-1 -1} {42-1-1-1-1} \ times \ frac {r_ {H} -1-1-1-1-1} {42-1-1-1-1-1} \ times1 \ end {eqnarray *} [/ math]

La recuperación “(el número de secuencias posibles de 6 H”) se encontró en el paso 1, y fue igual a 1 en el caso de 6 H (es decir, 5 H y el último fijo). Tenga en cuenta que los “menos 1” representan cada “volteo” ya que no hay reemplazo al voltear cada carta.

Podemos arreglar esto usando la notación [math] P (r, n): = \ frac {r!} {(Rn)!} [/ Math] (también conocida como permutación) para que:

[math] \ mbox {prob} ({HHHHHH}) = \ frac {r_H} {42} \ times [/ math] [math] \ frac {\ frac {r_H!} {(r_H-n_H)!}} { \ frac {42!} {(42-n_H)!}} = \ frac {P (r_H, n_H)} {P (42, n_H)} [/ math]

Ahora dejando:

  • [matemáticas] r_C, r_D, r_S [/ matemáticas] denotan el número de tarjetas C, D y S restantes , respectivamente.
  • [matemática] n_C, n_D, n_S [/ matemática], denota el número de C, D y S invertidos , respectivamente.
  • [matemáticas] n_ {Voltear}: = n_H + n_C + n_D + n_S = \ mbox {“Número total de tarjetas volteadas”} [/ matemáticas]):

y siguiendo la lógica anterior para calcular la probabilidad de la combinación {HHHHHH}, vemos que la probabilidad de observar cualquier combinación de tarjetas es:

[matemáticas] \ frac {P (r_H, n_H) \ times P (r_C, n_C) \ times P (r_D, n_D) \ times P (r_S, n_S)} {P (42, n_ {Flip})} \ times (\ mbox {el número de secuencias posibles de n_H H’s, n_C C’S, n_D D’s, n_S S’s} [/ math] [math]) [/ math]

donde se calculó el último término en el paso 1. (Esta fórmula es similar a la función de masa de probabilidad de una variable aleatoria binomial).

Paso 3: Sumar estas probabilidades individuales para establecer la probabilidad general de que el caballo gane y la conversión a probabilidades

Como cada combinación de cartas es independiente de otra, podemos sumar las probabilidades de todas las combinaciones ganadoras para cada palo para obtener la probabilidad general de que cada caballo gane.

Ahora podemos usar estas probabilidades y la siguiente fórmula para convertirlas en probabilidades (del numerador de forma [matemática]: denominador [/ matemático] “en contra”; es decir, esperamos que el caballo pierda veces [numerador matemático] / matemático) cada denominador [matemático] [/ matemático] veces que gana):

[matemáticas] probabilidades = \ frac {1-prob} {prob} [/ math]

Código:

Aquí hay un código de Python que sigue a esta solución (y por lo tanto no se ha optimizado, por ejemplo, vectorizando bucles). Las funciones:

  • choose calcula nuestra ecuación [math] {n \ choose r}: = \ frac {n!} {n! (nr)!} [/ math] (también conocida como la combinación)
  • perm calcula la ecuación de permutación [matemática] P (r, n): = \ frac {r!} {(rn)!} [/ matemática]
  • prob_win calcula la probabilidad de que el caballo X en el conjunto {H, C, D, S} gane.

(Código completo e instrucciones disponibles en GitHub).

peine def (n, r):
“” “Devuelve la combinación de n y r (es decir, el número de formas para colocar las tarjetas r en un total de
n tarjetas (donde el orden no importa). “” ”
f = math.factorial
devuelve f (n) / (f (r) * f (nr))

def perm (n, r):
“” “Devuelve la permutación de n y r (es decir, el número de formas para colocar las tarjetas r en un total de
n tarjetas (donde importa el orden)). “” ”
f = math.factorial
devolver f (n) / f (nr)

def prob_win (N, X, rX, rY1, rY2, rY3):
“” “Deje que X esté en {H, C, D, S} sea el caballo que gane y Y1, Y2, Y3 esté en {H, C, D, S} \ {X} sean los caballos perdedores.
Devuelve la probabilidad de que el caballo X gane la carrera.
N: = ‘número de cartas restantes (es decir, 42 en el juego habitual)’, rX: = ‘número de cartas restantes para palo ganador’,
rY1: = ‘número de cartas restantes del primer palo para no ganar’, rY2: = ‘número de cartas restantes del segundo palo
no ganar ‘, rY3: =’ número de cartas restantes del tercer palo para no ganar ‘
“” ”
nX = 6 # número de X volteado durante la carrera (para que X gane)
sum_probX = 0 # inicial la suma que representa la probabilidad general de ganar X
nY1 = 0 # número de Y1 volteado durante la carrera (debe ser inferior a 6)
mientras nY1 <6:
nY2 = 0
mientras nY2 <6:
nY3 = 0
mientras nY3 <6:
nFlip = nX + nY1 + nY2 + nY3 # número total de tarjetas volteadas
nPos = nFlip-1 # número total de posiciones disponibles para las cartas invertidas (-1, teniendo en cuenta que esa última carta debe ser X para que X gane)
# número de secuencias para una combinación de 5 X, nY1 Y1, nY2 Y2 y nY3 Y3
nWays = comb (nPos, 5) * comb (nPos-5, nY1) * comb (nPos-5-nY1, nY2) * comb (nPos-5-nY1-nY2, nY3)
# print “Número de formas de elegir nX = {0}, nY1 = {1}, nY2 = {2}, nY3 = {3} es: {4}”. formato (nX, nY1, nY2, nY3, nWays)
# probabilidad de observar nX X, nY1 Y1, nY2 Y2 y nY3 Y3 (cualquier orden)
prob_cards = Decimal (perm (rX, nX) * perm (rY1, nY1) * perm (rY2, nY2) * perm (rY3, nY3)) / Decimal (perm (N, nFlip))
# print “prob_cards es: {0}”. format (prob_cards)
# probabilidad de que X gane dada una combinación de nX X, nY1 Y1, nY2 Y2 y nY3 Y3 (compárese con variables aleatorias binomiales)
probX = nWays * prob_cards
sum_probX + = probX
nY3 + = 1
nY2 + = 1
nY1 + = 1
return sum_probX

def prob2odds (p):
“” “Devuelve las probabilidades para una probabilidad dada p” “”
# Nota: en el caso del juego habitual, no tenemos que manejar eventos imposibles (por ejemplo, si un caballo no puede ganar), por lo que esta ecuación nunca dará como resultado
# divion por cero.
retorno (1-p) / p