Chat:Ru/2021-05-14

From CG community
Revision as of 11:39, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/8534620461135> miklla: уууух, я нашёл источник отличия между работой моей программы на CG и локально...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

miklla: уууух, я нашёл источник отличия между работой моей программы на CG и локально

miklla: а именно я упорядочивал действия по энергии при помощи qsort(), а она, оказывается, одни и те же данные упорядочивает по-разному

miklla: то есть является нестабильной сортировкой

miklla: (нестабильная сортировка = равные элементы могут идти в произвольном порядке, а не только соответствующем исходным данным)

Default avatar.png AVFr: мож либы разные

Uljahn: или соль

YurkovAS: вчера чел из топ15 писал что у него параллельный mcts может прикалывался, не уверен на 100%

miklla: эх, коммичу, была-не была :)

YurkovAS: miklla хорошо идешь, должен пройти за топ20. в крайнем случае можно еще ресабмитнуть пару раз и выбрать лучшее

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

YurkovAS: чем я сейчас и займусь похоже. вчера бот доходил до 30 места, вдруг запушат...

miklla: блин, я больше ожидал от глубины выше 1

YurkovAS: kurnevsky у тебя на евристиках бот или с хорошим поиском (бим серч, минимакс и т.п.)?

kurnevsky: Минимакс.

YurkovAS: у miklla-ы скорее всего тоже минимакс

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

miklla: хоть я и люблю минимаксы, но в этот раз не он

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

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

Hamibar: Ну понятно, что нужно чуть подшаманить.

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

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

wlesavo: теперь можно и бимсерч попробовать запустить

YurkovAS: wlesavo :thumbsup:

Xyze: я либо неоч, либо я неоч


Xyze: у меня тоже монте заработал

Xyze: но бим вообще не але

Xyze: сразу хуже становится

Xyze: может его конечно оценка угнетает

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

wlesavo: буду вечером лечить видимо

Xyze: близкая к достаточной - это сколько?)

wlesavo: да мало, мне хватало в районе 100

Xyze: а, ну у меня на 100 тоже становится неоч

Xyze: + я решил доигрывать любую последовательность до WAIT

YurkovAS: в что там мало? у меня нормально на 1-2к ширине

Xyze: ты сортируешь ходы и берешь столько, сколько ширина луча?

YurkovAS: да

Xyze: получается ты иногда будешь оценивать состояния мира после рахных ходов?

Xyze: ну то есть WAIT с SEED и прочее?

Default avatar.png Drobor: А сейчас по-прежнему за оппонента никто не играет? Я думал попробовать ифами хоть что-нибудь за него делать

YurkovAS: только использую статичный массив и через бинпоиск нахожу место

Xyze: я хз как оценка будет реагировать на сравнение состояний в разные дни между собой

Xyze: и хотел доигрывать до конца весь день

Xyze: чтобы делать фильтр

Xyze: и тогда иногда когда много солнца он там может наворотить слишком много ходов

YurkovAS: Xyze по разному делал, с одним большим массивом или с 4 массивами под действия или с 24 массивами под дни а потом из них в один большой перекладывал

YurkovAS: сейчас у меня 24 массива лучших состояний 1к и потом из них выгребаю топ2к

YurkovAS: 24 массива лучших по днях

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

YurkovAS: Drobor вчера добавил 1 ход за оппонента, стало лучше, стал доходить до 30-40 места. сейчас хуже уже, может просто удача

YurkovAS: угадывает плохо, примерно 50-60% от всех ходов в партии

YurkovAS: в общедоступном гиперсонике увидел такой подход. он там сначала выгребал топ10 в каждой клетке, а потом уже из них набирал топ50 числа примерные

Default avatar.png Drobor: ну это медленно наверное будет и не очень эффективно

YurkovAS: да так же примерно

Default avatar.png Drobor: а кол-во ходов просимулированных не упало разве?

Default avatar.png Drobor: если столько за опоонента считать

YurkovAS: а, ты о противнике, скорость упала, примерно подобрал тайминг под это дело

Default avatar.png Drobor: во, я пожтому и думал ифами ходить. Ифы они ж быстрые относительно перебора

Chibikko: А на сколько большой фактор удачи в рейтинге? Если два раза один алгоритм залить, как сильно место может отличаться?

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

Sbergeif: а openai кто-нибудь пробовал на этой игре? может кто знает, в reset надо скидывать до начального, но одного и того же(недоступные клетки и положения деревьев)

Default avatar.png Drobor: ну хотя бы что-нибудь тупое из серии "если мы здесь качнем дерево и дерево оппонента от этого попадет в тень то так и делаем"

YurkovAS: Chibikko думаю что +-10мест легко может быть. смотря еще какая там разница в score между например 10-20 местами, если маленькая, то будет сильный разброс

Default avatar.png Drobor: я ночью залил на 40е место потом перезалил, оказался на 65м сейчас 43е. так что 20 мест даже может быть

Default avatar.png Drobor: код точно такой эе

Default avatar.png Drobor: код точно такой же

Hoggins: я ничего не заливаю уже второй день и место постоянно плавает от 240 до 340...

Chibikko: понятно. Пытаюсь подтюнить параметры, заливая на сайт чуть разные версии.

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

Default avatar.png Drobor: а в этих тулах можно не против себя играть?

wlesavo: да

wlesavo: в бенчмарке точно

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

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

Default avatar.png Drobor: а оно на серверах CG все равно играется?

Default avatar.png Drobor: или локально

Uljahn: бенчмарк создаёт игры через api CG

Uljahn: id ботов можно взять на http://cgstats.magusgeek.com/app/spring-challenge-2021

Uljahn: Agent id

Default avatar.png Drobor: и CG не банит за такой дудос?

Uljahn: ну, там кулдаун 20 сек

Default avatar.png Drobor: у меня даже рукми иногда таймауты вылетают

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

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

Uljahn: если не наглеть, то ок

BorisZ: там стоит лимит на количество игр, что через иде, что через апи, пофиг

BorisZ: в районе 100 игр в час, может 200 может 80, короче порядок такой

Uljahn: ага, но это вроде недавно добавили

BorisZ: да, раньше на ночь оставляли кгбенчмарк )

Uljahn: фига, уже босса калибруют

dbf: надеюсь, не будет так низко, а то будет обидно не пройти в легенду )

Uljahn: босс на питоне -> топ-30 пройдут сразу как минимум

dbf: он сейчас вообще ниже 150 застрял

Uljahn: ещё есть время его ресабмитнуть

Default avatar.png Drobor: а боссы разве не всегда на питоне?

Uljahn: боссами выбирают из ботов игроков

Default avatar.png Drobor: я просто ни разу не видел не-питоновского босса) мб совпадение или мб на питоне никто симу не пишет и поэтому их CG И бергут :)

Uljahn: в серебре вроде на шарпе был

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

Uljahn: 150 в леге сразу - это перебор, мне кажется. а может политика у админов изменилась, типа сделать доступнее, всё равно в мульти никто не играет

nGragas: >> А на сколько большой фактор удачи в рейтинге? Если два раза один алгоритм залить

у меня такой рандом - один и тот же код может быть по итогу 60 или 120 местом =| и фиг поймёшь это ты чтото плохое реализовал или просто рандом

Uljahn: 103 в леге :rolling_eyes:

YurkovAS: ура!!!

nGragas: ой, а не 16 числа лега разве?

Uljahn: позавчера сильвер, новая лига каждые два дня

BookSaver: Рандом лечится большим количеством игр. У меня на 300 игр двух одинаковых игр разброс в 5% побед, меньше 1% по сумме очков. Если новая версия выдает больше 60% побед над старой на 300 играх, заливаю.

Uljahn: ой, голд позавчера

nGragas: BookSaver ты это какимто спец инструментом делаешь?

nGragas: плохо понимаю как 300 игр не вручную проверить

BookSaver: Рефери, чуть подправленный, кривенько, но мне хватает. Как я понимаю , бруталтестер то же самое делает.

nGragas: Рефери? Что это такое?

BookSaver: https://github.com/CodinGame/SpringChallenge2021/tree/main/starterAIs

BookSaver: ну не сам стартер Аи, а чуть повыше

Uljahn: это стартеры, но там же и сам движок игры на джяве

BookSaver: А я на джаве и пишу.

Uljahn: удобненько

BookSaver: Вот сам движок позволяет запуститть игру локально

BookSaver: Можно с просмотром, можно без.

BookSaver: Нужна обвязка, чтобы запустить пачку игр, вот бруталтестер и есть такая обвязка на базе рефери. Но я про него увидел, когда уже свое накропал.

nGragas: ого... круто конечно... для меня предел радости пока - подключить sync с IDE, там легче чем в браузере ковыряться)

kurnevsky: Мне начинают нравиться лиги :)

kurnevsky: Дают возможность побыть на первом месте, пока идет пересчет :)

Default avatar.png Drobor: а нет нигде набора тулов чтобы файлики с кодом в один сшивать? я помнб в прошлый раз сам фигню какую-то написал но потеряд уже

nGragas: успевай заскринить, будешь внукам показывать)))

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

BookSaver: Кстати, такую фигню надо тоже будет написать, ибо задолбало)))

wlesavo: ого, такой огромной леги на открытии я еще не видел

Default avatar.png Drobor: А сколько она обычно?

Uljahn: 15

Uljahn: на момент открытия

Uljahn: потом до 100-150 распухает

Uljahn: похоже админы решили сделать контесты нуб-френдли

YurkovAS: ахах

Uljahn: только вот с пересчётом что будет

BookSaver: В леге 99, и сейчас еще подвалит)

Uljahn: топ-100 наверное запустят

wlesavo: будет обидно не пройти с такой огромной легендой))

Uljahn: посмотрел - на форуме полно тем по ключевым словам code bundler и merging multiple files

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

Uljahn: * , даже если

Default avatar.png Drobor: да, можно и на ифах в легу пройти

BookSaver: Но как дружно народ вылил новые версии! Это кранты, товарищи. Лега через час 200 будет )))

nGragas: забавно, что dbdr, который держал топ1-топ5 остался в Голде, из-за того что нажал пересчёт рейтинга за 4 минуты до запуска Леги ))

aangairbender: Drobor для какого языка бандлер нужен?

Default avatar.png Drobor: для шарпа но я вроде нашел чето https://www.codingame.com/forum/t/c-tool-join-multiple-files-into-one-big-file/2798

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

Default avatar.png Drobor: выложи в гитхаб :) z gjnjv jgznm gjnthz.? rfr cdjq cnfhsq

Default avatar.png Drobor: я тоже писал в прошлый раз но потерял))

aangairbender: Drobor https://github.com/aangairbender/cg-singlefile-bundler-csharp

Default avatar.png Drobor: спасибо :)

aangairbender: я в визуалке ставил на post-build действие запуск этого скрипта

aangairbender: тогда при успешном билде автоматом генерится один файл (у меня расширение для браузера было, поэтому при биладе в визулке сразу бой на сайте создавался)

Default avatar.png Drobor: да, норм тема

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

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

aangairbender: ширина 1000 вау, у меня 50

Hamibar: Походу будет еще одна лига. Какая-нибудь мифическая :grinning:

aangairbender: аркана

Uljahn: платина/даймонд давно уже напрашиваются, особенно в гоночках

Uljahn: а то об легенду ноги вытирают уже

aangairbender: Drobor оно хоть заработало?

Default avatar.png Drobor: я вечером посмотрю, работа сейчас все-таки :)

aangairbender: у меня 22:41, чето я забыл)

Default avatar.png Drobor: 16:41 у меня)

rombolshak: Что то я в идее считать оценку не состояний, а ходов, запутался. У меня получается примерно та же самая эвристика, что была без поиска, играет соответственно чуть лучше. Только раньше я выбирал первое лучшее, на мой взгляд, действие, а теперь несколько, из которых еще немного вглубь посмотрю. Так и должно получаться или нужна принципиально другая оценка?

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

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

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

Hamibar: Мой бимчерч даже заработал. Теперь стоит только оценку нормальную сделать.

Chibikko: пытаюсь brutaltester скомпилить, а на сайте oracle не дают скачать Java 1.8 SDK. Просят зарегаться с обязательным заполнением всех личных данных вплоть до точного адреса проживания. Только данные паспорта не просят. Пока что. Это нормально?

Chibikko: *JDK, а не SDK

Hamibar: Наверное комбинированный подход будет лучше всего. И стейт оценивать и последнее действие

dbf: Chibikko быстрее скачать тут https://adoptopenjdk.net/

Chibikko: спасибо, попробую

nGragas: у вас тоже после отправки бои идут больше часа?

dbf: nGragas сейчас много игроков пересчитывается

Chibikko: а можно просто скомпилировать jar-ку из репозитория https://github.com/LSmith-Zenoscave/SpringChallenge2021 и использовать как рефери в бруталтестере? Или что-то править надо? У меня постоянно выдаёт "Negative score during game 1 p0:-1" в тестере.

YurkovAS: может лигу не указал, делается так: -r "java -jar -Dleague.level=3 referee.jar"

YurkovAS: наверное в ней уже все поправили (в официальной сам поправил). и да, использовать ее надо в брутал тестере

YurkovAS: запускают так: java -jar ./cg-brutaltester.jar -r "java -jar -Dleague.level=3 referee.jar" -p1 "./bot-1" -p2 "./bot-2" -t 4 -n 100 -l "./logs/"

Chibikko: да, похоже дело в неуказанной лиге было. Сейчас заработало.

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

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

Hamibar: У меня вообще оценка настроена так, что считает, что выгоднее ждать :grinning:

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

kurnevsky: А brutaltester работает на openjdk?

kurnevsky: Problem with referee output in game34. Output content:WARNING: sun.reflect.Reflection.getCallerClass is not supported.

YurkovAS: kurnevsky работает на 8-ке, только прописываю полный путь к java, в убунте

kurnevsky: Ага, это уже понял, только потом оно все равно не завелось :)

kurnevsky: Invalid Input: Expected COMPLETE <idx> | WAIT but got 'SEED 8 5'

YurkovAS: это надо лигу указать, пример выше писал.

kurnevsky: Ага, как-то пропустил, спасибо :)

YurkovAS: и cg-bench полезный тул, не сложнее чем бруталтестер, зато будет тестироваться на сервере против реальных противников - там пропишешь нужных и путь работает

kurnevsky: Он слишком медленный :)

kurnevsky: Лучше на потом оставить, когда будет локальное улучшение.

kurnevsky: Которого пока не предвидится...

Hamibar: бесит конечно этот новый лимит на игры. Давно его ввели?

wlesavo: YurkovAS а ты чистишь дубликаты как-нибудь?

YurkovAS: да

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

aangairbender: а в чем проблема просто хешсет держать?

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


YurkovAS: у тебя наверное хешсет и просто массив - поэтому тормозит

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

YurkovAS: тогда будет быстрая проверка, но будут дубли, т.к. коллизии хешкодов

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

YurkovAS: я же храню все уникальные состояния

aangairbender: zobrist хеш слышал в чате несколько раз используют

YurkovAS: хешфункция - своя, типа как в яве учили делать

wlesavo: как?

YurkovAS: + equals свой - работает это кончно очень медленно, зато нет дублей

YurkovAS: http://chat.codingame.com/pastebin/887965ab-64a7-41d2-bf13-8730a684c151

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

YurkovAS: wlesavo если у тебя в кешсете состояния - то будет тормозить как раз он. у меня то всегда отсортированным массив и топН, поэтому чаще срабатывает проверка худшего из массива с нашим новым. там прям в раза 2-5 быстрее становится

YurkovAS: эх, непонятно написал

wlesavo: да не, я понял, я тоже так хотел делать

wlesavo: блин, сортировка чтоли не работает

YurkovAS: ахах

wlesavo: а, не, показалось :smiley: я уж испугался как оно вообще работало

YurkovAS: ты коэфф уменьшаешь раз в день?

wlesavo: да

wlesavo: да вообще странно чето, вроде все работает, а всер-равно плохо

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

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

YurkovAS: а, ну понятно

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

Beard: YurkovAS вы же здесь не одни, говори конечно :D

wlesavo: если в моих реплеях то там ща поломанная версия крутилась, но все равно говори конечно)

YurkovAS: щас все в легу залетят :)

wlesavo: о, ресабмитнул то что было до сломанного эвала, сразу 10/10 на старте

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

wlesavo: ато как-то грустно

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

YurkovAS: не сади по прямой линии вообще, либо добавь огромный штраф

YurkovAS: недавно пакманов пытался улучшить - макс 100-200 в голде :)

dbf: по прямой линии - это даже для двух? а если они не достают, в чем проблема?

dbf: (не достают тенью)

YurkovAS: теорию не скажу, точно тень. у себя это полностью убрал, но у топов есть

YurkovAS: оно прям заметно дает, и ходов становится меньше

wlesavo: а, это то что ульян говорил ход конем

wlesavo: ща проверю

Hamibar: блин хоть фейка заводи, чтобы код протестить. Что-то просто на эвристиках лучше играло, чем с поиском :grinning:

wlesavo: Hamibar жиза ппц

YurkovAS: и начинать рубить лучше на 12-11 ходу

wlesavo: вроде лучше стало немного с ходом конем, ща сабмитну посмотрим

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

Beard: я сделал ход конем позавчера, что-то легенды и близко нет(

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

oreshnik: YurkovAS, не сажать на линии, это ты имеешь в виду на старте игры?

oreshnik: Решила посмотреть, что будешь делать в середине, так там сажаешь рядом

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

oreshnik: у меня единички не сажают просто

oreshnik: но можно не сажать на линию в начальной стадии, а потом-то куда деваться, места нету

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

oreshnik: ага, у меня как раз типа такой оценки, по началу "ход конем" вроде и получается

gybson_samara: спасайте, как в питоне переходить размерность массива не назад (-1), а в перед. Скажем массив 10, а беру 11 и он дает 0

Beard: index % size ?

wlesavo: i%n

gybson_samara: это вычисления

wlesavo: ну а ты хотел :slight_smile:

gybson_samara: ну вермя

gybson_samara: я хотел, чтобы вперед было не так затратно, как назад =)

gybson_samara: логичное же желание

wlesavo: так а зачем ты хочешь брать индекс больше

gybson_samara: в эвенте круги\

gybson_samara: 6я клутка в первом круге имеет соседов 5 и 1

gybson_samara: смекаешь?

gybson_samara: круги 6, 12, 18, все красиво

gybson_samara: а счастья нет

wlesavo: так а зачем тебе круги

YurkovAS: oreshnik совсем убрал сажание на линии

gybson_samara: мне круги чтобы a[7]=a[0]

Beard: а что хранится в a?

Beard: сделай его длиной не 6, а 24

gybson_samara: a=[1,2,3,4,5,5,6]

Beard: ну

gybson_samara: нет

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

gybson_samara: соседние клетки в гексагоне считать

Beard: мое предложение ещё в силе

Beard: неужели памяти жалко?

Beard: [1,2,3,4,5,61,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6]

gybson_samara: Beard мне -1 тоже надо

gybson_samara: и я не программирую на константах

gybson_samara: а если матрица 10*10?

gybson_samara: так дела не делаются

Beard: моё второе действие у бота - выделить 512 Мб памяти

Beard: делаются

gybson_samara: я вас не исповедаю =) мне нужно перейти через границу массива сверху

gybson_samara: мои методы мне не нравятся

gybson_samara: хорошо, как в питоне сделать аналог оператора "?" ?

wlesavo: вообще если ты на питоне пишешь то смысл экономить на делении с остатком, много не выйграешь все-равно

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

gybson_samara: как мне в питоне написать ?(i<7,i,i-7) ?

gybson_samara: кроме экономии еще хочется читать код нормально

gybson_samara: это мнгократно вызываемый код

YurkovAS: wlesavo у тебя там хорошая идея озвучена. думаю даже самая простая реализация даст улучшение

oreshnik: YurkovAS, ну как же, вот у тебя 5 змейкой тут на 42 ходу https://www.codingame.com/replay/555122359. Или я чего-то не понимаю)

YurkovAS: змейкой можно, по прямой линии нельзя (по которым солнце светит, 6 направлений)

oreshnik: ну, два по линии выходит все же, как не крути)

oreshnik: я думала совсем прямо никогда

YurkovAS: имел ввиде тот кто садит, по линии не может

oreshnik: Теперь понятно, спасибо

YurkovAS: а то что он в реплее туда кидает, это уже другое

nGragas: На платформе система античит есть? Если я после контеста опубликую свой код в открытом доступе и другие участники им воспользуются - это плохо?

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

aropan: Мне кажется все зависит от того на какое место это будет код.

aropan: Если код выложит топ1, то да, будет как-то не очень.

aropan: А если код для топ серебра, то и ничего страшного.

Jokero: это даа

YurkovAS: будет как в гиперсонике, штук 100 одинаковых ботов в топе

YurkovAS: и там тоже бимсерч у всех

Jokero: Блн меня одного бесит github? Какая т хня совсем не интуитивная. Сижу туплю, как в MS VS вернуться к старому коммиту, подскажие?

aropan: @Jokero насколько старому?

aropan: git reset --soft HEAD~ вернется к прошлому и изменения добавить в stage

aropan: HEAD~~ к позапрошлому.

aropan: HEAD~N на N коммитов назад.

aropan: Упс, в MS VS надо - не юзал, не в курсе.

YurkovAS: либо по нубски: в списке истории изменений нажать и выбрать "посмотреть дифф", а потом скопировать старое.

aropan: Чего-то франзуцов много в леге.

Jokero: MS VS там кнопочки, не командная строка

Jokero: нашел, но там такие дебри, что я наверн это повторить не смогу)

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

Beard: А зачем вообще гиту интерфейс? Ну кроме если что диф глянуть

Default avatar.png Drobor: blame смотреть прямо в ide

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

nGragas: думал в Леге будет намного меньше рандома, но и тут - один раз запустил 54 место, второй раз тот же код следом - 74 место..

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

nGragas: (понял, это автопереводчик Хрома выкрутасы делал)

nGragas: aropan как я понимаю CodinGame в принципе сделан французами (если интерфейс можно либо EN либо FR)... и поэтому он внутри страны сильно раскручен среди студентов и разработчиков. Сейчас учусь во франшизе школы 42 от французов - там в их Парижском кампусе вообще конкурс объявили - если школа займёт первое место в рейтинге школ, то топ5 студентов получат айМаки

aropan: nGragas:

aropan: nGragas: да, понятно почему много французов участвует. Но мне кажется у них еще большое внутренее комьюнити есть, в котором они активно обсуждают.

aropan: То есть количество это не всегда качество.

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

YurkovAS: ого

aropan: Вот здесь есть распределение по странам https://clist.by/standings/spring-challenge-2021-23198985/?detail=on&groupby=country&league=Legend

CyberEcho: Каким-то чудом выполз в легенду :grinning: На одних эвристиках

nGragas: :thumbsup: тоже не знаю никаких алгоритмов, только вычисляю и предполагаю - 49 место вот счас поднялся)

YurkovAS: :thumbsup:

YurkovAS: а за противника ходите?

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

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

CyberEcho: Я аналогично, только высчитываю баланс прихода солнца. Больше никак противника не анализирую.

YurkovAS: ясно, спасибо.

nGragas: CyberEcho ого, ты из Золота, сразу на 42 место :sunglasses:

CyberEcho: Хотя есть идея прикрутить mstc, он для некоторых мест так и просится.

YurkovAS: темболее у тебя есть хорошая оценочная. и время еще есть

CyberEcho: > CyberEcho ого, ты из Золота, сразу на 42 место

Так уровень боса где 60-70 место в легенде

nGragas: нормально) меня с 90 места Золота протянули просто потому что там оказалась отсечка на момент старта Леги... а потом получается попасть сложнее становится

CyberEcho: Уровень босса где 60-70 место в легенде. Организаторы странно его подобрали.

YurkovAS: а если бы это был чел с 20-го. я вообще не надеялся уже на легу. а всеравно набралось быть 100чел еще

miklla: улучшаю оценку, а бот играет хуже, ну как обычно