Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> покерный калькулятор 
:(
    Опции темы
redwhite90
Дата 5.1.2012, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



Решил написать сетевой покер с калькулятором. То есть игроку подсвечивается какова вероятность того, что его рука сильнейшая.

по какому принципу писать калькулятор?

Также возник ещё вопрос. Возможно ли часть проекта написать на C++ (например калькулятор), а с кнопочками и графикой возиться на c# ?
PM MAIL   Вверх
Dem_max
Дата 5.1.2012, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 4
Всего: 39



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


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
redwhite90
Дата 5.1.2012, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



базовые знания присутствуют
PM MAIL   Вверх
redwhite90
Дата 5.1.2012, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



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

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

таким образом из этого алгоритма я могу шансы выпадения пары сета карэ....для себя и для оппонентов. 

Возникает вопрос, а как посчитать вероятность того, что моя комбинация будет сильнее комбинации оппонентов?

Это сообщение отредактировал(а) redwhite90 - 5.1.2012, 13:35
PM MAIL   Вверх
sQu1rr
Дата 5.1.2012, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 3
Всего: 13



Цитата(redwhite90 @  5.1.2012,  13:34 Найти цитируемый пост)
Возникает вопрос, а как посчитать вероятность того, что моя комбинация будет сильнее комбинации оппонентов?

Предпологая что у противников сильнейшая из возможных комбинаций. Стрит и флэш можно вычеслить сразу (может ли быть), каре и фул-хаус тоже.
Потом считаете проценты что у противника эта комбинация. Вот вам и решение
PM MAIL Skype GTalk   Вверх
redwhite90
Дата 5.1.2012, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



не, это как раз я могу посчитать.
То есть у меня есть вероятность выпадения всякой комбинации для игрока и для оппонентов. Как исходя из этих данных узнать вероятность того, что победа будет за мной.
ведь может быть мне придёт стрит, а при этом у оппонента сложится стрит, но более старший.

Это сообщение отредактировал(а) redwhite90 - 5.1.2012, 19:19
PM MAIL   Вверх
redwhite90
Дата 5.1.2012, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



Если взять, что идёт турнир из 5 человек. Для оценки шансов на победу на префлопе(известны только 2 карты игрока) получается надо перебрать кучу комбинаций карт да ещё и выполнить проверку на соответствие комбинации.
в нашем случае количество перебираемых карт 54-2=52
таким образом количество разных сочетаний из 5 карт на столе(флоп, тёрн и ривер) будет 52!/(52-5)!=52*51*50*49*48=311875200(311 млн)
+ надо ещё перебрать все возможные карты у противников (их остаётся 4), у каждого по 2 карты
=> ещё 47*46.......*40=12678926198400(12трлн)
таким образом приблизительно надо перебрать 12трлн * 311 млн комбинаций карт. а это число с 16 нулями получается.+ каждое сочетание карт надо проверить на наличие комбинации. Даже это не очень тривиальная задача. а тут сколько раз это сделать надо.
покерные калькуляторы делают это мгновенно.

Что делать? как быть?
PM MAIL   Вверх
feodorv
Дата 5.1.2012, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



Цитата(redwhite90 @  5.1.2012,  23:02 Найти цитируемый пост)
таким образом приблизительно надо перебрать 12трлн * 311 млн комбинаций карт

Зачем перебирать карточные сочетания, когда нужны лишь покерные комбинации? А их весьма ограниченное число.


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
redwhite90
Дата 6.1.2012, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



Цитата(feodorv @  5.1.2012,  23:52 Найти цитируемый пост)
Зачем перебирать карточные сочетания, когда нужны лишь покерные комбинации? А их весьма ограниченное число.


но и выпадут они с разной вероятностью
PM MAIL   Вверх
bsa
Дата 6.1.2012, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



вот смотри. у тебя есть 2 карты. дама и 6-ка. какова вероятность того, что после обмена 6-ки ты получишь что-то лучше? это ты можешь посчитать?
PM   Вверх
redwhite90
Дата 6.1.2012, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



Цитата(bsa @  6.1.2012,  00:32 Найти цитируемый пост)
вот смотри. у тебя есть 2 карты. дама и 6-ка. какова вероятность того, что после обмена 6-ки ты получишь что-то лучше?

ммм....а зачем их менять?

Имеются ввиду карманные карты?(они известны)
PM MAIL   Вверх
feodorv
Дата 6.1.2012, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



Цитата(redwhite90 @  6.1.2012,  00:21 Найти цитируемый пост)
но и выпадут они с разной вероятностью 

Есть специальные таблицы. Такие можно найти, например, в книге Роя Раундера "Покерная математика".


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
redwhite90
Дата 6.1.2012, 03:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



Цитата(feodorv @  6.1.2012,  01:55 Найти цитируемый пост)
Есть специальные таблицы. Такие можно найти, например, в книге Роя Раундера "Покерная математика".


спасибо. Да читал про это. Но читал, что в калькуляторах используется метод либо перебора либо монте-карло.
PM MAIL   Вверх
redwhite90
Дата 8.1.2012, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



никаких мыслей больше?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1011 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.