Chat:Ru/2020-03-31
Batya_S1: у всех долго грузит сайт?
mihei: нет, но он весьма тяжелый, на плохом инете может быть больно
Batya_S1: с инетом все в порядке
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 мс
Alex.swift: а можно как-то запустить сразу 10 игр с игроком?
amurushkin: можно. посмотри в сторону cg benchmark. я правда им не пользовался
amurushkin: я раньше cg spunk юзал но он перестал работать
WwW: а кто в курсе, когда будет золотая лига(и будет ли она вообще)?
Alex.swift: нажми на ранг в ide и увидишь дату
WwW: о спасибо
Alex.swift: amurushkin попробовал cg spunk, но он почему-тто все время выдает результат 0/0
Alex.swift: может не актуален код уже
amurushkin: я же писал цитата "я раньше cg spunk юзал но он перестал работать"
amurushkin: скорее всего поменялось апи на сайте а плагин никто не обновляет уже
WwW: у меня вопрос: а зачем написано время в игре ocean of code? это дано время на прохождение?
WwW: всмысле потом в нее нельзя будет поиграть?
Alex.swift: это что-то вроде турнира. Через это время будет зафиксирован результат и тот кто в топе - победил
WwW: а потом этот турнир закроется?
WwW: или потом дальше можно сражаться?
Alex.swift: дальше дадут ачивки и, возможно, какие-то призы, а потом через какое-то время откроют эту игру просто так в нее играть
Alex.swift: но я что-то не вижу чтоб прошлую игру с турнира открыли, или не там смотрю
WwW: понял, спасибо
amurushkin: прошлую игру открыли уже. и обещали что теперь после завершения контеста сразу будет мульти открываться
Alex.swift: а в каком разделе? Compete -> Games/Contests вижу только где репорт посмотреть
amurushkin: сейчас поищу
Alex.swift: хотя ладно, не надо
Alex.swift: без турнира как-то все равно не так интересно
amurushkin: https://www.codingame.com/multiplayer/bot-programming/crystal-rush
amurushkin: на самом деле интересно но не вовремя контестов :)
Alex.swift: хм, назвали по другому
Alex.swift: считаю взрывы после процессинга мува, того иногда теряю врага когда он стреляет в то место откуда только пришел. Некоторые из топа походу этим специально уход делают) когда остался 1 вариант - мув и торпеда на старое место и пропал с карты
amurushkin: надо учитывать эти моменты
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к всего )))
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 перестал на старых браузерах работать
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 - это какой-то чит, странно, что в правилах такое разрешено