Algoritmos: Encuentra la mejor mesa para jugar (problema de jugador permanente)

11

Prefacio

Este no es el código de golf. Estoy viendo un problema interesante y espero solicitar comentarios y sugerencias de mis compañeros. Esta pregunta no se trata de contar cartas (exclusivamente), sino de determinar la mejor mesa para participar en función de la observación. Suponga si va a usar algún tipo de implante cerebral que haga que la peor complejidad de tiempo / espacio (en cualquier arquitectura dada) sea portátil para la mente humana. Sí, esto es bastante subjetivo. Asume un mazo francés sin el uso de comodines.

Antecedentes

Recientemente visité un casino y vi más espectadores que jugadores por mesa, y me pregunté qué proceso de selección convirtió a los espectadores en jugadores de apuestas, dado que la mayoría de los espectadores tenían fondos para jugar (fichas en la mano).

Guión

Entras en un casino. Usted ve n mesas jugando una variante de Blackjack , y con ellos jugando Pontoon . Cada mesa juega con una cantidad indeterminada de mazos de cartas, en un esfuerzo por ofuscar la ventaja de la casa .

Cada mesa tiene una apuesta mínima variable. Tienes moneda Z en tu persona. Desea encontrar la tabla donde:

  • Se usa la menor cantidad de mazos de cartas
  • La apuesta mínima es más alta que una mesa que usa más mazos, pero desea maximizar la cantidad de juegos que puede jugar con Z.
  • Las pérdidas netas, por jugador, son más bajas (me doy cuenta de que, en la mayoría de las respuestas, esto se considera ruido incidental, pero podría ilustrar un barajador roto)

Problema

Puedes observar mágicamente cada mesa. Tienes X rondas para probar, con el fin de basar tu decisión. Para este propósito, cada jugador no toma más de 30 segundos para jugar.

¿Qué algoritmo (s) usarías para resolver este problema y cuál es su peor complejidad? Vos si:

  • ¿Jugar pontón o blackjack?
  • ¿Qué mesa seleccionas?
  • ¿Cuántas rondas necesitas observar (cuál es el valor de X), dado que el casino no puede usar más de 8 barajas de cartas para cualquier juego? Cada mesa tiene entre 2 y 6 jugadores.
  • ¿Cuánto tiempo te quedaste buscando una mesa?

Lo llamo el " problema del jugador permanente " por falta de un término mejor. Por favor, siéntase libre de refinarlo.

Adicional

¿Dónde sería esto útil si no fuera en un casino?

Final

No estoy buscando una bala mágica de juego. Acabo de notar un problema que se convirtió en un hueso que mi cerebro simplemente no deja de masticar. Estoy especialmente interesado en aplicaciones mucho más allá de visitar un casino.

Tim Post
fuente
Interesante pregunta. No estoy seguro de que este sea el sitio adecuado para esto. No sé por qué o dónde encajaría mejor, simplemente no se siente aquí. Quizás estoy equivocado ...
Walter
@Walter - Yo tampoco estaba seguro. Hay sitios dedicados a varios juegos, pero no es probable que los usuarios de esos sitios comprendan la complejidad, o incluso qué es un algoritmo. Es demasiado 'meta' para SO, me pregunto si puede encontrar un hogar aquí.
Tim Post
No sé si suena como un proceso de Poisson. Tal vez las personas en math.stackexchange.com puedan saberlo.
Conrad Frix
@Conrad, tal vez. Sin embargo, sospecho que alguien aquí podría tener algunas ideas, lo que terminó mi debate sobre hacer la pregunta en primer lugar :)
Tim Post
1
Lo siento, pero ni siquiera veo una declaración de problema. Solo puedo suponer que el problema es maximizar las ganancias, entonces las preguntas que haces no son importantes para el algoritmo. No me importa cuántas rondas observo, solo observo hasta que tengo un borde contra la casa y luego empujo ese borde. Si siempre puedo esperar hasta tener una ventaja y siempre cambiar las tablas a la tabla con la mejor ventaja, entonces el algoritmo es muy simple.
Jeremy

Respuestas:

2

Si puedo examinar simultáneamente todas las mesas incluso mientras juego,
dado que todos los juegos progresan a la misma velocidad por simplicidad ... (podría ajustar esto)


while(not satisfied with winnings)
 keepcurrenttable == 1 || Wait for positive count threshold on any one table  
  if Z/(min bet)>%chance of win*payout  
    next  
  else  
    Play hand according to standard counting rules.  
  endif
if (%chance of win on another table*payout on another table > same for current) && Z/(min bet)>%chance of win*payout
  change tables  
 elseif currenttable %chance of win*payout >
  keepcurrenttable=1
 else
  keepcurrenttable=0
 endif
next

Todavía hay algunos errores allí y no explica TODO, pero llegas a donde voy

hay mucho más para% de posibilidades de ganar

el número de jugadores debe ser mínimamente pertinente (más jugadores == quemando más rápido mazos)

¿menos jugadores significa que puedo jugar más manos al mismo tiempo? (eso requeriría un mayor peso en el conteo de jugadores)

Además, el umbral de conteo podría definirse con un medidor de apetito de riesgo.

RobotHumanos
fuente