Chat:Ru/2020-06-05

From CG community
Revision as of 11:23, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/2111605585777> 735487: YurkovAS: что улучшил если не секрет? <img src=/a/33020204289704> YurkovAS: amurushkin поменял кое-что...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

735487: YurkovAS: что улучшил если не секрет?

YurkovAS: amurushkin поменял кое-что в симуляции. еще в новой оптимизации search race заметил, что неточночности симуляции заметно влияют на результат. не уверен, что сейчас симуляция точная, надо будет поразбираться еще.

735487: а почему она у тебя неточная была?

735487: из за кеширования углов ты их брал неточные что ли?

YurkovAS: amurushkin копировал из стартера, либо там была ошибка, либо сам сломал. нет же точного официального рефери.

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

tutubalin: Platinum Rift 2 начался

tutubalin: неофициальный

Uljahn: лол

Uljahn: только недавно в нём пилил бота

BorisZ: расположение баз тут странное - могут быть симметрично а могут быть вобще случайно

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

BorisZ: бывает что на расстоянии двух клеток базы )

BorisZ: блин есть карты когда базы тупо в соседних клетках

BorisZ: https://www.codingame.com/replay/433788671

BorisZ: тут вобще невозможно выиграть за красного

BorisZ: https://www.codingame.com/replay/456922043

BorisZ: а тут рядом

BorisZ: то есть тот кто не атакует всеми ботами базу проигрывает сразу, иначе ничья

BorisZ: принципиально разные стратегии для разных карт нужны

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

Uljahn: карты иногда не честные, но это работает в обе стороны

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

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

Uljahn: The HQ of both players is always visible, which will let you detect the enemy base on the very first turn.

Uljahn: ага

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

735487: опять кажется что для этой игры должны потенциальные поля рулить

BorisZ: наверное, если не рядышком базы

BorisZ: у меня сделано как система тикетов, которые выставляют зоны с каким-то мудреным приоритетом

BorisZ: а потом тикеты по подам распределяются

BorisZ: надо действительно с полями переделать как-то, поля все ж много факторов учитывают

BorisZ: а у меня какие-то свои измышления и приоритеты эти сомнительные очень

BorisZ: идут гуськом тупик разведывать, хотя там и одного хватило бы

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

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

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

BorisZ: твой под стоит на платине, в соседней враг - без платины

BorisZ: если ты пойдешь на него, а он пойдет на тебя - ты просто платину потеряешь

BorisZ: а если стоять то оба умрут, зато платина останется твоя

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

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

BorisZ: но может еще какие случаи есть, всего не предусмотришь

Uljahn: в GitC же симили как-то, там похожая фигня, только без тумана

BorisZ: не, там проще - известно сколько ботов есть, сколько произведется, сколько идут туда твоих и врагов

BorisZ: то есть на несколько ходов вперед - просто вычитанием

BorisZ: можно предсказать

BorisZ: тут для каждого пода до 7 вариантов движения, если их даже 10, то 7 в 10 степени )

wlesavo: 7 в 10 если никто на одной клетке не стоит, но да, один фиг много

BorisZ: на одной или нет неважно, они же каждый независимо могут пойти

BorisZ: ну понятно что там не 7 а меньше, я ж пугаю )

BorisZ: когда пугаешь надо все по максимуму говорить, например когда просят сказать сколько времени тебе надо на эту задачу

735487: да если всего 2 варианта то это уже дофига

BorisZ: да вроде поля естественно тут выглядят + какие-то исключения для ситуаций что твою базу рашат или сам можешь рашить

BorisZ: минимакс там, хз перебор какой-то короче

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

wlesavo: BorisZ если на одной то будут идентичные варианты типа первый идет налево второй направо то же самое что и наоборот. то есть там будет что чтото типа С(7,k)

BorisZ: согласен

wlesavo: BorisZ а какое место у тебя до начала контеста в пр2 было?

BorisZ: 152, как сейчас

wlesavo: а, ну да, логично что не сабмитил еще

BorisZ: не трогал пока ничего

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

wlesavo: пока чет много других дел

BorisZ: но тут у меня как раз есть LazyGraph, который считается несколько ходов только ради расстояний и путей, а с полями надо это каждый ход делать

wlesavo: я помню по твоим реплеям помоему тактику эмулировал, тоже уже месяца3-4 назад наверное

Hamibar: не очень понятно как рейтинг в этом неофициальном контесте считается

wlesavo: цепочками бежали друг за другом во все стороны, даже в тупик пока там было неразведано

wlesavo: Hamibar ну как я понял идея в том что ты соревнуешься чисто сам с собой, чтобы в конце сказать что ты +столько то рангов сделал

BorisZ: Hamibar да так-то не важно, все рано нет никаких призов, ради тусовки да темы для обсуждений

Hamibar: а чем это отличается от мульти :grinning:

wlesavo: так ничем, смотри на это как на мульти недели

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

Hamibar: ну ладно) выглядит ничего так. Можно потом в мульти побегать.

BorisZ: я может даже не начну писать то, а пообсуждать интересно )

Hamibar: вот это сабмит в крестиках дал) 30 /30 и сразу выше боса

Uljahn: лига?

Uljahn: о, вижу, в голду пролез

Uljahn: такс, нас четверо уже в крестиках примерно в середине, плюс tutubalin в топе голды

Uljahn: gybson ещё вроде собирался присоединиться

Uljahn: может ну его этот PR2? :thinking:

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

BorisZ: крестики то не убегут никуда, а тут хоть движуха

Uljahn: так у нас своя движуха

Uljahn: кто в леге крестиков - тем, наверное, не интересно уже :)

wlesavo: вообще я хотел адаптировать то что в pr1 добавил недавно и перенести в pr2, но что то лениво

735487: в леге крестиков там другого уровня интерес уже

tomatoes: pr1 с лигами, а pr2 без. странно как-то :thinking:

tutubalin: странный баг. поменял немножко рандом - он мне стал показывать какое-то запредельное количество симуляций

tutubalin: если вообще убрать рандом, то число остаётся обычным. а с модифицированным рандомом - 10 миллионов сим

tutubalin: при этом играет хуже

tutubalin: локально не воспроизводится

wlesavo: прикольно

wlesavo: может выходит куда-то не туда и сима рано терминируется

Hamibar: Uljahn тот сабмит в бронзе был, но все равно приятно). Прикрутил бандита и попробовал.

tutubalin: нашёл в чём бага. компилятор решил передавать параметр в ассемблерную вставку через регистр RAX, а он у меня используется

Uljahn: ну ты хакер

Uljahn: https://www.codingame.com/replay/471108781

Uljahn: топ карта в PR2

tutubalin: сколько пространства для манёвра!

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

MelnikovIgor: Не в курсе, по UTTT есть репа с кодом у топов?

MelnikovIgor: Хочу посмотреть подходы

Hamibar: для этого наверное лучше темки с описаниями стратегий посмотреть. Правда не знаю где их найти.

Hamibar: На форуме наверное кто-то описал свои стратегии.

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

dbf: оптимизации стандартные: пул объектов, битборды, предпросчёты, быстрый рандом :)

dbf: для любителей паковать данные - книга дебютов

YurkovAS: easy :smiley:

dbf: можно делать стрим по проходу в легенду :grinning:

Hamibar: а что в леге никто не придумал ничего лучше, чем рандомные ходы?

ilt: dbf а ну ка давайка сделай стрим!

Uljahn: в леге есть минимаксы, но не в самом топе

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

ilt: ускорился еще немного, но опять вернулись таймауты

ilt: вылетает на 3-4-5 ходу стабильно

Uljahn: кто-то советовал начинать засекать после всех инпутов

ilt: думаю там опять сборщик мусора запускается

Uljahn: а ты методы прогреваешь?

Uljahn: может там компиляция срабатывает как раз

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

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

ilt: думаю вся компиляция в первый ход делается

YurkovAS: я засекаю после всех импутов - проблем нет. только в csb, но там у всех таймаутит.

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

YurkovAS: лидерборды сломались - не обновляются

ilt: по замерам в локале все ок

ilt: на сервере падает с таймаутами

Uljahn: ты после каждого роллаута проверяешь оставшееся время?

ilt: да

Uljahn: а запас какой?

ilt: разный пробовал

ilt: даже до 10 мс

ilt: при 10 мс тоже таймаут но ходов на 20 позже

ilt: стандартно 5 мс запас

Uljahn: затраченное время на ход выводишь в месейдж?

Uljahn: ещё бы частоту процессора выводить не мешало

ilt: вообще не вывожу

ilt: в дебаг режиме только

tomatoes: у меня бывало в самых первых играх вылетало, а дальше нормально шло

Uljahn: https://www.codingame.com/replay/471242123

Uljahn: я вот так сделал, "частота:время роллауты"

Uljahn: tec - это teccles move

ilt: это здорово

Uljahn: ага, красиво, но бестолково)

Uljahn: потому что нумбы нету, Automaton2000

Automaton2000: а что если кто-то сгенерит случайный токен и получит валидный чужой токен?

ilt: если простую проверку добавить то получается что-то типа 6k 6k потом 1k и таймаут

ilt: количество роллаутов сильно прыгает конечно

ilt: но последить за ними в процессе игры полезно

tutubalin: если стабильно таймаутит - значит бага в коде. или бесконечный, или очень длинный (например, когда цикл "пока не ноль, уменьшать", а туда пришло -1)

tutubalin: *бесконечный цикл