Chat:Ru/2020-11-18
735487: о а я планировал свое писать, оказывается готовое есть :)
SergeyShirokov: Блин, а разве может бот молча вылетать в конце while(true), ничего не сообщая? Я что-то вообще в замешательстве
gybson_samara: SergeyShirokov у меня такое бывало
SergeyShirokov: и в чем была причина? я уже и потребление памяти замерял, мало ли что
gybson_samara: мне кажется какой-то ТА странный
SergeyShirokov: ?
gybson_samara: и сообщения о ТА нет и сообщения
gybson_samara: таймаут
SergeyShirokov: проблема в том что я вывожу промежуточное время
SergeyShirokov: ну и вообще, что за таймаут между концом цикла и его началом
SergeyShirokov: вот реально: http://chat.codingame.com/pastebin/cc8413f0-6ae3-4516-8a78-7c5204b9087b
SergeyShirokov: иногда последнее сообщение есть, а первого нет
SergeyShirokov: вот где он там может таймаутнуться
gybson_samara: мож баг какой, как в питоне был с выводом в дебаг
gybson_samara: ссобщение в буфере консоли висит
SergeyShirokov: короче, у меня отлично воспроизводимый таймаут, который ничем не лечится. Отлично прямо.
Uljahn: до первого инпута ничего не выводи даже в дебаг
Laiff: если воспроизводимый может сабмитнуть в дискорде в баги тогда?
SergeyShirokov: ну вот сейчас локализую и надо бы, да
Uljahn: тогда и код надо прикладывать, сделать минимальный рабочий прототип
Uljahn: контестный код палить не стоит, конечно
SergeyShirokov: бред какой-то
MelnikovIgor: Во сколько по МСК открывается голд?
BorisZ: SergeyShirokov все что до первого инпута и после твоего вывода команды - это серая зона
BorisZ: в смысле код то выполнится конечно, но неизвестно когда
BorisZ: потому что рефери прочитал твою команду и переключился на соперника или на свои какие-то расчеты
BorisZ: когда и как - хз )
BorisZ: MelnikovIgor вроде в районе 20 мск серебро открылось +- полчаса
BorisZ: рефери на джаве, вполне может оказаться что он твою команду прочитал, начал что-то обсчитывать и у него запустился сборщик
Uljahn: пока это самое правдоподобное объяснение
Uljahn: хотя, был как-то глюк с зомби-процессом на CG, когда все массово ловили ТА
735487: если рефери учитывает свой сборщик за время клиентов то там значит баг с подсчетом времени
735487: Uljahn: когда был зомби процесс тогда код просто не компилился или что то такое и падало на 1 шаге сразу
735487: а так что ни игра так время надо уменьшать с 50 до 30мс
Uljahn: угу, тут пики больше смахивают на работу GC
735487: что в серчрейс что в 2048 из раза в раз такое происходит
735487: даже в CSB стало падать. но там намного реже
Uljahn: а в крестиках?
735487: а CSB раньше стабилен был
735487: в крестиках я не хочу ресабмитить пока :)
735487: а в крестиках кстати тоже было
735487: примерно как и в CSB по частоте. но вот в оптимизациях все намного хуже
SergeyShirokov: засабмитил абсолютно дубового бота почти без подсчетов, смотрю как он выигрывает по таймаутам. Найс.
735487: и я не удивлюсь что оптимизации чаще падают из за того что там sdk чуть другое и чаще мусор собирает
Uljahn: может наоборот реже?
Uljahn: мусор накапливается и привет
735487: ну да больше мусора
735487: причем на оптимизациях даже с 30мс падает же
735487: пора рефери переписать на плюсы :)
wlesavo: сабмиты умерли, работать толи придется
735487: а я вообще после пятницы еще ниразу бота не улучшал :)
wlesavo: какой прогноз на голду думаете? в корабликах было серебро 400 голда 80 вроде, здесь серебро в два раза больше примерно, так что думаю голда тоже +- в два раза, т.е. 150-200
735487: да тоже так думаю. в корабликах было меньше чем обычно вроде
BorisZ: https://www.codingame.com/replay/504920431
BorisZ: топ1 играет )
BorisZ: это я смотрел сабмиты емиля - вроде нет там таймаутов ни у кого
wlesavo: но вот легенда что в корабликах что в пакманах была по 10 человек помоему
735487: в легенду самое больше видел это 20 когда впускали
Laiff: на топ лигу приоритет по ресурсам :spy_tone1:
735487: будет прикол если впустят в легу 10 и никто больше не пройдет ))))
MadKnight: так вроде идут сабмиты
wlesavo: BorisZ ну у меня тоже такие игры есть это не прямо показатель https://www.codingame.com/share-replay/504929708
wlesavo: за пол часа 17 игр, идут но стоят
BorisZ: wlesavo я про то что топ1 в реплее забил инвентарь 3ми камнями и стоит тупит всю дорогу, видимо неожиданно увели рецепт
wlesavo: а, не понял сразу о чем
MadKnight: BorisZ это на каком ходе было?
MadKnight: аааа, чел справа
MadKnight: точно, он собирался продать первый рецепь
MadKnight: т
MadKnight: ну надо в симе также учитывать что если уведут рецепт
BorisZ: угу справа - топ1, видимо не так уж он действия врага учитывает
Xyze: wlesavo я с тобой в 1 момент запушил, у меня уже 19 игра идет )
Laiff: Еще к вопросу о том что падения не влияют на трускил, одного и того же бота сабмитнул два раза первый вчера около 2к места в бронзе, сегодня он же 526, а до этого был сабмит он же 150 место занимал, идет эта лига в ад, мне на работе хватает проблем с окружением разгребать )
SergeyShirokov: ))))))))
SergeyShirokov: а тут трускилл используется?
wlesavo: BorisZ ну там все-таки в один ход ошибка, но да, странновато выглядит
Laiff: финальное место вычисляется по тому кому именно ты проиграл, поэтому падение ппротив бота выше и бота ниже тебя это разное влияние на рейтинг
Laiff: на счет трускила не уверен я это сказал как обощение ретинга который показывается в общей таблице лидеров
wlesavo: Xyze ну у меня тоже 19ая уже :slight_smile:
Xyze: рил работать придется
Uljahn: да ну, бред какой-то - работать :)
BorisZ: а первый питон то все держится на 34 месте, остальные сползли
wlesavo: да, я рядом с ним был за ночь потерял почти 30 мест, так что он явно что-то улучшал
BorisZ: последний самурай )
wlesavo: блин, одна игра зависла, остальные дальше играются, бужет прикольно если изза нее сабмит не закончится
SergeyShirokov: Как и ожидалось - дубовый бот, живущий по принципу "кастуй что кастуется, мешай что мешается" спокойно парит себе в середине бронзы, исключительно благодаря победам по таймаутам соперников
wlesavo: кажись ожили сабмиты
NightLuna: а вы пользуетесь. что все заклинания и рецепты заранее известны?
SergeyShirokov: неа
NightLuna: если до конца играть или на большую глубину, то есть смысл...
NightLuna: наверное
wlesavo: рецепты использую только чтобы проверки варки захешировать
NightLuna: хм, и правда
NightLuna: вдруг ускорится
SergeyShirokov: захешировать проверки?
SergeyShirokov: если я все правильно понимаю, там сравнение и так несложное. Что там улучшит хеш?
NightLuna: спасибо
NightLuna: сколько думаете в золото пройдет?
NightLuna: ставлю на 100
wlesavo: NightLuna мне почти x2 дало, но я на каждой итерации проверяю все рецепты
wlesavo: я думаю 150 где-то и в легенду человек 10-15
BorisZ: NightLuna я думаю чтоб имело смысл использовать спеллы из пула - это лерн должно дойти почти до конца - штук 30 лернов должно быть, тогда их мало останется - можно что-то мутить
BorisZ: а за 30 туров тут игру заканчивают некоторые
BorisZ: то есть просто дергать из кники снизу, в надежде что сверху упадет чудо-спел который позволит быстрее на 1-2 хода сделать варку
wlesavo: у топ питона глубина вроде 7 ходов всего, судя по сообщению, у меня когда уменьшил глубину до 10 тоже лучше заиграло, на таких масштабах учитывать остатки точно смысла нет
wlesavo: тут бы учесть спелы которые дают
wlesavo: нука ради интереса глубину поменьше еще попробую
BorisZ: я ставлю что 250 пройдет )
BorisZ: у меня почему-то в голове что в золото в 2 раза меньше проходит чем в серебро
wlesavo: так в серебро было 900
BorisZ: :unamused:
wlesavo: но в корабликах точно помню было 400/80/10
Uljahn: Automaton2000: почём завтра битки будут?
Automaton2000: а ты в каком городе живешь?
wlesavo: отпустил роллауты и сделал глубину 7, 30/0 сабмит идет
Uljahn: ох лол, в дискорде Thibaud ответил "I'm really sorry we won't be able to tackle the timeouts before the end of the challenge"
wlesavo: ща лузстрик словлю наверное
wlesavo: но все таки
wlesavo: я давно таймаутов не ловил, но это на 40 мс
wlesavo: удивительно что с меньшей глубиной играет заметно лучше. роллаутов конечно побольше, но все-таки
BorisZ: wlesavo круто, догоняй юркова уже
BorisZ: стране нужен новый лидер, который не боится говорить с народом
wlesavo: :grinning:
wlesavo: не, до юркова далековато, у меня план максимум просочиться в легенду
wlesavo: если получится буду свои эвалы раздавать направо и налево
NightLuna: ну вот я тоже проверяю на каждой интерации все рецепты... ускорить не лишним будет
wlesavo: да, тем более что что это просто
wlesavo: хех, прямо под юркова сабмитнулся, неплохо
wlesavo: символично последняя игра в сабмите победа над юрковым :smiley:
YurkovAS: :thumbsup:
wlesavo: странно что моя тележка еще ездит куда-то вообще, я думал в такой мете у всех уже хорошие алгоритмы в топе
Uljahn: думаешь, в серебре пора топовые страты выкладывать?
wlesavo: ты думаешь люди хайдят ботов?
Uljahn: мне кажется, у топов не один вариант алгоритма припасёе
Uljahn: *припасён
wlesavo: ну у топ 10-15 может быть, в топ 50 не думаю
wlesavo: у пб так точно там уже версий 10-15 :smiley:
Uljahn: вроде, pb в постмортеме писал, что 9 раз код переписывал
Uljahn: вот-вот
wlesavo: ну да, там правда месяц все-таки был
wlesavo: никто кстати с изучением на первых ходах ничего не придумал? у меня там какая-то примитивная оценка на нулевую глубину которая в 90% случаев выбирает бесплатный спелл
Uljahn: я думал про мощности потоков преобразований, бонус на даунгрейд т3, чтобы не застревать, и т.п.
wlesavo: ну одно заклинание оценить можно но это не оч эффективно как по мне, нужно оценивать цепочку на небольшую глубину. я вот думаю что реально следующий шаг это сима изучений
wlesavo: то есть оценка суммарного набора с добавлением 3-4 заклинаний из книги, с учетом их опускания
wlesavo: ну и с учетом выбора опонента
wlesavo: думаю при хорошей реализации этого может даже на легенду хватить
wlesavo: хм, короче у меня +- созрел план реализации даже
Laiff: а можно оценивать на сколько повышается связность с цчетом добавления нового залинания
wlesavo: я пробовал так, вышло очень плохо, но может реализация была плохая, в любом случае я пребываю в уверенности что оценка заклинания на нулевой глабине очень не эффективна
wlesavo: такс, на пол секундочки запушили выше юркова, задавайте свои ответы :smiley:
wlesavo: все, не успели
wlesavo: о че в общаке говорят, примерно 150 отсечка будет
MadKnight: чёт сильно выросли границы
MadKnight: лиг
MadKnight: раньше в голду 800 проходило
735487: наверное чтобы потом в мульти было интереснее
NightLuna: и правда может
wlesavo: сайски сказал цель чтобы лега была <100 на конец контеста, выглядит разумно
wlesavo: и лега таки топ 10-20
wlesavo: хорошо если 20 а не 10 все-таки
NightLuna: да, разумно,
NightLuna: да, хорошо бы 20
NightLuna: 10 это всегда боль
NightLuna: ну если только сразу туда не попадаешь
Uljahn: ну, это давно уже говорили, что подстраивают сложность под легу около ста
Uljahn: чтобы на доигровке после финала не сильно тупило
Uljahn: тут хоть по два игрока всего, в гиперсонике было до 4-х, финал два дня досчитывался, но тогда и серваки другие были, и таймлимиты может быть тоже...
Uljahn: ага, 100мс
NightLuna: помню в c4l прошло челове 50 в легу
wlesavo: здесь уже сейчас топ 20 недосягаемо выглядит, но при этом у меня против топов ненулевой винрейт, так-что надежда на легу остается
wlesavo: на удачном сабмите каком нибудь или подпушит кто
SergeyShirokov: о, бои стали куда быстрее проходить
SergeyShirokov: но симуляцию все равно не сделать нормально, таймауты
Uljahn: сказали, что с таймаутами будут разбираться после контеста, а пока рекомендовали уменьшать отсечку))
SergeyShirokov: я до 20 уменьшил, все равно иногда бывало
SergeyShirokov: забил на симуляцию в итоге
wlesavo: SergeyShirokov вероятно дело не в рефери
SergeyShirokov: вероятно. Пока обхожусь простым поиском
Laiff: интересно на сколько резать первый ход если меня сейчас на 350- таймаутит, вопрос
wlesavo: странно, а агады тоже страдает предсказание оппонента похоже https://www.codingame.com/replay/505094728
kotobotov: здаров посоны
kotobotov: ну че там, кто-нибудь футболку уже выиграл?
wlesavo: добре
wlesavo: бойкотируешь контест? :slight_smile:
kotobotov: это еще почему?
kotobotov: вон я даже субмит нажал
kotobotov: на однострочном решении)
Uljahn: вот бы маски с логотипом CG придумали за топ-100 хотя бы
kotobotov: так что я КАК НИКОГДА участвую
Xyze: RiSuS смотрю на троего бота и ничего не понимаю )
Xyze: как то слишком красиво
MadKnight: о какие люди
MadKnight: Xyze чё не заходишь?
MadKnight: Xyze а что у тебя бот делает?
RiSuS: Xyze: Я тоже ничего не понимаю. Этот черный ящик уже не улучшаем :/
Jokero: да, контест не плох, моз уже конкретно кипит
Jokero: *мозг
Laiff: нда, промерил на их железе, а оно оказывается ржавое в труху, у меня первый ход частенько вылетает на их железе локально 300мс и меньше, печалити
MadKnight: Laiff с++ ?
MadKnight: RiSuS а какой алгоритм используешь?
Laiff: нет js
BookSaver: В золоте - 1 человек [CG]SaiksyApo
BookSaver: :-)
NightLuna: около 150 прошло похоже
BookSaver: ааа, поперло)
wlesavo: 131
wlesavo: скорее всего было человек 20 в сабмите кто не прошел
ilgiocatore: да, я не успел сабмитнуть до переноса) придётся с боссом пободаться
Xyze: MadKnight так вот же я пришел )
MadKnight: так это только из-за контеста
RiSuS: MadKnight: beam search
MadKnight: RiSuS а оцениваешь как?
MadKnight: и какая ширина?
MadKnight: я тоже запилил Beam Search в первый день на шарпах
MadKnight: но таймаутится рандомно часто и я не знаю почему
MadKnight: и я не допилил фильтр поэтому у меня скорее BFS
RiSuS: Оценка слишком простая чтобы рассказывать. Ширина 300. Но из-за того что не вкладывался в производительность. Если сделаю больше ширину, то глубина упадет до BFS подхода :)
RiSuS: Да и не верится мне что-то в этот алгоритм =( Пытался соперника прикручивать. Только хуже становилось
RiSuS: Надо что-то рандомить. Я всегда так делаю, когда упираюсь в потолок)
wlesavo: RiSuS у тебя изучение спелов внутри поиска тоже есть?
RiSuS: есть. Но бот это делает только если изучение вдруг помогает что-то вот прямо сейчас собрать быстрее.
wlesavo: вообще я не уверен что бимсерч хороший выбор здесь учитывая на сколько хорошо играет маленькая глубина
wlesavo: бимсерч скорее нужен когда нужна действительно большая глубина
dbf: бимсерч еще непонятно с какой эвристикой - тут только заработанные очки можно оценивать
RiSuS: глубина тут рулила бы, если бы соперник гад из под носа не уносил ничего)
RiSuS: а еще рандом доставляет. Кинешь соперника на заказ, а ему сразу более дорогой приходит под компоненты =(
wlesavo: глубина бы рулила если бы порядок рецептов был известен еще
RiSuS: Если кто взломает рандом сообщите)
wlesavo: RiSuS а какая у тебя глубина примерно?
RiSuS: 6-12 среднее не считал
wlesavo: а ну отосительно не большая
wlesavo: я думал больше сильно
RiSuS: да не. Смысла нет
wlesavo: а сабмиты опять мертвые
Hiker: Товарищи время отведенное на ход когда начинается? после считывания всего из консоли или до? то у меня считывание с консоли занимает акурат 50 мс =)
NightLuna: начинай после первого полученного инпута
Hiker: Спасибо"
Hiker: что-то я сам не додумался. спасибо
Zhmyh: Сабмиты, я так понимаю, приняли ислам.
Zhmyh: Как вообще подбирать параметры? У меня их больше пяти и я где-то часа 2 тыкал, чтобы хоть что-то получилось.
Zhmyh: Может кто-то нейронки простенькие для этого использует?
ilgiocatore: ну я просто смотрю реплеи, подмечаю поведение бота в конкретных ситуациях и подкручиваю исходя из своих ощущений
Zhmyh: :) сложно относительно неплохо подкрутить даже 3 float'а.
Zhmyh: Вот я написал алгос, тут дофига параметров. Час тыкал - все было печально, думал выкидывать его.
ilgiocatore: я подумываю о том, чтобы реализовать полноценный mcts и в оффлайне погонять своих ботов друг против друга, выделив им много времени на ход, и посмотреть как они будут играть и какие будут брать заклинания чаще всего
Zhmyh: А потом какие-то рандомные взял и бот начал всех выигрывать...
Zhmyh: Вроде в mcts там же мало параметров
Zhmyh: Я вот тоже думаю
Zhmyh: Локально у себя тестировать
Zhmyh: Но написать нейронку, чтобы она параметры подбирала сама
Zhmyh: Правда, 4 дня только осталось :(
andrey-vinokurov: ну вот, похоже вылезу в серебро на смешных костылях