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

22
Статистика
Статистика
22
Статистика темы
  • Популярность
    Топ-5876
  • Постов
    2261
  • Просмотров
    153048
  • Подписок
    22
  • Карма автора
    -55
Лучшие посты автора
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, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.