Алгоритмы: найдите лучший стол для игры (постоянная проблема игрока)

11

Предисловие

Это не код гольф. Я смотрю на интересную проблему и надеюсь получить комментарии и предложения от моих коллег. Этот вопрос не о подсчете карт (исключительно), а об определении лучшего стола для участия на основе наблюдения. Предположим, вам понадобится какой-нибудь мозговой имплантат, который делает сложным время / пространство сложности (на любой конкретной архитектуре) переносимым на человеческий разум. Да, это довольно субъективно. Предположим, французская колода без использования джокеров.

Фон

Недавно я посетил казино и видел больше свидетелей, чем игроков за столом, и удивлялся, какой процесс отбора превращал случайных игроков в игроков на ставки, учитывая, что у большинства случайных игроков были средства для игры (фишки в руке).

сценарий

Вы входите в казино. Вы видите n столов, играющих вариант блэкджека , причем y из них играют в понтон . Каждый стол играет с неопределенным количеством колод карт, чтобы скрыть преимущество дома .

Каждая таблица имеет различную минимальную ставку. У вас есть Z валюта на вашем лице. Вы хотите найти таблицу, где:

  • Наименьшее количество карточных колод используется
  • Минимальная ставка выше, чем у стола с большим количеством колод, но вы хотите максимально увеличить количество игр, в которые вы можете играть с Z.
  • Чистые потери на игрока самые низкие (я понимаю, что это, в большинстве ответов, считается случайным шумом, но это может иллюстрировать сломанный shuffler)

проблема

Вы можете волшебным образом наблюдать за каждым столом. У вас есть X раундов на выборку, чтобы обосновать свое решение. Для этого каждому игроку требуется не более 30 секунд.

Какой алгоритм (ы) вы бы использовали для решения этой проблемы, и какова их сложность в худшем случае? Вы:

  • Играть в понтон или блэкджек?
  • Какую таблицу вы выбираете?
  • Сколько раундов вам нужно наблюдать (каково значение X), учитывая, что казино может использовать не более 8 колод карт для любой игры? На каждом столе от 2 до 6 игроков.
  • Как долго вы стояли, находя стол?

Я называю это « проблемой постоянных игроков » из-за отсутствия лучшего термина. Пожалуйста, не стесняйтесь уточнять это.

дополнительный

Где это будет полезно, если не в казино?

окончательный

Я не ищу волшебную пулю азартных игр. Я только что заметил проблему, которая стала костью, которую мой мозг просто не переставал жевать. Я особенно заинтересован в приложениях, выходящих за рамки посещения казино.

Тим Пост
источник
Интересный вопрос. Я не уверен, что это правильный сайт для этого. Я не знаю, почему или где это будет соответствовать лучше, это просто не чувствует себя здесь. Возможно, я ошибаюсь ...
Уолтер
@ Уолтер - я тоже не был уверен. Есть сайты, посвященные различным играм, но вряд ли пользователи этих сайтов понимают сложность или даже алгоритм. Это слишком «мета» для SO, мне интересно, может ли он найти дом здесь.
Тим Пост
Я не знаю, это звучит как процесс Пуассона. Может быть, люди в math.stackexchange.com могут знать.
Конрад Фрикс
@ Конрад, возможно. Тем не менее, я подозреваю, что у кого-то здесь могут быть какие-то идеи, которые положили конец моим дебатам по первому заданию вопроса :)
Тим Пост
1
Извините, но я даже не вижу формулировки проблемы. Я могу только предположить, что проблема заключается в максимизации выигрыша, тогда задаваемые вами вопросы не важны для алгоритма. Мне все равно, сколько раундов я наблюдаю, я просто наблюдаю, пока не получу преимущество перед домом, а затем я толкаю этот край. Если я всегда могу ждать, пока у меня не получится преимущество, и всегда переключать таблицы на таблицу с наилучшим преимуществом, тогда алгоритм очень прост.
Джереми

Ответы:

2

Если я могу одновременно исследовать все столы даже во время игры, то:
учитывая, что все игры развиваются с одинаковой скоростью для простоты ... (я мог бы приспособиться к этому)


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

все еще есть какие-то ошибки и не учитывается ВСЕ, но вы понимаете, куда я иду

есть намного больше шансов на победу

количество игроков должно быть минимально соответствующим (больше игроков == быстрее прожигать колоды)

значит меньше игроков означает, что я могу играть больше рук одновременно (это потребует большего веса на счету игроков)

Кроме того, пороговое значение может быть определено с помощью измерителя аппетита к риску.

RobotHumans
источник