Как программно рассчитать шансы в покере? - PullRequest
34 голосов
/ 11 октября 2008

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

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

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

Ответы [ 6 ]

21 голосов
/ 11 октября 2008

Вот несколько ссылок на статьи, которые могут помочь в качестве отправной точки: Покерная логика в C # и Fast, Texas Holdem Hand Оценка и анализ рук

"Этот фрагмент кода позволит вам с трудом рассчитать вероятности игры в покер, используя C # и .NET."

Теоретические основы приведены в этой статье Википедии о вероятностях покера и в этом превосходном статистическом руководстве .

Пример полного проекта, написанного на Objective-C, Java, C / C ++ или Python, находится по адресу SpecialKEval . Дальнейшие ссылки и чтение можно найти там.

8 голосов
/ 11 октября 2008

Симуляция Монте-Карло является распространенным подходом для расчета шансов в покерных комбинациях. Существует множество примеров реализации такого рода симуляции для холдема в сети.

http://www.codeproject.com/KB/game/MoreTexasHoldemAnalysis1.aspx

2 голосов
/ 17 октября 2008

Pokersource и статистические статьи не плохие предложения. Но это действительно лучше всего сделать с помощью симуляции Монте-Карло, полезного, простого и мощного подхода к этому типу сложной проблемы.

Он одинаково хорошо работает с Омахой Хай-Лоу, как и с Холдемом

1 голос
/ 29 июня 2010

Посмотрите и здесь:

http://specialk -coding.blogspot.com / 2010/04 / техасский холдем-7-карт-evaluator_23.html

Симуляция Монте-Карло часто медленнее, чем хорошие точные оценщики.

1 голос
/ 11 октября 2008

Посмотрите на pokersource , если у вас достаточно сильные C-способности. Боюсь, это не просто, но некоторые вещи, которые вы ищете, сложны. Программа poker-eval, которая использует библиотеку, вероятно, сделает многое из того, что вы хотите, если вы сможете получить правильный формат ввода (тоже непросто). Такие сайты, как этот или этот также используют эту библиотеку AFAIK.

Тем не менее, может быть и хуже, возможно, вы захотите посчитать что-нибудь хитрое, например, Омаха Хай-Лоу ...

0 голосов
/ 13 февраля 2010

Полный исходный код для игры в покер Texas Hold'em можно найти здесь:

http://www.advancedmcode.org/poker-predictor.html

Он построен для matlab, идентификатор GUI m-кодирован, но вычислительный движок - c ++.

Это позволяет рассчитать шансы и вероятности. На моем ноутбуке с частотой 2,4 ГГц он может рассчитывать на 100 000 игр для 10 игроков за 0,3 секунды.

Точный компьютер реального времени :-)

...