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

23
Статистика
Статистика
23
Статистика темы
  • Популярность
    Топ-6110
  • Постов
    2,261
  • Просмотров
    184,240
  • Подписок
    23
  • Карма автора
    -45
1 65 66 67 68 114
  • c00l0ne @ 27.3.2020
    БиллиУбили, ну это просто бенчмарк на скорость проверить ... из скольки карт 1 раздачу в 1 сек , фо фан
    кстати написалось все за 2 дня но 1600 строчек из них половина копипастом ... таблицы HR не использовал так и ... бинарно все комбы определил

    бинарно все комбы определил
    Пиши почаще, ты занял свою нишу ))
    Как там калифорнийские сервера...не загудели взвизгнули от нагрузки? )
    Ответить Цитировать
    554/741
    + 0
  • БиллиУбили, лол ... 1 ядро
    Ответить Цитировать
    387/882
    + 0
  • Ничего не писал.
    Меняю только 2 числа: слева кол-во, справа карт в фанте. Еще правее - время. 1 поток.
    Тоже бинарно, причем точное кол-во комбинаций на всех линиях с учетом повторов (что предпочтительней, чем просто очки за фанту).






    Ответить Цитировать
    126/314
    + 0
  • Jak, не плохо ) теперь джокеры добавь

    14 картные сейчас сравним , я правда подзабил не оптимизировал еще ...


    причем точное кол-во комбинаций на всех линиях с учетом повторов (что предпочтительней, чем просто очки за фанту).

    это же просто статистику посчитать ...
    10k 1.6s
    2_r3Y8ghRq6f0b9JJlLvcA.png
    Ответить Цитировать
    388/882
    + 0
  • Нафига они нужны?
    Где в такой китай играют? Ни разу не видел.

    c00l0ne @ 27.3.2020
    это же просто статистику посчитать ...

    да, но проверять надо все варианты, а не только первые попавшиеся.

    c00l0ne @ 27.3.2020
    я правда подзабил не оптимизировал еще ...


    никакой оптимизации - тупо генерация карт, 3 вложенных цикла, перебор и суммирование результатов и на экран ответ.
    тексту пох кол-во, что 14 карт, что 42.
    первая случайная карта, потом цикл от 2 до N.
    Ответить Цитировать
    127/314
    + 0

  • да, но проверять надо все варианты, а не только первые попавшиеся.


    а ну это лишнее по мне так
    скуп то посчитал ты ?

    Jak @ 27.3.2020
    никакой оптимизации - тупо генерация карт


    я про себя , тебе нечего оптимизировать HR5 достаточно оптимизирован

    Jak @ 27.3.2020
    Нафига они нужны?
    Где в такой китай играют? Ни разу не видел.


    в приложениях давно играют
    Ответить Цитировать
    389/882
    + 0
  • c00l0ne @ 27.3.2020
    а ну это лишнее по мне так

    Билли тоже писал про млн/сек фант, а когда ты его попросил показать результаты по линиям, чего сколько насчитал, он замолчал, т.к. нет таких данных. он просто увидел первый расклад>0 - и считал, что фанту разложил.
    т.е. брал вниз максимум, потом в мид макс из того, что осталось, ну остатки в топ, а это неверно. скорость большая, а результат неверный.
    Ответить Цитировать
    128/314
    + 0
  • Jak, лол ...
    не, у меня полный перебор комб ... до разумной глубины ... например
    если два фула поставили мы не будем перебирать (две пары две пары пару) комбы и подобное

    Jak @ 27.3.2020
    результат неверный


    вслух такое не говорят при биллиубилли
    Ответить Цитировать
    390/882
    + 0
  • Первый результат. 100 разложений в секунду.
    - 14 карт
    - всего 5 рангов комбинаций, кикеров нет(принципиально это ничего не меняет)
    - если возможны несколько разложений с одинаковым кол-вом очков(разные комбинации в разных боксах), находится первое(попавшееся)
    - находится только первый вариант разложения, далее выход из цикла

    Ну, если добавить больше рангов , думаю, те же 40 фант\с и получится.


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

    Не знаю, зачем ты придумываешь.
    1. Если я и говорил о скорости, то только при ненагруженном дереве. Да, замер был. Но только чтобы двигаться дальше.
    2. С чего ты взял, что я кладу "максимум вниз и далее"? Совершенно очевидно, что максимум очков для всех боксов не означает максимум очков в нижнем(и так далее)
    Ответить Цитировать
    555/741
    + 0
  • БиллиУбили @ 28.3.2020
    - находится только первый вариант разложения, далее выход из цикла

    тут ещё -в топе 5 карточная комбинация, что также ничего ровным счётом не меняет


    Jak @ 27.3.2020
    да, но проверять надо все варианты, а не только первые попавшиеся

    Этот дело говорит. Теперь, когда фанта раскладывается, можно вернутся к вопросу разложения стартера. Возьмём, для понимания, 1 карту и 3 бокса.
    Предположим, мы получили следующие результаты.
    1ый набор(14 карт), карта попала в мидл, очков - 18
    2ой набор(14 карт), карта попала в мидл, очков - 16
    3ий набор(14 карт), карта попала вниз, очков - 11
    и так далее.
    Суммируем очки, получается: топ - Х очков, мидл - У, низ - Z.
    Значит ли это, что мы должны класть S1 в линию с макс. суммой очков?
    Возьмём теперь 2 карты.
    Если мы посчитаем аналогично одной карте, то мы получим что-то навроде S1\S2\--
    Но! Если мы посчитаем не просто фантазию, но и на 1-2 шага "хуже"(очков меньше), то может ли получится ли такая ситуация, что компромиссный вариант(например, S1S2\--\--) наберёт в сумме больше, чем максимумы(по очкам) в отдельности?
    Ответить Цитировать
    556/741
    + 0
  • БиллиУбили, давно хотел написать.

    Как только ты написал про метод расклада стартера через фантазию, я это сразу проверил. Заняло полчаса. Ты уже почти 2 месяца вату катаешь, и еще даже не сдвинулся с места. Как так можно писать программу? По 1 строке в день?
    Покрутил и так и так ( и 14 карт фанты, и 13 карт, и 17 карт), да дает что-то лучшее вверх, но на некоторых вариантах даже не совпадает с разумным раскладом. Это не вариант стартера, а вариант какие карты из стартера лучше сидят на линиях при фанте.

    В общем - это тупиковый путь. Ищи другой вариант расклада стартера.

    Мое мнение - нужно эмулировать игру свою и оппов и смотреть у какого варианта стартера лучше продолжение.
    Ответить Цитировать
    129/314
    + 0
  • Jak @ 28.3.2020
    Как так можно писать программу? По 1 строке в день?

    извини, друг. Пишу, как могу

    Jak @ 28.3.2020
    да дает что-то лучшее вверх, но на некоторых вариантах даже не совпадает с разумным раскладом

    Приведи пример, плиз. Поверь мне, если что-то не совпадает с "разумным" разложением, это только подтверждает, что мы на правильном пути(кроме явно экстремальных разложений, типа 3 карты в топ). Я не шучу
    Jak @ 28.3.2020
    Это не вариант стартера, а вариант какие карты из стартера лучше сидят на линиях при фанте.

    И? Почему на большой выборке эти варианты не должны совпасть? У тебя есть какое-то логическое/математическое объяснение?
    Jak @ 28.3.2020
    В общем - это тупиковый путь. Ищи другой вариант расклада стартера.

    Подожду, может кто ещё напишет ответы на мои вопросы 1310

    И если позволишь, 2 вопроса от меня.
    1. В каком виде ты хранишь комбинацию в массиве HR5?
    А точнее, хранишь ли ты
    а) ранг комбинации
    б) все 5 кикеров
    тут проблема в том, что 5 кикеров не нужны для всех рангов, но, с другой стороны, неунифицированное хранение - как-то не комильфо, согласен?
    2. Есть ли у тебя опция разложения фантазии, как обычной руки(или фантазия с повтором за QQ+ в топе)? Сколько раз в % удаётся уйти на "повтор"?

    2ALL
    Ребятушки, помогайте. Ну, вот мыя нахожусь в такой парадигме, что получаю карты подьёмов одновременно и делаю разложение в режиме "фантазия", которое даёт и разложение карт стартера. Хрен с ним, с программированием. Как мне вообще найти "оптимальное" разложение, по какому критерию? Если делать по одной карте(карта за картой), то может получится так, что вторая карта в линию испортит всё для первой и наоборот(то есть вместе их лучше не класть).
    Есть какие-то прикидки? Пока ничего в голову не приходит...
    Ответить Цитировать
    557/741
    + 0
  • Переписал пару функций без использования контейнеров. Проект разок крашнулся. Вот оно удобство...платим за него уменьшением производительности, кто бы мог подумать...

    Ну, будем двигаться от просто сложного. Предположим, что нам стоит положить ровно 2 карты стартера в нижний бокс (совсем ничего класть опасно, можем собрать ничего. класть более 2ух карт тоже опасно, а то вдруг за оставшиеся подьёмы там нарисуется комбинация старше).
    Таким образом, нам нужно проверить С(5,2) = 10 вариантов. Проверить - это прогнать 100К разложений в режиме фантазии. То есть, если мы кладём 89 в надежде собрать стрит+, то по итогу прогонов мы "наберём" ХХХ очков. Если же мы положим QKодномастные(из того стартера, где 89), то по итогу прогонов мы "наберём" YYY очков. Где очки больше, то разложение стартера и предпочтительнее. Положив 8К, мы, естественно, ни флаш, ни стрит не соберём...этот вариант будет аутсайдером по очкам.
    Ну, а если такая петрушка работает на 1ом боксе, то она должна заработать и на всей руке. Так думаю.
    Ответить Цитировать
    558/741
    + 0
  • БиллиУбили @ 27.3.2020
    Погоди, на выходных доделаю

    все оценили шутку?

    Второй результат. Теперь мы не просто находим максимум очков, но и подсчитываем кол-во вариантов. К сожаленью, пока один и тот же набор. Рекурсия. Варианты находятся, но не сохраняются.
    те же ~100 разложений в секунду, может чуть меньше.
    Полный перебор до сих пор борется с рекурсией. Парадокс заключается в том, что на проверку доп. условий уходит столько же времени, сколько времени они призваны сэкономить. Ну, да ладно.

    Надеюсь, теперь дорога на Берлин разложение стартера открыта. По моим прикидкам, фиксация карт(в боксах) даёт настолько мощные ограничения, что поиск "разложения стартера" должен быть не намного дольше, чем разложение собственно фантазии.

    Ещё раз прошу всех желающих поделиться соображениями "как надо делать". Кулончик, тебе отдельно 5$ за годную идею, если таковая будет
    Ответить Цитировать
    559/741
    + 0
  • БиллиУбили @ 30.3.2020
    поиск "разложения стартера" должен быть не намного дольше, чем разложение собственно фантазии.

    для одного набора карт, естественно. А сколько их понадобится, это уже вопрос...
    Ответить Цитировать
    560/741
    + 0
  • БиллиУбили @ 30.3.2020
    отдельно 5$ за годную идею


    5$ работаем пацаны, дома в изоляции от коронавируса...

    Ну что тебе посоветовать на пять баксов... Возми более простой пример для начала... Ситуацию последних ходов...
    Из колоды выброси половину карт...
    Или придумай упрощённый вариант ананаса...
    Например есть флешовые, есть парные карты и есть пары для фантазии... Попробуй... Наверху 2 места под карту , внизу и середине 4 4 карты .. Флеши и стриты из 4 карт... Ходим по 2 карты без сброса
    Фантазия только тузы

    Стартер теми средствами и ресурсами которыми ты владеешь не решить

    Слишком глубоко для перебора
    Нужны новые технологии rl и nn

    Я пока подзабил на покер... В АйТи может уйду
    Ответить Цитировать
    391/882
    + 0
  • c00l0ne, стартер с трёх карт забыл добавить
    Ответить Цитировать
    392/882
    + 0
  • c00l0ne @ 30.3.2020
    Я пока подзабил на покер... В АйТи может уйду

    Погоди, вместе пойдём. Надо только проект закончить. Чтобы было, что показывать )
    Глянь, чо люди делают
    Ответить Цитировать
    561/741
    + 0
  • c00l0ne @ 30.3.2020
    Слишком глубоко для перебора

    Мне твой ответил напомнил анекдот
    Москва. Центр. Стоит мужик в пробке. Вдруг стук в окно. Опускает стекло и спрашивает, что надо.
    - Понимаете, террористы взяли Путина в заложники и требуют 10 миллионов долларов выкуп, иначе они обольют его бензином и подожгут. Мы решили пройти по машинам, кто сколько даст.
    - Ну... я литров 5 могу дать...

    Я и не собираюсь находить абсолютно точное разложение стартера. Речь идёт о том, чтобы найти приближённое решение. Основанное на единственном(пока) инструменте: достаточно быстром разложении фантазии. Думай ещё.
    Ответить Цитировать
    562/741
    + 0
  • Так, что я сделал. Выбрал наугад 5 карт. Потом выбрал 10 вариантов положить 2 из них в нижний бокс. И прогнал на двух случайных наборах по 9 карт.
    В первом прогоне отсеялось 2 разложения(они набрали 0 очков), во втором - уже 8(!)
    Таким образом, даже по результатам двух прогонов определился "победитель": он набрал очки и там, и там.
    Данный эксперимент хромает, у меня пока что 7 рангов, которые я отслеживаю.
    Но положить 2 одномастные карты оказалось выгоднее всего )
    Что скажете, продолжать в этом направлении?
    Ответить Цитировать
    563/741
    + 0
1 65 66 67 68 114
1 человек читает эту тему (1 гость):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.