Базар вокруг игры / Комп в помощь / "gamsoft.ru" vs "oasispoker.ru".
  Страницы(10): [ «  <  #  1  2  3  4  5  6  7  8  9  10  >  »]   Перейти вниз
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24844   ответ на 24368 Пт, 1 декабря 2006 18:10 («] [#] [»)
korovin Форумы CasinoGames
Все было бы понятнее, если бы по технологии игры нам всегда платили анте, а потом предлагали купить игру за 2. Суть не меняется, но расчеты прозрачнее.
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24845   ответ на 24368 Пт, 1 декабря 2006 18:21 («] [#] [»)
korovin Форумы CasinoGames
Заодно, озвучте плиз цифру для стрита A2345 vs T (масть дилера чистая) с учетом покупки дилером стрита/флеша. Интересно насколько будет хуже чем 5,4435 для "только пара"
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24846   ответ на 24368 Пт, 1 декабря 2006 20:33 («] [#] [»)
xRaven Форумы CasinoGames
Korovin писал пт, 01 декабря 2006 18:21
Заодно, озвучте плиз цифру для стрита A2345 vs T (масть дилера чистая) с учетом покупки дилером стрита/флеша. Интересно насколько будет хуже чем 5,4435 для "только пара"
vs

Не совсем понял про чистую масть, но вот при таком случае -
5,43547332 (при проигрыше игрок бет+анте теряет).

Без покупки игры 5,31515152
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24847   ответ на 24368 Сб, 2 декабря 2006 03:27 («] [#] [»)
korovin Форумы CasinoGames
Спасибо, и так сойдет. Тоже с "только парой" 5.4530. Я к тому, что выигрыш МО при таком методе на стритах похоже не компенсирует потери расчетного МО на флешах и выше, как я предполагал раньше. Но уж больно долгой эта точная функция получается. В принципе, мы можем заранее создать табличку +МО от покупки игры для каждой уникальной руки из 5 карт vs карта дилера. и брать цифры оттуда, не замедляя процесс расчетов. Минус: мы получим точные данные только для первого бокса без обменов, но как часто мы принимая решение о покупке игры используем доп. данные? Меня бы этот подход устроил хотябы тем, что получится еще быстрее чем сейчас и точнее.
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24848   ответ на 24368 Сб, 2 декабря 2006 18:54 («] [#] [»)
Sharky Форумы CasinoGames
Korovin писал сб, 02 декабря 2006 02:27
В принципе, мы можем заранее создать табличку +МО от покупки игры для каждой уникальной руки из 5 карт vs карта дилера. и брать цифры оттуда, не замедляя процесс расчетов. Минус: мы получим точные данные только для первого бокса без обменов, но как часто мы принимая решение о покупке игры используем доп. данные? Меня бы этот подход устроил хотябы тем, что получится еще быстрее чем сейчас и точнее.
У меня есть другая идея. Всего существуют C{12,4} = 495 вариантов набора рангов для руки дилера (без мастей) по одной известной карте. Из них несколько стрейтов и АК. Их отбрасываем. Оставшиеся группируем по сносимой карте. Например с приведенным выше фулом против Тройки дилера получаем 120 групп, которые нужно просчитать (см. аттач). В квадратных скобках даны ранги на снос. Далее уже можно выводить формулу...

Вложение: by3.txt
(Размер: 1.93KB, Загружено 203 раз)
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24849   ответ на 24368 Сб, 2 декабря 2006 19:47 («] [#] [»)
Sharky Форумы CasinoGames
Например, берем первую строчку из файла:
2345* [7,8,9,T,J,Q,K]
Буду обозначать количество свободных рангов в колоде как C2..CA (могут быть от 0..4 для каждого ранга)

Теперь формула левой части: F = C2*C4*C5
Формула коэффициента (то что в квадратных скобках): K = C7+C8+C9+CT+CJ+CQ+CK
Тут нужно сделать поправку на флешь!! это чуть сложнее и об этом позже. Smile
Формула стрейта: FS = (CA+C6)*F
Формула пар: FP = ((C2-1)+C3+(C4-1)+(C5-1))*F
Ну и посчитать флешь (и стрейт-флешь) само собой.. вычесть стрейт-флешь из стрейтов и флешей.
Аналогично проделать для оставшихся групп. Но собстно на этом оптимизация не заканчивается, коэффициенты часто повторяются. А левую часть тоже можно перегруппировать... примерно так Smile
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24850   ответ на 24368 Сб, 2 декабря 2006 21:17 («] [#] [»)
xRaven Форумы CasinoGames
Это может сработать. Немного доработать и будет быстро и точно Smile
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24851   ответ на 24368 Сб, 2 декабря 2006 21:57 («] [#] [»)
Sharky Форумы CasinoGames
Развиваю мысль дальше: Smile нужно просчитать каждую строчку 2 раза. То есть как мастевый и немастевый по левой части. Возвращаясь к первой строчке файла:
1-ый проход: 2345(s)* [7,8,9,T,J,Q,K]
2-ой проход: 2345(o)* [7,8,9,T,J,Q,K]

Итак в первом проходе число комбинаций: F1=2s*4s*5s (=1 если эти карты есть в колоде или 0), а коэффициент равен K1=C7+C8+C9+CT+CJ+CQ+CK-7s-8s-9s-Ts-Js-Qs-Ks
Во втором проходе: F2=C2*C4*C5-F1, тогда как K2=C7+C8+C9+CT+CJ+CQ+CK

Понятно, что во втором проходе флешей быть не может в принципе, остаются только стрейты и пары. Стоит отметить, что не для каждой строчки возможны стрейты.. Smile
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24852   ответ на 24368 Сб, 2 декабря 2006 22:13 («] [#] [»)
Sharky Форумы CasinoGames
Все отлично вписывается в табличный вид.. Одна проблема: избежать if..then при определении выгодно/невыгодно покупать.. Есть мысли?
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24853   ответ на 24368 Вс, 3 декабря 2006 15:37 («] [#] [»)
KID Форумы CasinoGames
Sharky писал сб, 02 декабря 2006 22:13
Одна проблема: избежать if..then при определении выгодно/невыгодно покупать.. Есть мысли?
Зачем? оптимизация кода?
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24854   ответ на 24368 Вс, 3 декабря 2006 16:18 («] [#] [»)
Sharky Форумы CasinoGames
KID писал вс, 03 декабря 2006 14:37
Sharky писал сб, 02 декабря 2006 22:13
Одна проблема: избежать if..then при определении выгодно/невыгодно покупать.. Есть мысли?
Зачем? оптимизация кода?
Ну а как ты думаешь? Very Happy

2 Korovin: Хотел услышать мнения на сей счет.. Как такой подход? Собстно, почти закончил реализацию сего алгоритма.. Есть конечно камушки, но всеж лучше, чем 50-60K комбинаций обсчитывать...
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24855   ответ на 24368 Вс, 3 декабря 2006 17:09 («] [#] [»)
korovin Форумы CasinoGames
Идея понятна. Делаем заготовки для каждой КД, потом по ним проходим Мои замечания:

1. Если сносится КД, считаем флеши по всем мастям, иначе только по масти КД

2. Для стритов/флешей нужно учитывать число стритов/флешей младше/страше/равно нашему.

Какое время расчете для одной руки получается в сравнении с подсчетом числа рук дилера младше/старше/равно?
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24856   ответ на 24368 Вс, 3 декабря 2006 17:33 («] [#] [»)
Sharky Форумы CasinoGames
Korovin писал вс, 03 декабря 2006 16:09
Идея понятна. Делаем заготовки для каждой КД, потом по ним проходим Мои замечания:

1. Если сносится КД, считаем флеши по всем мастям, иначе только по масти КД

2. Для стритов/флешей нужно учитывать число стритов/флешей младше/страше/равно нашему.
1. Точно так.
2. К сожалению тоже.

Korovin писал вс, 03 декабря 2006 16:09
Какое время расчете для одной руки получается в сравнении с подсчетом числа рук дилера младше/старше/равно?
Если правильно понял, то быстрее будет.. Но скорость еще не мерил.
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24857   ответ на 24368 Вс, 3 декабря 2006 18:05 («] [#] [»)
korovin Форумы CasinoGames
Если скорость будет сопоставима и даже меньше, то поставив фильтр "считать от тройни", практически не заметим разницы, а это уже прорыв (для меня по крайней мере).

Отвлекаясь к подсчету числа рук дилера: Я так понимаю что у тебя комбинации дилера по тому же принципу считаются? Позволю себе в кратце описать свой метод. Я тоже испоьзую массив из числа свободных номаналов карт, затем:

Считаем число пустых рук дилера, если у нас пусто, то все иначе
если у нас ТК, считаем число ТК младше и равно и все, иначе
считаем число всех ТК, затем если у нас пара то считаем число пар младше/равно и все, иначе считаем число всех пар,...

Скорости у меня чуть меньше, но я не использую заготовки, а перебираю номаналы, формируя адрес к одной большой и универсальной таблице. Идея с заготовками мне понравилась.
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24858   ответ на 24368 Вс, 3 декабря 2006 18:33 («] [#] [»)
Sharky Форумы CasinoGames
Korovin писал вс, 03 декабря 2006 17:05
Отвлекаясь к подсчету числа рук дилера: Я так понимаю что у тебя комбинации дилера по тому же принципу считаются? Позволю себе в кратце описать свой метод. Я тоже испоьзую массив из числа свободных номаналов карт, затем:

Считаем число пустых рук дилера, если у нас пусто, то все иначе
если у нас ТК, считаем число ТК младше и равно и все, иначе
считаем число всех ТК, затем если у нас пара то считаем число пар младше/равно и все, иначе считаем число всех пар,...
Я считаю по-другому, но тоже использую массивы рангов.. Основа у меня подсчет вероятностей всех возможных рук дилера.. Если у дилера возможна комбинация аналогичная руке, то просчитываю больше/меньше/равно только для конкретной комбинации..
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24859   ответ на 24368 Вс, 3 декабря 2006 20:47 («] [#] [»)
KID Форумы CasinoGames
Korovin писал вс, 03 декабря 2006 18:05
Считаем число пустых рук дилера, если у нас пусто, то все иначе
если у нас ТК, считаем число ТК младше и равно и все, иначе
считаем число всех ТК
Как можно посчитать число пустых рук дилера, не посчитав предварительно количество всех ТК и остальных комбинаций? Ума не приложу. Километровая формула?
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24860   ответ на 24368 Пн, 4 декабря 2006 01:24 («] [#] [»)
korovin Форумы CasinoGames
Цитата:
Я считаю по-другому, но тоже использую массивы рангов.. Основа у меня подсчет вероятностей всех возможных рук дилера.. Если у дилера возможна комбинация аналогичная руке, то просчитываю больше/меньше/равно только для конкретной комбинации
Цитата:
Как можно посчитать число пустых рук дилера, не посчитав предварительно количество всех ТК и остальных комбинаций? Ума не приложу. Километровая формула?
Согласитесь, что так как большинство анализируемых рук игрока это пустые, ТК и пары (пустые и пары если ТК не играет), то мой метод значительно сокращает объем вычислений при статистических исследованиях покера (я даже не стал оптимизировать расчет рук от двух пар и выше, так как потеря в скорости всего 10% - считаю влоб).

Главная проблема здесь действительно подсчет числа пустых, но она решается. Составим заранее таблицу work: array[0..12,0..12,0..12,0..12,0..12], параметрами которой будут число пустых номиналов в колоде, номиналов с 1 картой, двумя тремя и четырньмя соответственно. В самой таблице - число беспарных комбинаций для этих условий на 4-х картах. Допустим, ТК не иргает, у дилера 7. Проходим массив рангов от 2 до A, исключая 7 и формируем адрес к нашей таблице, по которому находим число беспарок. Отнимаем от него число стритов и флешей. ВСЕ. Если ТК игрет, чуть сложнее. Пусть у дилера таже 7. Проходим массив номиналов дважды, от 2 до K, исключая 7 и от 2 до A, исключая 7 и К. Если у дилера A или K, то один раз от 2 до Q. Таким же способом можно очень быстро посчитать и число ТК и число пар.

Shakli, может быть ты найдеш в этом способ сделать свое ядро еще быстрее?
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24861   ответ на 24368 Пн, 4 декабря 2006 08:31 («] [#] [»)
Sharky Форумы CasinoGames
Korovin писал пн, 04 декабря 2006 00:24
Shakli, может быть ты найдеш в этом способ сделать свое ядро еще быстрее?
Не думаю, что мне это подойдет.. Для тренажера необходимо выводить все вероятности обменов и рук дилера. Для этого нужно все считать... Или я может не понял идею?
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24862   ответ на 24368 Пн, 4 декабря 2006 10:43 («] [#] [»)
korovin Форумы CasinoGames
Вероятность обменов тут не причем. Наоборот, чем быстрее ядро считает руки дилера (МО руки), тем быстрее мы просчитаем все варианты обменов. Для руки без обменов можно конечно специально посчитать число возможных вариантов рук дилера, но это уже украшательство, для расчетов МО нам эти цифры не важны. Важно лиш число рук пустых/младше/равно/старше. Я считаю без старших, так как если мы знаем общее число рук, оно получается проствм вычитанеим. Почему я считаю снизу а не сверху, я уже пояснил - для большинства анализируемых рук расчетов получается меньше.
        
 
Re: "gamsoft.ru" vs "oasispoker.ru".   ID:24863   ответ на 24368 Пн, 4 декабря 2006 12:35 («] [#] [»)
KID Форумы CasinoGames
Korovin писал пн, 04 декабря 2006 01:24

Главная проблема здесь действительно подсчет числа пустых, но она решается. Составим заранее таблицу work: array[0..12,0..12,0..12,0..12,0..12], параметрами которой будут число пустых номиналов в колоде, номиналов с 1 картой, двумя тремя и четырньмя соответственно. В самой таблице - число беспарных комбинаций для этих условий на 4-х картах. Допустим, ТК не иргает, у дилера 7. Проходим массив рангов от 2 до A, исключая 7 и формируем адрес к нашей таблице, по которому находим число беспарок. Отнимаем от него число стритов и флешей. ВСЕ. Если ТК игрет, чуть сложнее. Пусть у дилера таже 7. Проходим массив номиналов дважды, от 2 до K, исключая 7 и от 2 до A, исключая 7 и К. Если у дилера A или K, то один раз от 2 до Q. Таким же способом можно очень быстро посчитать и число ТК и число пар.
Я так понял несколько разных цыклов? А если посчитать все комбинации и вычесть из общего числа, не быстрее будет? там веть почти нет цыклов, восновном формулы в одну строчку. Цыклом считается предварительно только количество номиналов в колоде по 4 по 3 и т.д. ну и на стрейтфлешике циклик не большой.
Дак какой всетаки щас рекорд скорости для случайной руки? Может огласите хотябы приблизительно?
        
 
Страницы(10): [ «  <  #  1  2  3  4  5  6  7  8  9  10  >  »]  
Предыдущая тема:СБА
Следующая тема:Создание набора тестов для покерных программ
Быстрый переход к форуму
  
Текстовая версия  RSS лента
Вернуться вверх

Текущее время: Сб, 14 декабря 09:43:49 2024
Время, затраченное на генерацию страницы: 0.01570 секунд