Chat:Ru/2020-11-16
Uljahn: чё-т ржу с рекурса, как он нос воротил, когда в дискорде про рандомные таймауты рассказывали на питоне, джаве и шарпах, а когда про плюсы речь зашла - так прямо взвился ))
Uljahn: типа на языках с автоматическим управлением памятью такое не исключено, в отличие от плюсов
Uljahn: Automaton2000: хьюстон, у нас серверные проблемы!
Automaton2000: у меня с самого начала
BorisZ: да сильно зо ночь опускают, пока ты спишь враг качается
BorisZ: Uljahn плюсы тоже таймаутят рандомно что ли?
Uljahn: да, так +25мс намерили на ровном месте на плюсах
Uljahn: *там
BorisZ: ты мне говоришь - покажи код, я тебе говорю - покажи код, рассказать тебе сказку про белого бычка?
BorisZ: нафига просить показать код и нафига его показывать (
BorisZ: че в голове
Uljahn: это ты про меда что ли?
BorisZ: угу
Uljahn: у него это одна из коронных фраз, типа "ezpz", "fix it", "go CSB", "покажи код" :)
BorisZ: угу, мы не просили у него деньги, это была шутка, ваша честь
Uljahn: ну да, новички-то не знают
Uljahn: а модеру отказать как-то страшновато)
BorisZ: blasterpoardСегодня, в 6:06 (if everyone timeouts randomly, it technically doesn't matter :grinning: )
BorisZ: вот - человек широко мыслит )
Uljahn: лол
BorisZ: но вобще можно наверное сделать как на райке - давать время сразу на всю игру
BorisZ: это наверное не очень сложно поменять
BorisZ: тогда не страшно если сборщик запускается пару раз за матч - не заметно будет
BorisZ: все равно придется один тур ограничивать, рефери должен состояние мира отдавать
BorisZ: обоим игрокам одновременно
735487: Uljahn: то в леге AVX будут юзать, идея кстати. я все равно собирался операторы переопределять чтобы работать с 4 числами одновременно. можно сразу avx заюзать
Uljahn: BorisZ: в том и дело, что они уже костыль прикрутили, который не засчитывает таймаут, если у тебя один раз подряд превышено время на ход, только если два и больше, а всё равно выбросы выбивают
Uljahn: ещё в MeanMax, вроде, когда народ начал жаловаться, после переезда на новые серваки
735487: если сделают как на раике это кардинально изменить игры для uTTT
735487: можно будет намного больше выделять для первых ходов. под финиш там много времени уже не надо
BorisZ: а там гакой-то лимит все равно должен быть, иначе можно абюзить 49 1000 49 1000 - например так
735487: ну да там есть лимит все равно. просто видать какой то диапазон разрешает
Uljahn: примерно +10% вроде
Uljahn: не более 20
Uljahn: ну и не через раз, наверное
Uljahn: надо тестить
BorisZ: могли бы написать открытым текстом, чего страшного то
Uljahn: security through obscurity
Pyhesty: в контесте следующую лигу открыли?
Uljahn: вечером, примерно в то же время, что и начало было
Uljahn: может на пару часов задержат, чтобы босса подобрать
Uljahn: они никогда точное время не говорят, потому что постоянно факапы)
Pyhesty: ок, спс...
Uljahn: лол, вот это да, таймауты на плюсах https://www.codingame.com/replay/502823710
Uljahn: не совсем таймауты, но время хода подпрыгивает не слабо
Uljahn: а, в конце всё же таймаут видимо
Uljahn: Automaton2000: русские хакеры под покровом ночи завезли сборку мусора в плюсы :)
Automaton2000: их еще обучить нужно, а по каким примерам. Тут даже человек наверняка едва ли оценит верно позицию
tutubalin: > попробовать использовать время между ходами для сборки мусора > русские хакеры под покровом ночи завезли сборку мусора в плюсы
Uljahn: :laughing:
wlesavo: блин, сразу видно понедельник, люди работают а не спамсабмитят и сабмиты хорошо идут
BorisZ: ) под покровом ночи собираем между ходами чужой мусор
wlesavo: короче я тут вроде придумал как прикрутить изучение спелов в симу, надо будет попробовать
Uljahn: изучение спеллов надо обязательно прикручивать, через него можно как собирать нужные т0, так и избавляться от ненужных
BorisZ: у меня в книге такие же спелы как обычно просто надо на каст 2 хода и сколько-то синих камней
Uljahn: и дельта за возврат таксы?
Uljahn: а если противник его выучит на этом ходу?
BorisZ: ну да, все равно же симулируется, сколько-то добавилось, сколько то прибавилось что в таксе было
BorisZ: у всех что снизу такса плюс у всех что сверху индекс тома минус
Uljahn: а, понял
Uljahn: изучение+каст=2 ход
wlesavo: BorisZ незнаю, мне кажется это слишком распыляет поиск, у меня и так роллаутов маловато чето
BorisZ: Uljahn если он выучит спел который я планировал выучить через 1 ход - ты про это?
Uljahn: да, я тупанул
wlesavo: оторвал от сердца на вражеские роллауты, а они еще и медленные получились, в итоге уркзал вполовину врагу
Uljahn: сборку мусора ему завези ещё)
BorisZ: тогда в следующем ходу заново искать придетс
wlesavo: там у топов уже +- полная сима с мктсом я так понял
735487: а я за выходные ни строчки кода для бота не написал :)
735487: тоже вот думаю то ли симу делать и рандомить то ли пытаться искать через бфс рецепты за себя и противника и ифать собирать тот что я могу быстрее его собрать
wlesavo: лучше симить, ифать задолбаешься, особенно учитывая что часто выгодно подкопить ингридиенты а не сразу варить то что можешь
wlesavo: 2 человека на питоне в топ 30, монстры какие-то
BorisZ: что бфс что рандом поиск - все равно нужна симуляция, иначе дальше 1 хода не заглянуть
wlesavo: ну да, но бфс если не прунить хорошо быстро захлебнется, тогда уж сразу бимсерч какой-нибудь в голове держать пока симу пишешь
Uljahn: а ведь эйлер упоминал чокудай
wlesavo: у него в реплеях ноды, не уверен что там бимсерч
BorisZ: ну а число нод то растет от хода к ходу?
wlesavo: нет, под конец уменьшается сильно
BorisZ: не, не растет, примерно одно и то же
wlesavo: ну там терминальные явно уже достигаются
wlesavo: ну вероятно это именно новые ноды
Uljahn: он говорил в чате, как ноды считает: создаёт потомков, увеличивает счётчик нод, потом через сет отсеивает дубликаты
BorisZ: да, время уменьшается пропорционально
wlesavo: ну я вообще не оч планирую от мс уходить, думаю прикручу симуляцию заклинаний и буду дергать коэффицциенты до голды, в легенду чето уже не очень верится. ну может еще симу немножко оптимизирую хотя бы на 10-15к чтобы выйти.
wlesavo: хотя кто знает, может ближе к выходным и перепишу поиск как-то
BorisZ: лучше сначала угадать с поиском, дальше проще будет
BorisZ: я на пакмане конкретно не угадал - мучился потом, думал вот-вот заведется и поедет
wlesavo: ну мне как-то лениво уже если честно, не сильно нравится игра чтобы третий раз переписывать
wlesavo: что в голду закочусь уверен, а вот с легендой конечно уже грустно
BorisZ: ну хз по мне нравится - не нравится неправильная постановка вопроса вобще
BorisZ: надо любить игру в которую играешь
BorisZ: по сути нравится - значит что угадал примерно что делать с самого начала
wlesavo: не то чтобы игра даже не нравится, это действительно неправильная постановка вопроса, я под этим подразумеваю что мне не очень нравится тот говнокод который я написал и мысль о его переписывании мне очень не нравится
BorisZ: тут я с тобой согласен, та же фигня, даже серьезно подумываю а не поработать ли мне вместо того чтоб бота переписывать
wlesavo: винить в этом игру конечно неправильно :slight_smile:
Uljahn: дарёному контесту в зубы не смотрят
BorisZ: это точно, следующий через полгода
Uljahn: вроде бы раньше будет неофициальный от эйлера, он уже заявку подал
Uljahn: в нг праздники, наверное
BorisZ: круто, предыдущий у эйлера очень хорош был
Uljahn: +
BorisZ: все, я сам себя намотивировал, закрываю все чаты )
BorisZ: работа не волк)
Uljahn: о, неизвестный контуровец на питоне норм держится в топ-100, моё почтение
wlesavo: какой-то японец 3 лвл в топ 30 на питоне, вообще не представляю как
Uljahn: чокудайская магия
wlesavo: ага, знает чо и куда
dbf: хаха, да, скорость тут важна, хотя я начал во случайного поиска и что-то кажется, даже если раза в 3 ускорить, особо смысла не будет
wlesavo: ну у меня поиск после 3-5к роллаутов дальше почти не улучшается, так что да, но на питоне у меня бфс на глубину 3 таймил уже
Uljahn: ппц, страница контеста перестала открываться в лисе
Uljahn: а, стоп, открылась :upside_down:
Uljahn: одна вкладка сломалась из-за аддона...
wlesavo: ну шо прикрутил симу спелов, вроде дало улучшения заметные, ща проверим в сабмите
tutubalin: у меня типа бимсёрч на питоне, но очень неоптимальный и с крайне кривым отсеиванием: просто лимит на 300 состояний
tutubalin: в итоге, если зелье варить долго, то все состояния, где надо брать юзать спеллы, отсеиваются. остаются только те, где он учит спеллы
tutubalin: в итоге в сложных случаях он начинает бесконечно учить, пока всю книжку не изучит
tutubalin: анализ показал, что каждый ход увеличивает количество возможных состояний примерно в 3 раза
wlesavo: не пробовал костыльное ограничение сделать если больше скольки-то спелов то переставать учить сосем?
735487: BorisZ: это точно, следующий через полгода, 21 числа раик стартует
tutubalin: wlesavo думал про это. но питоний вариант - это просто прототип. всё равно надо на что-то более шустрое переписывать
wlesavo: ну да, а так у меня на питоне вообще глупеньки бот был с какой-то недосимой
wlesavo: сима со спелами дала где-то + 15 мест
wlesavo: но все-равно на этом в легенду не заедешь
wlesavo: таймауты кстати пропали, вчера регулярно падало на ровном месте
DinuBrat: не могу понять как считаются очки в деревянной лиге
DinuBrat: может кто объяснить
tutubalin: за каждое сваренное зелье получаешь очки
DinuBrat: Угу только тут ещё за инвентарь тоже даются
wlesavo: в конце игры все тиры больше чем нулевой дают по одному очку
DinuBrat: Спасибо
Uljahn: Natalka1122 стримит на питоне :hugging:
Uljahn: :pensive:
wlesavo: блин, копипастой сломал себе предсказание противника, хорошо хоть заметил что поведение странное иногда
DinuBrat: Как я понял нельзя заранее узнать стоимость зелья
DinuBrat: чтоб под неё подогнать инвентарь
Uljahn: можно, в рефери есть
wlesavo: можно если захардкодишь
Uljahn: там все зелья, только без бонусов
Uljahn: порядок правда разный у зелий в каждой игре
DinuBrat: хм интересно
Uljahn: но параметры и стоимость заданы, 36 зелий всего
Uljahn: так же и со спеллами в томе
DinuBrat: Спасибо сейчас что-нибудь придумаю
Uljahn: угу, время ещё есть на подумать
DinuBrat: (Первый раз на подобных челенджах)
Uljahn: везёт, в первый раз самые впечатления
Uljahn: с ним теперь все последующие будут сравниваться :relieved:
DinuBrat: Ну я надеюсь моя лень не испортит всё :sweat_smile:
Uljahn: ну, контест не самый удачный для вкатывания, но за выход в серебро побороться реально
Uljahn: стримят опять же много, можно подсказок набрать
DinuBrat: Зашёл на стрим к natalka ничего не понял)
Uljahn: угу, я тоже)
DinuBrat: А ну тогда может дело не во мне хехехе
wlesavo: мне с первым контестом очень повезло конечно
Uljahn: нам с медом ещё больше повезло (на гоночки попали)
tutubalin: чото звука у Наталки нет
tutubalin: DinuBrat стоимость зелий, которые сейчас доступны, приходит в инпуте
wlesavo: а че у наталки по диапазону мест примерно?
DinuBrat: Угу , я сделал массив только для BREW и отдельно для CAST
wlesavo: блин починил баги, заработало предсказание опять, но прямо заметно хуже играет бот
BorisZ: в списке игроков в бронзе висит DefaultAI - это видимо и будет босс бронзы
BorisZ: на тысяча саком-то месте
Uljahn: либо он, либо Errichto (в районе 1250-го)
wlesavo: ну нее, 1000 человек в серебре жирно как-то
dbf: поддерживаю, лучше взять 300, чтобы тестировать было проще :)
wlesavo: я бы поставил на то что ктото в районе айнори
NightLuna: 300 топ
NightLuna: но вряд ли, скорее всего будет 500
wlesavo: в пакманах было в районе 400 вроде
NightLuna: и потом в течении суток еще минимум 300 прошли
wlesavo: тут может 500-600
wlesavo: легенда будет конечно очень сложная, на шару как в пакманах ночью не закинут
BorisZ: ну вы каки-то злые, 10% что ли пройдут? всегда было намного больше - процентов 40% вроде
wlesavo: ну к концу как раз процентов 40 пройдут
BorisZ: это в золото процентов 15-20 от серебра,
BorisZ: посмотрим пройдет ли мой рандомбот на питоне
BorisZ: он как раз чуть выше DefaultAI
dbf: BorisZ, рандомобот - это случайный поиск?
BorisZ: нет, он проверяет может ли сварить за 2 каста зелье - просто в цикле, если нет то делает что-то случайное
BorisZ: ходов за 80 примерно заканчивает
wlesavo: сабмиты уже заметно замедлились, думаю через пол часика если отправить сабмит он может и не закончиться к открытию лиги
dbf: прикольно :)
wlesavo: жалко нет опции заменить бота в арене без сабмита, все-равно же если плохой бот то его скинут быстро
BorisZ: договорняк можно делать - выпихивать втроем одного например
BorisZ: или клонов наделать 10 штук - в одно место таблици сабмитнуться, потом 9 заменить
BorisZ: когда 10 туда дойдет
Uljahn: Automaton2000: *blocks your path*
Automaton2000: с другой стороны от врага
Uljahn: это как в гиперсонике запруда из сайонара
wlesavo: ну вообще да, много дыр получается
Pyhesty: d1 = [y-x for y in range(x:cx) for x in range(cx)]
Pyhesty: как правильно написать? что бы перебрать массив cx? а то пишет синтаксическая ошибка?
Uljahn: range(x:cx) :thinking:
Uljahn: массив cx какой размерности?
Pyhesty: если просто cx находит все разницы x-y, массив уже отсортирован мне нужно только положительные разницы, cx размером len(cx)
Pyhesty: cx- одномерный
Uljahn: тогда range(len(cx)) должно быть?
Pyhesty: черт сорри, cx=len(cx) уже
Uljahn: range(x:cx) -> range(x, cx)
Uljahn: наверное
Pyhesty: 5сек проверю
Uljahn: как я давно по массивам не итерировал :relieved:
Uljahn: телевизер (numpy) мне природу заменил
Pyhesty: всё отлично) заработало
Pyhesty: numpy блин... нужно бы вкурить)
Uljahn: супертема для массивов и функций на массивах
wlesavo: на плюсах каждый раз когда массив итерирую флешбек питоновский ловлю
Uljahn: ахах
DinuBrat: извиняюсь конечно но почему когда i==0 (мой инвентарь ) выдаёт пустой массив а когда i==1 (инвент соперника ) всё нормально выдаёт
DinuBrat: for i in range(2): http://chat.codingame.com/pastebin/ff3682b5-f38e-4b55-8cbd-b8653eab1701
wlesavo: MY=[] вне проверки
wlesavo: ты его обнуляешь опять просто
DinuBrat: А всё спасибо
tutubalin: Pyhesty я не понял разницу чего с чем ты считал
Uljahn: разницу индексов :)
Pyhesty: итоговая формула: d1 = [xx[y]-xx[x] for x in range(cx-1) for y in range(x+1,cx)]
Pyhesty: разница между всеми элементами одного массива
DinuBrat: Много x-ов
mykeich: Сколько обычно народу из бронзы проходит на следующий уровень?
Pyhesty: все кто выше AI....
BorisZ: у всех разные варианты ) я ставлю на 1000 - где defaultAI
Egrace: а япошек в топе многовато
MadKnight: 1200-1500 наверное пройдёт
NightLuna: если так много пройдет, то уже через три дня там будут все
Alex.swift: ого, даже у моего собранного на скорую руку бота тогда есть шансы)
wlesavo: там в общаке парень писал что он в топ 2000 без изучения спелов
wlesavo: так что не думаю что так много возьмут все-таки
wlesavo: ну че гадать, осталось меньше часа
NightLuna: мне кажется 500-700
Pyhesty: так без изучения спелов за 10-15 ходов любой рецепт...
wlesavo: согласен
mykeich: Я так не понял а как коллизия с learn решается, если оба игрока один и тот же попытаются выучить?
NightLuna: оба берут
Uljahn: в правилах есть, в рефери есть
Uljahn: "When both witches perform the same action, they both reap the rewards for that action. This applies namely to potion prices, the urgency bonus, the read-ahead tax, and learning spells."
andrey-vinokurov: мне показалось или раньше REST был на конкретное заклинание? а сейчас на все?
Uljahn: показалось
Uljahn: сначала только WAIT был в дереве, а потом в плеер добавили настройку, которая скрывает поюзанные спеллы
Uljahn: может поэтому
kreo: Когда лиги после бронзы откроют-то?
wlesavo: скоро серебро уже, в течении часа где-то
kreo: Их по одной открывать будут чтоли?
wlesavo: да
NightLuna: да, если на лигу нажать в ide, то появятся даты открытия каждой
kreo: У меня там написано только League opening: 11/16/20
kreo: Под серебром. ЧЯДНТ?
NightLuna: действительно, только следующей
kreo: А инфа про вермя открытия откуда?)
BorisZ: на странице описания контеста внизу таблица EVENT SCHEDULE & RESOURCES
BorisZ: там написано открытие лиги с 4 до 6 вечера
NightLuna: ничего себе
MadKnight: (╯°□°)╯︵ ┻━┻
wlesavo: эх чет не пушат босса
MadKnight: мне позвонил самый нетактичный HR тёмных методов заработка в интернете
MadKnight: предлагал заработок
MadKnight: предлагал пройти собес в скайпе где меня оценят и подберут работу в их команде
MadKnight: я спрашивал где можно про них почитать
MadKnight: и про их вакансии
MadKnight: он начал бомбить лол
MadKnight: типа ты чё, как вообще об этом можно почитать? го в скайп, всё расскажем
MadKnight: а я говорю - дайте почитаю сначала, вы чё
MadKnight: и он короче бомбить начал
MadKnight: а через минуты 2 споров он просто взял и
MadKnight: (╯°□°)╯︵ ┻━┻
MadKnight: и ragequit'нул
wlesavo: лол
wlesavo: стал бы ты темным рыцарем
Xanrum: А где новая лига? : (
MadKnight: у них время на 1-2 часа позади мск
MadKnight: ждём
wlesavo: уже по их времени даже без 10 6
MadKnight: ну вот подожди ещё 10 минут
NightLuna: успех
tutubalin: у меня вкладка пикнула, что мол уже вот совсем совсем скоро
NightLuna: появился босс, он пока 1 в серебре похоже
tutubalin: я где-то в 20%, и.мне очень ы не хотелось, чтобы боссом сделали мой питоний прототип
wlesavo: ну это чтобы люди не сабмитили уведомление
wlesavo: ее промоушен
tutubalin: я в серебре!
NightLuna: а ты какой?
NightLuna: 567
wlesavo: 800 человек, офигеть
wlesavo: 900 даже почти
NightLuna: 900 lf;t
NightLuna: даже*
BookSaver: 867 человек)
NightLuna: да, много
wlesavo: и без ресабмита, ничесебе
NightLuna: технологии
tutubalin: похоже просто всех кто выше босса просто перенесли
aropan: Неплохо.
wlesavo: кто босс интересно
Xanrum: *нажал ресабмит на всякий случай*
wlesavo: айнори даже прошел с тем ботом, норм
Xanrum: ух, снова кодить!
tutubalin: видимо Thibaud босс
wlesavo: по месту очень похоже кстати
NightLuna: в серебле уже почти тысяча
Xanrum: и стоило того ждать -_-
wlesavo: единственный плюс такого большого промоушена в том что может и в легенду возьмут побольше людей а не топ10
NightLuna: в легенду с топ10 будет оч сложно пройти
wlesavo: да, топ 10 оч сильное сейчас
wlesavo: сабмиты опять умерли
MadKnight: вау, всего 1к в серебре
MadKnight: из 3.5к
AlexisMolestos: у меня 503 место, это норма?
MadKnight: в серебре?
AlexisMolestos: да
Pyhesty: то чувство когда на ифах застрял в бронзе на 34м месте... и не хочется кодить предсказания ((( беда печаль
MadKnight: ну не знаю, мой бот которого я запилил в первый вечер, и который таймаутится в 1/5 всех игр, на 428 месте
AlexisMolestos: и AI я обхожу.... наверно в золотую лигу попаду
AlexisMolestos: таймаутится? пермутации делаешь?
MadKnight: 10 всё же мало в леге
MadKnight: надо 50
MadKnight: поиск пути делаю
MadKnight: BFS без обрезаний но с проверкой на одинаковые state
AlexisMolestos: трудновато :joy:
MadKnight: и всё это на шарпах которые медленнее плюсов
AlexisMolestos: на пайтоне наверно вообще все с таймаутом будут
MadKnight: ну вон чел на 31 месте на питоне
AlexisMolestos: ну логично что у него не поиск пути
MadKnight: так и ты запили не поиск пути
Pyhesty: а как увидеть на чем код у соперника?
MadKnight: в leaderboard
AlexisMolestos: у меня в некоторых случаях застряет если я купил много желтых а соперник сварил зелье а в других желтые не нужны... и все застряю с полным инвентарем
MadKnight: так надо брать спеллы
Pyhesty: я вообще не понимаю как код у меня варит, кажишь просто случайно пока под рецепт не попадётся, в инвентаре почти нет ничего и постоянно гребет новые спелы...
Hoggins: эх, а я надеялся будет новое правило в сервебре. Что бы всё опять переписывать )))
wlesavo: гребаный memset
andrey-vinokurov: ну спел же поменяли и инпуты :)
Laiff: Инпуты поменяли?
MadKnight: почему
andrey-vinokurov: https://github.com/CodinGame/FallChallenge2020/commit/4b0d2c21899817af91cce2817c9fe3facfb9c1cf
andrey-vinokurov: Ну не прямо радикально :)
wlesavo: думал что потерял 40 мест потому что соперники улучшились сильно, а это была просто комбинация мемсета с кривыми руками, фуф
MadKnight: wlesavo чё ты там намудрил с мемсетом?)
wlesavo: да я так и не понял как он работает, с нулём все правильно, а со значением каким-то говном заполняет, из того что прочитал не понял такое поведение все-равно
YurkovAS: memset же байты заполняет т.е. если у тебя массив интов (4 байта), то уже не получится нормально заполнить
tutubalin: можно умножить на размер ячейки
tutubalin: правда это только для нуля работает
wlesavo: а кроме мемсета есть быстрый способ заполнить массив постоянным значением?
TheCrucial: если ты их модифицируешь то заполнение скорее всего не главная твоя проблема
wlesavo: модифицирую редко
YurkovAS: может предзаполнить в отдельном месте, а потом копировать из него
TheCrucial: ну энивей. вряд ли можно много экономить заполняя память именно мемсетом а не циклом
wlesavo: ну вообще да, наверное смысла особого и нет
MadKnight: народ таймаутится часто
Uljahn: ну ты и соня
wlesavo: до 40 мс зарезал вроде терпимо стало
TheCrucial: и из за чего таймаутится известно?
Uljahn: нет, сначала грешили на GC в языках с GC, но потом обнаружились проблемы и на плюсах
MadKnight: > Players gain 1 rupee for each tier-1 ingredient or higher in their inventory.
MadKnight: только что победил засчёт этого
MadKnight: чел запилил последний recipe, взял больше rupees, но у меня было больше tier-1 и я победил
MadKnight: точнее всех tier'ов
wlesavo: у меня в предсказании противника зашито это, но не сильно помогает
Vitaliy_Kamalin: Новая стратегия в щепки разносит предыдущую, а в ранк теперь на 500 мест хуже после калибровки...
Pyhesty: как в контесте правильно на питоне время измерить, что бы само измерение не тормозило?
Hoggins: хм, внезапно на арене и c# в релизе работает в два раза быстрее...