Algorithmes: trouver la meilleure table à jouer (problème de joueur debout)

11

Préface

Ce n'est pas du golf de code. Je regarde un problème intéressant et j'espère solliciter les commentaires et suggestions de mes pairs. Cette question ne concerne pas le comptage de cartes (exclusivement), mais plutôt la détermination de la meilleure table à engager en fonction de l'observation. Supposons que vous utilisiez une sorte d'implant cérébral qui rend la pire complexité temps / espace (sur une architecture donnée) portable pour l'esprit humain. Oui, c'est assez subjectif. Supposons un deck français sans utiliser de jokers.

Contexte

J'ai récemment visité un casino et vu plus de passants que de joueurs par table, et je me suis demandé quel processus de sélection transformait les passants en joueurs de paris, étant donné que la plupart des passants avaient des fonds pour jouer (jetons en main).

Scénario

Vous entrez dans un casino. Vous voyez n tables jouant une variante du Blackjack , avec y jouant Pontoon . Chaque table joue avec une quantité indéterminée de jeux de cartes, dans le but de masquer l' avantage de la maison .

Chaque table a une mise minimale variable. Vous avez la devise Z sur votre personne. Vous souhaitez trouver le tableau où:

  • Le moins de jeux de cartes est utilisé
  • La mise minimale est plus élevée qu'une table utilisant plus de decks, mais vous voulez maximiser la quantité de jeux que vous pouvez jouer avec Z.
  • Les pertes nettes par joueur sont les plus faibles (je me rends compte que cela est, dans la plupart des réponses, considéré comme du bruit incident, mais cela pourrait illustrer un shuffler cassé)

Problème

Vous pouvez comme par magie observer chaque table. Vous avez X tours à échantillonner, afin de baser votre décision. À cet effet, chaque joueur ne prend pas plus de 30 secondes pour jouer.

Quel (s) algorithme (s) utiliseriez-vous pour résoudre ce problème et quelle est leur pire complexité? Le faites vous:

  • Jouer au ponton ou au blackjack?
  • Quelle table sélectionnez-vous?
  • Combien de tours devez-vous observer (quelle est la valeur de X), étant donné que le casino ne peut pas utiliser plus de 8 jeux de cartes pour chaque jeu? Chaque table compte entre 2 et 6 joueurs.
  • Combien de temps êtes-vous resté debout en trouvant une table?

J'appelle cela le « problème du joueur permanent » faute d'un meilleur terme. N'hésitez pas à l'affiner.

Additionnel

Où cela serait-il utile sinon dans un casino?

Final

Je ne cherche pas une balle de jeu magique. Je viens de remarquer un problème qui est devenu un os que mon cerveau n'arrête tout simplement pas de mâcher. Je suis particulièrement intéressé par les applications bien au-delà de la visite d'un casino.

Tim Post
la source
Question intéressante. Je ne suis pas sûr que ce soit le bon site pour cela. Je ne sais pas pourquoi ni où ça irait mieux, ça ne se sent pas ici. Peut-être que je me trompe ...
Walter
@Walter - Je n'étais pas sûr non plus. Il existe des sites dédiés à divers jeux, mais il est peu probable que les utilisateurs de ces sites comprennent la complexité, ni même ce qu'est un algorithme. C'est trop «méta» pour SO, je me demande s'il peut trouver une maison ici.
Tim Post
Je ne sais pas si cela ressemble un peu à un processus de Poisson. Peut-être que les gens de math.stackexchange.com le savent.
Conrad Frix
@Conrad, peut-être. Cependant, je soupçonne que quelqu'un ici pourrait avoir des idées, ce qui a mis fin à mon débat sur le fait de poser la question en premier lieu :)
Tim Post
1
Désolé, mais je ne vois même pas d'énoncé de problème. Je peux seulement supposer que le problème est de maximiser les gains, alors les questions que vous posez ne sont pas importantes pour l'algorithme. Je me fiche du nombre de rounds que j'observe, j'observe juste jusqu'à ce que j'ai un bord contre la maison, puis je pousse ce bord. Si je peux toujours attendre d'avoir un bord et toujours basculer les tables vers la table avec le meilleur bord, l'algorithme est très simple.
Jeremy

Réponses:

2

Si je peux examiner simultanément toutes les tables même en jouant, alors: étant
donné que tous les jeux progressent à la même vitesse pour plus de simplicité ... (je pourrais m'adapter pour cela)


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

toujours quelques bugs là-dedans et ne tient pas compte de TOUT, mais vous obtenez où je vais

il y a beaucoup plus de% de chances de gagner

le nombre de joueurs doit être minimalement pertinent (plus de joueurs == gravure plus rapide à travers les decks)

est-ce que moins de joueurs signifient que je peux jouer plus de mains simultanément? (cela nécessiterait un poids plus lourd sur le nombre de joueurs)

en outre, le seuil de comptage pourrait être défini avec un compteur d'appétit pour le risque.

RobotHumains
la source