Chat:Ru/2020-03-29

From CG community
Jump to navigation Jump to search

Uljahn: ого, Hamibar обогнал wlesavo

Uljahn: весело у вас там

Hamibar: да за ночь запушили немного

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

amurushkin: решил попробовать включить сонар если предполагаемых секторов 2

Inet_zlodey: ребят, может кто подсказать на задании грабители банков на СИ?

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

Inet_zlodey: http://chat.codingame.com/pastebin/d177d6bd-3974-4092-be92-095273de5149

Uljahn: есть решение на с++ у меня

Inet_zlodey: Как вы присваиваете вору новую ячейку в итоге?

Default avatar.png Alex.swift: amurushkin а включаешь сонар на рандомное если зон > 2 или по какому-то критерию выбираешь? Я беру ту зону где больше точек, но думаю может будет эффективнее если использовать сонар когда на нескольких зонах +- одинаково точек

BorisZ: теоретически максимальное количество информации мы получаем если делим множество примерно пополам

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

DenShlk: если зоны прям 2 то без разницы где включать)

Default avatar.png Alex.swift: надо попробовать переделать по такому принципу, спасибо

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

BorisZ: угу, если 2 и пополам то пофиг, а если 1 с половиной то в ней

DenShlk: кажется оптимально там где больше всего

Default avatar.png Alex.swift: DenShlk в одной зоне может быть 1, а в другой 20. Ты включаешь на ту, в которой 20 и получаешь Y. В результате отсекаешь 1 ячейку сонаром

BorisZ: но у меня все это не взлетело совсем хз почему

wlesavo: BorisZ я хардкодно ставлю сначала 3-4 мины и потом уже сонарю

amurushkin: Alex.swift: в конечном итоге у меня сонар в 99% случаев не используется вообще. у меня без него лучше почему то

BorisZ: если 20-1 то не надо вклчсать

DenShlk: Alex.swift или включаешь там где 1 и получаешь N

BorisZ: вклучать если 10-11 или 10-5-3-2 например

DenShlk: надо попробовать сонар прикрутить тоже

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

Default avatar.png Alex.swift: я когда сонар выключаю у меня +- такой же рейтинг выходит

BorisZ: просто сонар стоит дороже мины, 3 сонара == 4 минам а с мин инфа + урон а с сонара инфа только

Uljahn: вот бы у сонара какой-то бонус был ещё, типа обнулять сопернику чардж сника)

DenShlk: тогда сонар потом сразу торпеда, и без шансов)))

wlesavo: все, устал от минных полей, кажется нужна кумулятивная оценка всплытия как минимум

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

amurushkin: типа взрывать только если точно уверен?

wlesavo: ну не точно

wlesavo: опять один рандом таймаут на сабмит, теперь ищи где

Default avatar.png Alex.swift: А до фаталити есть смысл двигаться в сторону соперника если знаю где он или это неоправданный риск?

wlesavo: такой баг детский нашел, как я с ним вообще в топе сидел хз

amurushkin: вот это я тоже не могу понять. как двигаться лучше всего

amurushkin: wlesavo что за баг? может это фича?

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

Default avatar.png Alex.swift: я так один баг пофиксил и упал на 150 позиций. До сих пор закоменченный фикс оставил подумать как мне этот баг помогает

wlesavo: Alex.swift риск большой, нет смысла

amurushkin: я тоже не взрываю мину если она меня дамажит

Hamibar: я вот думаю не взрывать мину, если она тебя сильно выдает

Hamibar: типо рядом с собой взорвал и отсек свои возможные позиции до нескольких

wlesavo: не думаю что это эффективно

Hamibar: почему. Так взорвал и противник тебя обнаружил. А ты получил ничего. Если конечно взрываешь не со 100% уверенностью в уроне

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

Hamibar: наоборот же от взрывов очень много инфы

wlesavo: ну ты считал сколько вариантов прунится от триггера?

Hamibar: прунится?

wlesavo: отбрасывается

Hamibar: нее это не считаю

Hamibar: но надо бы

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

wlesavo: плюс мины

amurushkin: вероятность наступить на мину? у меня пока еще нет трекинга мин

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

amurushkin: а возможный урон у тебя учитывает как то соперника?

wlesavo: мины имею ввиду только

Hamibar: а что такое флудфил?)

Uljahn: :smiley:

wlesavo: простой способ посчитать площадь

Hamibar: ааа, понятно.

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

tutubalin: amurushkin иногда ты отправляешь команду "| MOVE E TORPEDO"

tutubalin: то есть как бы их две, но первая пустая

wlesavo: не

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

tutubalin: но это ещё ладно. я видел людей, которые делают MOVE без чарджа

wlesavo: проще плюсовать

wlesavo: тоже так делаю

tutubalin: о, и правда

tutubalin: сломали мне парсер, негодяи )

wlesavo: лол

wlesavo: хм, там еще и пробелы у него, интересно не ломается ли мой парсер

wlesavo: kjvftn

wlesavo: ломает

wlesavo: хм

wlesavo: или нет

wlesavo: а не, рефери сам форматирует нормально и отдает

wlesavo: amurushkin а зачем ты останавливаешься чтобы мину поставить?

amurushkin: wlesavo: я специально так сделал типа чтобы больше полей было оставшихся

amurushkin: надо попробовать ради эксперимента поменять наверное

wlesavo: ну я так и понял что время экономишь

wlesavo: но не знаю эффективно ли это

wlesavo: не заряжаешь же в это время

Uljahn: угу

amurushkin: ну вот засабмитил. пока хуже идет

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

amurushkin: вообще в идеале бы это как то сделать чтобы бот решал как лучше

wlesavo: поправил косяки наконец-то, ща посмотрим что будет

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

BorisZ: а мин будет меньше на 30%

BorisZ: ну или на сколько-то там 25-33% )

BorisZ: да и всплытие может быть спасением иногда

amurushkin: ты точно также на эти же 30% увеличиваешь себе время до всплытия

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

wlesavo: у меня был баг еще ща что фаталити не работало когда у меня 1 хп

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

amurushkin: у меня пока вообще этого всего нет :)

wlesavo: во, другое дело, топ 6 на 50 процентов

amurushkin: неплохо

amurushkin: а стартовую позицию как выбираешь?

wlesavo: хотя не, луз стрик, ща упаду)

wlesavo: amurushkin рандом чтобы рядом не было островов, на расстоянии 1

Vitaliy_Kamalin: а вы в какой лиге?

wlesavo: серебро

tutubalin: amurushkin у тебя всегда центральная точка начальная? )

amurushkin: tutubalin: нет но он к ней тянется. по сути да почти всегда

amurushkin: у меня оценка до центра и островов

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

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

BorisZ: надо будет попробовать что ли

BorisZ: стартовая позиция если и влияет на что-то то то совсем копейки - все нивелирутся перемещениями и прыжкаии

BorisZ: я сделал по науке как ульян учил - ничего не поменялось

Hamibar: Попробовал почаще стоять почти ничего не изменилось.

Hamibar: Но дня 4 назад это работало

metahom: UTG открыли

Uljahn: вроде давно уже

Uljahn: и ботов с контеста ресабмитнули

Uljahn: экспу повторно теперь не дают за промоушены

metahom: ясно. странно что не оповещают про это

Hamibar: в письме было

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

BorisZ: я раньше тупо от центра плясал, может от этого не поменялось, недалеко точки то

BorisZ: как правило )

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

Hamibar: интересно, а влияет ли счет в партии на то, насколько повысят/понизят в рейтинге? или только факт победы поражения важн?

BorisZ: не влияет счет

Hamibar: спасибо

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

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

Hamibar: Да это и не важно)

wlesavo: все сломал, уф

wlesavo: или не все

Uljahn: костыли и леса ифов сколлапсировали под собственным весом?

wlesavo: но проблем куча таки

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

wlesavo: надо из нее сделать нормальный эвал какойто

wlesavo: но у меня голова болит от нее уже

wlesavo: ну ладно, вроде эта версия вернулась в топ10

wlesavo: я же всплытия запилил

wlesavo: против Hamibarа какойто лютый винрейт

Hamibar: Ну это частенько так. Против кого-то играет хорошо, а против другого плохо

wlesavo: вообще нплохой сабмит был http://cgstats.magusgeek.com/app/ocean-of-code/wlesavo

Hamibar: я тут подумал, зачем все заряжают на первых ходах торпеду? наверное это не решающий фактор, но торпеда же совсем не нужна на ранних ходах

Uljahn: я уже говорил про это

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

Hamibar: не знаю почему трудно. Обычно ведь активные действия начинаются хода с 30го

Uljahn: захардкодить предлагаешь приоритет торпеды с какого-то хода?

Hamibar: Ну просто поиграться с этим параметром.

Hamibar: Но вряд ли он действительно даст много

Uljahn: я думаю, прибавка будет у тех, кто на мины налегает

Uljahn: а никто не пробовал отсекать на основе пробелов в траектории? как если бы траектория огибала остров?

Hamibar: звучит интересно, но не понятно как это сделать.

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

Uljahn: миимальный остров вроде 2х2

Jokero: у меня случайно подлодка шарахается, много пустых клеток тоже оставляет

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

Uljahn: ну и контрстратегия - эмулировать острова, оставляя пустоты

Uljahn: или симулировать

Uljahn: Automaton2000: симу запилил уже?

Automaton2000: да и в то же время

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

wlesavo: если и есть то не говорили об этом

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

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

Hamibar: в этом подходе совсем непонятно как с сайленсом бороться.

Hamibar: Нужен достаточно длинный путь, чтобы понять, какие пустоты - острова

Hamibar: Наверное)

[IQOverflow]Jatana: Правильно ли я понимаю, что первым происходит выстрел, только потом движение лодки?

Hamibar: Это происходит в том порядке, в котором ты команды отдаешь

[IQOverflow]Jatana: ок

Hamibar: можно сначала походить и выстрелить, можно наоборот

Hamibar: можно не ходить после выстрела)

[IQOverflow]Jatana: Но, тогда это будет surface ведь

Hamibar: нет

Hamibar: Each turn you must perform at least one action.

[IQOverflow]Jatana: а

Hamibar: неважно какое это будет действие)

Hamibar: Правда у меня от стояния на месте не улучшился результат

[IQOverflow]Jatana: Насколько я понимаю тут нужно максимально активно действовать

BorisZ: кто бы знал как нужно действовать (

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

Hamibar: BorisZ нужно действовать так,чтобы соперник не знал где ты, а ты знал где соперник. Все просто)

BorisZ: ну вот все секреты сразу выдал )

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

Hamibar: ну да

Hamibar: Вообще Uljahn правильно сказал,что нужно балансировать.

Hamibar: Просто стоять, когда есть действие не слишком профитно

Hamibar: Но, кажется, что иногда можно и даже будет лучше.

[IQOverflow]Jatana: sonarResult выдает ответ на тот момент когда его использовали, или на момент уже после хода соперника?

Vitaliy_Kamalin: когда использовали

[IQOverflow]Jatana: ок

amurushkin: 24 )) так и тянет сидеть и ждать голду ничего не сабмитить ))

Hamibar: это да, когда около топа сидишь очень не хочется ресамбитать

wlesavo: ну золото еще не скоро

wlesavo: конечно марафон слишком затяжной

wlesavo: недели две было бы в самый раз

amurushkin: а мне норм. я по чуток кодю и не спешу :)

amurushkin: мне нравится когда месяц

Hamibar: ну думаю в золото тоже человек 200 попадет

amurushkin: да не. около 100 будет

wlesavo: зололто фиг с ним, вот в легенду бы хотелось

wlesavo: я еще никуда в легенду не проходил

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

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

amurushkin: и топ10 по языку кажется брал на джавке

Uljahn: думаю, на питоне в топ-50 можно будет войти, если постараться

Uljahn: всё-таки на гридах плюсовики перебрутфорсят всех

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

[IQOverflow]Jatana: Почему на один ход всего лишь 50ms, это же очень мало

Hamibar: [IQOverflow]Jatana чтобы плюсовики не забрутфорсили)

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

Uljahn: 50 мс - это три кадра при 60 fps

[IQOverflow]Jatana: Hamibar Почему не сделать grid побольше

Hamibar: знать бы еще что брутфорсить :grinning:

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

Uljahn: так играет тысяча человек, у каждого бота по сто матчей - 50к матчей

Uljahn: если дольше сделать, сабмиты будут по два часа

DenShlk: ну 100 хотя бы )))

Hamibar: вроде как 50мс не так уж мало.

amurushkin: это стандартно для CG. на других платформах например в RAIC там по 25 вообще если равномерно разделить

Uljahn: на премиум аккаунтах на 10мс больше, говорят

amurushkin: а еще можно докупить по 20мс на 1000 игр

DenShlk: тут есть премиум аккаунты?))

Uljahn: тут и стримеры свои есть

DenShlk: ну про стримеров я знаю

Uljahn: про премиум - это шутка, в общаке угорали

[IQOverflow]Jatana: Как тут правильно время замерять?

Uljahn: после первого инпута

[IQOverflow]Jatana: clock() правильное время показывает?

Uljahn: язык?

[IQOverflow]Jatana: C++

Uljahn: chrono вроде юзают

Vitaliy_Kamalin: А кстати, насчет 50мс. У меня по логам 10-100мс на ход уходит и чет как-то тихо

Vitaliy_Kamalin: на первый ход вообще втрое больше затрачиваю и всё работает. Время вообще учитывается?

Hamibar: ты после первого инпута считаешь?

[IQOverflow]Jatana: После бронзовой лиги, будет в правила что-нибудь добавляться?

wlesavo: нет

Hamibar: кстати, сейчас понял, что после саленса можно 2 луча отсекать. 1й в ход сайленса, противоположный предыдущему направлению. А второй луч на след мув. Противоположный ему.

Hamibar: Надо бы додумать эту идею

Hamibar: И похоже,что после сайленса, наиболее хорошая стратегия идти в том же направлении, что и до сайленса