Llevando el ’21’ al siglo XXI
Nota: El código asociado se encuentra en este repo de Github
Cuando un casino reparte manos de blackjack, muchos de ellos no barajan el mazo después de cada mano en aras del tiempo. Basándose en las cartas que se han retirado de la baraja en jugadas anteriores, un observador perspicaz puede notar a veces situaciones en las que es rentable para el jugador contra la casa. Si el jugador apuesta una pequeña cantidad de dinero en general, y apuesta grandes sumas en estas situaciones rentables, puede convertir un juego en el que «la casa siempre gana» en un juego rentable para el jugador.
Por ejemplo, si se han repartido muchas cartas bajas, la situación es más favorable para el jugador, ya que hay muchas cartas altas en la baraja, por lo que los blackjacks son más probables, y el jugador debería apostar grandes cantidades en cada mano.
El conteo de cartas se popularizó en la película «21», en la que un equipo de estudiantes del MIT frecuentaba varios casinos de Las Vegas y contaba las cartas para obtener un jugoso beneficio. He creado una hoja de Python para probar la viabilidad de su modelo de negocio en diversas situaciones.
Sistema de conteo de cartas
Típicamente los jugadores asignan un valor de +1 a las cartas bajas (2-6) y -1 a las altas (10-A) y cambian la cuenta en función de las cartas que han salido. Luego dividen esto por el número de barajas que quedan. Por ejemplo, si un casino comienza con 4 barajas y reparte 10 cartas: A,2,5,8,T,3,4,8,K,5, un jugador les asignaría cuentas de -1, +1, +1, 0, -1, +1, +1, 0, -1, +1, lo que suma +2. Quedan alrededor de 3,8 barajas por repartir, por lo que el recuento real es de 2/3,8, lo que supone alrededor de 0,53.
He permitido que el sistema de recuento de cartas sea personalizable en mi hoja, por lo que se pueden añadir valores personalizados para las cartas bajas/medias/altas y los ases. Normalmente se cree que en una cuenta de 0 el casino tiene una ventaja de aproximadamente 0,5% contra usted, que se reduce en 0,5% a medida que la cuenta aumenta en 1. Así, en una cuenta de -2, el casino tiene una ventaja de 1,5%, pero en una cuenta de +3, usted tiene una ventaja de 1%. Si usted está apostando 1$ cuando ellos tienen una ventaja del 1,5% y apostando 100$ cuando usted tiene una ventaja del 1%, obtendrá un buen beneficio.
Parámetros iniciales
Como se ha mencionado anteriormente, la hoja permite modificar los valores de las cartas, así como la ventaja inicial, y el cambio de ventaja por conteo. Está configurado por defecto con el sistema +1/-1 (ver arriba), y con un borde por defecto de -0,5%, con un borde que aumenta un 0,5% por cada +1 de conteo (delta_edge).
Para contar las cartas con precisión, también he configurado el número de barajas que utiliza el casino y he simulado el número medio de manos que reparten antes de barajar, y la media de cartas repartidas por mano. Esto es importante, ya que si sólo repartieran una mano, en un ejemplo extremo, el conteo de cartas no sería posible.
Por último, necesitamos saber la apuesta mínima y máxima que se puede hacer, ya que apostaremos el mínimo en situaciones desfavorables, y el máximo en situaciones extremadamente favorables. También he incluido un criterio de Kelly que evita que hagas cosas como apostar la mitad de tu dinero total con una ventaja del 0,01%.
Simulación
He repartido un cierto número de barajas simuladas (num_sims), y he hecho un seguimiento de los recuentos. A continuación, utilicé el criterio de Kelly para determinar cuánto apostaría el jugador en las diferentes situaciones, y calculé el valor esperado de cada ventaja. En la parte inferior de la hoja, calculé la ventaja total en todas las simulaciones.
Estudio de casos (hoja)
Número de barajas: 4
Manos antes de barajar:8
Cartas por mano: 7
Apuesta mínima: 1$
Apuesta máxima: 100$
Banco de Kelly: 500.000$
Usando estos parámetros, después de repartir 100.000 barajas, el jugador alcanzó una ventaja total de 2.614$. La ventaja media fue de aproximadamente 65 desviaciones estándar por encima de 0, lo que significa que el proceso fue tedioso pero definitivamente rentable.
Posibles mejoras
He utilizado algunas heurísticas muy amplias para la ventaja inicial, cómo cambia la ventaja con el recuento, y cómo cambia el recuento con cada carta repartida. Un «2» probablemente valga una cantidad diferente a la de un «6», un «A» definitivamente vale una cantidad diferente a la de una «K», y no estoy seguro de que las cartas 7-9 sean realmente intrascendentes. Podemos perfeccionar la fórmula realizando simulaciones en diferentes situaciones. Necesitaríamos unos 500 millones de simulaciones para acercarnos al 0,01% de la ventaja real, y 50.000 millones de simulaciones para acercarnos al 0,001%, dependiendo de la precisión con la que queramos estudiar el problema. La dinámica del borde también cambia con cada permutación de las reglas del blackjack, por lo que necesitamos realizar un conjunto diferente de simulaciones para cada una de ellas.
0 comentarios