c00l0ne @ 04.04.23а дальше пришлось мне немного посидеть подумать ... как на писишках туповатых и тормозных, кто не понимает со времен пентиума 166 в принципе ничего в архитектуре х86 не изменилось ... гигагерцы и ядры тока вырасли ... а в целом программирование осталось на том же уровне , так вот как на этом целочисленном калькуляторе ( архитектура х86) посчитать игру в которой оч много состояний... была рождена мной идея ,
Ты и так говоришь, что только благодаря тебе появилась эта программа. Я ее только закодировал, под твоим руководством.
А если еще твою иконку поставить, то вообще...
Jak @ 05.04.23иконку поставить
Ок)
Я могу сменить аву... Просто для красоты, не обессудьте... Программа кем написана того и является...
Идеи они приходят и уходят, а закодить получается их не всегда, в виду мильона ограничений (время, железо, желание)
Ну или свою выберите
В гугле 🍍 в картинках или у mid journey спросите
Основной посыл того сообщения что архитектура процов устарела)
Сейчас рулят расчеты на видеокартах, вот их надо осваивать...
Cuda в принципе не сложная, я смотрел, но алгоритм там в корне меняется...
Но прирост производительности манит ...
Сколько там , тысячи потоков... Ядер cuda в видеокартах
Эх на все надо время... И качественные учебный материал, чтобв самому голову не сломать ...
Надо сделать всё поудобнее:
Чтобы варианты считало сразу все , расставляя по лайнам, чтобы стоимость пустой руки было и смешение было и чтобы 3 макс был ...
Задержку +- можете оставить в 15 сек ...
Я в свою очередь наделаю контента с софтом...
На сим с китайским завязываю, в холдем ухожу... Вокруг меня сотни тыщ зеленых выигрывают в холдем , а я тут сижу, на жалкие копейки живу... Надо в холдем играть, там нынче бабос нормальный...
Поэтому пока я тут , цените момент
Пс увидемся за написанием солвера в холдем)
c00l0ne @ 05.04.23Сейчас рулят расчеты на видеокартах, вот их надо осваивать...
Cuda в принципе не сложная, я смотрел, но алгоритм там в корне меняется...
Но прирост производительности манит ...
Нейросетями занимался, когда было модно распознать буквы или картинки.
Картинки и буквы научился распознавать. Мгновенно.
Делал для китая сетку.
Но она обучается очень долго. Плюс ей для обучения нужно много правильных данных. К тому же там не очень легко добавить быстрые изменения параметров (скуп, премия и т.д.) Для каждого случая надо обучать ее по новой.
Вариант самообучения супер долго. Чтобы играла сама с собой. Нужны компы с 1000 ядер.
Забросил.
c00l0ne @ 05.04.23Cuda в принципе не сложная, я смотрел, но алгоритм там в корне меняется...
Но прирост производительности манит ...
Просто переделать данный алгоритм на видеокарты, не знаю как переделать алгоритм. Там ведь можно только умножение матриц. А у меня перебор + логика, выбрать из 1000 вариантов лучший.
c00l0ne @ 05.04.23я могу компенсировать вам 200$
Такие деньги мне не интересны. Я тут чисто по фану. Хобби мое, программировать. Голова требует мыслить. Я же писал, зарабатываю не игрой. Есть свой заводик, я владелец, он приносит прибыль.
c00l0ne @ 05.04.23На сим с китайским завязываю, в холдем ухожу...
Ты это уже последний год постоянно говоришь. Любая игра китай, холдем, омаха - это рулетка. Играю оффлайн и китай и покер, по фану. Есть у нас закрытая игра для бизнесменов.
Jak @ 05.04.23рулетка
В рулетку кстати я тоже считал стратегию, как захитранить с мин бром и мин риском, в Алтае +1к с 100$ пробил, больше не играю)
Может кто был свидетелем, на число ставил по 1$) вино ещё разлил на стол) три раза число потом шотнул)
Jak @ 05.04.23Просто переделать данный алгоритм на видеокарты, не знаю как переделать алгоритм. Там ведь можно только умножение матриц. А у меня перебор + логика, выбрать из 1000 вариантов лучший.
Там не матрицы, там потоки которые выполняют один и тот же алгоритм над большими данными однотипными... Т. Е. Одна функция выполняется в тысячи потоков над массивами данных
Jak @ 05.04.23Есть свой заводик
Грац
Jak @ 05.04.23Играю оффлайн и китай и покер, по фану
Зовите пишите, продемонстрируем акулью математику)
c00l0ne @ 05.04.23компов 5-10 с 64 ядрами в самый раз
10*64=640 это не ~1000 ядер?
c00l0ne @ 05.04.23Там не матрицы, там потоки которые выполняют один и тот же алгоритм над большими данными однотипными... Т. Е. Одна функция выполняется в тысячи потоков над массивами данных
Причем примитивный и короткий алгоритм. Большую логику туда на засунешь. Всякие циклы, if и т.д. В основном умножить и сложить.
Jak @ 05.04.23Причем примитивный и короткий алгоритм. Большую логику туда на засунешь. Всякие циклы, if и т.д. В основном умножить и сложить.
про это не знаю
Jak @ 05.04.2310*64=640 это не ~1000 ядер?
ну не 1000 5*64 = 320 ядер но можно и меньше ... там все надо тестить и пробовать ...
я на стареньком компушке учил простенькие линейные перцептероны с 8 ядрами и все получалось ...
там главное фиЧи нормально выбрать ...
чтобы они не сильно грузили проц или гпу и чтобы они охватывали достаточно состояний среды ...
клавиатуру такую видели ? : )
шикака
а у вас заводик случайно не в сфере айти ?
Там мало того, что с логикой проблемы, там ведь все заточено под обработку видео, там хорошо работает умножение матриц на матрицу и на вектор. Плюс там по одному алгоритму работает 1000 ядер, только с разными данными. Т.е. надо алгоритм распараллелить так, чтобы были разными только данные. Сами ядра по одиночке очень медленные. Там нельзя при одних данных идти по if в одну сторону, а в другом потоке в другую. Все должны идти строго по одному алгоритму. Потому если там есть ветвление по if, один проц считает эту ветку, а другие простаивают, ждут этого. Все ядра идут по одному пути. Я не знаю как так перестроить мой алгоритм, чтобы просто складывать и умножать. Нет рекурсии и т.д. много чего.
Это в CPU имеем 100 ядер, запускаем каждому свое и ждем. А там все делают одну программу.
Заводик про производству стройматериалов.
Jak, одно из самых крутых видео за мою жизнь :
https://twitter.com/dan__mayer/status/1599349464195481600/video/1
Перфекто
ПС кто не знаком с дизассемблером... Вкратце: каждую программу можно разобрать на код на ассемблере(называется процесс дизассемблирование) , но проблема в том что информация предоставляется в сыром виде, без названий переменных, без каких либо названий процедур, функций... просто будут адреса...
А чтобы в этом разобраться нужно тратить часы , выстраивать связи в программе вручную , в конце концов понимание приходит какая переменная за что отвечает и что выполняется в определенных процедурах и функциях ...
В данном же видео чтобы наименовать переменную используют запрос к chatGPT :)
Как видим на видео справляется она на УРА ... бум
А описание к функции чего стоит, тру тул
скриптик тут для IDA https://github.com/MayerDaniel/ida_gpt
пс бахаем кастом из исходников на Хрю + дебаггер softice + GPT 4 API для анализа кода ... уф уф
любое приложение win будет укрощено...
НУ и что?
Вообще не пойму твоего восторга от chatGPT.
Jak @ 07.04.23НУ и что?
Вообще не пойму твоего восторга от chatGPT.
Ой дядь, ну скоро исходники начнет из машинного кода писать
Тоже без восторга
Эмоциональное выгорание?)
Ну разовью тему в направлении
Рутинную-машинную работу можно как минимум доверить уже системам типа gpt, в программировании это писанина кода дебаг название классов переменных
Энергии больше будет тратиться на качество алгоритма, оптимизации, сложности его...
В будущем наш ждут идеальные программы...
Но первые шаги это разбор готовых программ на кусочки, восстановление высокоуровнего кода и представление его в исходном проекте
А нафига писать исходники?
Сразу откомпилированный файл .exe
Сказал ей: Хочу спроектировать хрень, с крыльями, синюю и чтобы летала. Она бах! И готовы все чертежи!
Или программу: Хочу прогу, чтобы за меня играла в руме. Бах, и играет за тебя.
Не будет такого никогда.
Какое выгорание?
Игрушка. Баловство. Ой, мать! как она отвечает???
Ну, да, на общие вопросы отвечает общими словами. Так как ее научили.
Исходники на java и delphi из .exe давно есть. Только там надо самому задать имена переменным. Все циклы, все функции и тд.
c00l0ne @ 05.04.23Luisito99, моя твою не понимать
Приведи пример
Если ожидание стартера рассчитывается из игры или похожим образом.
Есть пятерка
Например берем расстановку 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. Так и должно быть.
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. Так и должно быть.
очевидно в любом способе определения ожидания одни и те же пятерки будут иметь разное ожидание, потому что оппонентам карты раздают и мы их исключаем из колоды ...
хз слабая какая то волна от тебя ...
c00l0ne @ 07.04.23очевидно в любом способе определения ожидания одни и те же пятерки будут иметь разное ожидание, потому что оппонентам карты раздают и мы их исключаем из колоды ...
Это если ты можешь предсказывать какие карты окажутся у оппонентов и добавить их в список вышедших карт заранее.
Читай внимательней сообщение.
для расстановки A / 2 / KQJ
когда мы одни ожидание будет = A
когда мы первые из двух ожидание будет = B
когда мы первые из трех ожидание будет = C
А в твоем способе определения стартера ожидание для любой из этих трех ситуаций будет одинаковым, потому что у тебя ожидание считает независимо от твоей позиции за столом. У тебя стартер рассчитывается для ситуации, когда мы одни.
Возможно при этом все лучшие стартера сохранятся для этих трех ситуаций. Но это надо проверять.
Luisito99 @ 07.04.23для расстановки A / 2 / KQJ
когда мы одни ожидание будет = A
когда мы первые из двух ожидание будет = B
когда мы первые из трех ожидание будет = C
Ну это потому что вероятности прихода карт немного другие, я не могу понять смысла обсуждения данной темы, ев то разные будут но +- одинаковые будут ходы, это как разные игры рассматривать...
Luisito99 @ 07.04.23А в твоем способе определения стартера ожидание для любой из этих трех ситуаций будет одинаковым, потому что у тебя ожидание считает независимо от твоей позиции за столом. У тебя стартер рассчитывается для ситуации, когда мы одни.
Игра потому что упрощена до одного игрока, один игрок за столом
Но вероятности плюс минус пропорционально будут равны.
Luisito99 @ 07.04.23Возможно при этом все лучшие стартера сохранятся для этих трех ситуаций. Но это надо проверять.
Это да, есть чем проверить?)
Jak, браво
Иконку ещё бы перерисовать, а то кровь из глаз от этой дефолтной
Можете с моей Авы взять)
Вообще иконка это чуть ли не самое главное в кастомных проектах кекв)))
Кому нужны ваши быстрые и точные алгоритмы, вот если такая иконка: