Базар вокруг игры / Комп в помощь / Ускорить расчет раскладов в покере...
  Страницы(4): [ «  <  #  1  2  3  4]   Перейти вниз
Re: Ускорить расчет раскладов в покере...   ID:23825   ответ на 23702 Ср, 23 июня 2004 12:00 («] [#] [»)
Mariner Форумы CasinoGames
Приветствую!

2 joker2k1

Цитата:
идея... ну тупое оптимизированное сравнение
Какой ты краткий. Smile А сравнивашь как? Что и с чем? По формулам комбинатроники иди другим каким способом?
Просто я вот к чему. У тебя без сжатия по мастям получается одна секунда, у меня без сжатия по мастя получается 11 секунд. Т.е., если добавить к твоему алгоритмы сжатие по мастям, то получил выигрыш в скорости более чем в 11 раз. Это уже здорово.

Вот мне и хочется выянить дело ли в алгоритме расчета или в железе/компиляторе.

Пиши.
        
 
А почему не считать случайным перебором?   ID:23826   ответ на 23702 Ср, 23 июня 2004 20:25 («] [#] [»)
Spieler Форумы CasinoGames
Привет!

Че-то я не понял, зачем усложнять себе жизнь.
1) Программа случайного пребора пишется и отлаживается за сутки. 2) Миллион хэндов просчитывается за 5-10, в зависимости от языка программирования и компа.
3) Сделать ошибку в алгоритме просто невозможно.
Результаты работы моей программы сверены с аналитиками и разработчиками ПО.

Точность расчетов - 3-й знак после запятой. Например, на одном и том же раскладе программа выдаст, к примеру, вероятность игры дилера 0,5155 и 0,5157, а оценка МО какого-то конкретного действия будет, к примеру, либо -1,0050,
либо -0,9930.

Чтобы повысить точность, можно брать не миллион, а 10 миллионов сдач.

Поясните, зачем на АБСОЛЮТНАЯ точность. Выжимать десятые доли МО? Эти десятые доли будут все равно съедены ошибками при длительной игре.

Представляется, что разработка Маринера носит лишь академический интерес.

Привет!
        
 
Re: Ускорить расчет раскладов в покере...   ID:23827   ответ на 23702 Чт, 24 июня 2004 11:44 («] [#] [»)
korovin Форумы CasinoGames
Считаю что без мощного ядра качественный статанализ невозможен. Русский покер считать пробовалм? на 4-м боксе в светлую МО очень даже ничего (мы уже проверили). Предлагаю всем заинересованым лицам померится силами: оформить ядро в виде отдельной программы, оценивающей, скажем 100 000 000 случайных раздач (без обменов. тогда каждый сможет сравнить производительность в равных условиях, на своем компе.
        
 
Re: Ускорить расчет раскладов в покере...   ID:23828   ответ на 23702 Чт, 24 июня 2004 11:51 («] [#] [»)
Mariner Форумы CasinoGames
Приветствую!

2 Korovin
Цитата:
Предлагаю всем заинересованым лицам померится силами: оформить ядро в виде отдельной программы, оценивающей, скажем 100 000 000 случайных раздач (без обменов. тогда каждый сможет сравнить производительность в равных условиях, на своем компе.
Подерживаю эту идею.
Кто займется разработкой технического задания?
ЗЫ. 100 миллионов раздач думаю будет много. Миллионов 5 будет достаточно. Вобщем, все обсуждаемо.
        
 
Re: Ускорить расчет раскладов в покере...   ID:23829   ответ на 23702 Чт, 24 июня 2004 22:59 («] [#] [»)
korovin Форумы CasinoGames
Не силен в составлении ТЗ, но попробую.

Цель: Оценить скорость анализа рук при игре в покер. Прогамма должна:

1. Раздавать случайным образом 5 карт игроку и 0..3 карты дилеру (опционально)
2. Определять тип комбинации игрока
3. Считать число возможных рук дилера (пустые, старше/младше/равно руки игрока)
4. По этим данным и таблице выплат считать МО раздачи. При МО<-1, принять МО=-1
5. Если у игрока тройня и выше, для всех возможных пустых рук дилера считать МО покупки игры. При МО<0, принять МО=0
6. Повторить пукнты 1-5 заданное число миллионов раз.
7. Вывести МО игры (без покупки), МО покупки игры и общее время выполнения.

Для чистоты эксперимента желательно исключить ГСЧ, например брать раздачи из файла.

Правила игры: 52 карты. Стандартный Оазис без обменов. ТК играет. Выплаты стандартные: 1,1,2,3,4,5,7,20,50,100.
Анте платится. Покупка игры за 1 анте, снос таршей карты, при неудаче анте за "нет игры" не платят.

Мой вариант программы в файле. Думаю что смогу повысить скорость еще максимум в 2-3 раза.
Точность при подсчете рук дилера абсолютная, при расчете покупки игры только возможные пары.

Вложение: poker.ZIP
(Размер: 358.20KB, Загружено 179 раз)
        
 
Re: Ускорить расчет раскладов в покере...   ID:23830   ответ на 23702 Пт, 25 июня 2004 10:57 («] [#] [»)
Mariner Форумы CasinoGames
Приветствую!

2 Korovin

Молодец, что составил ТЗ.

Что может моя программа.
Оценить МО игры с правилами и выплатами указанными в ТЗ.
Считает МО игры для 0..3 открытых карт дилера. Может и для 4..5 открытых карт дилера, но кто это ценит? Smile
Нет:
- Нет покупки игры, т.к. умею считать МО покупки для 5 карточной комбинации дилера и 5 карточной комбинации игрока, но не для 1 карты дилера и 5 карт игрока. Кто знает как, добро пожаловать с идеей в мыло. Confused
- Нет замера времени выполнения программы, т.к. не знаю как реализовать. Smile Врема работы программы можно посмотреть в "Диспетчере задач" aka "Task manager".

На Athlon XP 2200+ рассчет 1 миллиона раздач с 3 открытыми картами дилера идет 57 секунд. Так что прикиньте время и не ставьте 100 миллионов раздач на слабых машинах. Smile

ЗЫ. Тоже знаю как ускорить расчет а 0.5..2 раза, т.к. есть очевидные пробелы в реализации. Например не использую сжатие по мастям, а это считай в 3..4 раза меньше вычислений. Smile

Вложение: pk_mariner.zip
(Размер: 184.71KB, Загружено 168 раз)
        
 
Re: Ускорить расчет раскладов в покере...   ID:23831   ответ на 23702 Пт, 25 июня 2004 11:44 («] [#] [»)
joker2k1 Форумы CasinoGames
не, ну а я считаю что 100млн можно получить.

имеется ввиду просчет игры для заданной комбинации.
т.е. грубо говоря сравнение комбинации с возможными комбинациями дилера.
Думаю на выходных сделать первое приближение.
        
 
Re: Ускорить расчет раскладов в покере...   ID:23926   ответ на 23702 Чт, 7 октября 2004 21:42 («] [#] [»)
Blitz Форумы CasinoGames
Извиняюсь, что успел только к шапочному разбору. А чем закончился брейн-ринг? Какие успехи за прошедшие пол-года?

Есть предложение. Поскольку для оценки выбран покер без обмена, то он считается полным перебором всех комбинаций с=122.151.120 (1 карта дилера открыта). Это можно взять за эталон.

Какое время расчета для этого случая достижимо на сегодняшний момент?

Блиц.
        
 
Re: Ускорить расчет раскладов в покере...   ID:23927   ответ на 23702 Пт, 8 октября 2004 12:46 («] [#] [»)
korovin Форумы CasinoGames
Около 2000 тактов ЦП на анализ одной руки. Думаю можно улучшить до 1500.
        
 
Re: Ускорить расчет раскладов в покере...   ID:23928   ответ на 23702 Пт, 8 октября 2004 16:13 («] [#] [»)
Mariner Форумы CasinoGames
Приветствую!

С радостью поделился бы замерами времени, но катострофически не хватает времени для написания покерного ядра третьей версии...
        
 
Re: Ускорить расчет раскладов в покере...   ID:23929   ответ на 23702 Вт, 12 октября 2004 08:26 («] [#] [»)
Mariner Форумы CasinoGames
Приветствую!

Цитата:
покерного ядра третьей версии...
Вот прикол. Практически переписал, но предварительные замеры дают результат на 1/3 хуже чем было.
Ндя... Confused
        
 
Re: Ускорить расчет раскладов в покере...   ID:23930   ответ на 23702 Ср, 13 октября 2004 17:29 («] [#] [»)
Fabrica Форумы CasinoGames
Хоть убейте - никак не получаются Ваши циферки:
AC, 3.03628995428793 / 9C, 3.08884905679648 / 0.993994546067347

написал 3 разных варианта и во всех одинаково (все считаю ТОЧНО, ВСЕ комбинации проверяются точно):
В,10,9,8 пик,9 треф, 5 бубен у дилера.
закрылись - +0.99399
меняем карты
1ю +0,38073
2ю +0,38375
3ю -0,53342
4ю +0,38198
5ю +2,97143

Как у Вас получились другие цифры - не пойму.
И еще по поводу программ на скорость. У вас в обоих прогах МО около +5% без обмена, у меня -16% с копейками как ни бился.
        
 
Re: Ускорить расчет раскладов в покере...   ID:23931   ответ на 23702 Ср, 13 октября 2004 18:00 («] [#] [»)
korovin Форумы CasinoGames
А ТК у тебя играет???
        
 
Re: Ускорить расчет раскладов в покере...   ID:23932   ответ на 23702 Ср, 13 октября 2004 20:56 («] [#] [»)
Blitz Форумы CasinoGames

>У вас в обоих прогах МО около +5% без обмена, у меня -16% с >копейками как ни бился.

-16% это "игра вслепую" или play all. Т.е. играем все подряд. Вопрос - зачем? Ты не пробовал принимать значения меньшие, чем "-1" за "-1" (пас)? Помогает иногда...

Возможно выйдешь на другие цифры.

Блиц.
        
 
Re: Ускорить расчет раскладов в покере...   ID:23933   ответ на 23702 Чт, 14 октября 2004 15:25 («] [#] [»)
Fabrica Форумы CasinoGames
Во я ..., упустил такую ошибку. Smile)
Все исправилось. В смысле пропало -16%.

И проверка Лесного не проходит Sad(

// Ваши карты – J-10-9-8 пик и туз треф, у дилера – пятёрка бубён. Ожидаемый выигрыш при замене туза треф – $304

у меня 2,94897 вместо 3,04

уже запарился искать ошибку, проверил в отладчике проверку всех комбинаций, все верно, а ответ не тот Sad(
        
 
Re: Ускорить расчет раскладов в покере...   ID:23934   ответ на 23702 Чт, 14 октября 2004 20:32 («] [#]
korovin Форумы CasinoGames
и всеже у Лесного верно
        
 
Страницы(4): [ «  <  #  1  2  3  4]  
Предыдущая тема:2Реактор
Следующая тема:Предложение
Быстрый переход к форуму
  
Текстовая версия  RSS лента
Вернуться вверх

Текущее время: Чт, 19 декабря 10:25:14 2024
Время, затраченное на генерацию страницы: 0.02658 секунд