Chat:Ru/2020-04-23
metahom: эт что, типа визардов что-то?
Uljahn: типа доты
Uljahn: там герои и крипы
Uljahn: артефакты покупать можно
Uljahn: героев выбираешь двух из пяти по очереди, можно контрить пик соперника
metahom: ну визарды и были типа доты
metahom: прикольно , надо поиграть. визарды были крутые
Uljahn: а, раик-визарды
Uljahn: я не играл
735487: раик был ближе к доте в целом. а тут больше упор на фарм и покупку. контроль на 1 линии
735487: получились как бы разные игры
735487: я вот не помню уже в раике как было надо было скилы качать или нет
735487: я тогда заболел конкретно и пропустил его вообще
tomatoes: скилы помоему были, но выбора героев не было
metahom: скиллы были, один из 3 на выбор
amurushkin: там кажется скилы надо было апать а тут нет если я правильно помню
metahom: да, с набором экспы появлялся фаербол/фриз/ппулемет
metahom: и что-то еще было с хилом кажется
metahom: союзные визарды меньше урона получали если рядом с тобой были. как-то так
wlesavo: бронзовый босс в крестиках просто случайно е тыкает, да?
BorisZ: в крестиках в большинстве случаев кроме самых очевидных вобще нихрена не понятно для человека
BorisZ: может это гениальные ходы вобще )
Uljahn: да, сложно отличить рандом от 50% гениальных ходов
Uljahn: есть же несколько понятных эвристик: в начале в центр, потом в угол, если миниборда пустая - то ход, который вернёт противника на неё же
Uljahn: в центр ходить плохо, если ход не первый и миниборду не выигрываешь этим ходом
wlesavo: ну я думаю на этом дойду до золота
Uljahn: на рандоме?)
wlesavo: не, на эвристиках
Uljahn: ну да, я так и дошёл
amurushkin: на эвристиках и минимаксе и в леге есть даже относительно в топе боты
Uljahn: потом прикрутил перебор на глубину 1 с рандомными роллаутами
Uljahn: но сим очень мало
Uljahn: минимакс в конце хорошо должен заходить, ветвление маленькое, и пространство сокращается каждый ход
Uljahn: а в начале книгу юзать
amurushkin: вот я книгу не придумал пока как рассчитывать, хранить и юзать потом
BorisZ: у меня была версия минимакс на какую-то глубину фиксированную, не помню уже, что влезало
BorisZ: а на этой глубине оценка какая-то вроде нехитрая
Uljahn: глубину можно итеративную сделать в зависимости от времени
BorisZ: но даже до топа золота не доходила она
Uljahn: на го?
BorisZ: да
BorisZ: но там я не парился еще с памятью и со скоростью - писал как пишется
Uljahn: я забодался уже с этими крестиками питон профилировать, как на работе какой)
Uljahn: крутишь, вертишь и в итоге +50 роллаутов
BorisZ: ну а в то время разговоры были - типа минимаксом много не сделать, mcts рулит, ну я и забросил эту идею
BorisZ: если б можно было заменить ролауты сишной функцией, то справился бы питон думаю
BorisZ: чисто дерево создавать, ноды там тоже заранее выделить массивом
Uljahn: так я ноды выделяю массивом
Uljahn: правда дерево ещё не строится
Uljahn: на нумпае, а это си как раз
Uljahn: для роллаутов уже нумба нужна
BorisZ: ну а все ифы и циклы то медленные
Uljahn: угу
Uljahn: или компилятор фортрана
Uljahn: пишешь на фортране роллаут, компилируешь, импортируешь как модуль, круто же
BorisZ: в питоне встроен компилятор фортрана что ли?
Uljahn: в нумпи есть возможность, f2py
Uljahn: но нужен компилятор в системе, похоже
Uljahn: я не смог на CG заставить работать, но локально получается
Uljahn: правда, у меня винда, в линуксах не шарю
BorisZ: ну ты монстр
BorisZ: а прерывать роллауты пробовал?
BorisZ: типа несколько ходов делаешь, потом стоп и оценка какая-нибудь
BorisZ: я пробовал минимакс на небольшую глубину а потом просто случайные ролауты из каждой позиции
BorisZ: и пробовал mcts но вместо роллаутов - короткий минимакс и оценка
BorisZ: ничего не взлетело, но может просто руки кривые а идеи не плохие )
Uljahn: для MCTS важно количество роллаутов и правильный коэффициент, для миника - хорошая оценка, а с гибридами всё сложно
BorisZ: просто потом делал ванильный mcts но он тоже не сразу нормально заработал - много помучился, может и те бы заработали хз
wlesavo: о, борис, а ты не хочешь в number shifting там есть где развернуться
BorisZ: не, чур меня - и так на работу забил, хорошо что можно карантином прикрываться
BorisZ: с корабликами этими
BorisZ: к следущему контесту бы разгрести все и то слава богу
Uljahn: какую бы нейросетку к оценке крестиков прикрутить, было бы круто, но обычные архитектуры вряд ли подойдут
wlesavo: видели пб прикольную стату выкатил
wlesavo: клизмоподобную
Uljahn: про что?
Uljahn: ссылку в студию
wlesavo: про длительность игр и вероятность побед на дистанции
wlesavo: https://forum.codingame.com/t/ocean-of-code-feedback-strategies/175885/59?u=wlesavo
Uljahn: violin plots
Uljahn: у питониста интересный пм
TTeaLL: подскажите плез, как использовать пи как константу
Uljahn: в питоне from math import pi
TTeaLL: а если просто в задании прописано уже import math
Uljahn: math.pi
Uljahn: в задании дают код-заготовку, в которой всё можно менять, кроме порядка инпутов
Razzeeyy: Мечтают ли скриптушки об электросишке?
Razzeeyy: http://chat.codingame.com/pastebin/c491ad8d-cc83-4ed5-8265-8ff9c4b563f9
Razzeeyy: помоему у меня какой-то фетиш на С стиль в JavaScript :D
Uljahn: ужос
Razzeeyy: :slight_smile:
tutubalin: это ж TS, а не JS
tutubalin: if ( x != x || x == !x ) console.log("Relax, it's JavaScript");