Chat:Ru/2020-04-20
metahom: по ходу не быть мне в полтинике :(
namaska: топ 3 лучших языков программирования на ваше усмотрение :
metahom: а может и нет
metahom: wlesavo, https://www.codingame.com/replay/453138564
namaska: красава
StepanSmirnov: Кстати по поводу эффективности: кто нибудь знает, почему numpy.sum (или любой другой метод прямо из модуля) медленнее одноименного метода у инстанса ndarray, например arr.sum()?
StepanSmirnov: Гуглить пробовал, пишут, что одно и тоже. Хотя разница может быть в механизме возова.
Uljahn: для произвольного инстанса?
StepanSmirnov: я брал 1 и тот же для тестов
Uljahn: и на сколько велика разница?
StepanSmirnov: при 20000 итераций почти в 5 раз
Uljahn: :scream_cat:
StepanSmirnov: матрица 15*15 тип bool_
StepanSmirnov: для int то же самое
Uljahn: ну, 15*15 - не серьёзно, ты что-то другое меряешь, скорее всего
Uljahn: оверхед какой-то
Uljahn: будет ли такая же разница при 1500*1500?
BorisZ: ну простая логика вроде - инстанс сам про себя все уже знает - тип элементов, размерность и так далее, а общий метод возможно сначала все это проверяет а потом вызывает тот же самый метод инстанса
namaska: что делать если у тебя 408 строчек кода ,и ты где-то забыл поставить ;
namaska: ?
StepanSmirnov: при 1500*1500 - 3%
BorisZ: скорее всего даже так - для некоторых типов нельзя вызвать сум
BorisZ: короче некоторый оверхед на лишний вызов функции и возможно какие-то проверки
Uljahn: угу
BorisZ: namaska ты в блокноте что ли код пишешь? все редакторы проверяют синтаксис
namaska: почему тогда вижуал студио сам не поставит там где надо ; ?
Uljahn: я уже и забыл, зачем в коде нужна ;
BorisZ: в какой момент времени он должен это делать? )
BorisZ: ты хозяин своего кода а не редактор, он только предупредить должен, это норма
namaska: Uljahn в с++ ; нужна чтобы закончить строку(команду)
BorisZ: представь себе что посреди написания ты задумался, а он тебе насыпет семиколонов где захочет - кошмар же
namaska: #include <iostream>
namaska: using namespace std;
namaska: int main()
MadKnight: namaska хочешь чтобы редактор сам код дописывал?)
MadKnight: а вдруг не угадает?
MadKnight: как точно сказать хочешь ли ты поставить ; ?
MadKnight: вдруг ты хочешь прибавить ещё число?
MadKnight: x=3 <-- тут надо?
namaska: и это су№а толька начало кода
MadKnight: вдруг ты хочешь сделать x=3+5 ?
MadKnight: а вдруг не в этом дело? вдруг где-то ещё опечатка?
MadKnight: короче ты просто докопался
Uljahn: щас вроде в редакторы интеллектуальные автодополнения внедряют на нейросетях, она обучится на твоих самых частых ошибках и будет дополнять, где надо))
namaska: вот за что я недолюбливаю с++ , если выучишь его синтаксис будешь лучшим программистом планеты
BorisZ: <слишком много шуток>
StepanSmirnov: @namaska, там есть поиск по регулярке, пишешь туда [^;]\n и тебе подсветятся строки без точки с запятой
namaska: спс
namaska: :))
StepanSmirnov: Точнее, которые не заканчиваются на точку с запятой. Ну и автоформат в помощь (Ctrl+K,D)
BorisZ: пытаюсь ужесточить условия на стрельбу после мува как все в один голос советует - вобще не взлетает (
Uljahn: у тебя не слишком сильный упор на сайленс? маловато мин получается
metahom: тоже думал над этим, но руки не дошли
BorisZ: да фиг знает, теперь то уж ничего крутить не буду
BorisZ: я мины расставляю чтоб не пересекались их сплэши
BorisZ: чтоб больше территории покрыть побыстрее
metahom: сколько по времени примерно будет лега пересчитываться?
BorisZ: несколько часов точно больше 2х
Uljahn: BorisZ: 52 фрейм, мне кажется - очень странный сайленс, загнал себя в угол https://www.codingame.com/replay/453173041
metahom: когда в последний момент что-то правишь, начинаешь путаться в версиях :(
metahom: уже не уверен что то надо отправил
Uljahn: лол, баг похоже https://www.codingame.com/share-replay/453177779
Uljahn: BorisZ!
Uljahn: а, не
metahom: 10 минут осталось, все закончили?
Uljahn: фаталити
BorisZ: у меня получается что дальше 18 ходов - все одинаково, видимо тот тупик был достаточно большой
Uljahn: а тупо флудфилом прикидывать?
BorisZ: путь генерю на длинну 8 и потом флудфил в конце чтоб площадь найти с отсечением на 10 клеток
BorisZ: если без отсечения то вобще кранты - по 50 вариантов в худших случаях только успевает
Uljahn: из-за питона?
BorisZ: может из-за кривых рук ( не пытался оптимизировать вобще ничего
tutubalin: так и не запушили меня ( наоборот вниз запулили
Uljahn: даже Bob в топ-400 не вошёл
Uljahn: надо было стримы смотреть))
BorisZ: в конце добавил чтобы при флудфиле клетки с большим уроном считались знятыми тоже - вроде разумно, но на результан не особо повлияло
tutubalin: ну он скорее всего туда и так не ходил
namaska: Рибят за вашу помощь я могу вам свои кода отослать по любым мною сделанным задачам (кроме VOX CODEI - EPISODE 2 потому-что в нее я вложил слишком много сил )
tutubalin: а код красивый?
namaska: в какой задаче ?
tutubalin: в той, которую хочешь показать
namaska: у меня во всех задачах код красивый
Uljahn: меня только нумпайный код интересует, но всё равно спасибо
namaska: я люблю большие кода
namaska: например в Vox Codei - Episode 2 у меня вообще 1100 с чем-то строчек
namaska: у меня большая часть задач написано на с++ и питоне , и некоторые на джаве
VegaPioneer: всем привет) на работе юзаю питон, поэтому начал решать задачи на нем ворос: на hight-level питон по производительности вывозит или уже оптимизаций недостаточно и там уже прявит балом что-то более производительное?
wlesavo: в целом не вывозит, но от игры зависит, в последнем контесте было +- ок
Uljahn: от игры зависит очень сильно
Uljahn: https://www.codingame.com/contests/finished тут можно по лидербордам посмотреть, на каком месте какой язык был
dabino: уфф, прикольный контест. но долго, конечно - месяц надо будет в настолку Captain Sonar поиграть
namaska: кто тоже ждет CODINGAME SPRING CHALLENGE 2020 ?
Uljahn: Automaton2000
Automaton2000: в том и дело, что это не так просто
wlesavo: dabino тоже такие мысли
metahom: теперь ждать :)
metahom: кстати, мы видимо уже останемся на 2м месте универов. Поздравляю :)
wlesavo: хехе, ну так все в легенде
namaska: сегодня хотел поднять 20 уровень .... Теперь хочу хотя-бы 18 поднять
Alex.swift: взяли качеством
Alex.swift: а универ вроцлава количеством)
metahom: кстати единственные с 3 людьми в легенде :)
Alex.swift: и ни одной ачивы не получил. Не продуктивно поиграл
wlesavo: блин, как бы из 20 не вылететь, хочу футболочку
metahom: а я хочу в топ-50
metahom: и еще можно топ-3 по языку :)
wlesavo: то есть зено обогнать надо)
metahom: ага :)
metahom: у меня этот же код сегодня приземлялся на 37 месте. а последний сабмит на 55. надеюсь просто неудачный сабмит
BorisZ: вчера многие еще тестировали чтото - в среднем слабее было сопротивление
BorisZ: а к концу лучшие версии выставили
metahom: это за два часа до конца было. но вообще возможно конечно
BorisZ: у меня утром рано на 20 месте была версия, сейчас она же на 42
BorisZ: после ресабмита
BorisZ: так что все по честному скорее всего, отражена реальная сила примерно
metahom: тогда печаль :(
metahom: странно, все боты запустились с тем же количеством очков что и имели. т.е. это не ресабмит, а дополнительные игры?
metahom: тогда я слажал, что не оставил хороший сабмит :(
wlesavo: ну да, я терся около топ 10, а ща еле влез в 20
BorisZ: metahom если бы оставил удачный сабмит - сейчас бот полз бы вниз, ты бы расстраивался еще больше
BorisZ: а сейчас глядишь вверх пойдет )
metahom: проблема в том что у него низкий винрейт против боттома лиги. прямо с трудом выбирается выше 50-го места. но когда выберется нормально себя чувствует на 30-х местах. и даже добирался до 20
BorisZ: да фиг знает, может просто выборка маленькая, не похоже что игра из разряда камень-нажницы бумага
metahom: ну да, чего себя лишний раз расстраивать. не выйдет так не выйдет
namaska: Кто хочет махнуться кодом
namaska: ?
wlesavo: вообще за это можно бан отхватить случайно
735487: тебе в каких целях?
BorisZ: зачам код то показывать вообще, лучше идею рассказать, если человек не может идею закодить - не помогут сниппеты
BorisZ: а идеи тут бесплатно раздают, только спроси
BorisZ: ну если задачку конечно помнят) если несколько лет прошло то позабывали уж все конечно
BorisZ: наоборот найти бы того кто идеи будет слушать - можно было бы приплачивать как психотерапефту )
BorisZ: если прям код интересует, то поиском на гихабе найдешь решения на все пазлы местные думаю
namaska: на гитхабе ?
BorisZ: угу
namaska: неее , если я буду от туда все копировать то тогда я себя недо программистом чувствовать буду
namaska: мне просто интересны другие решения ,тип как какую-то задачу сделать по другому
namaska: это добавляет опыта
735487: в пазлах после того как решишь можно тоже смотреть чужие решения
wlesavo: да, там много интересных
wlesavo: и обычно перед тем как запостить причесывают
namaska: 40 левл последний ?
wlesavo: последнего теперь нет
wlesavo: раньше был 50 кап
BorisZ: согласен, это полезно, иногда вштыривает прям, ты такой гордый что решил, а там было реально красивое решение
BorisZ: а если не решал сам то и не оценишь
Uljahn: принцип решения важнее кода, угу
wlesavo: ага, накодил 500 строк с классами методами, а там чувак в одном цикле на 50 строк все решает
wlesavo: забавно что #20 место часто меняется, а я +- стабильно на 19 сижу, защитил свою футболочку
Uljahn: длина решения далеко не главное, если автор смог на пальцах расписать алгоритм без гольферских выебонов
Uljahn: я гольферов минусую сразу :)
Uljahn: какая жара в топе однако
Uljahn: и wlesavo с роялем бодается
Uljahn: https://www.codingame.com/forum/t/ocean-of-code-feedback-strategies/175885
wlesavo: Uljahn да не, там без шансов, мне фангел важнее был, но он теперь слишком высоко
Uljahn: постмортемы начались
Uljahn: ну, рояль долгое время топ-1 по сайту удерживал, пока формулу не поменяли, так что почётное бодание
BorisZ: wlesavo напиши постмортем то, интересно
wlesavo: пишу как раз сижу
Uljahn: эх, никто ботов не захайдил
metahom: ну что, можно сказать все?
metahom: обидно, я бота на 37 месте не оставил (((
metahom: wlesavo, поздравляю с майкой :)
amurushkin: гы я похоже закатился на 29 таки )) с 31 где то
amurushkin: хотя там еще сабмиты идут
wlesavo: хехе, спасибо)
Alex.swift: Ого, магус только до бронзы дошел
Alex.swift: wlesavo поздравляю с футболкой :slight_smile:
wlesavo: спс) ща пм будет уже скоро
wlesavo: https://www.codingame.com/forum/t/ocean-of-code-feedback-strategies/175885/9
metahom: а когда мульти откроется не говорили?
wlesavo: вроде говорят что возможно сегодня прямо
wlesavo: но думаю скоро будет инфа достоверная
Alex.swift: поскорее бы уже следующий контест
metahom: ага, только валерьянкой запастись )))
metahom: все таки получил новую ачивку - I have something to say ))))
amurushkin: раньше обещали что чуть ли не автоматом мульти будет сразу и даже в лигу сразу нужную как и было попадаешь
metahom: ну последний контест сразу перенесли на тех же местах что и были. правда через полгода ))
Alex.swift: у кого сколько сабмитов за игру было?
wlesavo: что то в районе 500
metahom: а где посмотреть?
Alex.swift: во время игры можно было в истории, а сейчас не знаю
Alex.swift: ого, у меня 250 где-то
wlesavo: там такая галочка была и рядом циферка
wlesavo: я спамтестил пока не поставил бенчмарку
wlesavo: плюс часто ресабмитил если первые 10 игр не оч
BorisZ: wlesavo отлично написал, я про некоторые моменты даже не задумывался - например мины после сайленса могут быть больнее обычных
namaska: Ребят допустим Есть список a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89].
как вывести все элементы, которые меньше 5.
BorisZ: не навсегда но долго может сидеть занозой, да
namaska: на питоне
namaska: ?
BorisZ: [x for x in a if x < 5]
namaska: спс
namaska: print(list(filter(lambda elem: elem < 5, a))) как вариант
wlesavo: BorisZ это кстати не моя идея, помоему нерчио как-то про это сказал, и я подумал что это стоит того чтобы попробовать прикрутить
BorisZ: читать чаты полезно короче)
wlesavo: ого MCTS даже прикртил чувак
BorisZ: namaska да, тоже ок, но list comprehension - более по питоньи
BorisZ: или по питонячьи
namaska: А что это за игра в которую вы играете ?
Uljahn: :scream_cat:
BorisZ: эйлер одной картинкой сорвал все овации
wlesavo: да, помню еще в марте показывал первую версию визуализатора, но у него еще стата там же, тоже достойно оваций, 42к реплеев
BorisZ: namaska соревнование только что завершилось https://www.codingame.com/contests/ocean-of-code/leaderboard/global
Alex.swift: ого, он и статистику собрал на всех с леги
dabino: nice write up, wlesavo!
wlesavo: спс :slight_smile:
Uljahn: фига сколько сайленс-нольщиков
dabino: а где эта статистика от @eulerscheZahl?
Alex.swift: https://eulerschezahl.github.io/OceanOfCode/ooc_stats.html
BorisZ: ахренеть
wlesavo: я в итоге таргетинг зеросайленса включил обратно, но с панишем в полтора раза всего, впринципе хватало, в первых версиях вообще было сразу x10 на каждое подтверждение
dabino: статистика огонь!
BorisZ: да вобще, нет слов
BorisZ: у меня оказывается 11% невалидных зарядов - кто бы мог подумать
wlesavo: он спойлерил же немного, но я не ожидал что будет 42к игр и на всю легенду
BorisZ: хотя наверное это считается когда все заряжено до упора а юзать нечего
wlesavo: да, там же в начале дисклеймер небольшой, написано что так
BorisZ: чукча смотреть картина, инструкция читать для гелолг )
Alex.swift: я просто остаток на сонар скидывал, вроде не возникало таких ситуаций
wlesavo: я тоже думал что не возникает
wlesavo: но тут статистика не врет
wlesavo: около процента есть все равно
Alex.swift: жаль она голд не захватывает)
dabino: сколько мин pb4 ставил - 18 за игру
Alex.swift: и только одну тригеррил)
Uljahn: так вот из-за кого серваки лагали)
Uljahn: эйлер реплеи выкачивал
BorisZ: да, сайленс нольщиков дофига, и единичники встречаются
amurushkin: я пробовал менять сайленс на другой но с 0 все равно лучше играл
BorisZ: можно было вполне абюзить таких - в оценке стрелять\взрывать когда например
BorisZ: я сайленс обычно по своему посчитанному пути делал, поэтому у меня 1 большинство
BorisZ: только статистику надо собирать
amurushkin: я для 0 сайленса у себя коэффициент урона чуть подымал. чтобы туда приоритетнее стрелял
BorisZ: тутубалин выкладывал реплеи когда он чуть не с первых ходов торпедой херачил - по вероятностям
wlesavo: ну я так и делал, просто веса раздавал всем сайленсам, еще когда первый раз ейлер светил статистику решил что можно захардкодить примерно
BorisZ: да, годная идея, я пока статистику не глянул - не верил )
BorisZ: причем есть люди которые сайленс 0 совсем не использовали
BorisZ: либо не знали что так можно, либо точно знали куда им надо плыть )
BorisZ: и поскорее
wlesavo: я после бронзы тоже отказался, и специально не использовал, думал люди будут таргетить, потом добавил просто с вероятностью где-то 40-50 процентов
amurushkin: я пробовал раздать веса и потом их корректировать в зависимости от попал/не попал. но не получилось закодить чтобы работало. в итоге сделать просто такие веса от балды практически float silence_priority[5] = {1.01, 1.0098, 1.0, 1.0, 1.0078};
amurushkin: даже не знаю помогло ли это
wlesavo: небольшое слишком различие
BorisZ: я бы объеденил в 3 группы 0, 1 и остальные, по ним бы собирал
wlesavo: у меня чтото типа 1.5 1 1.8 0.5 0.4
735487: ну вот в мульти надо будет потестить наверное другие
wlesavo: 0.8 для 2
735487: ну я делал по сути 0,1 это одна группа и остальные. для 4 еще поднял потому что в реплеях его часто видел
amurushkin: у меня они еще больше 1 потому что я их умножал на предполагаемый порог дамага. а там итак цифры маленькие
amurushkin: да возможно из за того что разница у моих коэфов маленькая то оно ничего может вообще не давало
amurushkin: разница похоже была только совсем при равных вероятностях
wlesavo: для 4 я уменьшал чтобы не стрелять сильно издалека в неопределенную цель, не уверен что это оптимально, может наоборот
Alex.swift: во что сейчас играете вне контестов?
namaska: как на питоне поменять 2 половины слова местами , скажем было zyxabc а стало abczyx
namaska: ?
Uljahn: s = "zyxabc"; res = s[len(s)//2:] + s[:len(s)//2]
Uljahn: как-то так, режем пополам и склеиваем
namaska: спс
namaska: (Знающие пайтн поймут)
namaska: я настолько ленивый ,что место того чтобы скачать нормальный редактор кода,
namaska: Я пользуюсь IDLE :))
namaska: который установился вместе с питоном
namaska: автоматом
735487: лишь бы тебя устраивало
Uljahn: вместе с кондой спайдер устанавливается, тоже норм
Uljahn: но мне VSCode всё же больше нравится
wlesavo: офигеть, нерчио профессиональный игрок в старкрафт 2
Uljahn: да, он говорил уже
wlesavo: эт какими путями интересно
wlesavo: я пропустил
Uljahn: надоело против ботов играть)
Uljahn: наверное
ashelkov: думал просто никнейм как у игрока
tutubalin: я в итоге 88-й (
Alex.swift: ого, нот бед https://liquipedia.net/starcraft2/Nerchio
Uljahn: хм, его прошлая команда продинамила неслабо, вот он видимо и решил с е-спортом завязывать
Uljahn: https://www.twitlonger.com/show/n_1sr36un
Alex.swift: прям известным был. За последние пару лет активности нет
metahom: про игроков в старкрафт целые страницы биографии делают ))
Alex.swift: про всех киберспортсменов. Там же такие бюджеты
Alex.swift: У ValGrowth целый блог о турнирах на ботах https://valgrowth.hatenablog.com/archive
metahom: на японском
Alex.swift: переводчик страницы норм перевел вроде
Alex.swift: из Японских игроков прям несколько таких нашел
Alex.swift: такуми вообще в день по 10 твитов о своем боте публиковал что он изменил)
735487: расскажите ему о гите :)
wlesavo: ух ты, ачивки подъехали
Razzeeyy: божечки в CSB просто поменял формулы ускорения и противодействия инерции и ща из серебра походу на изи выйду О_о
Razzeeyy: даа я в золотеее
Razzeeyy: И чё я 4 года назад не написал этот код О_о легко же О__О
MadKnight: красота
MadKnight: го теперь в легу
Razzeeyy: нууу это ещё посмотрим чё там в голде я так понимаю в золоте уже вторую машинку дают?
MadKnight: ага
Razzeeyy: а вот это всё меняет, ппц как...
MadKnight: почемуц
MadKnight: просто занеси свой код в цикл
Razzeeyy: ну как минимум это
Razzeeyy: или
Razzeeyy: надо придумывать более умные страты
MadKnight: ну более сильные страты всегда надо придумывать
Razzeeyy: теоретически там даже без нейронок ещё потенциал очень большой
Razzeeyy: как минимум на деревьях принятия решений можно неплохо уехать, я думаю
735487: а вы кстати вкурсе что мульти уже есть? и положение походу такое же как было на конец контеста. я на том же месте
735487: только код чистый ))
wlesavo: уже убрали, чето видимо сломано было
amurushkin: ну не знаю что там убрали я только что запустил ))
wlesavo: а ты обнови страницу))
wlesavo: а не
wlesavo: в иде доступно
wlesavo: история сабмитов сохранилась даже
Uljahn: с историей сабмитов круто придумали, зачот!
Uljahn: ещё бы код сохранялся последний
Uljahn: а то я как-то не успел засабмитить, время вышло и gg
namaska: А как создать текстовый документ определенного типа, например я нажимаю создать > текстовый документ ,но я хочу чтобы это был текстовый документ типа Python File
namaska: rfr 'nj cltkfnm
namaska: *как это сделать ?
kotobotov: из виндовса через контекстное меню ты можешь создавать только файлы определенного типа
kotobotov: лучше зайди в редактор, и там сохрани фаил того типа которого тебе надо
Uljahn: или создай txt и через переименование измени расширения файла на py
735487: прикол какой то сабмитнул в мульти. там все игры против nerchio только идут ))
wlesavo: да, против тех кто тоже сабмитнул видимо
735487: хреновенько
wlesavo: хочешь тоже сабмитну будут все игры против меня? )))
735487: интересно сколько очков так можно набрать против 1 игрока :)
[CG]Nick: https://www.codingame.com/multiplayer/bot-programming/ocean-of-code
735487: [CG]Nick: hi. there is a problem with submitting on multi. it plays only with 1-2 players who just submitted
metahom: amurushkin, it's fine now
metahom: just re-submit
wlesavo: куыги зкщифидн цшдд рудз
wlesavo: oh
wlesavo: sry
735487: не знаю у меня против nerchio шурует до сих пор
[CG]Nick: @amurushkin Yes, there was a problem few minutes ago, it should be fixed
wlesavo: ой, это наш чат
metahom: пробовал ресабмитнуть?
735487: уже принципиально хочу дождаться до 100%
metahom: я второй раз запустил и все норм
metahom: я получил свое 49е место и меня отпустило )))
wlesavo: меня чет запушило от ваших сабмитов
735487: ща может на играх против nerchio в топ войду ))) хотя судя по всему выше чем был он не собирается
735487: [CG]Nick: I have now error after click on join button An error occurred (#-1): "internal error". Please contact codersHS@codingame.com
Alex.swift: ресабмитнулся на 95, а при общем подсчете 112 был. Мелочь, а обидно)
Uljahn: обана, и последний код появился в ide
Uljahn: вообще сказка
metahom: а чего до конца контеста не ресабмитнул?
Uljahn: так он не рабочий, я рефакторил как раз, а в воскресенье полдня с температурой провалялся
Alex.swift: не заходил со вчера просто
Uljahn: а, вы о своём)
metahom: зашел бы )))
metahom: я сегодня с 6 утра сидел
Alex.swift: у меня код вроде не совпадает с засабмиченным
Alex.swift: последним
Uljahn: видимо, последние правки таки сохранили
735487: я вон вроде на 22 ресабмитнулся )) а в мульти вообще войти не могу
735487: а это у меня почти все игры против nerchio ))
wlesavo: меня на 8 запушили с 19го как-то, не хочу ресабмитить теперь
735487: это из за багов похоже
735487: у меня вообще не работает теперь ))
tutubalin: namaska 1. в настройках проводника включи "показывать расширения файлов" 2. после создания текстового файла нажми "переименовать" и поменяй расширение на .py
735487: у меня одного мульти не работает?
Uljahn: у меня работает
tutubalin: ну что-то странное точно творится
tutubalin: зашёл в UTTT, у меня там 22 боя всего
tutubalin: но зато каких!!!
Uljahn: а, мульти вообще
tutubalin: правда, против трёх соперников только. с двумя сыграл по разу, остальные бои против одного и того же
735487: ну я остальные не проверял но океан не пашет
735487: написал на мыло которое в ошибке указано
Alex.swift: (╯°□°)╯︵ ┻━┻
Alex.swift: ┬──┬◡ノ(° -°ノ)