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

Последний пост:26.11.2023
22
1 3 23 24 25 26 45 114
  • Ждите вечером перезапилю видос... Посмотрим на скорость расчета, если Жак не будет доделывать, сам доделаю , декомпилятором делфей и дизассемблером пользоваться умею
    90/882
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 11.12.2019)
    В быстродействии победит combo(card1,card2,card3,card4,card5), массив около 3гбайт получится

    лол. Ты программу качал? Там таблица на 26МБ. И вот нужно 5ью запросами получить информацию оттуда.
    Слышишь меня? Никаких сложений и умножений. Только запросы , только хардкор
    Это спортивное программирование, детка

    Цитата (c00l0ne @ 11.12.2019)
    Жак не будет доделывать, сам доделаю

    и мне код не забудь сбросить. Можно даже без комментариев ))
    190/741
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 11.12.2019)
    Ждите вечером перезапилю видос... Посмотрим на скорость расчета, если Жак не будет доделывать, сам доделаю , декомпилятором делфей и дизассемблером пользоваться умею


    На авторские права замахнулся? Смотри, посодют
    12/17
    Ответить Цитировать
    0
  • Цитата
    Сколько раз из твоих прогонов 100000 случайных 3+3+3+3 рука собирает фантазию.

    Пример тебе использования математики: Ев 10 скуп 10 роялти тока с фант:
    Ев = роялти1*p-скуп1*(1-p)
    Где р вероятность фантазии:
    P= (скуп1+Ев) / (роялти1+скуп1)
    Подставляем
    P= 20/31= 0.64
    64 процента фант в той задаче видит у него софт... Что является цифрой завышенной...

    DmNass, тссс
    91/882
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 11.12.2019)
    64 процента фант в той задаче видит у него софт...

    Это в той, где он(она) полностью вниз бахнул(а)? Очевидно, что 64 процента фант ну никак не набрать с такого разложения. Повторяю, АК лежат внизу(!) (почти что в гробу)
    191/741
    Ответить Цитировать
    0
  • БиллиУбили, раннер дамы дадут и сеты я же выше писал, в совокупности, а должно быть процентов 25-30 , если последовательно собирать раздачу, что-то с алгоритмом значит не то, вечером проинспектирую, убью часик жизни еще
    92/882
    Ответить Цитировать
    0
  • Уважаемый Jak! А что если вы подключитесь к стриму(конференции?), который организует c00l0ne? там в прямом эфире вы продемонстрируете и объясните правильную работу программы.
    Ответите на вопросы из чата...Да и ваш голос можно подрубить.
    А?
    Цитата (c00l0ne @ 11.12.2019)
    раннее дамы дадут и сеты я же выше писал, в совокупности

    Продолжаешь бредить? Я тебе дам 12 карт сразу(одним набором) - набери из них сет И (QQ+)
    даже в таком случае больше очка не получишь
    192/741
    Ответить Цитировать
    0
  • БиллиУбили, набери совокупность в Вики...определение
    Никого на стрим приглашать не собираюсь...
    Все что Джек мог он сказал уже своей программой...за что ему спасибо...
    93/882
    Ответить Цитировать
    0
  • c00l0ne, какие ещё такие совокупности. Ну, хорошо, не хочешь собирать сет младше 777 в мидл - собирай 2 пары или пару старше QQ(тогда фантазия только на паре, не сете). Можешь 4 дамы вподряд попробовать поймать.
    Это и есть вся совокупность вариантов набрать очки.
    193/741
    Ответить Цитировать
    0
  • 2 Jak, вы не хотите записать обучающее видео? Какие параметры нужно/можно менять, как получать правильные результаты?
    ЗЫ на угрозы блеф c00l0ne не обращайте внимание. Куда ему диссасемблить код. Он же математик.
    194/741
    Ответить Цитировать
    0
  • БиллиУбили, программист- математик)

    ДД придут 27%, КК 16%, АА 16%, в совокупности 59% плюс сеты...
    94/882
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 11.12.2019)
    Набросал тут 3 варианта определения силы комбинации
    Вариант А:
    int sily_komb[10000];
    int prosto[] = { 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37};
    int komb[] = { rand()%14, rand()%14, rand()%14, rand()%14, rand()%14};
    long id = 1.0;
    for(int i=0; i < 5; i++)
    {
    id = id*(long)prosto[komb[i]];
    }
    int sila_komb = sily_komb[id%9999];

    Вариант Б:
    int sily_komb[10000];
    int komb[] = { rand()%14, rand()%14, rand()%14, rand()%14, rand()%14};
    std::vector<int> mykomb (komb, komb+5);
    std::sort(mykomb.begin(), mykomb.begin()+5); //сортировка по возрастанию
    id = komb[0]*28561 + komb[1]*2197 + komb[2]*169 + komb[3]*13 + komb[4];
    int sila_komb = sily_komb[id%9999];

    Вариант В:
    int sily_komb[10000];
    int komb[] = { rand()%14, rand()%14, rand()%14, rand()%14, rand()%14};
    qsort(komb, 5, sizeof(int),comp1); //здесь comp1 - стандартная функция сравнения
    id = komb[0]*28561 + komb[1]*2197 + komb[2]*169 + komb[3]*13 + komb[4];
    int sila_komb = sily_komb[id%9999];


    Как думаете, кто победит в быстродейстии?

    Вариант А не подходит, слишком большие числа вылазят.
    Вариант Б = варианту В ~ 1кк "комбинаций" в сек. Это с rand(), без него ещё быстрее.
    Ищем от добра добра или двигаемся дальше?
    195/741
    Ответить Цитировать
    0
  • БиллиУбили, таблицы для лохов?
    Сделай combo(13,13,13,13,13) 1 мб займет , флеш отдельно определишь...
    Триллионоквадрилтоныы комб в сек наверное)
    Ты за полгода так и не сделал это... Это настораживает...
    95/882
    Ответить Цитировать
    0
  • Господи, как хорошо, что я гуманитарий.
    2/7
    Ответить Цитировать
    3
  • Цитата (c00l0ne @ 11.12.2019)
    Ты за полгода так и не сделал это... Это настораживает...

    Что именно я не сделал? ну, побоялся выносить таблицу в отдельный файл. Потом считывать её...
    Ну, теперь пришлось. Улучшение с 50к/сек до 1кк/сек.
    Надо ещё увеличивать или и так пойдёт?

    Цитата (c00l0ne @ 11.12.2019)
    Сделай combo(13,13,13,13,13)

    тебе же Jak писал...твои советы типа зачем все варики считать... Лучшие отметил и уточняешь их...
    поражают своей неграмотностью. Ведь именно это он и делал.
    Чтобы посчитать combo(13,13,13,13,13), надо привести линию к данному формату, а это 5 арифм. операций. Казалось бы мелочь, а они накапливаются.

    2 Marauder62, тебя это тоже касается
    Цитата (Marauder62 @ 10.12.2019)
    Вариант А:

    => flush?
    Да: идем в таблицу flush и ищем
    Нет: идем в таблицу noflush и ищем

    Проверка на флаш это от 2ух до 10 арифм. операций(для представления карт в виде чисел от 1 до 52). Надо такой вариант делать, или от совет из разряда манямечт(без обид, серьёзно спрашиваю)?
    Цитата (Marauder62 @ 10.12.2019)
    Нет: идем в таблицу noflush и ищем

    А здесь какая таблица имеется в виду? [52][52][52][52][52]? что мы выиграем, от того, что для флаша у нас будет отдельная таблица? Какая разница, искать силу линии 50-14-2-8-9 в общей таблице или сначала определить флаш это или не флаш и искать в таблице флашей?
    196/741
    Ответить Цитировать
    0
  • БиллиУбили, ты мозг взрываешь... Никаких арифметических операций там не требуется, ещё один массив который преобразует от 1 до 52 в 1 до 13 , флеш определяется бинарными операциями

    Пс тебе не кажется если ты такие мелкие технические аспекты проекта не можешь решить, то тяжёлые анпоссибл будут.
    96/882
    Ответить Цитировать
    0
  • c00l0ne, что за мелкие аспекты? Тебе профи(не я) чётко написал: 5 запросов в массив.
    А ты начинаешь умничать "флеш определяется бинарными операциями"...Дальше-то что? В чём выигрыш определять флаш в линии/не флаш и, если флаш, искать силу комбинации в отдельной таблице?
    Какой это даёт выигрыш в производительности?
    197/741
    Ответить Цитировать
    0
  • БиллиУбили, забей, я написал если не хочется 3гб таблицами пользоваться , можно сократить их выше приведенным способом.
    После того как мы получим комбу и кикеры... проверяем на скуп и считаем роялти если не скуп, добавляем вес к ветке Монте Карло...как только накопился достаточный вес сравниваем и добавляем выше вес и т.д. до самого стартера...
    Так мы получим решение задачи "собрать макс роялти ". Кстати это не оптимальное решение, потому что мы не учитываем комбы оппонентов.
    Такую прогу я разберу с ожиданием 0.3-0.5 кушей...
    а я не самый сильный рег в Китайском...
    в течении минут десяти(чай заварится) стартану стримчанский https://twitch.tv/c00l0ne
    попробуем с софта Джека выжать фсе) сравним с точно посчитанными стартерами karra
    Сообщение отредактировал c00l0ne - 11.12.2019, 14:59
    97/882
    Ответить Цитировать
    0
  • Ну, в принципе вариант перейти к 13-13-13-13-13 не так уж и плох...Есть смысл сначала прогнать каре, пару, пара+пару, а если там выпадет зеро, то дополнительно прогнать стрит и флаш.
    Флаш быстро слетит, для стрита придётся сортировать, но и для проверки можно обойтись без таблицы.
    Может под 5 запросами Jak и имел в ввиду проверку на
    1) каре, 2) фулхаус, 3)тройка, 4) пара+пара, 5)пара?
    //стрит флаш и роял флаш пока покурят в сторонке. Пойдут как обычные флаши


    Цитата (c00l0ne @ 11.12.2019)
    в течении минут десяти(чай заварится) стартану стримчанский

    как с тобой голосом-то связаться? через дискорд?
    198/741
    Ответить Цитировать
    0
  • БиллиУбили, ждём уроки сделаю с племянником

    БиллиУбили, можно в дисководе но имеет ли это смысл, мы с тобой как то пару часов пообщались...

    LIVE! https://twitch.tv/c00l0ne
    ждем когда она посчитает ... потом стартану ...
    Сообщение отредактировал c00l0ne - 11.12.2019, 15:56
    98/882
    Ответить Цитировать
    0
1 3 23 24 25 26 45 114
1 человек читает эту тему (1 гость):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.