Chat:Ru/2020-09-03

From CG community
Jump to navigation Jump to search

Uljahn: ух ты, в дискорде про дату контеста говорят: "mid November. Official update to come soon"

mykeich: молодцы

MadKnight: мукич

MadKnight: чё пилишь мукич ?

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

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

Uljahn: кроме меня и gybson_samara, разве что :)

gybson_samara: эээээ

Uljahn: а ты в леге уже?

Uljahn: а, вижу - в голде, значит меда не порекал

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

gybson_samara: так я пока и не того

gybson_samara: в восресенье займусь

gybson_samara: в блокноте-то я сделал монте-карлу, набросал

MadKnight: tutubalin у меня баг в крестиках

MadKnight: mykeich чё за момент?

mykeich: фильтр хода с щитом в минимаксе

MadKnight: и чё у тебя с ним было?

mykeich: чет запутано, исправил, но на результат сильно не сказалось

tutubalin: MadKnight зафиксируй его )

MadKnight: кто-нить вообще оценочную для крестиков запилил?

YurkovAS: щит можно выключить со 2+ хода. да и на 1-ом не всегда использовать

vrabosh: оказыватс есть сайт с чатлогами

Uljahn: :slowpoke:

vrabosh: Ghost in the Cell - прикольная задачка, я пока не могу сообразить короткий алгоритм.

MadKnight: мой мэдкенштейн бы отлично подошёл

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

MadKnight: так ты не уходи далеко

MadKnight: начинай с самого верха

MadKnight: надо как-то находить лучшее решение

MadKnight: откуда его брать?

MadKnight: есть какая-то логика для каких-либо случаев, как получить 100% наилучшие ходы?

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

MadKnight: ты собрался брутфорсить?)

vrabosh: я не могу эту всю картину увидеть в голове

MadKnight: не надо брутфорсить

MadKnight: слишком много комбинаций

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

vrabosh: да хоть какбы сделать логично, а не просто массив и там ифами подгонять

MadKnight: и логичь над массивом всех доступных ходов

vrabosh: хоть тотже брутфорс

MadKnight: так есть логичные методы выбора хода хоть для каких ситуаций?

vrabosh: пока 2 массива, мой, опонента и функция которая показывет куда выгодней всего ходить.. оценка там такая продукция / растояние

vrabosh: если мне хватает ботов, я иду туда. если на меня идет толпа и за 5 ходов они моей базе сделаю -хп я с друго базы передаю туда

MadKnight: а как же выбирать откуда лучше всего ходить?

MadKnight: вдруг откуда-то ещё лучше?

vrabosh: вот как раз функция эта показывает

vrabosh: n[idbazi] = addbot/dist

vrabosh: n[idbazi] = addbot/dist, colvoHP

vrabosh: то выще покозатель дает, отуда и иду, если хп хватает

vrabosh: ну и если у моей базы через какоето время будет -хп, то я сначало защищаю свою базу если на ней есть добавлялки хп.. нуливые не защищаю

vrabosh: хотя и захваываю их единичыми иногда

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

vrabosh: но это не дело так писать..

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

MadKnight: как это?

MadKnight: а поиск пути ты запилил?

MadKnight: чтобы a->b->c вместо a->c

vrabosh: какой поиск?

vrabosh: если моих ботов больше чем на той базе, то кидаю туда

vrabosh: приоритетно те которые ближе и больше хп дают за ход

vrabosh: или ты имеешь введу, что лучше ходить через ближайшие клетки?

gsomix: Uljahn, хорошо, что контест не пересечется с Hacktoberfest. Планирую поучаствовать. :)

MadKnight: именно

vrabosh: хм.. а зачем? но тольк если вначале когда надо быстрее нейтральные захватить

vrabosh: ну и я еще понял, что надо просчитывать, когда захватываешь нейтральну не презахватит ли он.. т.к. я получается при захвате теряю , а он в 0 уходит

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

vrabosh: этого думаю хватит для золота?

vrabosh: а потом уже и через несколько клеток думать.

vrabosh: есть что посмотреть по этой теме?

vrabosh: этож посути логистика? типа базы это магазины, мои боты это товар, чужой это покупатели сколько хотят купить)

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

vrabosh: прикиньте мне сейча в унитер пойти?) я бы наверно преподов своими задачками из контеста замучалбы..

MadKnight: зато им было бы не скучно

MadKnight: тут вон один препод такой сидит который студентов на CG учит

MadKnight: а в #world таких ещё несколько

mykeich: решение задач не самое главное на работе. главное научиться говорить ку при виде начальника и не сообщать ему что он идиот:)

vrabosh: mykeich работа для рабов)

vrabosh: свободные люди умеют жить за 10к руб)

mykeich: психика, привычки и инстинкты размножения и властвования не позволят жить на 10к руб. Как ты собираешься доминировать в сфере пол, секс, власть на 10 к руб?:)

vrabosh: не собираюсь)

vrabosh: здесь буду учиться доминировать)

MadKnight: а как же жить не с маман?)

MadKnight: или ты из МД ?)

vrabosh: я не что такое мд

MadKnight: и хорошо

vrabosh: прикиньте как круто с маман жить, гуляешь когда хочешь и где хочешь, занимаешься чем хочешь.. но да, с отношениями проблемы.. но если взять отношения, то сразу появляетя 8 часавая работа, обязаности, и на себя пару часов в день)

vrabosh: остается только.

MadKnight: это зависит от отношений

MadKnight: может она будет тебя содержать

MadKnight: потому что ты так хорошо кодишь

vrabosh: но работать всерано придется.

MadKnight: так ты не можешь работать кодером?

MadKnight: на заказ

MadKnight: кодить

vrabosh: не интересно

MadKnight: а что интересно?

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

vrabosh: то что хочется сегодня

vrabosh: это может быть разное

vrabosh: а потом ее потдерживай несколько лет.

vrabosh: а еще можешь полгода потратить на разработку а оно не зайдет народу

MadKnight: так ты предугадывай, зайдёт ли

vrabosh: я неумею предугадывать

MadKnight: вот я и говорю - найди кто может и кто хочет

vrabosh: я так один раз игру буковки для вк сделал. смотрю в аппл сторе приложуи с буквами топовые.

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

vrabosh: играло в итоге пару бабушек

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

MadKnight: так там дело было в том что это игра под мобилку

vrabosh: https://sun9-3.userapi.com/c639724/v639724197/3af02/zPtXj6GLhSU.jpg - вот дизайн

MadKnight: так под мобилку надо было такую делать

vrabosh: https://sun9-52.userapi.com/c9636/u6593694/112981946/y_f832c200.jpg - вот моя первая игра, 10 лет назад начал делать.. уже тоже закрыл

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

vrabosh: а самая удачная вот эта была https://sun9-52.userapi.com/c9569/u6593694/112981946/y_083890c6.jpg и меньше всего времени на нее потратил.. и больше всего профита было

vrabosh: Uljahn у меня так и делает.. сначало на своей территории. потом если есть войска еще отправляю на противника

vrabosh: яж говорю, сделал рейтинг..

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

vrabosh: но у меня еще нету просчета что будет допустим на след ход или на 5ход.. чтобы знать когда куда кого отправлять. логистики адекватной нет.

gsomix: vrabosh, нет смысла мучать преподавателей задачами с CG. Это слишком узкая тема, требующая специальных навыков и тренировки.

vrabosh: Uljahn может быть еслиб апгрейт сделал, лучше зашло.

Uljahn: эх, у меня тоже в GitC бот тухлый, начал переписывать и забросил

vrabosh: https://sun9-48.userapi.com/c625423/v625423694/ec6d/unkHBOXOqkM.jpg - вот классно приложение зашло, мне обходился 1чел по рекламе в 10копеек, но потом вк забанила, из за того. что нельзя просить пользователей постить запись на стену.

MadKnight: лул

MadKnight: ну так продолжай пилить

MadKnight: может однажды в топ выйдешь)

vrabosh: вообщем устал я эти приложения делать, 10 лет делал.. может отдохну опять захочется. Или может мир что нить интересное подкинет, куда захочется вникнуть

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

vrabosh: игру в 2 чела вполне длается за полгода.. художник и фултеск программер

vrabosh: а в пандасе можно для ячейки задавать формулу как в экселе? если да, то можно некоторые задачки встиле эксель решать)

Uljahn: и в чём профит?

Uljahn: pandas работает с датафреймами, которые внешне похожи на нампайные structured arrays

vrabosh: ну чтобы цыклы лишнии не писать.. можно в одной матрице формулы накидать..

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

vrabosh: а в столбцы можно кидать функции, формулы.. типа чтобы столбец 1 и 2 просумировались в 3

Uljahn: arr[:, 2] = arr[:, 0] + arr[:, 1]

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

Uljahn: конечно, если С-order используется, для F-order наоброт

Uljahn: *наоборот

Default avatar.png MaddoxX94: На винде в хроме не работает c# ассист. Я один такой? з.ы. на убунте норм работает

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

Default avatar.png MaddoxX94: Понял)

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

Uljahn: MaddoxX94: а винда у тебя какая? десятка?

Uljahn: у меня на 8.1 не работает

Uljahn: и на сервере 2012

Default avatar.png MaddoxX94: Да, win 10 home

Default avatar.png MaddoxX94: на в браузере edge тоже не работает =D

Uljahn: скорее всего, винда виновата, раз на убунте работает

Default avatar.png MaddoxX94: ага

Default avatar.png MaddoxX94: хотя кажется странным это. Ведь это онлайн инструмент, а не прога, которая берет ресурсы с компа.

tutubalin: кто-то сегодня жаловался, что в линухе не работает

vrabosh: я как понял, тут иногда даже 1000 чел в контестах не участвует?

vrabosh: почему так мало?

MadKnight: это в каких контестах так?

vrabosh: вот в кухне 781

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

gsomix: А можно в Online IDE как-то увеличить количество отображаемых строк для stderr?

gsomix: Или сдампить куда-нибудь?

MadKnight: можно в оффлайн запустить тот же ход

gsomix: Но вопрос про онлайн. :)

gsomix: Я понимаю, что можно сдампить всю игру и анализировать оффлайн.

MadKnight: можешь скачать реплей

MadKnight: он в xml

gsomix: Ответ "Нет, нельзя", меня тоже устроит. Спасибо. :)

MadKnight: просто они экономят на размерах реплеев

MadKnight: больше вывода - больше размер реплея

gsomix: Разве то, что я запускаю в Online IDE не является короткоживущим и не требующим хранения?

Uljahn: создатели CG решили, что лучше хранить

Uljahn: то, что ты в online ide запускаешь, можно даже найти среди реплеев - номера у них инкрементальные

gsomix: Ох!

Uljahn: именно так год назад утекли реплеи контеста

Uljahn: до его официального начала

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

Uljahn: это UTG было, насколько помню. народ начал по реплеям правила реверсить

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

Uljahn: на сайте есть API, так что можно реплеи скачивать хоть на питоне

Uljahn: в смысле, скриптом

gsomix: Пока не охота возиться. :)

gsomix: Может быть позже напишу загрузку реплеев, чтобы оффлайн тестировать.

gsomix: Оффлайн, конечно, приятнее. Можно дебаггером подрубиться. :)

amurushkin: надо же мой бот 1 раз нейронку победил https://www.codingame.com/replay/485023237

amurushkin: наба стал побеждать иногда, и юркова со смитсом. еще б чего докрутить :)

amurushkin: 44.45 набрал. прямо рекорд для моего бота

ConstantBolzmann: все нейронки ради этого, а это они пока не могут) https://youtu.be/W357uIC6DDU

MadKnight: это чё такое?

gsomix: Я наконец-то поправил все баги в диаграммах Вороного в Tron Battle.

gsomix: Жду промоушн в золотую лигу.

Uljahn: :thumbsup:

gsomix: Дальше, наверное, на машинки переключусь. Попробую наивный Монте-Карло реализовать по совету BorisZ. :)

YurkovAS: неплохо так меня апнули в ксб, почти на 2 места :smiley:

ConstantBolzmann: а я пишу матрицу, попутно учусь с ксб и попутно много чего еще учу)

ConstantBolzmann: нейрон себе написал) для наглядности)

tutubalin: ConstantBolzmann молодца!

tutubalin: ConstantBolzmann посмотри, вот тут классная интерактивная статья, хорошо объясняющая нейрон https://jalammar.github.io/visual-interactive-guide-basics-neural-networks/

tutubalin: и там дальше следующие статьи в этом блоге тоже отличные

gsomix: tutubalin, спасибо, сохранил. :)

Default avatar.png QuantumQQ: Весело

Default avatar.png QuantumQQ: как перейти на следующий уровень в гонках?

gsomix: QuantumQQ, победить босса в текущей лиги, подождать перевода в следующую.

gsomix: *лиге

tutubalin: gsomix сохранить мало, надо почитать ) мне особенно понравилось, когда я сперва руками нейрон "обучал", регулируя веса ползунками, а потом автоматика это сделала гораздо лучше

gsomix: tutubalin, ага, очень нравятся такие наглядные примеры.

Default avatar.png QuantumQQ: жалко тут 1С нет, а то бы разорвал бы всех :))))))

gsomix: Всё, Tron Battle можно отложить в сторону на некоторое время. Доброй ночи.

tutubalin: QuantumQQ ага, особенно в Shortest Mode )

Default avatar.png QuantumQQ: я еще с ошибкой в коде выигрывал. Но похоже не хватает для перехода.

MadKnight: QuantumQQ ты бы разорвал всех чисто засчёт языка?)

Default avatar.png QuantumQQ: ну это же шутка. Я думал мозги совсем жиром заплыли.

MadKnight: https://www.codingame.com/share-replay/485085947

MadKnight: я тут пытаюсь запустить поиск всех 4 машинок сразу на глубину 6

MadKnight: и всего 10к rollouts'ов

YurkovAS: мало, со смитси в 10+ раз больше

MadKnight: смитси каждую по отдельности ищет

MadKnight: у него вообще 4 дерева

MadKnight: а у меня одно дерево сразу на все 4 машинки и на 2401 чайлда

YurkovAS: 4 пода на глубину 7 = 1 роллаут. и получается 100к+

YurkovAS: да, 4 дерева.

YurkovAS: ну ноды дерева берутся из одного общего большого массива

MadKnight: чё за 1 общий массив?

MadKnight: а, ты про pool

MadKnight: да это понятно

YurkovAS: массив нод общий да, про пул

MadKnight: это вообще чисто оптимизация

YurkovAS: синусы закешить

YurkovAS: хотя это не много добавляет. скорее всего само дерево тормозит

MadKnight: а ты попробуй запустить дерево с 2401 чайлдами

YurkovAS: у меня используется ~600k чаелдов (ну нод из пула) очень много.

YurkovAS: суммарно всмысле, там счетчик след ноды, вот он, на все 4 дерева.

MadKnight: да прикол не в этом

MadKnight: https://www.codingame.com/share-replay/485088423

YurkovAS: во, нашел, смитс как-то писал, про свой pruning лишних ходов yeah it really is 40-60k for me

MadKnight: зато у тебя нет такой командной игры как у меня на 32 ходу

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

MadKnight: короче у меня машинка свою машинку "подбросила"

MadKnight: щитом

MadKnight: у тебя так не умеют

MadKnight: твои друг другу не доверяют из-за смитси

YurkovAS: да, они друг другу помогают

MadKnight: но осторожно

MadKnight: у тебя они друг другу не доверяют - смитси не умеет комбинировать

MadKnight: и им приходится осторожничать даже когда помогают друг другу

MadKnight: https://www.codingame.com/share-replay/485088880

MadKnight: а этот откроет?

YurkovAS: слабо еще играет? попробуй профайлером подключиться. можно в брутал тестере дебажную версию запустить и подключиться по имени процесса (я так иногда делаю) там нормально статы соберется

YurkovAS: не открывается, ошибка UNAUTHORIZED

MadKnight: а теперь?

YurkovAS: во, открылось

YurkovAS: даже проще с профалером запустиь просто на 1 ход

MadKnight: зацени как машинки помогают друг другу

YurkovAS: 10к мало. вдруг что-то простое, как пофиксишь и всех порвешь

MadKnight: у тебя так сильно не помогают

YurkovAS: :thumbsup:

MadKnight: https://www.codingame.com/share-replay/485090962

MadKnight: на глубину 5 уже не так криво ищет

MadKnight: YurkovAS а у тебя 100к ?

YurkovAS: > 200k

MadKnight: это rollouts ?

MadKnight: или просто ходов?

YurkovAS: да, роллауты (4х7) = 1 роллаут

MadKnight: это у тебя чё, 1 200 000 симуль?

YurkovAS: ой, сорян, это симы

YurkovAS: ~15-20к роллаутов

YurkovAS: тогда почти как у тебя все

MadKnight: да, но у меня 1 дерево, и веток не 9, а 2401

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

MadKnight: вот этим и занят

YurkovAS: но это наверное долго делать такое сравнение.

YurkovAS: а, ну понятно. хотел спросить что дальше будеш делать.

gsomix: Доброе утро.

gsomix: Tron Battle — странная игра. Вчера кое-как выбрался из серебряной лиги, но потом на одном и том же боте докатился до легендарной. 🤔