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

22
Статистика
Статистика
22
Статистика темы
  • Популярность
    Топ-5876
  • Постов
    2261
  • Просмотров
    153019
  • Подписок
    22
  • Карма автора
    -55
Лучшие посты автора
1 11 31 32 33 34 53 114
  • БиллиУбили @ 25.12.2019
    Красиво. А быстродействие побитового сравнения чисел не зависит от разрядности?


    с 64 битными числами быстрее всего работает , но и компилировать необходимо для 64 бит ... у проца специальные команды низкоуровневые есть для работы с 64 битными числами
    Ответить Цитировать
    144/882
    + 0
  • c00l0ne @ 25.12.2019
    как только закончатся роялти у нас уже посчитано запоминаем ... и просто делаем выход из процедуры а рекурентный алгоритм переберет все комбинации после рояля ...

    тут, наверно, надо учесть, что положив флаш вниз, каре в мидл нам уже не собрать(даже если позволяют оставшиеся карты). А флаш стоит собирать только младше. Как в рамках 64битных чисел сравнивать комбинации по старшинству?
    Ответить Цитировать
    250/741
    + 1
  • БиллиУбили, если оптимизировать записывай кикера в биты нижнего байта а комбинации в старший байт и сможешь банальным > < сравнивать комбинации, я бы так делал

    БиллиУбили,
    рекурсия сама упорядочит комбинации
    но над алгоритмом придется попотеть
    Ответить Цитировать
    145/882
    + 0
  • c00l0ne @ 25.12.2019
    рекурсия сама упорядочит комбинации

    да какая тут рекурсия? Собрав рояль на 5 картах, мы из оставшихся собираем не новую фантазию, а её жалкое подобие на 2ух линиях. Поэтому я пока думаю, искать ли просто мах кол-во очков, или собирать все варианты(там ведь и задвоения могут быть, например 8+2+0 и 6+4+0)
    Ответить Цитировать
    251/741
    + 1
  • БиллиУбили @ 25.12.2019
    да какая тут рекурсия? Собрав рояль на 5 картах, мы из оставшихся собираем не новую фантазию, а её жалкое подобие на 2ух линиях. Поэтому я пока думаю, искать ли просто мах кол-во очков, или собирать все варианты(там ведь и задвоения могут быть)


    я не понимаю твое мышление
    есть два варианта
    полный перебор комбинаций всех карт коих 1 млн из 14 карт (джек делал оптимизацией , упрощал в поиске уникальных комбинаций)
    второй вариант перебор всех комбинаций(роялей стритфлешей фулов стритов и т.д. ) и подсчет их роялти ... алгоритм которого я выше написал но затер от ботоделов
    другого не дано , еще можно петабайтную квазипетабайтную 14мерную таблицу составить ) )) но это из разряда 1000 ядер и глубокого космоса ... тогда 1 млн фантазий в сек потому что в 14 умножений решается задача )
    Ответить Цитировать
    146/882
    + 0
  • c00l0ne @ 25.12.2019
    второй вариант перебор всех комбинаций и подсчет их роялти

    простите, какой алгоритм? Это когда в мидл можно собрать любую комбинацию(из 14 карт без 5 карт низа), но потом придётся проверять, младше ли она (текущего) низа? Боюсь, ботоделы будут не в восторге. Перерасход ресурсов, однако
    Почему бы сразу не идти по (отсортированным?) комбинациям вверх от того, что у нас лежит внизу и проверять, можем ли мы их собрать из 9 карт.
    Ответить Цитировать
    252/741
    + 1
  • БиллиУбили @ 25.12.2019
    простите, какой алгоритм? Это когда в мидл можно собрать любую комбинацию(из 14 карт без 5 карт низа), но потом придётся проверять, младше ли она (текущего) низа? Боюсь, ботоделы будут не в восторге. Перерасход ресурсов, однако
    Почему бы сразу не идти по (отсортированным?) комбинациям вверх от того, что у нас лежит внизу и проверять, можем ли мы их собрать из 9 карт.


    забей
    Ответить Цитировать
    147/882
    + 0
  • c00l0ne @ 25.12.2019
    полный перебор комбинаций всех карт коих 1 млн из 14 карт

    А вот это мне нравится. Всего-то один лям. Загнал и не паришься. Никаких тебе линейных алгоритмов, рекурсии, ну иво нах.
    И, кстати, я уже знаю, как посчитав фантазию на 14 картах мгновенно посчитать фантазию на 15(14+1). Только никому не говорите
    Ответить Цитировать
    253/741
    + 1
  • БиллиУбили, это медленно и не интересно )
    Ответить Цитировать
    148/882
    + 0
  • БиллиУбили @ 25.12.2019
    И, кстати, я уже знаю, как посчитав фантазию на 14 картах мгновенно посчитать фантазию на 15(14+1)

    Хотя вру, не знаю. На 14 картах у нас может быть только 4 одномастных, а придти может 5ая в масть. Пойдут флаши...
    Ответить Цитировать
    254/741
    + 1
  • БиллиУбили @ 25.12.2019
    Хотя вру, не знаю. На 14 картах у нас может быть только 4 одномастных, а придти может 5ая в масть. Пойдут флаши...


    а рекурентному алгоритму без разницы сколько карт
    можешь всю колоду на вход подавать )
    Ответить Цитировать
    149/882
    + 0
  • Ещё одна идейка к алгоритму рекурсии. Выбрал 5 карт - собрал комбину...и пошло 2 ответвления:
    в первом ты её положил в мидл, во втором - вниз.
    Первое может закончится очень быстро: собрать комбинацию старше из 9 карт не получится ))
    Ответить Цитировать
    255/741
    + 1
  • БиллиУбили @ 25.12.2019
    Ещё одна идейка к алгоритму рекурсии. Выбрал 5 карт - собрал комбину...и пошло 2 ответвления:
    в первом ты её положил в мидл, во втором - вниз.
    Первое может закончится очень быстро: собрать комбинацию старше из 9 карт не получится ))


    зачем, мы начинаем снизу ...
    второй вызов рекурсии будет бокс номер 2
    и третий вызов рекурсии это будет бокс верхний из трех карт

    БиллиУбили, если займешься я помогу с алгоритмами) самому лень писать ... да и не нужно оно мне ...
    Ответить Цитировать
    150/882
    + 0
  • В общем, появилась идея. Берём 20(18, 25, не важно) карт(генерируем по рандому) и высылаем всем желающим. Кто первым выложит первые 10 правильных фантазий - тот и победил.
    Генерировать и высылать будет судья. Для чистоты эксперимента может быть 3 попытки.
    Ответить Цитировать
    256/741
    + 1
  • БиллиУбили @ 25.12.2019
    В общем, появилась идея. Берём 20(18, 25, не важно) карт(генерируем по рандому) и высылаем всем желающим. Кто первым выложит первые 10 правильных фантазий - тот и победил.
    Генерировать и высылать будет судья. Для чистоты эксперимента может быть 3 попытки.


    52 карты давай
    рояль рояль сет девяток 10 раз ) приз мне)
    я даже уже алгоритм придумал writeline ( " royal/royal/999")

    помню на одной олимпиаде ) чел бахнул за 0.0001 сек задачу,
    мой алгоритм сервак заглушил намертво , другой чел решил минут за 5 задачу...
    мы все поворачиваемся типо "ЧИВООООО" за 0.00001 сек ... чиво
    подходим смотрим а у него там вывод ответа тока в алгоритме ... ) вот ска) троль ... не защитали ему само собой задачу
    Ответить Цитировать
    151/882
    + 0
  • c00l0ne @ 25.12.2019
    зачем, мы начинаем снизу .

    почему? можно и сверху начинать. Ведь нет разницы, если на каком-то шаге мы не сокращаем кол-во вычислений.
    ты же сам пишешь, на 2ом шаге считаешь все комбинации, не важно, старше они или младше лежащий внизу.
    Ответить Цитировать
    257/741
    + 1
  • БиллиУбили @ 25.12.2019
    почему? можно и сверху начинать. Ведь нет разницы, если на каком-то шаге мы не сокращаем кол-во вычислений.
    ты же сам пишешь, на 2ом шаге считаешь все комбинации, не важно, старше они или младше лежащий внизу.


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

    алгоритм подобен т ому как мы люди думаем и делаем ... смотрим ага есть сильная комба ... есть к ней такая ... ну этот вариант уже ничего не перебьет поэтому ставлю ...
    рекурсивные алгоритмы похожи на наше мышление ...
    Ответить Цитировать
    152/882
    + 0
  • c00l0ne @ 25.12.2019
    начинаем со старшей покрутили пару вариков , если увидели что роялти уже сильно упало и смысла дальше варианты перебирать нет ...

    маразм...а до этого вроде толковые вещи писал. У тебя может быть стрит внизу и 2 сета, а так один фулхаус. Обрывать перебор можно только на безусловных условиях, а не на том что тебе там кажется.
    Роялити сильно упало, вот даёт, блин
    Ответить Цитировать
    258/741
    + 1
  • БиллиУбили @ 25.12.2019
    почему? можно и сверху начинать. Ведь нет разницы, если на каком-то шаге мы не сокращаем кол-во вычислений.
    ты же сам пишешь, на 2ом шаге считаешь все комбинации, не важно, старше они или младше лежащий внизу.


    я уже потер но там было на п.1 мы вызываем для след бокса в п.1
    но на п.2 мы вызываем для след бокса п.2 , мы не можем уже вернуться в п.1 и найти старше комбинацию чем до этого нашли
    Ответить Цитировать
    153/882
    + 0
  • c00l0ne @ 25.12.2019
    но на п.2 мы вызываем для след бокса п.2

    ну, вызываем и хорошо. Мы же ищем ВСЕ комбинации? Тогда почему нижний бокс получил какую-то сакральную роль? Спокойно можно также начинать и с верхнего, и со среднего...где сокращение перебора-то?
    Когда c00l0ne показалось, что хрен он на оставшемся боксе наберёт очки?
    Простите, но это ерундистика какая-то
    Ответить Цитировать
    259/741
    + 1
1 11 31 32 33 34 53 114
1 человек читает эту тему (1 гость):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.