Chat:Ru/2021-02-02

From CG community
Jump to navigation Jump to search

Default avatar.png the_tiger: как это сделать:thinking:

Default avatar.png The_Nigel: пытайся, это легко

depthzer0: the_tiger как обучить нейронку для гонок или как её заюзать в гонках?

Uljahn: а главное зачем

Default avatar.png AlexS2k10: g

Uljahn: h

magaiti: до легенды пид контроллер на нейронке. там 1-2 нейрона достаточно

magaiti: но проще просто подобрать эмпирически

Uljahn: по идее, можно брутфорсом или генетикой найти рабочий код топового бота, если есть лишний кластер суперкомпьютеров

amurushkin: Uljahn: мэд утверждал что он генетикой подбирал функцию для оценочной в гоночках

MadKnight: это когда ещё голду не открыли

MadKnight: я в бронзе для 1 машинки это делал

Uljahn: ну так разницы нет по сути, эмпирический подбор или автоматизированный

Uljahn: просто эвристики обычно основаны на опыте программиста в предметной области (domain knowledge), а генетика тупо майнит субоптимальные параметры

MadKnight: amurushkin а не

MadKnight: я не для оценочной

MadKnight: я сначала подбирал параметры для моей сложной эвристики

MadKnight: получилась просто идеальнейшая красивейшая эвристика

MadKnight: https://i2.wp.com/www.tomlooman.com/wp-content/uploads/2021/01/scenebaked_TXAAvsDLSS_Zoomed.jpg?ssl=1

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/