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

Последний пост:26.11.2023
22
1 49 69 70 71 72 91 114
  • Увы, ни "КартаХай", ни "Пара" в большое(5карточное) дерево не влазят. Придётся искать их в маленьком. Можно было бы, конечно, последовать совету Jak и программировать "по-максимому", но я вижу только один вариант, когда это может дать сбой(вариант 0 очков за фантазию отбросим): --\\. В таком случае придётся перейти на сравнение вручную.
    600/741
    Ответить Цитировать
    0
  • Я в начале пишу программу "по-максимуму", максимально точно и правильно, без всяких упрощений чтобы получить максимально точное/правильное решение. После того, как точное решение найдено, пусть очень медленно, начинаю думать как можно упростить/ускорить.
    А ты сразу начинаешь упрощать ("тут можно кикеры отбросить", "это можно сделать по-проще", "экономим память", "за то быстро" и тд) в надежде, что это не сильно повлияет на результат. А ведь ты даже не знаешь правильный результат!
    132/314
    Ответить Цитировать
    0
  • Цитата (Jak @ 6.4.2020)
    После того, как точное решение найдено

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

    Думаю пойти по пути c00l0ne. Отдельно рассматривать масть и достоинство карт.
    Тогда получится две проверки: одна для достоинств и другая для (совпадения) масти.
    Плюсы: деревья значительно сократятся
    Минусы: возрастёт сложность кода
    Кто знает, операция "%13" - ресурсозатратная или нет?

    ЗЫ Кулончик, жду экспертное мнение )
    601/741
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 6.4.2020)
    Кто знает, операция "%13" - ресурсозатратная или нет?


    ОЧЕНЬ затратная. Одного байта как раз хватает на красивое представление по одному биту на масть и 4 на силу карты.
    4/6
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 6.4.2020)
    операция "%13



    а ты смотрю не потерял "свое" )))
    моя бабушка говорит "обращение в массив мало затратная операция"
    Цитата
    mast(number_card)


    xYgXBPoLIGU.jpg


    Цитата (БиллиУбили @ 6.4.2020)
    Думаю пойти по пути c00l0ne


    пути кулона неисповедимы ...
    я так то забил ... но ты можешь спрашивать за 5$ :)

    Цитата
    Кулончик, жду экспертное мнение )

    +5$ ?
    тебе оно не понравится , но вся твоя сущность программистская состоит в том что ты избегаешь сложных проблем , которые взялся решать ...

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

    вот если взять меня ... я конечно мало программирую (2-3k в мес строк), да и последние годы обленился что то новенькое для себя подчеркивать и почитывать ... но тут увидел что ребята уже кодят ... решил почитать подтянуться ... начни с матчасти ... набери Monte carlo tree search ... это то что ты пытаешься сделать ...

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

    поэтому возвращаемся к MCTS ... для которого нужны мощностя или упрощения ...
    прошел год ... дерево построено ? нет ... какое то жалкое подобие ....
    поиск по дереву запущен ? нет ... дерева то нет ...
    функция апроксимации готова ? нет ...
    пля чем ты знамаешься там ? уволен


    надеюсь это тебя замотивирует на более глубокие шаги чем спрашивать какой перфоманс у % деления
    Сообщение отредактировал c00l0ne - 6.4.2020, 23:23
    414/882
    Ответить Цитировать
    1
  • Jak, ты лучше расскажи кто с твоим софтом и где играет ?) желательно ники
    415/882
    Ответить Цитировать
    0
  • Да просто же всё. Пусть 13 карт - 13 char символов от 0x40 до 0x4F
    Тогда достоинство карты - K & 0x0F
    А "масть" - K & 0xF0
    Соответственно, проверка на флаш
    (K1 & 0xF0) == (K2 & 0xF0) && (K1 & 0xF0) == (K3 & 0xF0)

    c00l0ne ну, не стукай не проецируй свои комплексы на окружающих
    602/741
    Ответить Цитировать
    0
  • c00l0ne, даже если б я знал "кто и где", думаешь сказал бы тебе? тем более тут
    Ты меня в discord забанил ...
    133/314
    Ответить Цитировать
    0
  • Тройки в маленьком дереве

    222 9200
    333 9300
    444 9400
    555 9500
    666 9600
    777 9700
    888 9800
    999 9900
    AAA 9a00
    BBB 9b00
    CCC 9c00
    DDD 9d00
    EEE 9e00
    603/741
    Ответить Цитировать
    0
  • "Всего" 156 пар и 286 картахай. Гигабайты превращаются в килобайты
    604/741
    Ответить Цитировать
    0
  • Цитата (Jak @ 7.4.2020)
    Ты меня в discord забанил ...


    oO хорошо что я это узнаю последним)
    Никого не банил...
    416/882
    Ответить Цитировать
    0
  • c00l0ne, а как называется, когда доступ ко всем веткам закрыт? кроме флудилки с рекламой?
    Цитата (c00l0ne @ 7.4.2020)
    Никого не банил...
    134/314
    Ответить Цитировать
    0
  • Цитата (Jak @ 7.4.2020)
    c00l0ne, а как называется, когда доступ ко всем веткам закрыт? кроме флудилки с рекламой?


    видимо для всех сервак закрыт ...
    решил закрыть )
    и "флудилка" в том числе , на которой не было рекламы ... ты на каком то другом видимо сервере кулона))) о котором я не знаю
    na-DR7QIR7StdI3X1qfEHA.png
    417/882
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 6.4.2020)
    Да просто же всё. Пусть 13 карт - 13 char символов от 0x40 до 0x4F
    Тогда достоинство карты - K & 0x0F
    А "масть" - K & 0xF0
    Соответственно, проверка на флаш
    (K1 & 0xF0) == (K2 & 0xF0) && (K1 & 0xF0) == (K3 & 0xF0)

    c00l0ne ну, не стукай не проецируй свои комплексы на окружающих


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

    поэтому тебе достаточно создать класс набор карт и считать по мере добавления масти и устанавливать флажок , есть флеш нету , есть флеш дро или нету и т.д.
    в итоге проверка банально будет if checkFlash then
    if straightDro8outs
    if straightDro4outs и тд.д

    с тебя 5 $ :)
    418/882
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 7.4.2020)
    видимо для всех сервак закрыт ...
    решил закрыть )
    и "флудилка" в том числе , на которой не было рекламы ... ты на каком то другом видимо сервере кулона))) о котором я не знаю


    Ну мне доступ закрыл еще когда все работало.

    А во флудилке только и видно, что иннер начал играть, да сторо. кому это надо? это не реклама?
    135/314
    Ответить Цитировать
    0
  • Jak, ты не поверишь но за то чтобы эти анонсы стримов покерных были, я платил в мес подписку за бота MEE6 по 5 баксов

    Цитата (Jak @ 7.4.2020)
    Ну мне доступ закрыл еще когда все работало.


    Написал бы может по ошибке... Хз там какие ники у вас
    Все шифруетесь
    419/882
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 7.4.2020)
    ты все еще идешь не той дорогой

    нет, дорогой, не той дорОгой идёшь ты.
    Цитата (c00l0ne @ 7.4.2020)
    тебе нужен процесс переходящий ... от хода к ходу ...

    Будет, уже писал. Наверно, ты невнимательно читаешь.

    2 All Деревья загружены. Всего-то 2,7МБ
    Пока что меня интересует скорость определения комбинации из дерева VS скорость определения флаша
    605/741
    Ответить Цитировать
    0
  • На первое время хватит (жаль, конечно, что маской #F0F0F0 не удалось прибить)

    it=mynabor.begin();
    N = DESK[*it] & 0xF0;
    do{
    ++it;
    K = DESK[*it] & 0xF0;
    }while ( N == K );

    дальше уже пойдёт спортивное программирование
    Сообщение отредактировал БиллиУбили - 8.4.2020, 11:03
    606/741
    Ответить Цитировать
    0
  • Так, ну удалось скрестить маленькое и большие деревья в разложении фантазии.
    Серьёзно подумываю, чтобы выделить АА(КК, QQ) в отдельные комбинации(присвоить им свой ранг). Так как 2 байта(один на ранг, другой на силу комбинации) мне не осилить. Муторно это всё чрезвычайно. Это ещё хорошо, что мне надо 2-3 функции переписать. Представляю, какого там c00l0ne...
    607/741
    Ответить Цитировать
    0
  • Докладываю обстановку.
    1. Двойную рекурсию реализовать не удалось - "перебор" идёт таким способом, что отследить(отладить) его человеческим разумом не представляется возможным.
    2. Чуть полегче стало, когда на каждый бокс(=цикл рекурсии) ввёл отдельную функцию. Но всё-равно тяжко.
    3. Пришлось начинать с азов идти от простого к сложному.
    Понизил каждый бокс до 3ёх карт, начал работать только с маленьким деревом.
    В процессе рекурсии по одному боксу вызываю другую рекурсию(уже на следующий бокс).
    Пока работает. Производительность не мерил )
    В планах:
    - добавить флаш
    - состыковать 2 пятикарточных и 1трёхкарточный бокс

    ЗЫ Пока разложение фантазии = найти макс. очки и кол-во вариантов их собрать. Возможно тут полный перебор не сильно проигрывает, так как он находит сразу все возможные очки(8, 11, 12, 20 и т.д.) Посмотрим...

    ЗЫ2 Есть анекдот про Кулона программиста. Ставьте плюс - расскажу
    608/741
    Ответить Цитировать
    0
1 49 69 70 71 72 91 114
1 человек читает эту тему (1 гость):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.