Chat:Ru/2021-02-02
the_tiger: как это сделать:thinking:
depthzer0: the_tiger как обучить нейронку для гонок или как её заюзать в гонках?
Uljahn: а главное зачем
Uljahn: h
magaiti: до легенды пид контроллер на нейронке. там 1-2 нейрона достаточно
magaiti: но проще просто подобрать эмпирически
Uljahn: по идее, можно брутфорсом или генетикой найти рабочий код топового бота, если есть лишний кластер суперкомпьютеров
amurushkin: Uljahn: мэд утверждал что он генетикой подбирал функцию для оценочной в гоночках
MadKnight: это когда ещё голду не открыли
MadKnight: я в бронзе для 1 машинки это делал
Uljahn: ну так разницы нет по сути, эмпирический подбор или автоматизированный
Uljahn: просто эвристики обычно основаны на опыте программиста в предметной области (domain knowledge), а генетика тупо майнит субоптимальные параметры
MadKnight: amurushkin а не
MadKnight: я не для оценочной
MadKnight: я сначала подбирал параметры для моей сложной эвристики
MadKnight: получилась просто идеальнейшая красивейшая эвристика
MadKnight: они теперь рендерят через нейронки лол
MadKnight: т.е. сглаживание делают
Uljahn: и ветвления предсказывают
Uljahn: по моему, сглаживание нейронками - это из области super resolution, т.е. генерят высокодетальное изображение, а потом его сглаживают и даунсэмплят до нужного разрешения
MadKnight: не, наоборот же
MadKnight: тут скорее как растягивание мелкого resolution
MadKnight: без потери кач-ва
Uljahn: https://paperswithcode.com/task/super-resolution
Uljahn: без потери растянуть невозможно
Uljahn: генерят же не движком, а обрабатывают картинку, которую дал движок в низком разрешении
MadKnight: так через нейронки и растягивают
Uljahn: т.е. движок рассчитал точную картинку, её апсемплят нейронкой, потом сглаживают и убирают артефакты
MadKnight: нейронка "угадывает" новые пиксели
MadKnight: ну и артефакты убирают
MadKnight: нейронкой
MadKnight: ну крч это называется Deep Learning Super Sampling
input.txt: мэд, ты что тоже из этих? ну, любителей объявлять о решении алгоритмически неразрешимых задач с помощью нейронок?
MadKnight: я же тебе написал
MadKnight: "угадывают"
Uljahn: ну да, нейронку обучают на парах картинок низкого/высокого разрешения, тренируют "угадывать"
Uljahn: если плохо угадывает, то идёт под нож, и в цифровой ад
input.txt: на чем не тренировали, то не угадает
MadKnight: ну так это понятнр
MadKnight: но многое - это просто линии выравнивать
MadKnight: и всякие кривые
tutubalin: эта технология была ещё на ZX Spectrum
MadKnight: да, но нейронка - это сильно усложнённая такая технология
tutubalin: "вот вам стрёмная картинка, а дальше пусть дорисует ваше воображение"
MadKnight: ну возведённый просто в абсолют пример
MadKnight: но да
tutubalin: просто раньше использовалась встроенная в пользователя нейронка, а теперь это берёт на себя видеокарта
MadKnight: "вот вам картинка с микро артефактами, попробуйте их зарисовать максимально правдоподобно"
tutubalin: рано или поздно появится технология: даёшь ей старинный текстовый квест, а она его визуализирует в 3д
MadKnight: кстати неплохая идея
MadKnight: го запилим
MadKnight: чё там пилить-то
MadKnight: пару нейронок на пару шагов
MadKnight: потом ещё пару нейронок на пару других шагов
MadKnight: потом ещё пару нейронок на финальные шаги
MadKnight: и получится игра из нейронок
Uljahn: суть в том, что люди с развитым воображением не нужны обществу потребления :)
MadKnight: да, но всем хочется более красивых и качественных картинок
MadKnight: а не с микро артефактами
Uljahn: нет, я хочу геймплей, а не картинку с видеороликами
MadKnight: да, но более качественная картинка для той же самой игры не помешает
Uljahn: ну в майнкрафте тоже есть шейдеры всякие
MadKnight: ну вот
MadKnight: люди пользуются
Uljahn: но это надо видюху покупать, т.е. потреблять ради качества картинки, которое второстепенно
Uljahn: в возведении качества картинки на пьедестал заинтересованы только производители видюх
MadKnight: они это вложили в уже давно существующую функцию RTX
MadKnight: т.е. просто видюха с RTX уже такое может
Uljahn: если тебе качество картинки нужно, то выйди на улицу
MadKnight: зрение просадил
MadKnight: Uljahn сражается против кач-ва картинки
Uljahn: не против качества, а против приоритета качества
Uljahn: качество геймплея важнее для меня, вот и всё
Uljahn: Automaton2000: го в тетрис на RTX с трассировкой лучей и Deep Learning Super Sampling
Automaton2000: а как ты это делаешь
MadKnight: Automaton2000 го применять технологии которые мы не любим там где они и правда не нужны
Automaton2000: так суть в том, что я не прав
MadKnight: так поэтому эту технологию делают easy to use
MadKnight: чтобы разрабы игр не имели возможности выставить приоритетом эту технологию
MadKnight: потому что она просто - галочку выставил и всё
tutubalin: https://store.steampowered.com/app/954280/3dSen_VR/
tutubalin: автоматически конвертит NES игры в 3D
MadKnight: чё у меня демки не играет
MadKnight: видосы всмысле
MadKnight: мне нужно это заценить
tutubalin: на ютубе поищи 3dsen
Uljahn: я не против технологий, вон даже в досбоксе есть фильтры, которые качество вытягивают
tutubalin: https://www.youtube.com/watch?v=Z2YO2t8HL54
Uljahn: просто указываю на то, кому выгодно продвигать качество
Uljahn: или битки те же самые
Uljahn: или машинлёрнинг на нейронках
Uljahn: всё равно получается эрзац со вкусом натурального изображения
depthzer0: ну Маск там уже почти допилил нейроинтерфейс, так что скоро можно будет прямо в голове всё это смотреть
Uljahn: осталось только определить, "где они и правда не нужны", а то теперь везде суют
depthzer0: вот уж где маркетинг не на шутку развернётся
Uljahn: ну я и говорю, потреблядство выгодно тем, кто производит контент и оборудование, а развитие воображения вредит этому
Uljahn: государство вообще заинтересовано в оболванивании населения, чтобы было как в армии
depthzer0: каждый сам для себя выбирает, эту уже вопрос к культуре образования или образованию культуры...
MadKnight: ааааа
MadKnight: эта штука
MadKnight: так я её видел
MadKnight: просто экран превращает в 3д модельку с 1 уровнем глубины
MadKnight: это как если бы ты нарисовал экран игры в майнкрафте используя блоки как пиксели
Uljahn: видимо, научили нейронку предсказывать, как будут выглядеть блоки в 3D
Uljahn: на самом заднем плане прикольные артефакты
depthzer0: ln() в Python это же math.log()?
depthzer0: в USB1 формуле для MCTS
Uljahn: вроде да, натуральный логарифм
depthzer0: *UCB
depthzer0: ок
Uljahn: основание логарифма вряд ли сильно влияет, там важен характер зависимости, а частности выносятся в константу
Uljahn: exploration/exploitation constant
depthzer0: делаю пазл https://www.codingame.com/ide/puzzle/monte-carlo-tree-search-exercise
тут очень разные значения у этой константы
Uljahn: так и области приложения обычно сильно различаются
Uljahn: нет какого-то единственно верного оптимального значения, обычно указывают некоторое "базовое"
Uljahn: которое потом надо тюнить
depthzer0: ты про константу?
Uljahn: да
depthzer0: ясно
depthzer0: тут пазл про само дерево скорее, и формулу я там конечно же канонически прописываю
depthzer0: но что-то пока не на всех тестах сходится, разбираюсь, где косяк
Uljahn: однозначно только можно сказать, что её величина зависит от диапазона наград и, возможно, от коэффициента ветвления игры
Uljahn: начальная величина
depthzer0: я пока до этого понимания не дошёл
depthzer0: просто кручу дерево, как оно там вообще
depthzer0: но буду иметь в виду, спс
Uljahn: я долго не мог понять MCTS, пока не разобрался с многорукими бандитами, потом проще к дереву переходить, это как от функций min() и max() перейти к минимаксу
Uljahn: ну и видос на ютубе хороший попался про MCTS с разбором примера
Uljahn: https://www.youtube.com/watch?v=UXW2yZndl7U
depthzer0: :thumbsup:
magaiti: https://www.codingame.com/replay/525303101
magaiti: аха
Uljahn: лол, со 140-го фрейма ловко проскочил между подами
magaiti: да там с 140 и до конца четко
depthzer0: кто-нибудь в курсе, если в console output CG выводится много текста, то она режет середину и точками забивает. можно как-то обойти?
depthzer0: https://prnt.sc/y0vv1s
magaiti: выводи меньше
magaiti: фильтруй в коде самое интересное
Uljahn: по-моему, есть ограничение на максимальный размер реплея (потому что они хранятся какое-то время), поэтому ограничивается размер дебага за ход и общий размер дебага за игру
Uljahn: т.е. можно попробовать включать больше дебага в определённые моменты, а в остальные - экономить бюджет, иначе никак
depthzer0: думал может можно куда-нибудь перенаправить...
magaiti: https://www.codingame.com/replay/525302272
Uljahn: только если локально запускать
YurkovAS: до сих пор гонки не прошли? :smiley:
magaiti: гонки вечнф
magaiti: ы
magaiti: это мой старый бот
magaiti: я и не ресабмитил
Uljahn: на миникартах хорошо катает
Uljahn: командная работа
YurkovAS: там игги апнулся - у меня ему хорошо теперь сливает, да и остальные тоже
magaiti: у него стимул был - я его вытеснил на 11-е тогда
YurkovAS: таймауты бы запилить нормально - у меня из-них проигрышей много
magaiti: чаще проверять
YurkovAS: в игре таймауты - чтобы чекпоинт проехать
magaiti: хмм
YurkovAS: типа чтобы блокер помог раннеру или проехал свой чекпоинт
magaiti: а это
magaiti: у меня тупо иф на таймаут на подах
magaiti: если меньше 30 то блокер бежит на чекпоинт
YurkovAS: на свой?
magaiti: т.е 2 раннера
magaiti: ну да
magaiti: может не лучший вариант
YurkovAS: можно еще полететь на раннера-противника - если ближе
magaiti: лень чето выдумывать щас, жизнь полна и так
YurkovAS: давно много экспериментировал - без этого ифа было только лучше.
magaiti: я так в чате потрындеть зашел
YurkovAS: dots-and-boxes потихоньку делаю: такой облом поймал
magaiti: это что?
YurkovAS: https://www.codingame.com/ide/puzzle/dots-and-boxes
YurkovAS: там если ты захватишь ячейку, то след ход опять твой. переиспользование мкст дерева сразу же сломалось
Uljahn: типа patience factor запилить?
Uljahn: оу, чат зафризился
magaiti: бокс это 1 клетка?
YurkovAS: да
YurkovAS: и ее надо окружить 4-я палочками (точками)
magaiti: чертятся палки
magaiti: значит палками
input.txt: как вы устанавливаете соответствие между клетками и соседними палками?
input.txt: я тут придумал сквозной индекс вертикальных и горизонтальных, и второй час отлаживаю
YurkovAS: uint8_t cells[7][7] для направлений там 4 бита ну и если ставим вправо, то надо в соседней левую пометить
input.txt: а и правда
YurkovAS: ты тоже мктс делаешь?
input.txt: зачем мне отдельный список палок
input.txt: да, давно пора научиться его правильно писать
YurkovAS: у меня тоже сломался сам поиск и не могу найти где
YurkovAS: а что у тебя за сквозной индекс, быстрее\лучше чем этот вариант?
input.txt: да идея сначала была в том чтобы получать все возможные ходы сразу без повторов
input.txt: но че-то результат не оправдывает усилий
YurkovAS: тут еще и ветвистость гиганская - под 300 ходов может быть
MayKAADyK: кто-нибудь решал энигму?
Uljahn: да
Uljahn: правда, их три штуки, я только две решил
MayKAADyK: что такое ROTOR
MayKAADyK: просто рандомный влфавит?
Uljahn: с энигмой тут три пазла, ты про который?
Uljahn: этот? https://www.codingame.com/training/easy/encryptiondecryption-of-enigma-machine
Uljahn: про ротор объяснять запаришься, лучше поищи в инете устройство этой шифровальной машины, там валики с буквами, это роторы
Uljahn: https://gaugeuop.files.wordpress.com/2015/11/05-enigma-machine-rotor-arrangement.jpg
Uljahn: https://habr.com/ru/post/217331/