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

Последний пост:26.11.2023
22
1 6 7 8 9 28 114
  • diklee, спасибо за инфу, потом ознакомлюсь.
    c00l0ne, сейчас на асме вообще почти отпала необходимость писать (за исключением редких случаев), т.к. современные компиляторы достаточно круто оптимизированы.
    7/14
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 4.2.2019)
    записываю видосик на вашу тему
    что вышло

    видео не доступно. Даже не знаю, смеяться или плакать...

    2All удалось обсчитать все варианты задачи в варианте, когда 43 идут в мидл.
    Единственно что, я не стал считать ЕВ, так как всегда считал его относительно самой руки(БЕЗ УЧЁТА ОЧКОВ РУКИ СОПЕРНИКА), поэтому скуп и 0 очков для меня равноценны. Как правильно, может "живой" руке давать полочка? или скупу давать -6?
    Завтра я закончу вариант с 8 вниз и смогу посчитать общее ЕВ руки с учётом предложенного вами варианта.
    ЗЫ 1898 комбинаций завершения считает за полминуты.
    ЗЫ2 Если кто-то сомневается, может оставить здесь другие карты оппонента, я посчитаю и для них.
    44/741
    Ответить Цитировать
    0
  • vs

    Кол-во возможных завершений 35960 vs 35960
    Кол-во "успешных" завершений 12180 vs 4960 (успешное = очки руки > 0, мёртые руки и руки с 0 очков не различаются)
    ЕВ "успешных" завершений 62.4 vs 33.4 очка

    Изи вин!

    Присылайте любую ситуацию в игре, где осталось 2 подьёма и я найду "правильное" разложение.
    45/741
    Ответить Цитировать
    0


  • , пришли , в сбросе
    Ваш ход?
    46/741
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 6.2.2019)


    , пришли , в сбросе
    Ваш ход?


    - верх, - средина.
    1/1
    Ответить Цитировать
    -1
  • Parazzit, лол. А почему не в середину? будет чаще старше 2 пар у оппонента. Но сейчас проверим
    47/741
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 6.2.2019)
    vs

    Кол-во возможных завершений 35960 vs 35960
    Кол-во "успешных" завершений 12180 vs 4960 (успешное = очки руки > 0, мёртые руки и руки с 0 очков не различаются)
    ЕВ "успешных" завершений 62.4 vs 33.4 очка

    Изи вин!

    Присылайте любую ситуацию в игре, где осталось 2 подьёма и я найду "правильное" разложение.


    35960 это очень очень усеченное количество завершений? Реально количество завершений мне представляется на 5-6 порядков больше. Если идет отброс веток по хитрому алгоритму, то почему он одинаковый в обоих вариантах?
    22/35
    Ответить Цитировать
    0
  • БиллиУбили,
    Цитата (БиллиУбили @ 6.2.2019)
    ЕВ "успешных" завершений 62.4 vs 33.4 очка

    Здесь чуть наврал. Чуть попозже пересчитаю.
    48/741
    Ответить Цитировать
    0
  • diklee, потому что на 4 места можно положить только 4(разные) карты ) А ЕВ зависит только от достоинств этих карт
    49/741
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 6.2.2019)
    diklee, потому что на 4 места можно положить только 4(разные) карты ) А ЕВ зависит только от достоинств этих карт

    Это полный перебор с условием отброса флешей?
    23/35
    Ответить Цитировать
    0
  • Цитата (Parazzit @ 6.2.2019)
    Ваш ход?

    *********
    ---- ***********
    против ----------
    кол-во успешных завершений
    300К+ *********** 200К+
    общее ЕВ
    2723 очка ******* 1741 очко
    Я так понимаю, это задача на "катящуюся" пару. По проге она приходит реже, чем закроется фул на

    2723 очка ******* 1741 очко ---> 6627 очков против 4138 очков (намудрил с колодой)
    Сообщение отредактировал БиллиУбили - 6.2.2019, 18:45
    50/741
    Ответить Цитировать
    0
  • Так, продолжаем перепрыгивать пропасть в 2 прыжка.
    Предыдущие расчёты были не верны, так как вместо сокращения числа комбинаций я зачем-то их увеличивал.
    Удалось увеличить число обсчитываемых подьёмов с 2ух до 3ёх. Время расчёта увеличилось от 10 до 13 раз(на 40карточной колоде). Считаю это неплохим результатом, так как код ещё можно оптимизировать и оптимизировать(от std::string я не избавился, хотя кое-где перешёл на целые числа). Теперь надо аккуратнее посчитать успешные комбинации и наконец точно посчитать ЕВ всевозможных раскладов данного примера https://forum.gipsyteam.ru/index.php?viewtopic=142685&view=findpost&p=5978018
    ЗЫ Касательно std::string. Я уже убил неделю на осознание того, что у данного класса нет конструктора по умолчанию, и это продолжает приносить определённые неудобства.
    ЗЫ Пока принципиальных ограничений на ввод флеша я не обнаружил. Но это только для одного флеша в руке. Для двух могут возникнуть проблемы...а может и наоборот, посчитает влёт.
    До связи!
    51/741
    Ответить Цитировать
    0
  • БиллиУбили, запишу тебе видео n2 как то ты не в ту степь ... кочуешь...
    34/882
    Ответить Цитировать
    0
  • Так, для примера https://forum.gipsyteam.ru/index.php?viewtopic=142685&view=findpost&p=5978018
    получилось всего ~17200 рук с EV>0. Это, конечно, не миллион и не 3млн, которые получались ранее.
    Обсчёт 3ёх подьёмов должен занять секунды.
    52/741
    Ответить Цитировать
    0
  • БиллиУбили, а почему у тебя не полная колода? И еще один вопрос: почему ты сразу пишешь прогу, не имея полной и четкой схемы алгоритма?
    Сообщение отредактировал EternalRain - 10.2.2019, 2:36
    8/14
    Ответить Цитировать
    0
  • EternalRain,
    Цитата (EternalRain @ 9.2.2019)
    БиллиУбили, а почему у тебя не полная колода?

    Почему не полная? Какая в данном раскладе осталась, такая и гоняется. В общем случае она равна (полная колода - карты игроков)
    Цитата (EternalRain @ 9.2.2019)
    И еще один вопрос: почему ты сразу пишешь прогу, не имея полной и четкой схемы алгоритма?

    Ну...потому что есть набор методов, которые надо реализовать. Как только получится понять, что они приемлемой сложности(а, значит, обеспечивают приемлемое быстродействие) - можно отладить их на ошибки и переходить к реализации блок-схемы.
    По ходу разработки я уже столкнулся с тем, что алгоритм полного, НО ТУПОГО перебора реализовать не удастся(конкретно на моём компе, может супер-комп его и осилит).
    Да, можно было прикинуть на бумажке до начала программирования, но я не обладаю достаточной квалификацией. Приходится раз за разом переписывать методы(а в конечном итоге и алгоритмы) в надежде сильно сократить варианты перебора.

    2ALL забавный случай произошёл с и . Когда я искал руки с конечным вэлью > 0 я предполагал, что в мидл будет максимум 2 пары, ну самый максимум тройка. Однако кол-во комбинаций всё возрастало и возрастало. И тут во время отладки я обнаружил стрит...захотелось протереть глаза, ведь это могло означать, что до этого написанный алгоритм подсчёта очков руки работает с ошибкой(он ошибочно позволяет класть стрит с нарушением старшинства комбинаций снизу вверх). Начал проверять...и буквально сразу наткнулся на...КАРЕ двоек внизу. Что лишний раз доказало, дельфины умнее людей что прожка не рефлексирует, а действительно считает.

    И ещё вопрос по быстродействию/оптимизации. Вот имею я код с 10 сортировками N элементов и 100*N арифметическими операциями. Сложность сортировки - NlogN. Так что оптимизировать в первую очередь?
    а) снижать сложность алгоритма сортировки(например, до N)
    б) уменьшать кол-во сортировок
    в) уменьшать N
    А что с арифм. операциями? Они блекнут на фоне сортировки? Или они тоже занимают время, но линейны по N и по этому ими можно пренебречь?

    50К готовых рук и 3 подьёма считаются за чуть менее 2 мин. Но кол-во рук доходит до 500К, поэтому таки имеет смысл переписать алгоритм для целых чисел. Чем и занимаюсь
    53/741
    Ответить Цитировать
    0
  • БиллиУбили, если ты открыт для общения можем как нибудь по скайпу замутить разбор софта твоего, правда я не силен в си, но подскажу что смогу ...
    35/882
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 10.2.2019)
    БиллиУбили, если ты открыт для общения можем как нибудь по скайпу замутить разбор софта твоего, правда я не силен в си, но подскажу что смогу ...

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

    "исключительно программированием, особенно оптимизацией алгоритмов"

    дипломчик то есть ?
    36/882
    Ответить Цитировать
    0
  • c00l0ne, нет времени на болтовню, братиш. Считай, что я - девушка без диплома
    55/741
    Ответить Цитировать
    0
1 6 7 8 9 28 114
2 человека читают эту тему (2 гостя):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.