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

Программисты помогите

Важные объявления
Старый 06.11.2005, 19:25   #21 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
Опять не в ногу

1. Варианты игры дилера у меня считаются комбинаторно полным перебором всех возможных вариатнов

2. Обмен 5-и карт иггрока у меня считается двумя способами:

а) Полным перебором возможных вариантов
б) Неполным перебором возможных вариантов, который я назвал "Метод пренебрежения мастей". Это как сжатие мастей, но нефлешлвые комбинации считаются для 1-го случайного варианта.
korovin вне форума      
Старый 07.11.2005, 03:34     TS Старый   #22 (permalink)
Увлечённый
 
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
2Korovin. У меня абсолютно такой же принцип работы: раздаем 6 случайных карт, одну не нам. Считаем МО всех решений по формулам комбинаторики (очень быстро до 2000 рук в секунду) и перебором всех возможных вариантов (очень медленно несколько секунд на руку). В последствии 2 способ отключаем, он просто контрольный. Выбираем лучшее МО, суммируем. В конце делим на число рук (получается МО от серии МО). Очень быстро сходится после нескольких млн. рук получаем довольно точно МО игры (не путать с МО руки). Можно после выбора лучшего МО не суммировать их, а симулировать игру дальше. Либо скинуть, либо менять, либо раздать опять случайные карты. В итоге выигрываем или проигрываем n ANTE. Которые суммируем. В конце делим на число рук. Сходится в 50…200 раз дольше. После 100 млн. рук получаем довольно точно МО игры. Сравниваем. На каждом этапе по 2 способа. Ошибок быть не может.
Я так понимаю, при расчете замены одной карты вы вероятности выпадения комбинаций дилера не меняете и берете как при игре без замены (я так снова пересчитываю, но это лишнее на 1 боксе). А вот при расчете замены 5 карт, такие упрощения, мне кажется, приводят к заметным ошибкам. Вероятность выпадения всех комбинаций у игрока при замене 5 карт я легко посчитал. Но с чем их сравнивать? И еще, кратенько, что за среднестатистические руки, по какому критерию их отбирали. Я так догадываюсь, это база стратегии. Я возможно до того же дошел с другой стороны.
Это Я вне форума      
Старый 07.11.2005, 12:41   #23 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
1. У меня скорость анализа 1 случайной рки из 5 карт против 1 карты дилера 1 200 000 рук в секунду.

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

3. Среднестатистические рука это например 13*12 каре (масть кикера случайна), 13*12 фулов, масти карт случайны, и. т. п. МО считается несколькими циклами, в каждом масти карт генерируются случайно, в итоге быстро и боле менее точно.
korovin вне форума      
Старый 07.11.2005, 19:05     TS Старый   #24 (permalink)
Увлечённый
 
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
2Korovin. Быть такого не может. За 1500 тактов процессора: выдать случайно 6 карт, посчитать все вероятности дилера, заменить 1 кару, придет 1 возможная карта, посчитать нашу комбинацию, посчитать все вероятности дилера, и так для всех 46 возможных карт. Потом тоже самое для замены 2,3,4,5 карты. Вероятности дилера можно при приходе нам определенной карты на 1,2,3,4,5 место можно считать 1 раз. Должно быть в 1000 раз больше тактов. Явно мы о разном. В простом покере не критично, за несколько часов всегда можно посчитать МО. Вот например русский…
Это Я вне форума      
Старый 07.11.2005, 20:37   #25 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
Наверно о разном. Я об анализе ОДНОЙ случайной руки игрока. Для обмена 1-й карты нужно сделать 46 анализов (хотя зачастую достаточно и 13). Вот постил 1.5 года назад. Это демка скорости моего ядра. Раздает случайно 6 карт (Random()); Считает ТОЧНОЕ число комбинаций дилера старше/младше/равно, выбирает луччшее МО из двух (пас/стэй) и суммирует. 1 цикл - миллион раздач. Перед работой считает в том же цикле просто раздачу карт (время работы Random()) и вычитает его из общего времени, для точности. О скорости загнул (почему-то был уверен в этой цифре) у меня миллион анализируется 1.5 может старая версия ядра, надо разбиратся.
Вложения
Тип файла: zip poker.ZIP (358.2 Кб, 71 просмотров)
korovin вне форума      
Старый 08.11.2005, 01:48   #26 (permalink)
KID
Интересующийся
 
Аватар для KID
 
Регистрация: 23.12.2004
Адрес: фывятинск
Сообщений: 98
1200000 рук это на какой машине? А вообще если не считать такие запредельные результаты, то к какому результату надо стремиться? У блица вот например, как быстро считает?
KID вне форума      
Старый 08.11.2005, 03:58   #27 (permalink)
Участник
 
Регистрация: 13.10.2004
Сообщений: 165
2Korovin
Только помнится у тебя было "не совсем" точное кол-во рук больше/равно/меньше, вроде ты считал ВСЕ флеши одинаковыми, значения карт во флеше не анализировал, туз там старший или король и остальные 4 карты, и каре вроде все одинаковы. Или уже это исправил?
Если нет - то обсчет не такой уж и точный.
Некоторые упрощают до того, что все допперы и тройки одинаковыми считают.
Fabrica вне форума      
Старый 08.11.2005, 07:56   #28 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
Врать не буду, как изначально флеши сравнивалтсь по масти, так и сравниваются, просто начинал с этих правил, а переделывать лень. Это же не ошибка если правила такие и преимущество это не дает. А что такое флеш на флеш в сравнении с тем, что если мы при обмене поймали вскрышку и не закрылись? Такие запредельные результаты мне понадобились когда я сел за обмены 2-3-4-5 карт. Теперь точный анализ руки в Русском покере например занимает 2-3 секунды. Опять же на высшую инстанцию я не претендую, рекорды не ставлю. Просто хочу сказать что нет предела совершенству. Знаю что как минимум еще один человек добился подобных результатов скорости, в этом кстати нет ничего сверхестественного. Проблема в том что мне это уже неактуально, я постепенно отхожу покера против от казино, негде играть. Покер умирает, неужели вы этого не замечаете?
korovin вне форума      
Старый 08.11.2005, 10:03   #29 (permalink)
Бессмертный
 
Аватар для Grey
 
Регистрация: 30.04.2004
Сообщений: 3,612
Цитата:
Сообщение от KID писал
1200000 рук это на какой машине? А вообще если не считать такие запредельные результаты, то к какому результату надо стремиться?
Протестил демку poker.exe Коровина. На PIII-800 вышло 250000 раздач в секунду (без покупки игры).
2 Korovin: я правильно понял, что под одной раздачей подразумевается полный анализ одной руки игрока (против 163185 возможных хэндов дилера)?
__________________
Arthur Grey
Grey вне форума      
Старый 08.11.2005, 15:05   #30 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
Цитата:
Сообщение от Цитата:
2 Korovin: я правильно понял, что под одной раздачей подразумевается полный анализ одной руки игрока (против 163185 возможных хэндов дилера)?
Что считать полным анализом? Я считаю точное число комбинаций младще/старше/равно. Сколько у дилера стритов, флешей, и т.п я не считаю. Для расчета МО решения этого достаточно. И еще я не уверен что если делать массив всех комбинаций дилера, а потом по нему считать обмен карт игрока (не пересчитывая массив), будет быстрее на обменах до 2-х карт, а потеря в точности очевидна.
korovin вне форума      
Старый 08.11.2005, 16:34   #31 (permalink)
Участник
 
Регистрация: 13.10.2004
Сообщений: 165
Лично я считаю ТОЧНЫМ числом - ТОЧНОЕ число ВСЕХ комбинаций дилера, которые старше/равно/меньше моей руки. А упрощение ИМХО, конечно, изменяет МО.
Например у меня AKQ+2фоски "младшей" масти, наверно пик или наоборот черв, и КУЧА старших флешей K+4карты, которые младше моего в казино и дали бы мне 11 ставок, отнимут у меня 3 ставки, т.е. потеряю 14 анте! Разве это допустимо?
А по-поводу деления на 4 кол-ва обсчитываемых комбинаций, я думаю это просто: за основу берем карту дилера (а пором перебираем 5-ки игрока), их всего 4*13 карт, но нет разницы какая 4-ка у дилера пик или треф, вот и считаем только для 13 карт, вместо 52-х.
Я разбил все 5-ки на 94192 комбинации со своими мощностями, КАЖДАЯ из которых равна в своей группе. Т.е. каре 8-к имеет 12 групп (не одну!!), т.е. в зависимости от кикера это РАЗНЫЕ каре, и они также проверяются между собой. Есть группы пар, доперов, троек и т.д. Хотя их на самом деле меньше (я отсортировал ВСЕ комбинации по силе, их оказалось всего 28496), но я выделил из этих 28496 еще в одинаковых по силе комбинациях те, в которые можно докупить покупкой 1,2 карты флеш или стрит. Т.е. A,D,J,10,5 разномасть в отдельной группе от A,D,J,10,9 хотя по игре они обе имеют силу ==0. Или например если пустая комбинация имеет 4 карты одной масти в одной группе, а группа с ТАКИМИ ЖЕ картами по номиналу, но по мастям 3+2, в другой группе.
И вот по этому множеству комбинаций с количеством в каждой группе комб. я провожу именно ТОЧНОЕ вычисление комбинаций больше/равно/меньше. И конечно медленней чем у Коровина.
Полный анализ, просто пройти по всем комбинациям без обменов, у меня всего 0,62 сек.
Покупка одной, 5-1+1 = 9,78 сек.
А с покупкой 6-й полный анализ = 21,91 сек. Но зато у меня нет никаких упрощений.
Fabrica вне форума      
Старый 08.11.2005, 16:36   #32 (permalink)
Участник
 
Регистрация: 13.10.2004
Сообщений: 165
И это даже с отладочной инфой, сорри.
Я думаю если при трансляции убрать отладочную инфу, будет побыстрей.
Fabrica вне форума      
Старый 08.11.2005, 19:09     TS Старый   #33 (permalink)
Увлечённый
 
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
Привет Fabrica. Я так понял здесь всем специалистам по покеру уже не особо актуально обсуждать алгоритмы анализа, они этим занимались год-полтора назад (хорошо, если я ошибаюсь). У вас сейчас что считается, и над чем работаете, если не секрет (можно в личку). Я тоже постоянно стремлюсь к точности. У меня все комбинации по силе имеют 2 характеристики: комбинация и ранг комбинации. Комбинации: пустая – 0, ТК –1, …, Роял – 9. Ранг комбинации сложнее: у пустой – старшая карта, у ТК – старшая после ТК, у пары – карта в паре… При сравнение комбинаций считаем 4 вероятности: что у дилера пустая (выигрыш 1), что у дилера меньше (выигрыш 1+2*выплата(комбинация_наша)) , что равна (выигрыш 0,5*(1+2*выплата(комбинация_на а))-0,5*3), что больше (выигрыш -3). Т.е. при одинаковых комбинациях в 50% случаев выигрываем, в 50% проигрываем. Ошибка очень маленькая, если посчитать точно. Зачем каре, допустим 8888, еще делить на 12 групп. Ведь при сравнении комбинаций у дилера не может быть каре 8888. Сравнение флешей тоже ни чего не меняет (недавно добавил), было с 50% вероятностью выигрывал дилер с 50% мы при любых флешах у обоих. А считает уж очень медленно. У меня раз в 10000 быстрее. Без обменов + обмен всех 5 карт 2000 раздач в секунду. Для разработки стратегии, кстати, скорость абсолютно не нужна.
2Korovin. Как покер умирает. А я только начал.
2ALL А что форум такой не живой, может вы где в другом месте тусуетесь.
Это Я вне форума      
Старый 08.11.2005, 19:37   #34 (permalink)
KID
Интересующийся
 
Аватар для KID
 
Регистрация: 23.12.2004
Адрес: фывятинск
Сообщений: 98
Формулу подсчета ничьи недогнал чтото...думал при ничье просто 0.Никто никому ничего не должен.
KID вне форума      
Старый 08.11.2005, 20:20   #35 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
to Fabrica

Цитата:
Сообщение от Цитата:
Например у меня AKQ+2фоски "младшей" масти, наверно пик или наоборот черв, и КУЧА старших флешей K+4карты, которые младше моего в казино и дали бы мне 11 ставок, отнимут у меня 3 ставки, т.е. потеряю 14 анте! Разве это допустимо?
Это правильно если флеши сравниваются по масти, в этом случае Вы не правы. Мне сделать 2 варианта - день работы, поросто сразу не сделал а потом руки не дошли (не считал принципиальным). На скорость это НЕ повлияет.

Цитата:
Сообщение от Цитата:
Т.е. каре 8-к имеет 12 групп (не одну!!), т.е. в зависимости от кикера это РАЗНЫЕ каре, и они также проверяются между собой.
...Среднестатистические рука это например 13*12 каре (масть кикера случайна)... Кстати, сравнивать каре между собой по кикеру смысла нет, не бывает 2 каре на 8-ках. Разных комбинаций у меня 7462 получилось: 156 каре, 156 фулов, 858 троек, 858 2 пары, 2860 пар, 2574 беспарок, половина из которых одномастные. Непонятно зачем разбивать на 5-0 4-1 3-2 масть (пары тоже разбиваеш?)

to Это Я

Цитата:
Сообщение от Цитата:
Ранг комбинации сложнее: у пустой – старшая карта, у ТК – старшая после ТК, у пары – карта в паре
У прары должно быть 4 прааматера: ранг пары и кикеры, у ТК - 3 кикера, и т.п

Цитата:
Сообщение от Цитата:
Для разработки стратегии, кстати, скорость абсолютно не нужна.
Для разработки стратегии вручную на 1 бокс не нужна, дальше ты без статанализа не обойдешся, а как ты собираешся гонять миллионы однотипных ситуаций без хорошего движка?

Цитата:
Сообщение от Цитата:
А что форум такой не живой, может вы где в другом месте тусуетесь
Это единственный форум где "мы" тусуемся, других нет.
korovin вне форума      
Старый 09.11.2005, 03:49     TS Старый   #36 (permalink)
Увлечённый
 
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
2KID. Вы сколько раз в жизни видели одинаковые комбинации игрока и дилера (при которой “Никто никому ничего не должен”). Это просто такое упрощение расчетов. Привожу пример: правила стандартного покера, нам пришли 7б,9в,9к,Дб,Кч (комбинация пара девятого ранга). У дилера 8б. Вероятность нет игры 0,443791, вероятность меньше 0,366995, вероятность больше 0,184539, а еще 0,004676, что столько же (т.е. пара девяток). Вот от этих 0,004676 половину отдаем выигрышу, половину проигрышу. Что интересно: для пары формула вырождается в ноль. Если играем: получаем МО=0,991157. На самом деле чуточку больше: по Оазис-Покер Про Демо 0,9979, по Casino Poker Analyzer 0,9994. Не знаю, какое из последних МО более точное, но точно не мое. В процессе подсчета МО игры в 50% случаев МО раздачи завышается, в 50% занижается. В среднем ошибки быть не должно. Сейчас только подумал, что если это не влияет на принятие решений (с маленьким перевесом) то в МО до 0,05% и может быть погрешность. Надо на парах будет сделать учет старшей карты вне пары.
2Korovin. И часто флеши сравниваются по мастям. У меня по старшей карте. Стоит ли делать опцию.
Про сравнение двух каре на восьмерках. Пропускаете мои ответы, понятно…
“У пары должно быть 4 параметра”. Комбинация (пара), ранг комбинации (пара девяток), старшая вне пары (король) и еще что ли. И так вероятность совпадения двух таких пар ничтожная. У ТК + старшая уже ничтожная вероятность совпадения.
Про скорость движка. У меня то быстро. Просто для стандартных правил 8 млн. раздач в час с возможностью ускорить раза в 2…3 не нужно. Просто так получилось быстро с запасом на русский. Скинте в личку кто-нибудь, реальный МО русского.
2ALL. Прикольно, что все идут своим путем. При обсуждении почерпнул несколько идей. Хотя никто их и не высказывал.
Это Я вне форума      
Старый 09.11.2005, 06:39   #37 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
По девяткам правильный ответ 0,9994. Что-то сильно у тебя не бъет, очевидно из за того что у нас король. Флеши сравниваются по мастям очень часто в провинции, однако смысл делать 2 разные базы, если они получатся одинаковые? Ответы читаю, просто в контексте было. По МО Русккого, все почемуто твердят про -1% на первом, хотя я утверждаю что -1,64%. Правила оригинальные, как в Европе 2 года назад, с бонусной покупкой игры если дилер открвл ту-же карту, которую снес. Может ты нас рассудиш? Вот тебе задачка, решение которой я считаю принципиальным для проф. софта: Определить необходимое число ТК на руках для блефа на 30 картах, если у нас 2 вскрышки.

удачи.
korovin вне форума      
Старый 09.11.2005, 15:02     TS Старый   #38 (permalink)
Увлечённый
 
Регистрация: 26.10.2005
Адрес: Провинция
Сообщений: 462
2Korovin. Точно. Не бьет практически на максимально возможную величину ошибки. Из-за короля. Максимальное при наличие туза. Может эмпирическим путем ввести коэффициенты. При какой нашей старшей карте вместе с парой, сколько при одинаковой комбинации отдавать проигрышу, сколько выигрышу (а не 50 на 50 как сейчас). Хотя опытным путем показало отсутствие (практически) влияния данного упущения на МО. Не понятно влияние на стратегию. При таком предварительном прогнозе на русский покер пропал весь интерес добавлять замену 3 и 4 карт. Такая замена вроде не где больше не используется. Можно задачку поставить конкретно. Очень заинтриговало. Я не тормоз и не педант. Просто боюсь не правильно понять.
Это Я вне форума      
Старый 09.11.2005, 15:50   #39 (permalink)
KID
Интересующийся
 
Аватар для KID
 
Регистрация: 23.12.2004
Адрес: фывятинск
Сообщений: 98
2Это_Я...во первых большое спасибо,что ответили(на этом форуме меня бывает игнорируют). Сразу не понял, что под равной комбинацией подразумевается пара девяток в целом(хотя по формуле то можно было конечно догадаться)У меня алгоритм считает руку с точность в 100%.В данном случае МО=0,99941171063516...(коровин не даст соврать=))Я сичитаю количество возможных комбинаций старше, младше и равных...30271,60494,0. У вас же довольно существенная погрешность практически на втором знаке.Попробуйте усложнить формулу...варьировать свой коэфициент 0,5 в зависимости от старшей карты, т.е. в данном случае на короле где-то 0,85. Такой алгоритм должен давать наибольшую погрешность при оценке малой игры, там самое большое количество чистых ничьих(не знаю как у вас называют, у нас называют СТЕЙ) Про то, что погрешность исчезает при анализе покера в целом-как то сразу об этом не подумал.Возможно надо писать два алгоритма-один точный, для анализатора и упрощенный для оценки покера в целом.
KID вне форума      
Старый 09.11.2005, 15:59   #40 (permalink)
Бессмертный
 
Аватар для korovin
 
Регистрация: 13.02.2004
Адрес: Россия
Сообщений: 3,027
Задача. ТК играет. Знаем сколько вскрышек и ТК на 30 картах, больше ничего не знаем. Вскрышек 2, при каком количестве ТК "в среднем" оправдан блеф (вероятность игры дилера <50%)? Решив (разработав механизм решения) эту задачу ты научишся строить стратегии любой сложности. Не собираешся же ты всю жизнь катать вату на 1-2 бокса. Масштабнее мыслить надо, причем сразу. Зачем время терять, его и так мало осталось.
korovin вне форума      

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть программисты тут? AllMAD Железо 5 02.07.2010 12:30
SAP программисты всех стран... alexejv Поговорим за жизнь 6 27.01.2009 13:43
Программисты дайте совет Брюс Поговорим за жизнь 11 07.01.2006 11:52



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

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
Текущее время: 08:42. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot