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

22
Статистика
Статистика
22
Статистика темы
  • Популярность
    Топ-4915
  • Постов
    2,261
  • Просмотров
    173,627
  • Подписок
    22
  • Карма автора
    -45
1 104 105 106 107 114
  • Jak, браво

    Иконку ещё бы перерисовать, а то кровь из глаз от этой дефолтной

    Можете с моей Авы взять)

    Вообще иконка это чуть ли не самое главное в кастомных проектах кекв))) 

    Кому нужны ваши быстрые и точные алгоритмы, вот если такая иконка:

     

    Ответить Цитировать
    768/882
    + 0
  • c00l0ne @ 04.04.23 

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

    Ты и так говоришь, что только благодаря тебе появилась эта программа. Я ее только закодировал, под твоим руководством.  

    А если еще твою иконку поставить, то вообще...

    Ответить Цитировать
    259/314
    + 0
  • Jak @ 05.04.23 

    иконку поставить

    Ок)

    Я могу сменить аву... Просто для красоты, не обессудьте... Программа кем написана того и является...

    Идеи они приходят и уходят, а закодить получается их не всегда, в виду мильона ограничений (время, железо, желание)

    Ну или свою выберите

    В гугле 🍍 в картинках или у mid journey спросите

    Основной посыл того сообщения что архитектура процов устарела)

    Сейчас рулят расчеты на видеокартах, вот их надо осваивать... 

    Cuda в принципе не сложная, я смотрел, но алгоритм там в корне меняется...

    Но прирост производительности манит ... 

    Сколько там , тысячи потоков... Ядер cuda в видеокартах

     

    Эх на все надо время... И качественные учебный материал, чтобв самому голову не сломать ...

    Сообщение отредактировал c00l0ne - 5.4.2023, 15:12
    Ответить Цитировать
    769/882
    + 0
  • Надо сделать всё поудобнее:

    Чтобы варианты считало сразу все , расставляя по лайнам, чтобы стоимость пустой руки было и смешение было и чтобы 3 макс был ... 

    Задержку +- можете оставить в 15 сек ...

    Я в свою очередь наделаю контента с софтом... 

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

    Поэтому пока я тут , цените момент

     

    Пс увидемся за написанием солвера в холдем)

    Сообщение отредактировал c00l0ne - 5.4.2023, 16:10
    Ответить Цитировать
    770/882
    + -1
  • c00l0ne @ 05.04.23 

    Сейчас рулят расчеты на видеокартах, вот их надо осваивать...

    Cuda в принципе не сложная, я смотрел, но алгоритм там в корне меняется...

    Но прирост производительности манит ...

    Нейросетями занимался, когда было модно распознать буквы или картинки.

    Картинки и буквы научился распознавать. Мгновенно.

     

    Делал для китая сетку.

    Но она обучается очень долго. Плюс ей для обучения нужно много правильных данных. К тому же там не очень легко добавить быстрые изменения параметров (скуп, премия и т.д.) Для каждого случая надо обучать ее по новой.

     

    Вариант самообучения супер долго. Чтобы играла сама с собой. Нужны компы с 1000 ядер.

    Забросил.

    c00l0ne @ 05.04.23 

    Cuda в принципе не сложная, я смотрел, но алгоритм там в корне меняется...

    Но прирост производительности манит ...

    Просто переделать данный алгоритм на видеокарты, не знаю как переделать алгоритм. Там ведь можно только умножение матриц. А у меня перебор + логика, выбрать из 1000 вариантов лучший.

     

    c00l0ne @ 05.04.23 

    я могу компенсировать вам 200$

    Такие деньги мне не интересны. Я тут чисто по фану. Хобби мое, программировать. Голова требует мыслить. Я же писал, зарабатываю не игрой. Есть свой заводик, я владелец, он приносит прибыль.

     

    c00l0ne @ 05.04.23 

    На сим с китайским завязываю, в холдем ухожу...

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

    Ответить Цитировать
    260/314
    + 0
  • Jak @ 05.04.23 

    рулетка

    В рулетку кстати я тоже считал стратегию, как захитранить с мин бром и мин риском, в Алтае +1к с 100$ пробил, больше не играю) 

    Может кто был свидетелем, на число ставил по 1$) вино ещё разлил на стол) три раза число потом шотнул)

     

    Jak @ 05.04.23 

    Просто переделать данный алгоритм на видеокарты, не знаю как переделать алгоритм. Там ведь можно только умножение матриц. А у меня перебор + логика, выбрать из 1000 вариантов лучший.

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

    Jak @ 05.04.23 

    Есть свой заводик

    Грац

    Jak @ 05.04.23 

    Играю оффлайн и китай и покер, по фану

    Зовите пишите, продемонстрируем акулью математику)

    Ответить Цитировать
    771/882
    + 0
  • Jak @ 05.04.23 

    Вариант самообучения супер долго. Чтобы играла сама с собой. Нужны компы с 1000 ядер.

    Заблуждение, компов 5-10 с 64 ядрами в самый раз или видеокарт 4080-4090 штук пять...

    Ответить Цитировать
    772/882
    + 0
  • c00l0ne @ 05.04.23 

    компов 5-10 с 64 ядрами в самый раз

    10*64=640 это не ~1000 ядер?

    c00l0ne @ 05.04.23 

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

    Причем примитивный и короткий алгоритм. Большую логику туда на засунешь. Всякие циклы, if и т.д. В основном умножить и сложить.

    Ответить Цитировать
    261/314
    + 0
  • Jak @ 05.04.23 

    Причем примитивный и короткий алгоритм. Большую логику туда на засунешь. Всякие циклы, if и т.д. В основном умножить и сложить.

    про это не знаю 

    Jak @ 05.04.23 

    10*64=640 это не ~1000 ядер?

     

    ну не 1000 5*64 = 320 ядер но можно и меньше ... там все надо тестить и пробовать ... 

    я на стареньком компушке учил простенькие линейные перцептероны  с 8 ядрами и все получалось ... 

    там главное фиЧи нормально выбрать ...

    чтобы они не сильно грузили проц или гпу и чтобы они охватывали достаточно состояний среды ...

     

    клавиатуру такую видели ? : )

    шикака

    а у вас заводик случайно не в сфере айти ?

    Ответить Цитировать
    773/882
    + 0
  • Там мало того, что с логикой проблемы, там ведь все заточено под обработку видео, там хорошо работает умножение матриц на матрицу и на вектор. Плюс там по одному алгоритму работает 1000 ядер, только с разными данными. Т.е. надо алгоритм распараллелить так, чтобы были разными только данные. Сами ядра по одиночке очень медленные. Там нельзя при одних данных идти по if в одну сторону, а в другом потоке в другую. Все должны идти строго по одному алгоритму. Потому если там есть ветвление по if, один проц считает эту ветку, а другие простаивают, ждут этого. Все ядра идут по одному пути. Я не знаю как так перестроить мой алгоритм, чтобы просто складывать и умножать. Нет рекурсии и т.д. много чего.

    Это в CPU имеем 100 ядер, запускаем каждому свое и ждем. А там все делают одну программу.

     

    Заводик про производству стройматериалов.

    Ответить Цитировать
    262/314
    + 0
  • Jak, всё верно, но зато производительность в разы) 

    Jak @ 06.04.23 

    Заводик про производству стройматериалов.

    Грамотно

    Ответить Цитировать
    774/882
    + 0
  • Jak, одно из самых крутых видео за мою жизнь : 

    https://twitter.com/dan__mayer/status/1599349464195481600/video/1

    Перфекто 

     

    ПС кто не знаком с дизассемблером... Вкратце: каждую программу можно разобрать на код на ассемблере(называется процесс дизассемблирование) , но проблема в том что информация предоставляется в сыром виде, без названий переменных, без каких либо названий процедур, функций... просто будут адреса...

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

     

    В данном же видео чтобы наименовать переменную используют запрос к chatGPT :) 

    Как видим на видео справляется она на УРА ... бум

    А описание к функции чего стоит, тру тул

    скриптик тут для IDA https://github.com/MayerDaniel/ida_gpt

     

    пс бахаем кастом из исходников на Хрю + дебаггер softice + GPT 4 API для анализа кода ... уф уф

    любое приложение win будет укрощено...

    Сообщение отредактировал c00l0ne - 7.4.2023, 10:51
    Ответить Цитировать
    775/882
    + 0
  • НУ и что?

    Вообще не пойму твоего восторга от chatGPT.

    Ответить Цитировать
    263/314
    + 0
  • Jak @ 07.04.23 

    НУ и что?

    Вообще не пойму твоего восторга от chatGPT.

    Ой дядь, ну скоро исходники начнет из машинного кода писать

    Тоже без восторга

    Эмоциональное выгорание?)

    Ну разовью тему в направлении

    Рутинную-машинную работу можно как минимум доверить уже системам типа gpt, в программировании это писанина кода дебаг название классов переменных 

    Энергии больше будет тратиться на качество алгоритма, оптимизации, сложности его... 

    В будущем наш ждут идеальные программы... 

    Но первые шаги это разбор готовых программ на кусочки, восстановление высокоуровнего кода и представление его в исходном проекте

    Сообщение отредактировал c00l0ne - 7.4.2023, 12:26
    Ответить Цитировать
    776/882
    + 0
  • А нафига писать исходники?

    Сразу откомпилированный файл .exe

     

    Сказал ей: Хочу спроектировать хрень, с крыльями, синюю и чтобы летала. Она бах! И готовы все чертежи!

     

    Или программу: Хочу прогу, чтобы за меня играла в руме. Бах, и играет за тебя.

    Не будет такого никогда. 

     

    Какое выгорание? 

    Игрушка. Баловство. Ой, мать! как она отвечает???

    Ну, да, на общие вопросы отвечает общими словами. Так как ее научили.

     

    Исходники на java и delphi из .exe давно есть. Только там надо самому задать имена переменным. Все циклы, все функции и тд.

    Ответить Цитировать
    264/314
    + 0
  • Jak @ 07.04.23 

    Игрушка. Баловство. Ой, мать! как она отвечает??

     

    Jak, увидемся через год)))

    Ещё у меня огромный камень в огород железоделов

    Надо не асики штамповать а чипы по тренировке триллионов параметров

    Дубинушки не дальновидные

    Ответить Цитировать
    777/882
    + 1
  • c00l0ne @ 05.04.23 

    Luisito99, моя твою не понимать

    Приведи пример

    Если ожидание стартера рассчитывается из игры или похожим образом.

    Есть пятерка      

    Например берем расстановку A / 2 / K Q J

    Изначально неизвестно какое ожидание имеет данное расположение карт. Ожидание определяем из игры или похожим образом.

    Шаг 1. Три рандомных карты приходят на первом подъеме. Определяем какие из этих трех карт лучше подходят при условии фантазии +X и скупа = 0. Лучший вариант выбираем для продолжения.

    Шаг 2. Следующая рандомная тройка. = шагу 1.

    Шаг 3. Следующая рандомная тройка. Считаем с фантазией +X и скупа  -Y. Лучший вариант выбираем для продолжения.

    Шаг 4. Следующая рандомная тройка. Берутся две карты, которые дают наибольшее кол-во очков. Записываем результат.

    Повторяем шаги 1-4 Х раз. 

    Ожидание расстановки A / 2 / K Q J приблизительно известно.

     

    Очевидно, что при таком способе определения ожидания, одни и те же пятерки будут иметь разное ожидание в зависимости от нашей позиции за столом. 

    Расстановка A / 2 / K Q J будет иметь ожидание Х, в ситуации когда мы одни, Y когда мы 1 из 2 и D когда мы 1 из 3. Так и должно быть.

    Ответить Цитировать
    33/35
    + 0
  • Luisito99 @ 07.04.23 

    Шаг 1. Три рандомных карты приходят на первом подъеме. Определяем какие из этих трех карт лучше подходят при условии фантазии +X и скупа = 0. Лучший вариант выбираем для продолжения.

    Шаг 2. Следующая рандомная тройка. = шагу 1.

    Шаг 3. Следующая рандомная тройка. Считаем с фантазией +X и скупа  -Y. Лучший вариант выбираем для продолжения.

    Шаг 4. Следующая рандомная тройка. Берутся две карты, которые дают наибольшее кол-во очков. Записываем результат.

     

    хз бред какой то а не алгоритм ... 

    зачем нам считать скуп = 0 

    когда мы все равно считать будем скуп = y 

     

    скуп все равно учитывается только на посл сдаче карт , а вверх он попадает по дереву 

     

    Luisito99 @ 07.04.23 

    Если ожидание стартера рассчитывается из игры или похожим образом.

    Есть пятерка      

    Например берем расстановку A / 2 / K Q J

    Изначально неизвестно какое ожидание имеет данное расположение карт. Ожидание определяем из игры или похожим образом.

    Шаг 1. Три рандомных карты приходят на первом подъеме. Определяем какие из этих трех карт лучше подходят при условии фантазии +X и скупа = 0. Лучший вариант выбираем для продолжения.

    Шаг 2. Следующая рандомная тройка. = шагу 1.

    Шаг 3. Следующая рандомная тройка. Считаем с фантазией +X и скупа  -Y. Лучший вариант выбираем для продолжения.

    Шаг 4. Следующая рандомная тройка. Берутся две карты, которые дают наибольшее кол-во очков. Записываем результат.

    Повторяем шаги 1-4 Х раз. 

    Ожидание расстановки A / 2 / K Q J приблизительно известно.

     

    Очевидно, что при таком способе определения ожидания, одни и те же пятерки будут иметь разное ожидание в зависимости от нашей позиции за столом. 

    Расстановка A / 2 / K Q J будет иметь ожидание Х, в ситуации когда мы одни, Y когда мы 1 из 2 и D когда мы 1 из 3. Так и должно быть.

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

     

    хз слабая какая то волна от тебя ...

    Ответить Цитировать
    778/882
    + 0
  • c00l0ne @ 07.04.23 

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

    Это если ты можешь предсказывать какие карты окажутся у оппонентов и добавить их в список вышедших карт заранее.

    Читай внимательней сообщение.

     

    для расстановки A / 2 / KQJ

    когда мы одни ожидание будет = A

    когда мы первые из двух ожидание будет = B

    когда мы первые из трех ожидание будет = C

     

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

     

    Возможно при этом все лучшие стартера сохранятся для этих трех ситуаций. Но это надо проверять.

    Ответить Цитировать
    34/35
    + 0
  • Luisito99 @ 07.04.23 

    для расстановки A / 2 / KQJ

    когда мы одни ожидание будет = A

    когда мы первые из двух ожидание будет = B

    когда мы первые из трех ожидание будет = C

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

     

    Luisito99 @ 07.04.23 

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

    Игра потому что упрощена до одного игрока, один игрок за столом

    Но вероятности плюс минус пропорционально будут равны. 

    Luisito99 @ 07.04.23 

    Возможно при этом все лучшие стартера сохранятся для этих трех ситуаций. Но это надо проверять.

    Это да, есть чем проверить?)

    Ответить Цитировать
    779/882
    + 0
1 104 105 106 107 114
1 человек читает эту тему (1 гость):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.