Chat:Ru/2020-04-09

From CG community
Revision as of 11:20, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/42332548733075> SemenyutenkoAndrey: Подскажите пожалуйста, а что такое MGS? Смотрю правила и не вижу, для че...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

SemenyutenkoAndrey: Подскажите пожалуйста, а что такое MGS? Смотрю правила и не вижу, для чего он?

metahom: сообщение выведет на экран

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

namaska: правда что поддержка python 2 в 2020 пропадет ?

Uljahn: да

MadKnight: да, я что-то такое слышал

MadKnight: пора бы уже на 3 переходить, Automaton2000

Automaton2000: agade wants to practice automatonnn's russian

MadKnight: namaska чё пилишь?

namaska: в python 2 ?

MadKnight: не, вообще

MadKnight: сейчас

namaska: слава богу нет

MadKnight: да не, всм что вообще пилишь?

MadKnight: чё сейчас пилишь?

namaska: ботав в телеграмме

MadKnight: чё за ботов?)

MadKnight: чтобы играть в кодингейм через тг ?)

namaska: на паскале сайты взламываю :joy:

MadKnight: да ваще

MadKnight: изи

namaska: хз , бывало на заказ

namaska: есть эхо боты ,а есть норм боты

namaska: эхо боты намного легче делаются чем норм (это логично)

namaska: но однажды у меня какой-то дурачок эхо бота за 15 баксов взял

namaska: хпх

namaska: изи мани

MadKnight: лол

fresh-ter: #namaska, где хостишь бэкенд ботов? Покупаешь виртуальный сервер или на каком-нибудь сервисе

miklla: попал в голды без использования мин/сонара, трекаю лишь MOVE, SURFACE, TORPEDO, SILENCE, TRIGGER, челлендж выполнен :)

miklla: в голду*

mykeich: крут

wlesavo: тригер без мин?

wlesavo: а, трекаешь тригер

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

NightLuna: miklla, а я без трекинга TRIGGER, но с сонаром))

fresh-ter: (╯°□°)╯︵ ┻━┻

miklla: эх, только на самом деле всё надо трекать

Hamibar: ох завтра лега открывается. что-то неделя быстро прошла

wlesavo: за весь голд так толком ничего не добавил

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

Hamibar: видели тизер весеннего контеста?

wlesavo: fuf

wlesavo: ага

wlesavo: на почту даже пришел

Hamibar: понял о чем за игра будет?

metahom: в контрибьюшнах уже висит пакман

Hamibar: где? я что0то не вижу

metahom: да, больше нет. от Антисквида был

metahom: видимо сильно похож был )))

namaska: у кого какая самая любимая задача ?

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

Hamibar: интересно снова клеточная будет.

Hamibar: или же нет

namaska: (самая интересная задача которую вы решили )

metahom: )))

metahom: а зачем одновременно? чтобы никто не играл?

BorisZ: namaska задачи это не очень интересно, тут главное контесты

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

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

Hamibar: namaska как-то видел интересную алгоритмическую задачку. Есть массив длинны n + 1. В нем числа < n, какие-то из них повторяются 2 или более раз. Нужно за O(n) времени и O(1) памяти найти любое число которое повторяется.

Hamibar: BorisZ бонусы какие-то собирать надо будет. Вон на картинке 3 разных ящика

BorisZ: грузанул ты задачкой

Hamibar: я и сам не очень помню как ее решать)

Alex.swift: может там массив был отсортирован?

Alex.swift: хотя тогда слишком просто

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

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

Hamibar: там она сводится к нахождению цикла в каком-то графе.

Hamibar: Uljahn а что должно измениться если встретишь число которое уже было?

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

BorisZ: тоже не понял что нам даст ксоренье

Uljahn: ничего не даст, просто первое, что в голову пришло)

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

Hamibar: я нашел ссылочку. Там внизу решение. http://aperiodic.net/phil/archives/Geekery/find-duplicate-elements.html

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

Uljahn: факториал по памяти не пролезет, наверное

wlesavo: ну вообще да

StepanSmirnov: скорее всего надо использовать то, что само число подойдет как индекс

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

Hamibar: мб такую тоже можно решить)

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

Uljahn: числа < n могут быть отрицательные :)

Uljahn: или даже действительные

Ginees: кто нибудь решал Mars Lander - Episode 2 на Lua?

Hamibar: :grinning: да наверное условия можно было получше написать

BorisZ: Ginees на странице с описанием задачи (та которая до IDE) есть вкладка солюшнс - там выбираешь язык и видно кто решил, на луа 6 решений есть всего

Uljahn: да там изи решить на любом языке, у меня магическая формула есть

Uljahn: почти -3Vel

SemenyutenkoAndrey: Подскажите пожалуйста, а в чём разница между бронзовой и серебряной лигой? Что добавляется?

metahom: ничего

Uljahn: добавляется более сложный босс))

SemenyutenkoAndrey: ясно спасибо

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

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

Uljahn: решил mars lander 2 на lua ради прикола, - ну и язык... :smirk:

Uljahn: скриптовый паскаль какой-то

wlesavo: ну у тебя и приколы конечно :slight_smile:

Uljahn: что угодно - лишь бы трекинг сайленса не писать))

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

wlesavo: у меня там хардкодно границы уменьшены при поиске места

wlesavo: не очень конечно, но был какой-то баг и мне показалось что так даже лучше

Default avatar.png Tunez: у кого - то здесь есть рил сложные алгоритмы?

amurushkin: а что считать сложным алгоритмом?

wlesavo: не, даже топ1-2 говорили что у них пока ничего сложно

wlesavo: го

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

amurushkin: у меня функция для начального положения 3 штуки в коде ))

Alex.swift: а кто как делает проверку можно ли дострелить до определенной точки? У меня там делается целый поиск пути по А* но кажется каким-то оверхедом

StepanSmirnov: Я в самом начале считаю для каждой точки маску с досягаемыми клетками

735487: я проверяю манхеттеном а потом уточняю через бфс

Alex.swift: тоже сначала манхеттеном проверяю. Тогда с А* вариант в принципе тоже норм

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

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

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

Default avatar.png Tunez: пасаны, а энергия на все действия общая?

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

wlesavo: ты заряжаешь конкретное чтото

Default avatar.png Tunez: а как выбирать что заряжать?

wlesavo: MOVE N POWER_TO_CHARGE

Default avatar.png Tunez: понял, сорян, документацию чутка не понял

Alex.swift: та вариант с предрасчетом на 1м шаге интересный, но думаю сначала надо переделать старт. Топ игроки смотрю дольше в начале игры не детектятся и это им позволяет мин больше ставить в начале

wlesavo: у меня старт рандомный

Alex.swift: у меня делается расчет на несколько ходов и выбирает самый плохотрекаемый, но кови как-то дольше не детектится. Или не повезло с рандомом

735487: у меня очень много партий кончаются с разницей в 1 очко

wlesavo: кови рано сайленс начинает использовать

wlesavo: по крайней мере в той версии что сейчас в сабмите

wlesavo: amurushkin так на это финишер нужн

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

735487: а вот так чтобы понять кто в дуэли выиграет у меня нет

Alex.swift: у кови, вроде, 30 точек порог сайленса. Когда у меня остается меньше 30 вариантов делает сайленс

735487: у меня 10 ))

Alex.swift: у меня тоже)

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

735487: сейчас проверяю будет ли разница с другой функцией начальной позиции

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

wlesavo: пока топ какой-то рандомный

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

wlesavo: а вот в коротких как то хз

Alex.swift: самое критичное, судя по всему, уход от мин. Если до завтра не успею норм сделать не попаду в легу(

wlesavo: а ну если ухода от мин нет то да

Alex.swift: ну очень слабый пока-что

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

Alex.swift: трекаю мины только если точно нашел врага или он сделал первый взрыв. Так что часто вслепую могу заехать в поле

wlesavo: я где-то с 40 уже начинаю учитывать

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

wlesavo: либо когда для разных направлений эквивалентные пути

Alex.swift: с 40 если враг делал несколько сайленсов вариантом еще может быть много. Или я что-то не учитываю

wlesavo: ну так я усредняю разумеется

Alex.swift: если у путей кусок хвоста одинаковый, на котором мины ставились, надо их тогда фиксировать

amurushkin: а я вообще всегда карту мин строю. может зря?

amurushkin: другое начальное положение дало практически такой же результат

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

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

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

735487: я за ход строю один раз но при любом числе вражеских положений

735487: сейчас попробую лимит поставить

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

735487: ну у меня пока путь длиною 1 )))

wlesavo: а, ты не ищешь пока

wlesavo: у меня именно поиск пути нормальный дал тогда топ1

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

735487: да надо сделать хоть какой нибудь. да и еще неплохо было бы научить когда всплывать чтобы на мины не идти

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

735487: самое интересное что с текущим кодом eulera побеждаю очень часто. чуть ли не 100% винрейт. антиеулер прямо ))

wlesavo: он чето сломал

NightLuna: блииин, реально, можно же заранее посчитать куда из каждой точки можно достать торпедой

wlesavo: так то у него около топ 10 код, просто покрутил параметры немного и пока так оставил

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

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

wlesavo: и это у него сейчас в сабмите висит :slight_smile:

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

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

amurushkin: о 14. есть шанс зайти в 10 при везении

amurushkin: включайте легу срочно ))))

wlesavo: лол

NightLuna: ой нет, симулировать стрельбу я точно не буду, мне бы ходить нормально научиться

NightLuna: хотя бы

wlesavo: ну ходить это самое сложное

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

wlesavo: amurushkin смотри в босса не превратись :slight_smile:

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

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

NightLuna: меня как-то взяли в легу с 12, а босс был 13, вот я радовалась

735487: 16. лучший результат за последние дни

Default avatar.png Tunez: А если я прожимаю silence я могу только по прямой ходить или могу сделать + 2 + 2?

wlesavo: просто ограничил поиск?

wlesavo: Tunez по прямой

Default avatar.png Tunez: сяп

NightLuna: а можно же после surface начать ходить сразу?

wlesavo: NightLuna если себя так же как соперника трекаешь то это один из вариантов, да

wlesavo: можно

735487: wlesavo: карту стал строить не всегда мин а когда у противника 40 и меньше возможных позиций

wlesavo: ну я про это и спрашивал, да, забавно что это эффективно

amurushkin: что то ХНУРЭ подкачало. не участвуют ))))

NightLuna: а мины которые уже поставлены, их ты запоминаешь?

amurushkin: есть шанс на 2 место по универам выйти

wlesavo: я вам дам 2ое))

NightLuna: у меня изза мин таймауты

amurushkin: NightLuna да запоминаем

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

NightLuna: а я выиграла тут одну игру в истории, заметила, что ты стреляешь, когда еще точно не нашел, на шару, это выгодно?


wlesavo: у меня порог на урон 0.8 где-то

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

Default avatar.png Tunez: А вы просчитываете возм позицию противника?

Default avatar.png Tunez: или слишком дорого?

735487: да

NightLuna: ну а если вообще мимо начать стрелять, это же сильно плохо

735487: если вообще мимо то плохо. хорошо когда стреляешь туда где большая вероятность что он есть

NightLuna: я проигрываю, даже если на меня первую нападают, а если я не туда стрелять еще начну, то всё

wlesavo: порог это средний урон по всем возможным позициям врага

NightLuna: я так пробовала, мне вообще не везет, всегда не ту позицию выбираю

NightLuna: ну вот может он быть в 2 разных точках с одинаковой вероятностью, стрелять или нет?

NightLuna: точки не рядом

wlesavo: нет

NightLuna: а если в тебя уже выстрелил и ты в тупике

wlesavo: ну только если на 2, тогда стрелять

NightLuna: но можно спалиться и не попасть

wlesavo: в среднем выгоднее стрелять чем нет

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

amurushkin: а я стреляю даже если таких точек будет много

amurushkin: главное чтобы плотность попадания было выше 0.7 у меня

wlesavo: ну так и я о том

wlesavo: у меня 0.7-0.8 стояло, разницы не заметил

Uljahn: даже если не попадёшь - отсечёшь сразу много вероятных положения?

NightLuna: я стреляю только если попаду 100 процентно, наверное неправильно это

NightLuna: ага, и противник тоже отсечет)

amurushkin: да если плотность большая и не попал это очень много отсекает обычно

amurushkin: может опять прикрутить сонар ))))

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

735487: ну я тоже ему приоритет убрал он почти не заряжается

metahom: у меня стреляет на 60% верояности. прикрутить что-ли

dabino: все эти пороги выстрела, коэффициенты - их подбирать - только время терять. 28е поколение генетического подбора параметров... сотни тысяч сыгранных игр... на первом месте турнирной таблицы - дефолтные коэффициенты, с которых все начиналось ((

metahom: )))

metahom: да, всегда после 2го дня игры с коэффициентами прихожу к тому же выводу

wlesavo: жиза, почти не поменялись коэффициенты выставленные из общих соображений

dabino: вот у меня тоже

amurushkin: это всегда так. подобранное наугад почему то круче ))

Uljahn: интуиция прокачана потому что

Default avatar.png Tunez: а если я врежусь в остров конец игры?

BorisZ: сразу проигрываешь если врезаешься

BorisZ: если до тебя дошел ход - значит ты еще жив и враг жив, врезался - счет -1

Default avatar.png Tunez: А размер поля может быть отличным от 15?

BorisZ: нет, можно считать что жестко задан

Default avatar.png Tunez: а почему мы тогда его вводим?\

gybson_samara: потому, что константы зло

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

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

Uljahn: и как это всё хранить?

Uljahn: numpy массив объектов замутить?

Uljahn: а, ещё взрывы

BorisZ: сайленсы не стал - неудобно

BorisZ: self.cells = set()

       self.nbrs_manh = {}
       self.explosion = {}
       self.torpedo_range = {}

BorisZ: мапы просто ячейка : сет

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

BorisZ: cells & nbrs_manh - это готовый граф

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

gybson_samara: В одном процессоре конечно

BorisZ: ну проведи эксперимент, напиши вариант с потоками и простой, сравни время

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

inoryy: да проверяли-проверяли, ничего оно не даёт на СГ

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

BorisZ: если вопрос в поиске путь по своей карте с потенциальными минами

BorisZ: или с уроном

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

amurushkin: kovi так раньше тоже делал :) заплывал ко мне на минное поле и самоубивался

Default avatar.png Tunez: а когда ты проходишь 4 вершины юзая silence ты их посищяешь?

NightLuna: да

Default avatar.png Tunez: сяп

Uljahn: BorisZ: a self.cells что такое?

Uljahn: ой, это объект для всей карты же

Uljahn: спасибо

wlesavo: поставл на трешхолды 1-math.tanh(t/100) вроде даже играет

wlesavo: хуже не стало

BorisZ: Uljahn да сет из всех клеток

735487: hehe а мой еще и выигрывает у wlesavo оказывается )) аж 3 раза

wlesavo: с параметрами играюсь