Chat:Ru/2020-09-22

From CG community
Jump to navigation Jump to search

_Lion_: ПРИВЕТ ВСЕМ

735487: у меня были python,ruby,php,c и c++ и хватило

_Lion_: :wave:

Uljahn: прив

magaiti: https://www.codingame.com/replay/488266668

735487: это они у тебя 2 раннера что ли? или любят парами ездить?

magaiti: когда как

magaiti: могут меняться

magaiti: кручу=верчу, обмануть хочу

735487: в этом реплее просто есть места где они оба на чек едут

magaiti: да ест такой иф

magaiti: если оба обгоняют раннера

Uljahn: это уже ближе к AI, чем хардкод ролей, тут и тимворк сильнее проявляется

735487: пытался задачку на клеши законтрибутить для ачивки. сука все заполнил и браузер упал. выяснил опытным путем что падает как только stub секцию заполняешь. пипец и не сохранилось нихера

Uljahn: браузер упал? :scream_cat:

Uljahn: дваненько с таким не встречался

735487: ну вкладка с сообщением out of memory

735487: и там раздел preview подозрительно мигал

735487: какая то лажа со скриптами что они память жрут я думаю

gybson_samara: на яндекс.кап пойдет кто?

Jokero: там же типо задачки только по ИИ

Jokero: для питонистов

Uljahn: :smiley:

Uljahn: Automaton2000: пора добавить в ЕГЭ по информатике задачки по ИИ

Automaton2000: кстати о книгах, читали Гарри Поттер и Методы Рационального Мышления?

Default avatar.png newbie-: :yin_yang:

magaiti: Automaton2000, а что ты думаешь о Василиске Роко?

Automaton2000: я понял что у меня нет

magaiti: ну слава богу

735487: https://imgur.com/a/qESxTi2 есть у кого нить мысли что тут делать надо?

wlesavo: сложна как то

magaiti: сумма циф р + заглавных букв * 3 + строчных * 2

magaiti: ы

wlesavo: неплохо

magaiti: че думаете, стоит мне реверс клашем заняться?

magaiti: набил 11/47.07 в гоночках, догоняйте

735487: да ответ я потом посмотрел у тех кто решил. сам не догадался

magaiti: ответ был 104? без него я б тоже не догадался, наверное

735487: у меня в гоночках есть 2 версии. одна умеет обыгрывать смита и робо но не подымается выше 15 места. другая подымается до 12 но проигрывает им всегда ))

magaiti: надо вычислять с кем играешь

magaiti: например по длине стелки

magaiti: зашибись идея?

735487: я в той задаче догадался что надо делать что то с кодами символов но не нашел формулу

735487: по какой длине стрелки ты предлагаешь противника определять?

magaiti: не с кодами, с порядковым номером в алфавите

magaiti: по расстоянию от пода до точки куда ехать

magaiti: в аутпуте противника

735487: а мы видим его аутпут разве?

magaiti: мм, хз

magaiti: давно не смотрел в ту часть кода

735487: тут не раик тут противника так просто не определишь

Uljahn: можно разве что дискретность углов поворота замерить

magaiti: и траста, по идее

735487: врядли это что то даст

Uljahn: я так в meanmax определил, какой коэффициент у кубера был в формуле -k*Vel

Uljahn: немножко инфы даст, с миру по нитке - и можно будет противников классифицировать худо-бедно

Uljahn: теортетически, можно сразу двумя подами блочить до таймаута, если блокер противника тупит где-то далеко и ждёт раннера

YurkovAS: или научиться определять, что противник использовал щит. интересно, дало бы это профит...

Uljahn: по коллизии же можно определять, а без коллизии - никак

magaiti: по ускорению?

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

Uljahn: достаточно симулировать противника со щитом и ускорением 0

gybson_samara: в этом году у яндекса есть раздел "Алгоритмы", чет типа клэшей, 6 задач за 120 минут

magaiti: перепроверял код физики в csb, долго тупил над соударениями. В итоге я так понял, что у магуса код правильно симулирует сервер, но что они там в ЦГ курили, когда писали минимальный импульс?

magaiti: почему нормируется только половина импульса, и как это понять из описания csb?

Uljahn: в описании только минимальный импульс указан, т.е. если при соударении импульс меньше, то заменяется на минимальный, детали во время контеста получали реверсом реплеев, насколько я помню

magaiti: ну вот я о том, что реверс реплеев дает код, который с точки зрения физики не имеет смысла

magaiti: там вектор на самом деле 2*fx

magaiti: а на минимальный импульс проверяется его половина

magaiti: как, почему

magaiti: то есть как я должен догадаться что сравнивать надо не импульс, а его половину, и нормировать тоже половину?

gybson_samara: абсолютно упругий удар?

magaiti: да

magaiti: но нет

magaiti: супер-упругий

gybson_samara: оба пода одинаковой массы

magaiti: в описании сказан "миниальный импульс 120"

magaiti: обычно одинаоковой

magaiti: но не всегда, щит увеличивает массу в 10 раз

magaiti: и в коде вычисляется величина, равная половине передачи импульса, и вычитается два раза. причем второй раз она может нормироваться до 120, если она меньше

Uljahn: https://swagcoloredkitteh.github.io/2016/12/08/elastic-collision.html

magaiti: и?

magaiti: там сказано как, но не почему

magaiti: нам же не рассказали в конкурсе, как они решили сделать

magaiti: дали только одно число

Uljahn: ты такие вопросы задаёшь, будто модель для контеста физики писали

Uljahn: скорее всего, просто где-то стырили формулу :)

magaiti: стырили формулу, не разобрались, додумали сами

magaiti: т решили что это очевидно

magaiti: и*

magaiti: очевидно же, что минимальный импульс нужно сравнивать с половиной импулься

735487: то ты не видел какие хаки в раике бывают в физике

magaiti: это не хак, это произвол

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

Uljahn: но такие почему-то всё равно нашлись, скорее всего - во французском чате админов запытали

magaiti: по нормальному надо нормировать max(j, jmin), а у них 0.5j+max(0.5j,jmin)

magaiti: да я думаю можно и так зареверсить, если настойчивость есть

magaiti: сделать статистику, подогнать формулу

735487: в первом раиковском они локалраннер декомпилировали

magaiti: ы

magaiti: а що це - раик? Республиканская ассоциация инвалидов-колясочников?

735487: чего так сразу то?

magaiti: хз первая ссылка

magaiti: ¯\_(ツ)_/¯

735487: первое слово russian последнее cup

magaiti: ясн

magaiti: я похоже стабильно беру 11-е теперь

magaiti: оптимизировал коллизии. но что делать дальше - хз

gybson_samara: Uljahn надоело мне во флоатах решать бэтмена, стал в матрицах =))))

gybson_samara: for y in range(height): http://chat.codingame.com/pastebin/af720c2b-4bca-4559-86f7-c68bd1da7c85

gybson_samara: как такое в нампи модно делать?

Uljahn: field[y < Y, x] = 0

Uljahn: надо подумать, как формулу прикрутить

Uljahn: Y это константный 1D массив (вектор) по сути, его можно бродкастить...

Uljahn: берём вектор-строку "y", бродкастим с вектор столбцом "Y" через сравнение, получаем матрицу-маску, которой индексируем: field[y < Y] = 0

Uljahn: x тут вообще не нужен будет нужны данные для тестов

gybson_samara: массив точек, да

Uljahn: вот так:

Uljahn: http://chat.codingame.com/pastebin/3b82376c-989f-4691-8c7a-e63a2839d7ab

gybson_samara: спс

Uljahn: вся суть нампи - создать маску для индексации

gybson_samara: y = np.arange(height)[:, None] можно исключить, как опыт показывает

gybson_samara: а нет

gybson_samara: этот хитрый блокнот запоминает =)

inoryy: magaiti тоже помню долго мучался с этим

inoryy: до сих пор хз как люди реверснули за 7 дней это чудо

Default avatar.png Hennygosa: Всем привет, я новенький здесь. Подскажите где я могу попросить о помощи с упражнением которое я не могу решить?

Uljahn: inoryy: может, кто-то из них уже с sf2442 был знаком

Uljahn: Hennygosa: здесь спрашивай

Uljahn: ещё можешь поискать вкладку discussion или тему на форуме

Uljahn: вкладка на заглавной странице пазла обычно (но может отсутствовать), не в ide

Default avatar.png Hennygosa: я делаю задание ASCII art где нужно вывести MANHATTAN символами решётки и я не могу сообразить за что взяться? Вот есть ширина символа, высота, слово и строка - алфавит ASCII. С чего начать?

Default avatar.png Hennygosa: я понял как вывести одну букву но когда слово тут же не по буквам надо выводить а как-бы строчками (верхнюю часть всех букв, среднюю, нижнюю)

Uljahn: собираешь строчку из кусочков и выводишь

Uljahn: потом следующую

Uljahn: на каком языке кодишь?

Default avatar.png Hennygosa: ++

Default avatar.png Hennygosa: вот чтоб кусочки собрать в строку есть ли какие нибудь методы для упрощения выборки? или надо самому по индексам считать?

Uljahn: если можешь одну букву вывести, то всё равно её по строкам выводишь?

Uljahn: вместо вывода можно её в вектор запоминать

Uljahn: или динамический массив

Uljahn: двумерный

Uljahn: это если собрать все кусочки и потом выводить

Uljahn: если сразу выводить строкой, то одномерного хватит

Default avatar.png Hennygosa: одну букву по строкам вывожу да

Uljahn: ну вот, вместо вывода сохраняешь первый кусок в массив, потом от второй буквы верхний кусок тоже в массив и т.д.

Uljahn: это цикл по буквам сообщения

Default avatar.png Hennygosa: спасибо, пойду попробую

Uljahn: в конце получится массив с верхними элементами, их комбинируешь в одну строку и выводишь

Uljahn: и переходишь к следующей итерации - читаешь инпут для второй строки

gybson_samara: я сначала все считал, потом все вывел

Uljahn: да, так проще дебажить

Uljahn: первое решение тоже такое было, потом переписал, чтобы сразу выводить

Uljahn: получилось раза в два короче

magaiti: сегодня в csb улучшил код - добавил 80 строк комментариев :grinning:

magaiti: чтоб еще через 3 года по новой не тупить

magaiti: черт, 0.04 не хватило до топ 10

magaiti: :muscle_tone2:

735487: то я его скинул хорошо.

magaiti: давай еще :)

735487: 70% против него получилось

735487: сейчас скоро запущу ))

YurkovAS: amurushkin заметил еще фичу: на глубине 2+ нет хода 0-0

735487: думаешь не нужен? можно впринципе попробоватьэ

YurkovAS: у меня нет на 2-7

YurkovAS: но есть -9+9 на 2-7

YurkovAS: -9 +9 = 200

735487: у тебя глубина с 0 или с 1?

YurkovAS: с 1

735487: в чем смысл углов 9 на 2 глубине? если ты ход берешь с 1 и там его не будет

YurkovAS: так лучше играло. давно еще это сделал. в последних версиях пробовал все это менять, было хуже.

YurkovAS: и щита нет на 2-7

735487: вот реально странно

YurkovAS: ну может он там лучше доруливает. хз. найдено экспериментальным путем.

YurkovAS: и ходы в дереве сначала со скоростью 200, потом с 0.

735487: оно у тебя по порядку исследует?

735487: у меня с рандомом лучше

YurkovAS: по порядку и сначала повороты, потом прямо

735487: у меня мои на старте почему то любят стоять :)

YurkovAS: заифай первый ход 200 и буст

YurkovAS: у меня так

YurkovAS: поддержка буста на 1-ом ходу немного дала прибавки. в цислах не помню, почти незаметно

YurkovAS: таймауты и финиш не поддреживаю, тестил, почему-то было хуже. там еще статистика не точная и медленно все это.

YurkovAS: а так было красиво смотреть как раннер помогает противника затаймаутить или летит к финишу сломя голову

735487: у меня давно так и было что на 1 ходу буст. сейчас он по оценке им играет

735487: у меня таймауты поддерживает но не так чтобы прямо помогает их достичь

gybson_samara: по идее буст лучше использовать чтобы сбить лидера

YurkovAS: magaiti крутой бот! 8 побед против нейронок за сабмит.

735487: только почему тогда смита не обгоняет?

gybson_samara: учитывая, что блокер обгонит любой буст, стратегически в нем нет смысла, кроме как атаковать

YurkovAS: да там одного начинаешь выигрывать, а другому начинаешь проигрывать

735487: мне бы вот скрестить свои 2 версии ))

735487: о смита разок обыграл

magaiti: о молодец, нааба опустил

735487: ничего и до тебя доберусь ))

magaiti: га в топ 10 :)

735487: magaiti: как переделать оценочную чтобы она давала результат от -1 до 1,

magaiti: арктангенс?

magaiti: хз, ты уверен что это хоршая идея?

735487: да мне надо :) я заюзал tanh. я вот почему то думал что он другие цифры дает. а сейчас вот думаю что может и нет

gybson_samara: amurushkin вроде sin и cos дают от -1 до 1

magaiti: https://en.wikipedia.org/wiki/Sigmoid_function

735487: прикол только сейчас недавно обнаружил что мой под не юзает щиты если таймер щита включен

magaiti: ты меня бустишь :)

735487: это временно :)

magaiti: а что ты понимаешь под таймером щита?

735487: надо же пробовать новые оценочные

735487: таймер щита это 3 тика за которые нельзя разгоняться

magaiti: хмм, а щит можно на таймере юзать? я не помню уже)

735487: я сам не помню но мне кажется что можно

magaiti: хм, не написано, что нельзя

magaiti: надо свой код проверить

735487: вот и я так подумал а вдруг он не включает щит когда надо

magaiti: а не, у меня норм

735487: YurkovAS: у тебя баг. https://www.codingame.com/replay/488569369 твои не хотят выигрывать

magaiti: у меня буст не включается на таймере)

735487: а что можно?

magaiti: хз вроде не запрещено. но ускорения не будет

YurkovAS: magaiti у тебя какой ттл в ксб?

YurkovAS: -1ч впустую: сидеть и смотреть как идет сабмит

magaiti: ттл?

YurkovAS: да, таминг на 1 ход. в задаче написано 75мс

magaiti: 60

YurkovAS: ого, чего так мало?

YurkovAS: пробовал увеличивать? до 65-70

magaiti: та бывают скипы по 10 мс

YurkovAS: у меня до этого был 71мс

magaiti: зато не таймаутит

magaiti: есть где-то тема на форуме, там делали бота который время мониторит, он там до 11 мс пропавшего времени репортил

YurkovAS: ну это же мало, 10мс дадут больше сим

YurkovAS: да, у тебя не таймаутит

magaiti: ну вот выбирай

magaiti: больше сим или рандом луз

magaiti: я недавно пробовал до 70 увеличивать, пошли таймауты. потом 65, все равно иногда авылетало. поставил 60

YurkovAS: т.е. 70мс круче не стало...

magaiti: сильно круче играть не стал

magaiti: я потестирую может еще потом. сейчас охота в топе повисеть ?)

magaiti: Ж)

YurkovAS: конечно

YurkovAS: да мне тут тесты в cg-bench показали улучшение заметное и локально тоже, но что-то на проде не так все. и таймит, поставил 68мс

magaiti: цг бенч, что-то знакомое. это сайт или что-то скачивать надо?

YurkovAS: против робо не очень, а против верхних 3-х типа хорошо должно быть

magaiti: тоже бы потестить

magaiti: симуляции пилил на этой неделе

YurkovAS: https://github.com/s-vivien/CGBenchmark вот этот тул - удобно, можно несколько противников прописать и пусть тестит против них

YurkovAS: ну и brutal-tester еще есть, в нем локально толко тестить, зато быстрее, чем тем.

magaiti: спасибо, посмотрю. ща спать надо бы уже

magaiti: успехов

YurkovAS: спс и тебе!