Chat:Ru/2020-03-31

From CG community
Jump to navigation Jump to search

Default avatar.png Batya_S1: у всех долго грузит сайт?

mihei: нет, но он весьма тяжелый, на плохом инете может быть больно

Default avatar.png Batya_S1: с инетом все в порядке

Default avatar.png Batya_S1: все уже получше грузит

WwW: всем привет. у меня непонятная ошибка, игра ocean of code, вывожу корректно команды и игра завершается, у меня -1 здоровье. язык питон, пользуюсь конструкцией try-except, но это не помогает

Uljahn: покажи реплей

wlesavo: WwW -1 может быть изза любой ошибки

WwW: https://www.codingame.com/share-replay/443989795

Uljahn: а точно выводишь?

wlesavo: это у него изза сала

wlesavo: там видно путей за 1000 уже и сало

wlesavo: там имменно таймаут

WwW: неа, там точно не из-за таймаута

wlesavo: почему ты так думаешь

Uljahn: в реплее вроде есть вывод на последнем кадре "MOVE N SONAR"

wlesavo: это распространенная проблема

Uljahn: а в консоли под реплеем - нет

wlesavo: хм

WwW: первая цифра в MSG - кол-во вариантов

wlesavo: ну вот, оно уже за 1000, и ты из каждого делаешь сайленс

WwW: переваливало за 2000 и было норм

wlesavo: https://www.codingame.com/replay/443992622

wlesavo: на сайленс боте крашится сразу после второго сайленса

wlesavo: это знак

WwW: хм

wlesavo: хм, хотя не, не воспроизвелось

wlesavo: сори

WwW: https://www.codingame.com/replay/443942677

wlesavo: но если крашится то после сайленса https://www.codingame.com/share-replay/443993087

wlesavo: в общем если ты никак не прунишь пути то так и будет

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

WwW: нет, но я уже говорил что это не тайм-оут

WwW: скорее всего...

wlesavo: WwW я тебе говорю что это точно изза взрывного роста возможных путей после сайленса

WwW: очень возможно

WwW: спасибо, что помогли

wlesavo: проверь разными выводами, но многие прошли через это

Uljahn: если на питоне кодишь - первым делом надо время контролить

WwW: а можете подсказать как именно и какие модули подключать,

WwW: ?

wlesavo: можно просто timeit.default_timer()

Uljahn: http://chat.codingame.com/pastebin/c45e3db0-bdd1-4afc-82d2-5b77714621b2

Uljahn: могу объяснить подробнее

Uljahn: print() в дебаг, конечно же

WwW: а какое время отводится программе на вывод?

wlesavo: 50 мс

Default avatar.png Alex.swift: а можно как-то запустить сразу 10 игр с игроком?

amurushkin: можно. посмотри в сторону cg benchmark. я правда им не пользовался

amurushkin: я раньше cg spunk юзал но он перестал работать

Default avatar.png Alex.swift: спасибо

WwW: а кто в курсе, когда будет золотая лига(и будет ли она вообще)?

Default avatar.png Alex.swift: 3 откроется

Default avatar.png Alex.swift: нажми на ранг в ide и увидишь дату

WwW: о спасибо

Default avatar.png Alex.swift: amurushkin попробовал cg spunk, но он почему-тто все время выдает результат 0/0

Default avatar.png Alex.swift: может не актуален код уже

amurushkin: я же писал цитата "я раньше cg spunk юзал но он перестал работать"

amurushkin: скорее всего поменялось апи на сайте а плагин никто не обновляет уже

WwW: у меня вопрос: а зачем написано время в игре ocean of code? это дано время на прохождение?

WwW: всмысле потом в нее нельзя будет поиграть?

Default avatar.png Alex.swift: это что-то вроде турнира. Через это время будет зафиксирован результат и тот кто в топе - победил

WwW: а потом этот турнир закроется?

WwW: или потом дальше можно сражаться?

Default avatar.png Alex.swift: дальше дадут ачивки и, возможно, какие-то призы, а потом через какое-то время откроют эту игру просто так в нее играть

Default avatar.png Alex.swift: но я что-то не вижу чтоб прошлую игру с турнира открыли, или не там смотрю

WwW: понял, спасибо

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

Default avatar.png Alex.swift: а в каком разделе? Compete -> Games/Contests вижу только где репорт посмотреть

amurushkin: сейчас поищу

Default avatar.png Alex.swift: хотя ладно, не надо

Default avatar.png Alex.swift: без турнира как-то все равно не так интересно

amurushkin: https://www.codingame.com/multiplayer/bot-programming/crystal-rush

amurushkin: на самом деле интересно но не вовремя контестов :)

Default avatar.png Alex.swift: хм, назвали по другому

Default avatar.png Alex.swift: считаю взрывы после процессинга мува, того иногда теряю врага когда он стреляет в то место откуда только пришел. Некоторые из топа походу этим специально уход делают) когда остался 1 вариант - мув и торпеда на старое место и пропал с карты

amurushkin: надо учитывать эти моменты

Default avatar.png Alex.swift: да уже понял, сел пока просто ошибки искать и уже такой туду лист вырос что походу буду болельщиком)

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

MadKnight: мне вот именно эта игра как-то не зашла

amurushkin: бывает. мне наоборот зашла. а предыдущая нет

amurushkin: я наверное малого научу в нее играть на бумаге с одними торпедами. будет продвинутый морской бой :)

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

metahom: А-стар же

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

wlesavo: а стар разве это делает

wlesavo: я же не стремлюсь никуда

metahom: аа

wlesavo: я думаю в сторону мктс, типа на глубину 10-15 просчитывать путь, но не просто жадно по градиенту, а с эксплорацией

metahom: думаю там минимально его нужно будет доделать

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

metahom: алгоритм Дейкстры

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

amurushkin: да алгоритм поиска пути на графе имхо

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

wlesavo: Uljahn ну понятно что если тебя точно определили не поможет

wlesavo: но все таки, конкретно такую задачу если решать

wlesavo: с путем на графе не совсем понимаю как конец определить

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

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

Uljahn: т.е. тебе надо проложить маршрут с минимальным потенциальным дамагом на N ходов вперёд?

wlesavo: да

wlesavo: где н меньше площади фигуры

wlesavo: и потом оценить порог стоимости пути с которого можно вспылвать

wlesavo: просто это еще и с сайленсом совместить проще

amurushkin: тогда бфс наверное на взвешенном графе

Uljahn: а не дфс?

wlesavo: ну да, наверное дфс таки

wlesavo: единственное что смущает что оценку выдаваемой информации это убьет, но думаю что стоит того, хотя бы для более умной оценки обстановки

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

amurushkin: имхо если нужно на N шагов то это BFS

amurushkin: или вообще тупо волна :)

amurushkin: test

wlesavo: лол

amurushkin: а кто ты говорил часто сайленсы юзает?

amurushkin: хочу проверить у меня таймит из за того что путей много или массив кончался

amurushkin: а то я тут внезапно обнаружил что таймило у меня на 300к путей а массив 225к всего )))

Default avatar.png Alex.swift: Illedan

Kabunda: А вы пишете в браузере или во внешней программе?

Kabunda: Если связать с внешней программой, то подхватывается только один файл или возможно несколько файлов?

amurushkin: я и так и так пишу. из внешней просто копирую и все а пишу сразу в 1 файл

Kabunda: синхронизация только с одним файлом поддерживается?

amurushkin: у меня синхронизация это копи-паст. можешь скрипт написать который будет обьединять в один

Valdemar: Kabunda да, многие пользуются скриптом для объединения в один файл

Kabunda: Спасибо) я думал, что встроенный есть

amurushkin: wlesavo вообще на 2 месте уже. молоток

miklla: второй день не могу войти в контест, пишет внутренняя ошибка

amurushkin: может стоит написать в дискорд админам?

amurushkin: а у меня печаль в структуру не добавляется еще массивчик :) не могу трекать посещенные точки ))

BorisZ: другой браузер, впн пробовал?

BorisZ: значит и не надо их трекать, судьба

BorisZ: ни к чему множить сущности

BorisZ: почему не добавляется даже интересно - неужели память всю выел?

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

miklla: только что попробовал microsoft edge - вообще сайт в нём сломан, я ща на яндекс браузере, а гуглхромом не могу пользоваться, потому что он заражён

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

Valdemar: amurushkin что значит не добавляется?

Valdemar: если на стеке хранишь, то может не влезать

amurushkin: под не добавляется я имею ввиду что когда я в класс дописываю char m[15][15] то код падает на 2 тике :)

wlesavo: amurushkin два дня не сабмитил, запушили ресабмитами

miklla: через 2 минуты в дискорде напишу, когда 10 мин кд пройдёт

BorisZ: miklla у меня в хром, только что через оперу зашел

BorisZ: всех пушат вниз а wlesavo вверх - вот секрет успеха то )

wlesavo: о топ 1

wlesavo: ахаха

Uljahn: лул

wlesavo: пока два топа сабмитят

Uljahn: скриншот тайм

Uljahn: miklla: тут недавно всё обновили - CG перестал на старых браузерах работать

Default avatar.png Alex.swift: Ого, крут, топ 1

amurushkin: засабмитил двигаться как в змейке :)

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

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

amurushkin: я пробовал путь искать на 2-3 хода вперед заданными траекториями. он у меня всегда находил ходить на 1 клетку ))

wlesavo: а ты не оцениваешь путь доступный после хода? у меня просто площадь флудфилом считается на 2 хода вперед

wlesavo: если она слишком маленькая то такой вариант не рассматриваю

wlesavo: среди остальных уже минимизирую дамаг и информацию

BorisZ: тупо генерить валидный путь случайный, оценивать, сохранять лучший

BorisZ: несколько милисекунд выдели

wlesavo: BorisZ я думал что то типа отжига попробовать, да

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

BorisZ: начни с простого - сгенерил, оценил, потом лучший выбрал

amurushkin: wlesavo: у меня тоже флудфилл в оценке

BorisZ: потом может получше идея придет

wlesavo: BorisZ спс, попробую действительно так

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

wlesavo: просто жадно выбирать из случайных

wlesavo: и приоритезировать ранние ходы тогда

wlesavo: все, пошел пилить

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

wlesavo: ну да, я думаю все лучше чем то что сейчас

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

Valdemar: Нельзя дублировать действия и нельзя ничего не делать Все остальные комбинации разрешены

Jokero: нет, если move N не указывать, а указывать только SILENCE подлодка всплывает. недвигаться значит нельзя

wlesavo: BorisZ вроде бы очень неплохо работает, за 5мс правда в такой имплементации всего 100-200 путей считает, но оценки выглядят вполне надежными

BorisZ: ну питон - что поделаешь

wlesavo: да можно наверное ускорить

wlesavo: о, кстати, приудмал, ща проверю

Jokero: я не стал хранить пути, храню тольк возможные точки где противник сейчас может находиться. Потом прошел в бронзу, а там мины. И что бы их учитывать нужно хранить весь путь противника. Теперь надо все переписывать, но вот думаю, стоит ли оно того.

Valdemar: Jokero попробуй вывести silence N 0

Jokero: эти постепенно открывающиеся правила, такое себе дело

wlesavo: Jokero не совсем так, можно в момент когда противник ставит мину отметить координаты текущие его

wlesavo: сам путь не нужен

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

wlesavo: ну я говорю что можно хранить не историю путешествия а историю мин

amurushkin: о как сабмит пошел сразу на 26. всегда бы так

amurushkin: щемлюсь в 20ку )) а всего лишь сделал чтобы иногда ждал когда противник на мину наступит

amurushkin: о даже награрока делает ))

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

amurushkin: правда не всегда ))))

amurushkin: у меня на выстрелы сейчас вообще рандом )))

amurushkin: а с минами что то у анс разное в порогах. потому что когда я его подымаю получается хрень

amurushkin: ох еее. зашел на 15 и сразу 11 поражений подряд

amurushkin: а не уже больше )) нехилый такой лузстрик

wlesavo: жиза)

wlesavo: я помню у меня против кови был 0/32 луз стрик

Valdemar: что-то многовато минеров стало

wlesavo: а ща 37% 83 / 140 / 0 223

Valdemar: невозможно нормально ездить

wlesavo: вот что анти сало 0 делает

amurushkin: так офигенно врывался в топ а потом начали бить ногами )))

amurushkin: пора начинать хранить посещенные точки )))

miklla: CG по ошибке считал поле компания обязательным, я чем-то заполнил и теперь я с вами :)

miklla: клеточная игра, найс

wlesavo: в дискорде подсказали или сам догадался?) нетривиально

miklla: подсказали в дс

miklla: у меня была такая мысль, но лень было пробовать

miklla: когда можно переложить проблему на админов :)

wlesavo: BorisZ думаю еще оценивать урон с серфейсом отдельно

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

miklla: SILENCE * 0 - это какой-то чит, странно, что в правилах такое разрешено