Chat:Ru/2022-01-19
TheBigBadSkater_e81f: :nose_tone1:
SmachnayaBebra: :vulcan_tone2:
AntonBlockchain: утром перед работой для затравки crash of code кто использует?
wlesavo: стоило вчера в чатике поныть и на в районе 20го сабмитнулся, это уже хоть что-то
Uljahn: круть, много ещё лег осталось зафармить?
wlesavo: очень много)
wlesavo: ну я надеюсь еще немного улучшиться, если в районе топ 10 доберусь то может перерывчик сделаю)
Uljahn: AntonBlockchain: я не программистом работаю, поэтому для затравки читаю https://arxiv.org/list/cs.AI/new
AntonBlockchain: http://chat.codingame.com/pastebin/ed7c7f43-9e25-4814-ad43-c3249720813f
AntonBlockchain: я для сына 9 лет сайт этот нашел. ему вообще хорошо зашел креш.
AntonBlockchain: https://www.codingame.com/profile/5bf72a2940393e32650b253031691b858935964
Uljahn: в клэшах качество задач очень варьируется, хотя самые хреновые вроде отсеивают
AntonBlockchain: синтаксис учить креш хорош. для 9 лет как раз.
Uljahn: по js можно ещё глянуть задачки на https://js.checkio.org/ (некоторые даже переведены на русский)
Uljahn: там и на питоне можно решать, хороший ресурс, решения от коммьюнити очень качественные
AntonBlockchain: переводить на русский как раз не надо. надо чтобы пользовался транслетом и из-за скорости читал на английском.
Uljahn: это дело
AntonBlockchain: простые задачки понятные 9 лет. + английский + синтаксис языка + видно как другие решили задачи. + 15 минут отсечка. идеал для ребенка
Uljahn: а почему js?
AntonBlockchain: выбор был между питоном и js. но питон сложнее. у него совершенно не информативные для ребенка ошибки трансляции.
AntonBlockchain: да и для взрослого
Uljahn: в новой версии, говорят, это поправили
Uljahn: мне питон кажется более логичным, меньше исключений заучивать проще
AntonBlockchain: js имеет общий c подобный синтаксис с C# c++ ts. python имеет свой собственный не похожий ни на какой синтаксис. и что с ним случится за 10 лет пока 9 летний ребенок станет 19 летнем не ясно. он как паскаль со своим синтаксисом.
Uljahn: ну, за 30 лет ничего шибко плохого не случилось (кроме 2->3), так что надежда есть
AntonBlockchain: python был никому не известен 10 лет назад. так что корректно считать с момента попадания в top10. иначе это ошибка выжившего.
Uljahn: мне кажется, похожесть синтаксиса может сильно запутывать, т.к. начинаешь ожидать схожего поведения
AntonBlockchain: речь про единый синтаксис {} ? for(;;) s.длинна)
AntonBlockchain: первый язык это то на чем человек будет писать на листочке когда надо подумать. о просто алгоритме. знаю по себе. и лучше если это будет общепринятый синтаксис целой группы языков.
Uljahn: top10? а почему не топ20 или топ5? на питоне в начале 2000-х уже крупные игры делали (Severance: Blade of Darkness, Eve Online), numpy вышла в 2005-м, так что поболее 10 лет известен
AntonBlockchain: я сознательно учу js чтобы на листочке человек писал в с подобном стиле. новые концепции , исключения. главное единая лексика с большинством языков в top. а потом это может быть любой язык и питон тоже. следующим! если зайдет вообще программировать. а если не зайдет то лучше знать с синтаксис - надежнее.
AntonBlockchain: учить питон в 9 лет более рисковая стратегия
Uljahn: я бы кстати питон не советовал первым языком :)
Uljahn: лучше уж С какой-нибудь или даже паскаль
AntonBlockchain: про это и говорю. паскаль не надо - это уже пройденный этап. а c слишком сложный для 9 лет. там начинаются проблемы с памятью и борьба со ссылками вместо просто идей как проще закодитть.
AntonBlockchain: может быть ts выбрать сразу. или на него перейти в процессе.
inem: да норм и С, в 95 году мне было 7 лет и спокойно разбирался по брошюрке по С с циклами, if и т.д. ))
Uljahn: я начинал на программируемом калькуляторе, а потом Бейсик и ассемблер на спектруме, вот веселуха-то была
Uljahn: туда ли ты зашёл, пацанчик?
AntonBlockchain: тогда не было js.
AntonBlockchain: а сейчас он везде.
Uljahn: главное - он во всех браузерах
smallDick: зашел поговорить с вами
Uljahn: тогда ник смени
Uljahn: и не позорься в #world
smallDick: а что с ним не так?
Uljahn: не вижу смысла общаться с кринжлордами
smallDick: что так долго думал
Uljahn: забанен, бедолага
wlesavo: прикольно один и тот же код сабмитнулся сначала на #80 потом на #18, видимо есть фундаментальная проблема которую если поправить станет сильно лучше
Uljahn: или рандом и RPS
wlesavo: безусловно рандом, но проблема в том что против слабых соперников бот должен стабильнее играть и в этом месте быть меньше подвержен рандому
wlesavo: у меня против сильных более менее стабильно играет, как будто винрейт против мид легенды и топ легенды очень близкий
Uljahn: в миде могут быть боты, заточенные на 1vs1, но слабые при большем количестве игроков, или наоборот
Uljahn: т.е. по силе как топ, но только в своей нише
TTeaLL: а разве не все боты такие?
Uljahn: зависит от игры, где-то всегда два игрока, где-то рандомно от 2 до 4
wlesavo: разобрался в чем дело было, поправил, теперь стабильно топ 10-20, ща на топ10 натвикаю параметров и хватит)
GHopper: приветы. подскажите плиз по By train or by car ? Что значит дистанция межу городами 0?
GHopper: сколько на приодаление такой дистации понадобится автомобилю? Тоже 0? А поезд будет делать 8ми минутную остановку?
wlesavo: там нет нулевых расстояний в тестах вроде, посмотрел в валидаторах и в тестах
GHopper: :thumbsup_tone1: спасибо. пнул в нужном направлении
YurkovAS: wlesavo :thumbsup:
wlesavo: спасибо) натвикал таки чегото)
wlesavo: интересно что финальное улучшение существенное было уменьшить стоимость расстояния оппонента в эвале
YurkovAS: а т.е. не просто distOp-distMy?
wlesavo: типа distopp*0.85 - distmy
wlesavo: хотя может просто сабмит удачный конечно, новроде реально лучше играет, или может это интерференция параметров в эвале и это компенсирует что-нибудь
YurkovAS: а глубина у тебя больше 5? ускорил
YurkovAS: немного наускорял, сейчас проверю. эх, жаль что у меня int-ы, там бы по быстрому проверил твою идею
YurkovAS: спасибо! кстати
wlesavo: я меньше стен проверяю, и только стены вдоль минимальных путей моего и оппонента, но глубина да, больше пяти так получается, в начале где-то 4-6, а ближе к концу там иногда глубоко уходит, но там наверное дело в том что стены заканчиваются и позиций для них сильно меньше
wlesavo: а до того мне стабильность поправило все-таки учитывать победу третьего оппонента в эвале с небольшим штрафом. ну и баг исправил что глубина победы оппонента не правилньо учитывалась в эвале
YurkovAS: а ты пробовал на 3-го забивать и сражаться только против следующего? заметно хуже так
wlesavo: у меня там немного по другому, я стены ставлю тем кто передо мной, а сам ставлю стены против того кто эвристиками ходит просто по минимальному пути
wlesavo: ну или тем у кого стены остались если у одного закончились
YurkovAS: эх, тебя немного спустил. не проблема? наускорял тут по быстрому доп глубину, интересно стало
wlesavo: но вообще да, я думаю можно будет протестировать с порядком, потому что раньше нестабильно больно играло и многие важные вещи недотестированы
wlesavo: не, не проблема конечно)
YurkovAS: у меня на 3-го совсем забивает и учитывает его только на глубине 1 - чтобы не замуровать нечайно
wlesavo: вообще у меня относительно тебя сильно медленнее, с 8 стенами до глубины 5-6 никогда не доходит в начале
wlesavo: вообще интересно что так хорошо играет игнорируя третьего оппонента
wlesavo: YurkovAS ого, неплохо идет, а какая глубина сейчас на первых ходах?
YurkovAS: https://www.codingame.com/replay/603715119 9, 7, 7, 7
wlesavo: эх, чуть до первого не хватило) надо ресабмитить))
YurkovAS: и как всегда проигра
wlesavo: 4 сотых))
YurkovAS: да, круто. улучшить немного 3-ные и будет топ
YurkovAS: он в них любит на 2м месте быть, т.к. за 3-м не смотрит
wlesavo: да, у меня без учета победы третьего было нестабильно тоже, часто на втором было там где легко можно было победить
wlesavo: а можно в общих словах про ускорения для общего образования?) это битборды и интринсики или что-то более банальное?
YurkovAS: битборды и сдвиги
YurkovAS: ты юзаешь?
YurkovAS: бфс на битбордных сдвигах, без очереди
wlesavo: не, надо бы разобраться, а есть что почитать по этому поводу? мне бы и на работе пригодилось, так что думаю пришло время наконец разобраться)
YurkovAS: +2 к глубине
YurkovAS: ссылок нет сохраненых, только про connect-4 игру: там битбордные сдвиги, но не бфс
YurkovAS: давно уже с этим ковыряюсь, просто идеи иногда приходят или случайно замечаю
wlesavo: ну я идейно вроде понимаю, но глубоко не разбирался никогда, нужно наверное просто поробовать и посмотреть что получится
wlesavo: почитал статью смитси, вроде выглядит не сложно, попробую на выходных сделать
YurkovAS: точно, забыл про нее
YurkovAS: да, надо бы заняться xmas-rush у него там интересные компактные хранилища для игры
YurkovAS: сейчас уже похоже не будет такой разницы с топ1 бот точно улучшился
wlesavo: YurkovAS а у тебя до этого без битбордов было?
YurkovAS: с битбордами
YurkovAS: бфс был с очередью
wlesavo: а, понял, то есть сейчас именно от очереди избавился
YurkovAS: да
YurkovAS: да мне часто проще поускорять, чем оценочную улучшить
wlesavo: ну ускорением на финальном этапе можно заниматься, я и без ускорений баги ищу по несколько дней)
YurkovAS: у меня так же и в основном простые опечатки
wlesavo: не, у меня обычно изза плохих архитектурных решений что-нибудь меняется когда не должно
wlesavo: вроде разобрался, интересно конечно, образ мышления даже меняется от таких текстов)