Регистрация
Регистрация Поиск Сообщество  
CGM > Казино > Казино софт
Опции темы

Ускорить расчет раскладов в покере...

Важные объявления
Старый 15.06.2004, 07:56     TS Старый   #41 (permalink)
Ветеран
 
Аватар для Mariner
 
Регистрация: 12.02.2004
Адрес: Россия, УРФО
Сообщений: 1,399
Приветствую!

Сейчас что-то не сооброжу что NoSound c Korovin написали, но циферками своими поделюсь.

AC, 3.03628995428793 / 9C, 3.08884905679648 / 0.993994546067347

Флэши считаю точно, больше/меньше/равно.

Что еще вспомню, напишу.
__________________
Mariner

Западное полушарие Марса рассечено на протяжении 4 000 км вдоль экватора рифтовыми долинами Маринер - крупнейшим поясом разломов на планете.
Mariner вне форума      
Старый 15.06.2004, 12:11   #42 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
По точности. Предлагаю равнятся на Маринера.

По покупке игры. Возьми тестовую задачу: У тебя 4 туза, у дилера допустим 7. +МО покумки инры по упрощенной модели считается на пальцах. Сравни решение со своим.

По симуляции. Если перебрать все варианты руки против всех КД, мы и получим абсолютно точное МО. Это чуть более 100 миллионов раздач. Можно и здесь применить сжатие мастей, будет немного меньше. Эту идею я и заложил в свои циклы, так как нас нтересует не только первый бокс, кроме того есть игры типа 12345, 1+1 или 2+1, 6+6 или 6+5, которые считаются на порядок дольше обычных
korovin вне форума      
Старый 15.06.2004, 13:05   #43 (permalink)
Незнакомец
 
Регистрация: 13.04.2004
Сообщений: 17
Цитата:
Сообщение от Korovin писал(а) вт, 15 июня 2004 12:11
По симуляции.
У меня получается не 7462, а 3094 - это число возможных комбинаций 5 карт игрока если считать все масти одинаковыми. Если брать 3094 действительно получается несмещенная оценка, схождение будет более быстрое за счет уменьшения эффективной диспресии. Думаю раза в 4-5 быстрее будет.

Еще я не понял как ты формируешь цикл для нескольких боксов, в этом случае цифра 7462 должна сильно возрасти, примерно [7462*7462 - поправка на недостижимые комбинации] для двух боксов.

NoSound вне форума      
Старый 16.06.2004, 06:55     TS Старый   #44 (permalink)
Ветеран
 
Аватар для Mariner
 
Регистрация: 12.02.2004
Адрес: Россия, УРФО
Сообщений: 1,399
Приветствую!

2 Korovin & NoSound

Поясните идеи насчет циклов. Читаю, читаю и не врубаюсь.

ЗЫ. Как обычно можно по e-mail или ЛС.
__________________
Mariner

Западное полушарие Марса рассечено на протяжении 4 000 км вдоль экватора рифтовыми долинами Маринер - крупнейшим поясом разломов на планете.
Mariner вне форума      
Старый 16.06.2004, 11:31   #45 (permalink)
Незнакомец
 
Регистрация: 13.04.2004
Сообщений: 17
2 Mariner. Как я понял. Симуляция раскладов у нас начинается со случайного выбора карт игрока и КД. При этом случайном выборе мы действуем прямо так, как на самом деле происходит, и получаем в итоге дисперсию результатов - настоящая дисперсия (НД). Тут же замечу, что скорость расчета обратно пропорциональна квадрату дисперсии. Korovin же разбил все возможные начальные расклады на группы, с целью уменьшить дисперсию и увеличить скорость. Группы выбрал следующим образом - каждая группа содержит фиксированное число карт игрока каждого из достоинств. Скажем группа "две 9ки, две 10ки и туз". То есть от такой группы до расклада еще нужно определиться с мастями(сжатие по мастям). Таких групп всего 3094, если я правильно посчитал. У каждой группы есть своя вероятность выпадения. Она очень легко считается, для примера выше равна 6*6*4. Теперь в цикле на каждую группу уделяем какое-то число раскладов, случайным образом выбирая масти и КД. Можно не 1, а 2-3 в зависимости от вероятности группы. Таким образом сформировали цикл, по которому и пробегаем много-много раз. Общее МО считаем по вероятносте каждой группы, перемноженной с МО внутри группы. В чем смысл? Дело в том, что таким образом мы уменьшаем эффективную дисперсию(ЭД) результатов. Если в каждой группе дисперсия будет равна НД, то ЭД будет равна НД. Но если в группах дисперсия будет меньше НД, а так и будет, то ЭД сильно уменьшится. А значит скорость увеличится в квадрат умеьшения диспресии раз.
Почему в группе дисперсия будет меньше НД ? Потомучто информация "две 9ки, две 10ки и туз" во многом уже предопределяют результат, и он будет иметь гораздо меньшие отклонения, чем в общем случае.
п.с. Многое в описанном выше алгоритме можно еще улучшать ...
NoSound вне форума      
Старый 17.06.2004, 01:43   #46 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
У меня получилось так: каре, фулл по 156, троек, 2 пары по 858, пар 2860, беспарных 1287, плюс столько же флешей я выделил отдельно для уменьшения дисперсии результата. По идее можно пары и беспарки еще разбить на 4, 3, 2 одной масти. Я обхожу это случайной генерацией мастей в каждом цикле. Можно включить в цикл и перебор карты дилера. Если бы кто-нибудь вывел аналитически оптимальное соотношение размера цикла - скорости схождения, был бы признателен
korovin вне форума      
Старый 17.06.2004, 02:18   #47 (permalink)
Участник
 
Регистрация: 11.06.2004
Адрес: Россия
Сообщений: 107
Отправить сообщение для BUGy с помощью ICQ
Приветствую всех участников форума.

Сам я считаю перебором, и до недавнего времени спсоб увеличения скорости расчётов видел лиш в увеличении тактовой частоты и кэша процессора, а об обмене пятака даже и не мечтал. И в рамках начатой темы для начала хотел-бы спросить чем лучше пользоваться для изучения комбинаторики.
И ещё вопросик, для увеличения скрости расчётов в 5+1-1+1 я не веду переоценку массива диллерских комбинаций при покупке и обмене, чем, как я считаю, отбрасываю наиболее дисперсионные решения с небольшой потерей МО. Так ли ето?
__________________
BUGy
BUGy вне форума      
Старый 17.06.2004, 04:34   #48 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
Насчет дисперсионных решений ты имееш ввиду купить вскрышку?

Без ТК при покупки 1-й карты вскрышка прийдет в трех случаях из 46. Без переоценки ты считаеш пас (-1 анте) При точном расчете стэй (-0.84 анте). Потери только на этом 0.16*3/46=0.01.
korovin вне форума      
Старый 17.06.2004, 09:48   #49 (permalink)
Участник
 
Регистрация: 11.06.2004
Адрес: Россия
Сообщений: 107
Отправить сообщение для BUGy с помощью ICQ
Да именно это я и имел ввиду, только подобную оценку я сделал и сам посчитав с переоценкой и без неё. Мне интересно сильно ли я теряю в общем МО игры. А его без комбинаторики моими методами подсчитать нереально долго. Поэтому повторяясь хочу спросить, чем можно воспользоваться для изучения комбинаторики, можно на мыло.
__________________
BUGy
BUGy вне форума      
Старый 17.06.2004, 12:25   #50 (permalink)
Незнакомец
 
Регистрация: 13.04.2004
Сообщений: 17
Цитата:
Сообщение от Korovin писал(а) чт, 17 июня 2004 01:43
У меня получилось так: каре, фулл по 156, троек, 2 пары по 858, пар 2860, беспарных 1287, плюс столько же флешей я выделил отдельно для уменьшения дисперсии результата.
Хорошее разделение. А есть ли какие-нибудь идеи как этот метод на 2 и более боксов распространить ? Все-таки 1 бокс лишь частный случай, если получиться придумать для общего случая, то это будет большой скачок по скорости схождения.

Какая твоя оценка, во сколько раз быстрее работает, чем переборный алгоритм ?
NoSound вне форума      
Старый 17.06.2004, 14:13   #51 (permalink)
Участник
 
Регистрация: 11.06.2004
Адрес: Россия
Сообщений: 107
Отправить сообщение для BUGy с помощью ICQ
Прветствую всех.
Не уверен что подскажу правильно, т.к. не до конца понимаю идею метода. Но мне кажется на два и более бокса его можно применить следующим образом. Не считать каждый бокс, а рассмотреть один бокс с учетом знания карт соседних, т.е. пересчитать насколько повысит МО в каждой группе(в основном группе беспарных) знание дополнительных вышедших карт.
__________________
BUGy
BUGy вне форума      
Старый 17.06.2004, 14:37     TS Старый   #52 (permalink)
Ветеран
 
Аватар для Mariner
 
Регистрация: 12.02.2004
Адрес: Россия, УРФО
Сообщений: 1,399
Приветствую!

Цитата:
Сообщение от Цитата:
Хорошее разделение. А есть ли какие-нибудь идеи как этот метод на 2 и более боксов распространить ? Все-таки 1 бокс лишь частный случай, если получиться придумать для общего случая, то это будет большой скачок по скорости схождения.

Какая твоя оценка, во сколько раз быстрее работает, чем переборный алгоритм ?
В общем как себе представляю это дело я. Применяем сжатие по мастям к картам игрока также как мы и делали это для карт дилера.

Для нескольких боксов переоценку числа комбинаций и их вес можно производить динамически. Что, в принципе, у меня и сделано при обмене 5 карт. Кроме того, все эти динамические перерасчеты можно просчитать заранее для всех возможных случаев в таблички. По этому пути я сейчас и начинаю идти. Проблемы возникают при оценке числа комбинаций больше/меньше. Но думаю, что это можно сделать алгоритмически. Так, например, чтобы посчитать число пустых комбинаций для любого числа вышедших карт необходимо всего лишь несколько табличек, общим объемом примерно 32 килобайта. По скорости сейчас ничего не могу. Как закончу реализацию, напишу. 8-)

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

Скорее всего, дело обстоит так. Для оценки МО игры используем одни алгоритмы. (Программа симулятор) Для разработки стратегии используем другие (без сжатия по мастям карт игрока). (Программа тренажер).

ЗЫ. Блин, научите меня, как сделать так, чтобы при цитировании указывалось в рамке чья это цитата. (Какую нажать кнопку?) :?
__________________
Mariner

Западное полушарие Марса рассечено на протяжении 4 000 км вдоль экватора рифтовыми долинами Маринер - крупнейшим поясом разломов на планете.
Mariner вне форума      
Старый 17.06.2004, 15:58   #53 (permalink)
Незнакомец
 
Регистрация: 13.04.2004
Сообщений: 17
2 BUGy
Нет, так не получится. Для каждого первого бокса будут свои результаты на втором.
2 Mariner
Не понял насчет табличек, давай поподробнее. Кнопка "цитата", там просто пишешь типа <quote title=Mariner писал>
NoSound вне форума      
Старый 17.06.2004, 20:10   #54 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
Цитата:
Сообщение от Цитата:
Не считать каждый бокс, а рассмотреть один бокс с учетом знания карт соседних, т.е. пересчитать насколько повысит МО в каждой группе(в основном группе беспарных) знание дополнительных вышедших карт.
Разумеется. Я так и считаю. Какая нам разница что на соседних боксах, каре на каждом или пустые на этих каре. на схождение МО число открытых боксов влияет слабо, поэтому их можно сдавать случайно. Нас ведь интересует только какие карты вышли, вернее как правило только карты одного-двух номиналов. Прще говоря нет смысла считать МО за два бокса сразу, если достаточно знать МО одного бокса, на втором будет такое же. Не путать с номер бокса с числом известных карт!
korovin вне форума      
Старый 17.06.2004, 20:35   #55 (permalink)
Незнакомец
 
Регистрация: 13.04.2004
Сообщений: 17
Цитата:
Сообщение от Korovin писал(а) чт, 17 июня 2004 20:10
Разумеется. Я так и считаю.
А при чем здесь твои циклы ? Вроде о них речь то.
NoSound вне форума      
Старый 17.06.2004, 20:42   #56 (permalink)
Незнакомец
 
Регистрация: 13.04.2004
Сообщений: 17
Все, понял. Извините.
Вложения
Тип файла: bj1 BS5i.bj1 (12.0 Кб, 20 просмотров)
NoSound вне форума      
Старый 18.06.2004, 07:17     TS Старый   #57 (permalink)
Ветеран
 
Аватар для Mariner
 
Регистрация: 12.02.2004
Адрес: Россия, УРФО
Сообщений: 1,399
Приветствую!

Цитата:
Сообщение от NoSound
Не понял насчет табличек, давай поподробнее.
В общем вчера закончил реализацию расчта пустых комбинация через таблицы при игре дилера от ТК. Результат меня разочаровал. Скорости не прибавилось, а наоборот даже убавилось. Может что не так сделал.

Идея следующая.
Всего пустые комбинации получаются из 1113 пяти ранговых комбинаций. Поэтому значения рангов заранее извеcтны и их можно поместить в массив [1..1113][1..5].
Далее. Значенни каждого ранга карты меняется от 0 до 4, т.е. 0 нет карт в ранге .. 4 все карты есть в ранге.
Число пустых комбинаций в заданной пятикарточной комбинации получается перемножением числа свободных карт в ранге n1*n2*n3*n4*n5. Эти произведения тоже можно посчитать заранее и поместить в массив с числом элементов 5^5=3125 вида [0..4,0..4,0..4,0..4,0..4].
Теперь осталось посчитать возможные флэши, тоже в виде таблички, с числом элементов 2^13=8192.
Далее расчет очень прост.

цикл от 1 до 1113
суммируем число пустых комбинаций
конец

от 1 до 4
вычитаем флэши
конец

Вот и все.

Зы. Кто сможет реализовать шустро, велкам в мыло с исходником.
__________________
Mariner

Западное полушарие Марса рассечено на протяжении 4 000 км вдоль экватора рифтовыми долинами Маринер - крупнейшим поясом разломов на планете.
Mariner вне форума      
Старый 22.06.2004, 17:13   #58 (permalink)
Новичок
 
Регистрация: 08.06.2004
Адрес: Москва
Сообщений: 27
приветствую!

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

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

пишу на VC++.

p.s. я смотрю после того как я сюда последний раз написал добавилось много чего нового и все довольно инофрмативно. спасибо вам за это.
joker2k1 вне форума      
Старый 23.06.2004, 07:37     TS Старый   #59 (permalink)
Ветеран
 
Аватар для Mariner
 
Регистрация: 12.02.2004
Адрес: Россия, УРФО
Сообщений: 1,399
Приветствую!

2 joker2k1
Прими мои поздравления. Довольно шустрый у тебя получился рассчет обмена 5 карт. Напиши на каком оборудовании считаешь.
Опиши идею/алгоритм реализации. Можно по e-mail или ЛС.

2 Сам себе
Похоже придется переписывать под С/C++. Присоветуйте нормальный компилятор.
__________________
Mariner

Западное полушарие Марса рассечено на протяжении 4 000 км вдоль экватора рифтовыми долинами Маринер - крупнейшим поясом разломов на планете.
Mariner вне форума      
Старый 23.06.2004, 12:09   #60 (permalink)
Новичок
 
Регистрация: 08.06.2004
Адрес: Москва
Сообщений: 27
2Mariner:

считаю на p4-2400.
это на самом деле не шустро. все тормозит изза того что возможных замен ~1300000 и для каждой из них надо оценить игру. моя процедурка оценивает примерно 1,5млн в сек комбинаций игрока с комбинациями дилера(выдает профит игры для заданной комбинации). вот и получается что около секунды.

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

если бы вот соптимизировать генерацию замен, например пожать какнть эту таблицу(пожать ее можно), но чтобы все равно с помощью какогонть алгоритма точно расчитывать игру (чтобы не сравнивать невозможные комбинации). вот счас на этой стадии нахожусь. есть пара-тройка идей думаю их
joker2k1 вне форума      

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбор раскладов успешных игроков kesey Limit Holdem, Omaha, 7-Card Stud и другие виды покера 42 29.06.2008 21:36
как ускорить игру? prokrusto Покер один на один 9 12.02.2008 00:36
"Тестер" для раскладов в Покере. CLON Казино софт 14 14.11.2007 09:39
Расчет вероятностей событий в покере. Murk Теории, стратегии, основы покера 20 03.07.2005 22:07
Расчет дисперсии при ОС на покере joker50 Покер против казино 5 06.04.2004 21:41



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.

Быстрый переход
Правила форумов CGM Контакты Справка Обратная связь CGM.ru Архив Вверх Главная
 
Использование материалов сайта разрешено только при наличии активной ссылки на источник.
Все права на картинки и тексты принадлежат Информационному агентству CGM и их ПАРТНЕРАМ. Политика конфидециальности
CGM.ru на Youtube CGM.ru на Google+ CGM.ru в Twitter CGM.ru на Facebook CGM.ru в vKontakte CGM.ru в Instagram

В сотрудничестве с Pokeroff.ru
Текущее время: 04:02. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot