Вероятность выигрыша в покере
Есть 2 покерные руки - т.е. 2 набора по 2 карты из 52 карт - игрока и оппонента. На стол выкладываются еще 5 карт, и каждый из игроков составляет из своих 2х и 5 на столе карт (т.е. всего 7) пятикарточные комбинации. Нужно найти вероятность того, что игрок выиграет, проиграет, будет ничья. Хотя бы приблизительно, +-1%, но программа должна работать довольно быстро, порядка 0.01 сек. Нужен алгоритм
Есть хороший алгоритм - метод Монте-Карло называется.
Про Монте-Карло знаю, пробовал - почему-то долго считает,возможно, плохо проверяю на соответствие какой-либо комбинации. А быстро мне нужно, чтобы можно было определять не только вероятность руки против руки, а диапазона рук против диапазона.
Монте-Карло очень медленный метод: чем дольше ждешь, тем точнее результат. Тут уж ничего не подулаешь. Можешь попробовать посчитать аналитически.
Хорошо, тогда меняю вопрос. Есть 2 диапазона рук. Нужно посчитать вероятность выигрыша, если берется любая рука из 1-го и 2 диапазонов. За время 0.1-0.3 секунды. Большая точность не нужна.
Цитата: Нео
Есть 2 покерные руки - т.е. 2 набора по 2 карты из 52 карт - игрока и оппонента. На стол выкладываются еще 5 карт, и каждый из игроков составляет из своих 2х и 5 на столе карт (т.е. всего 7) пятикарточные комбинации. Нужно найти вероятность того, что игрок выиграет, проиграет, будет ничья. Хотя бы приблизительно, +-1%, но программа должна работать довольно быстро, порядка 0.01 сек. Нужен алгоритм
А для чего это нужно? Пишешь покер, или хочеш написать бота для игры в него?
Что за разновидность покера? Вероятность выигрыша на префлопе? флопе, терне, ривере?
А математическая сторона всего этого довольно простая. Если хорошо разбираешься в правилах, то и самому составить несложно, темболее с такой малой точностью.
Поищи в нете на предмет таблиц вероятностей для покера и схем принятия решений в покере.
Разновидность покера - Техас Холдем, самая известная. Вероятность интересует на ривере. Если быть более точным, интересует так называемая ситуация олл-ин, когда игроки вскрывают карты до флопа.
В нете куча таблиц, против 100% случайных карт, а вот про вероятности, набора рук против какого-либо другого диапазона не нашел вообще. Поэтому и обратился сюда на форум
Вероятность карточной комбинации равна отношению количества подобных комбинаций к общему количеству комбинаций.
http://bigcount.ru/poker
Там расчет проводится как раз такой, который тебе нужен... если я пральна тебя понял.
По поводу расчета вероятности своей и противника могу подсказать такой калькулятор вероятности выигрыша в покере:
Там расчет проводится как раз такой, который тебе нужен... если я пральна тебя понял.