Chat:Ru/2021-05-14
miklla: уууух, я нашёл источник отличия между работой моей программы на CG и локально
miklla: а именно я упорядочивал действия по энергии при помощи qsort(), а она, оказывается, одни и те же данные упорядочивает по-разному
miklla: то есть является нестабильной сортировкой
miklla: (нестабильная сортировка = равные элементы могут идти в произвольном порядке, а не только соответствующем исходным данным)
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 и прочее?
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 числа примерные
Drobor: ну это медленно наверное будет и не очень эффективно
YurkovAS: да так же примерно
Drobor: а кол-во ходов просимулированных не упало разве?
Drobor: если столько за опоонента считать
YurkovAS: а, ты о противнике, скорость упала, примерно подобрал тайминг под это дело
Drobor: во, я пожтому и думал ифами ходить. Ифы они ж быстрые относительно перебора
Chibikko: А на сколько большой фактор удачи в рейтинге? Если два раза один алгоритм залить, как сильно место может отличаться?
YurkovAS: это да, быстрее будет. попробуй, что еще делать. в общем, я думаю что улучшилось, т.к давно уже не доходил до топ50
Sbergeif: а openai кто-нибудь пробовал на этой игре? может кто знает, в reset надо скидывать до начального, но одного и того же(недоступные клетки и положения деревьев)
Drobor: ну хотя бы что-нибудь тупое из серии "если мы здесь качнем дерево и дерево оппонента от этого попадет в тень то так и делаем"
YurkovAS: Chibikko думаю что +-10мест легко может быть. смотря еще какая там разница в score между например 10-20 местами, если маленькая, то будет сильный разброс
Drobor: я ночью залил на 40е место потом перезалил, оказался на 65м сейчас 43е. так что 20 мест даже может быть
Hoggins: я ничего не заливаю уже второй день и место постоянно плавает от 240 до 340...
Chibikko: понятно. Пытаюсь подтюнить параметры, заливая на сайт чуть разные версии.
Uljahn: на арене слишко мало игр дают, влияние изменения параметров тонет в шуме рандома, а чтобы собрать более точную статистику, обычно юзают CG Benchmark и brutaltester, как я понимаю
Drobor: а в этих тулах можно не против себя играть?
wlesavo: да
wlesavo: в бенчмарке точно
Uljahn: одна для игры против ботов с арены, другая - против своих вроде
Uljahn: можно задавать список ID ботов противников и список сидов для генерации карт
Drobor: а оно на серверах CG все равно играется?
Uljahn: бенчмарк создаёт игры через api CG
Uljahn: id ботов можно взять на http://cgstats.magusgeek.com/app/spring-challenge-2021
Uljahn: Agent id
Drobor: и CG не банит за такой дудос?
Uljahn: ну, там кулдаун 20 сек
Drobor: у меня даже рукми иногда таймауты вылетают
Uljahn: если меньше ставить, то будут принимать меры
Uljahn: столько уже сторонних тулзов запилили и сайтов со статистикой, которые парсят CG, но пока админы настроены нейтрально
Uljahn: если не наглеть, то ок
BorisZ: там стоит лимит на количество игр, что через иде, что через апи, пофиг
BorisZ: в районе 100 игр в час, может 200 может 80, короче порядок такой
Uljahn: ага, но это вроде недавно добавили
BorisZ: да, раньше на ночь оставляли кгбенчмарк )
Uljahn: фига, уже босса калибруют
dbf: надеюсь, не будет так низко, а то будет обидно не пройти в легенду )
Uljahn: босс на питоне -> топ-30 пройдут сразу как минимум
dbf: он сейчас вообще ниже 150 застрял
Uljahn: ещё есть время его ресабмитнуть
Drobor: а боссы разве не всегда на питоне?
Uljahn: боссами выбирают из ботов игроков
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: Дают возможность побыть на первом месте, пока идет пересчет :)
Drobor: а нет нигде набора тулов чтобы файлики с кодом в один сшивать? я помнб в прошлый раз сам фигню какую-то написал но потеряд уже
nGragas: успевай заскринить, будешь внукам показывать)))
Uljahn: Drobor: почти для любого языка есть, можно на форуме поискать
BookSaver: Кстати, такую фигню надо тоже будет написать, ибо задолбало)))
wlesavo: ого, такой огромной леги на открытии я еще не видел
Uljahn: 15
Uljahn: на момент открытия
Uljahn: потом до 100-150 распухает
Uljahn: похоже админы решили сделать контесты нуб-френдли
YurkovAS: ахах
Uljahn: только вот с пересчётом что будет
BookSaver: В леге 99, и сейчас еще подвалит)
Uljahn: топ-100 наверное запустят
wlesavo: будет обидно не пройти с такой огромной легендой))
Uljahn: посмотрел - на форуме полно тем по ключевым словам code bundler и merging multiple files
Uljahn: радует, что голд босс на питоне, есть стимул вернуться в мульти даже, если в легу не прошёл
Uljahn: * , даже если
Drobor: да, можно и на ифах в легу пройти
BookSaver: Но как дружно народ вылил новые версии! Это кранты, товарищи. Лега через час 200 будет )))
nGragas: забавно, что dbdr, который держал топ1-топ5 остался в Голде, из-за того что нажал пересчёт рейтинга за 4 минуты до запуска Леги ))
aangairbender: Drobor для какого языка бандлер нужен?
Drobor: для шарпа но я вроде нашел чето https://www.codingame.com/forum/t/c-tool-join-multiple-files-into-one-big-file/2798
aangairbender: я для шарпа свой писал, могу скинуть если что
Drobor: выложи в гитхаб :) z gjnjv jgznm gjnthz.? rfr cdjq cnfhsq
Drobor: я тоже писал в прошлый раз но потерял))
aangairbender: Drobor https://github.com/aangairbender/cg-singlefile-bundler-csharp
aangairbender: я в визуалке ставил на post-build действие запуск этого скрипта
aangairbender: тогда при успешном билде автоматом генерится один файл (у меня расширение для браузера было, поэтому при биладе в визулке сразу бой на сайте создавался)
wlesavo: блииин, нашел че падало, я счетчик выделеной памяти для стейтов не обнулял и он переполнялся
wlesavo: ускорил, теперь хоть нормально роллаутов стало и играет с шириной около 1000 не падая, фуф, я уж думал я совсем дебил
aangairbender: ширина 1000 вау, у меня 50
Hamibar: Походу будет еще одна лига. Какая-нибудь мифическая :grinning:
aangairbender: аркана
Uljahn: платина/даймонд давно уже напрашиваются, особенно в гоночках
Uljahn: а то об легенду ноги вытирают уже
aangairbender: Drobor оно хоть заработало?
Drobor: я вечером посмотрю, работа сейчас все-таки :)
aangairbender: у меня 22: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: А зачем вообще гиту интерфейс? Ну кроме если что диф глянуть
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: улучшаю оценку, а бот играет хуже, ну как обычно