Пилю программку по обсчёту китайского покера

Последний пост:26.11.2023
22
1 10 11 12 13 32 114
  • Цитата (c00l0ne @ 6.3.2019)
    куда дел софт джипси ?)))

    Предположу, что у него кончились деньги оплачивать его аренду
    90/741
    Ответить Цитировать
    0
  • Можно меня записать на поиграть с прогой, когда она будет готова?
    1/4
    Ответить Цитировать
    1
  • Цитата (c00l0ne @ 6.3.2019)
    вообще то тут на форуме был карр который с софтом катал )
    и раскатал всю поляну на покердоме)
    он даже писал в теме у джипси...

    А можно ссылку на эти посты?
    2/17
    Ответить Цитировать
    0
  • БиллиУбили, c00l0ne, как думаете, какие нужны мощностя для приемлимой работы программы? Насколько это дорого?
    3/17
    Ответить Цитировать
    0
  • Цитата (Ivikt @ 7.3.2019)
    Можно меня записать на поиграть с прогой, когда она будет готова?


    гы)
    5/9
    Ответить Цитировать
    1
  • DmNass, для начала нужен рабочий алгоритм,чем тс и занимается, правда пока ничего толкового ... мощностя подобрать не сложно в 21 веке ...
    45/882
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 7.3.2019)
    DmNass, для начала нужен рабочий алгоритм,чем тс и занимается, правда пока ничего толкового ... мощностя подобрать не сложно в 21 веке ...


    Хорошо, это понятно. Ну а конкретно твоя оценка этого вопроса?
    4/17
    Ответить Цитировать
    0
  • DmNass, если считать евшку vs руки оппа в 3 максе ... думаю необходимо ядер 24+(цифра из головы )
    сложно сказать если серьезно ... алгоритмы разные бывают ... то чем занят билли убилли хватит и пентиума 166 старого
    а если серьезно считать евшку всех лайнов и комб против розыгрыша оппонента(в 3 максе против двух оппов) это требует огромного процессорного времени ... 20-50 ядер точно нужно + памяти 128гб озу минимум

    учитывая что амазон сдает
    Rent the world’s 30th-fastest, 30,472-core supercomputer for $1,279 per hour with 27TB of memory and 2PB of storage
    30тыс ядер с 2 терабайтами памяти )
    за 1279$ час
    а гугл топ3 мира сдает за 2 млн баксов в день c 770,000 ядрами
    думаю найти 20-50 ядер не сложно в современном мире :

    два таких проца
    E5-2699v4 по 22 ядра (40 тыс руб каждый )
    + мать соответствующую плюс обвесы (50к)

    итого 80+50 = 130к
    + память 20к
    =150к рублей
    вот такая машина получилась за 150к : 44 ядра >128gb
    этого должно хватить ... чтобы за н сек выдавал правильный ответ ...
    а расчитывать в течении дня ... то там можно и слабее тачку поставить на сутки...
    Сообщение отредактировал c00l0ne - 7.3.2019, 13:36
    46/882
    Ответить Цитировать
    0
  • если биллиубилли сделает что то стоящее я на изичах куплю за 500-1к$ софтину, поэтому он не просто может заработать ботоводством а может легально получить оплату за свой труд ...
    1000 единиц продал вот вам и заветный миллион баксов...
    да и нам будет интересно пробить тех кто катает в идеал и как с ними бороться ...
    47/882
    Ответить Цитировать
    0
  • c00l0ne, в силу того как развивается китайский : прогрессивный, предельные без джокера и с джокерами еще какой-нибудь беспредельный создадут, то главная задача останется , как правильно разложить фантазию , ловя пять -шесть повторов к ряду , а для этого программа уже не нужна.
    5/7
    Ответить Цитировать
    0
  • Bolshewik, я устал тебе говорить но ты :
    c6d8610ee0734300ce3ce5aae217ecf9.jpg


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

    пс думаю пару джокеров не хватает все же )
    48/882
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 5.3.2019)
    Так, ну, как я и ожидал, удалось уложится в 10 сек.
    Что делает программа:
    для руки



    и колоды, из которой удалены карты противника, делаются следующие шаги
    1. добавляются 2 произвольные карты вниз и сохраняются все получившиеся комбинации
    2. добавляются 2 произвольные карты в мидл и сохраняются все получившиеся комбинации
    3. для пунктов 1-2 ищутся те комбинации, где низ старше мидла и снова сохраняются уже как одна "комбинация ниже топа"
    4. добавляются 2 произвольные карты в топ и сохраняются все получившиеся комбинации
    5. для пунктов 3-4 ищутся те комбинации, где"комбинация ниже топа" старше топа и снова сохраняются
    6. для комбинаций из пункта 5 считаются очки и 6 карт, которые нужны для их "сбора"
    7. Зная 6 карт, мгновенно считается вероятность добыть их за 3 подьёма(9карт)

    возникло уточнение по 7ому пункту. А зачем, собственно говоря, сохранять 6 карт и "тащить" их до 7ого пункта, чтобы посчитать вероятность добыть их за 3 подьёма(9карт)? Ведь достаточно знать, что эти карты - уникальные, а вероятность будет одна и та же. Если же карты повторяются, то данная рука исключается из возможных. Как вы считаете?
    91/741
    Ответить Цитировать
    0
  • БиллиУбили, чел тебе нужна закрытая конфа , знаешь что такое это ? никто дельного и толкового в инете не будет ... в чем профит то советчикам?

    маленько прокомментирую как инженер - математик :
    Цитата
    Так, ну, как я и ожидал, удалось уложится в 10 сек.

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

    Цитата
    добавляются 2 произвольные карты вниз и сохраняются все получившиеся комбинации
    2. добавляются 2 произвольные карты в мидл и сохраняются все получившиеся комбинации

    сохраняются для чего ?

    Цитата
    3. для пунктов 1-2 ищутся те комбинации, где низ старше мидла и снова сохраняются уже как одна "комбинация ниже топа"


    для чего эта работа выполняется ?
    у нас есть ранжирование комбинаций достаточно сравнить их обычными методами бинарными например

    Цитата
    4. добавляются 2 произвольные карты в топ и сохраняются все получившиеся комбинации

    Цитата
    5. для пунктов 3-4 ищутся те комбинации, где"комбинация ниже топа" старше топа и снова сохраняются

    аналогично зачем


    Цитата
    6. для комбинаций из пункта 5 считаются очки и 6 карт, которые нужны для их "сбора"

    зачем?

    что за волшебные 6 карт и откуда они взялись ... вообще не могу врубиться ...

    Цитата
    7. Зная 6 карт, мгновенно считается вероятность добыть их за 3 подьёма(9карт)


    волшебные 6 карт помогают мгновенно все считать )
    а врубился это к той раздаче где две две и две наверху надо закрыть

    Цитата
    Зная 6 карт, мгновенно считается вероятность добыть их за 3 подьёма(9карт)

    пс не так просто посчитать ведь они будут приходить в комбинациях друг друга ... верх + середина + низ ...
    и необхходимо будет выбрать максимально правильное решение ... на что твой алгоритм не способен ...
    Сообщение отредактировал c00l0ne - 7.3.2019, 14:59
    49/882
    Ответить Цитировать
    0
  • c00l0ne, в доляну хочешь?)))))
    8/10
    Ответить Цитировать
    0
  • Wall-e0605, к тебе?
    кто то должен на путь истинный направлят ь ... человек стока времени тратитЬ
    50/882
    Ответить Цитировать
    0
  • -
    51/882
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 7.3.2019)
    чел тебе нужна закрытая конфа , знаешь что такое это ? никто дельного и толкового в инете не будет ... в чем профит то советчикам?

    пошли на 3ий круг? Можешь подсказать - подскажи, не можешь - проходи дальше. Что за манера решать за других?
    Цитата (c00l0ne @ 7.3.2019)
    не думаю что можно посчитать в китае что то серьезное за 10 сек на обычном писюке в 1 поток или в несколько

    очень много, что можно посчитать за 10 сек. Если считать по правильному алгоритму(взять тот же обход шахматной доски конём)
    Цитата (c00l0ne @ 7.3.2019)
    сохраняются для чего ?

    это ключевой момент партии. Проверить, какая комбинация собралась(или нет) из 5карт - самая ресурсоёмкая операция. И лучше посчитать это один раз.
    Цитата (c00l0ne @ 7.3.2019)
    у нас есть ранжирование комбинаций достаточно сравнить их обычными методами бинарными например

    так они и сравниваются, как числа
    Цитата (c00l0ne @ 7.3.2019)
    аналогично зачем

    ну, если объяснять "на пальцах", то таким образом, по моему мнению, находится потенциал руки, оно же ЕВ. Ведь из 238 разномастные сложнее собрать что-то дельное, чем из 910Jодномастных
    Цитата (c00l0ne @ 7.3.2019)
    что за волшебные 6 карт и откуда они взялись ... вообще не могу врубиться ...

    6 карт - это 6 пустых мест в незаконченной руке(см. руку)
    Цитата (c00l0ne @ 7.3.2019)
    верх + середина + низ ...
    и необходимо будет выбрать максимально правильное решение ... на что твой алгоритм не способен ...

    нет, ты не прав. Если я могу оценить ЕВ руки при добавлении той или иной карты, то возмножно принять решение, куда ту или иную карту положить. Я просто выберу тот расклад, который максимизирует ЕВ(даже если пришли 3 "плохие" карты, всё равно существует разложение с макс.ЕВ)
    92/741
    Ответить Цитировать
    0
  • ну и продолжить надо, чет я закрестил
    тебе надо взять более простой случай для начала

    допустим приходит А23
    доска
    QQ
    47
    999T6
    у опа доска
    QQ
    KKT2
    88669
    мы на батоне ху

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

    соответственно твой алгоритм должен сформировать 3 вея , 3 дорожки ходов ...
    1)это А в середину
    2)это 2 в середину
    3)это 3 в середину
    считать 3 мат ожидания и то которое больше , ты можешь его выбрать для хода ...

    теперь как это сделать
    1. запускаем полный перебор совершая все возможные ходы тут их 3 шт * на 2 т.е. всего 6 разных ходов
    1)А в середину двойку наверх
    2)А в середину тройку наверх
    3)2 в середину А наверх
    4) 2 в середину 3 наверх
    5) 3 в середину А наверх
    6) 3 в середину 2 наверх

    они образуются сами собой при полном переборе ...

    2. самое сложное , хранить дерево решений и накапливать евшку ...
    в симуляторе допустим мы САМИ составляем дерево решений , грубо говоря у нас 3 аута на туза ... смотрим вероятность прийти 3 аутов , смотрим мо жидание лайнов полученных умножаем все = ЕВ( с тузом в середине)
    второй вей так же смотрим вероятность прийти раннер двух пар или сета в середину при 9 аутах или при 8 аутах , смотрим на старшенство лайнов полученных против руки опа , умножаем все это и получаем = ЕВ ( с раннерами на две в середину)
    сравниваем =бинго

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

    общее дерево решений составить не сложно , это полный перебор всех возможных ходов
    в данном случае 6 шт )
    обобщенное дерево чуть сложнее ... нам предстоит выбрать комбинации которые совпадают в общем дереве решений и дают одинаковые руки без учета кикеров ... банально у нас А 2наверх ветвь = А3наверх ветви ... на самом деле это разные ветки но тебе их всех хранить будет сложно для этого и нужны сотни гигабайт оперативной памяти при решение китайского
    поэтому мы упрощаем и делаем А в середину это ветка А2наверх + А3 наверх

    и ветка Анаверх = Анаверх3всередину + Анаверх 2 в середину ... но тут кстати они должны отличаться потому что двоек два аута я сделал и троек 3 аута

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

    как то так для начала

    3AG9JFOEDiI.jpg
    Сообщение отредактировал c00l0ne - 7.3.2019, 15:33
    52/882
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 7.3.2019)
    у опа доска
    у опа

    ты слишком привязался к руке оппонента. Это следующий порядок "точности" разложения по сравнению с разложением руки относительно себя самой.

    Цитата (c00l0ne @ 7.3.2019)
    вот попробуй решить такую задачу , ставить ли туза или задвигаться в раннер две пары

    шта? Ты имеешь в виду, клать ли туза в топ или в мидл?? Зачем тебе рука соперника...тебе важнее не совершить ошибку на минус 2-3 куша(условно), то есть собрать руку с фантазией. А не заморачиваться, получишь ты скуп или нет
    93/741
    Ответить Цитировать
    0
  • БиллиУбили, если тебе что то не понятно , задавай вопросы

    пс я описал решение задачи дефолтным методом для такого рода задач : "поиском по дереву монте-карло "...

    НО так можно решать задачи с ПОЛНОЙ ИНФОРМАЦИЕЙ, а у нас тут покер , мы не знаем что оппонент выкинул и с какой вероятностью он это делает ... это уже совсем другая история...
    так же мы не учитываем руку оппонента , не учитываем его оптимальный розыгрышь ... т.е. в идеале
    ЭТУ ЖЕ ПРОЦЕДУРУ РЕШЕНИЯ мы должны провести нашему оппоненту ... в дальнейшем играть по оптимальному решению в симуляторе и уточнять наши можидания ... это похоже на процесс , как учится играть альфазеро ... нейронная сеть ...

    она очень плохой солвер содержит ... гоняет на нем раздачи в го в шахматы ... +подключает перебор полный + поиск по дереву монтекарло ... уточняет решение и в итоге мы видим как она громит шахматы в хлам ... показывая что то новое веселое агрессивное и все ВАУ... думаю в китайском в частности и в покере в общем то же самое произойдет ... когда им займутся лучшие умы нашей планеты ...
    Сообщение отредактировал c00l0ne - 7.3.2019, 15:54
    53/882
    Ответить Цитировать
    0
1 10 11 12 13 32 114
1 человек читает эту тему (1 гость):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.