Chat:Ru/2020-10-08
gsomix: fun channel https://www.youtube.com/channel/UC0e3QhIYukixgh5VVpKHH9Q
gsomix: Блин, не переключился на русский. :)
magaiti: https://www.youtube.com/watch?v=xW8skO7MFYw
735487: должно быть быстрее с векторизацией. я это реализовывал точно знаю
735487: там же фишка в том что ты как раз не 1 значение а сразу несколько считаешь. ну или мы говорим о разном
735487: YurkovAS: кеш коллизий у меня для мин макса на джавке получалось сделать
magaiti: хз я сделал векторную ф-цию коллизии, чтоб считать 2 пар подов сразу
magaiti: кол-во сим упало в 2 раза
magaiti: Мэд говорит надо пилить на 8 сим
magaiti: 6 пар подов
magaiti: так скольку у тебя сим с векторизацией, если ты смитса не можешь обогнать?
magaiti: чет прибавка нбольшая получается
MadKnight: wlesavo чё за скобки
Uljahn: russian emoji
Uljahn: Automaton2000 ))
Automaton2000: там не просто я пошел думать как буквы менять свои
735487: magaiti: мэд всем советует а сам не делает :)
735487: magaiti: с векторизацией там много времени занимает загрузка регистров и выгрузка потом. поэтому надо писать аккуратно. тогда будет выгода наверное
magaiti: я так и подумал что регистры долго грузятся
magaiti: надо если загружать, то надолго
amurushkin: лидерборд гоночек поломали что ли. там счета нет больше
Uljahn: xD
amurushkin: и не только гоночек похоже.
Uljahn: о, появился рейтинг
Uljahn: или
Uljahn: это только в локальной лидерборде
amurushkin: причем в оптимизациях есть
Uljahn: начали фиксить F# - сломали лидерборды
amurushkin: и где связь :)
Uljahn: это шутка по поводу инфраструктуры CG
wlesavo: эх, помню на автоите бота писал для 2048, самый первый бот был, не помню до куда доходил, но 2048 точно не набирал
magaiti: я пытался на автоите бота для пиндлранов неааписать, не смог )
wlesavo: а тут с идеальными предсказаниями еле 4096 набираю, надо нормальный алгоритм какой-то уже пилить
wlesavo: я для диабло 3 еще какие-то кликеры примитивные делал
gsomix: Uljahn, простите. :)
Uljahn: magaiti: пиндлраны? это из д2?
magaiti: да
magaiti: босс в анином портале
magaiti: или как ее там звали
magaiti: точнее полубосс
magaiti: там на кликере можно сделать теоретически, если билд позволяет
magaiti: самое сложное лут опознать
amurushkin: мы делали для мейловских браузерок. на джаве. бот прикидывался прокси сервером, обрабатывал инфу. а кликал автоитом. причем там были рандомные задержки. перемещения мыши. чтобы было похоже на человека больше
magaiti: хм, сколько ни игрался с набором ходов, глубиной дерева, пераметрами нормировочной ф-ции, оценочной, уцб, ничего не помогает
magaiti: осталось кол-во сим
amurushkin: у многих глубина 7
magaiti: у меня лучшие результаты на 8, но надо экономить на кол-ве ходов
magaiti: либо 7
amurushkin: делай 7 а восьмой всегда просто полный газ например
magaiti: пробовал уже
magaiti: попробую глубину 6 прочекат
magaiti: ь
amurushkin: 6 по идее точно не зайдет
amurushkin: если у тебя фастранд то там еще сид сильно может влиять
magaiti: зачем ранд в смитси?
magaiti: ты сам говорил что не нужен
amurushkin: у меня есть выбор рандомного хода когда ветка раскрывается
amurushkin: у меня в разное время были разные реализации. сейчас гляну как именно сейчас
amurushkin: о рекурс ресабмитнул
amurushkin: https://www.codingame.com/replay/491768590 я его даже выиграл )))
amurushkin: magaiti: подтверждаю сейчас нет рандома
Uljahn: выиграл вдвоём против одного)
magaiti: https://www.youtube.com/watch?v=r78HHbNHN4U
magaiti: пытается освоить новый агоритм
amurushkin: у меня на ютубе почему то в качестве рекламы какие то корейцы на корейском языке какую то кашу рекламируют :)
amurushkin: таргет не умеют настраивать
YurkovAS: magaiti часто решает asm задачки? ты в яндексе решил первые 4шт за 20мин :thumbsup:
magaiti: они изичные
magaiti: хз
YurkovAS: ох, вот бы тоже так научиться. только первую решил. 2-ю уже не могу и не видно на каком примере падает
magaiti: вот с последней я намучался
magaiti: хотя в итоге не так сложно оказалось
wlesavo: из первых 4х третью не решил чето, вроде все верно, даже в решение заглянул, но почему то падает. но конечно не за 20 минут, вообще поражаюсь людям которые всякие кодджемы за 20 минут решают, я даже условие у всех задач за это время не успеваю вдумчиво прочитать
amurushkin: они просто знают типовые задачи наверное и как их решать. а мы нет
magaiti: я вас в гоночках не могу догнать зато
magaiti: хотя наверное это потому что векторные симы не запили
magaiti: л
amurushkin: что такое векторные симы? у меня такого и нет наверное. у меня векторизации нет никакой
magaiti: тогда я вообще хз за счет чего у тебя 7-е место
YurkovAS: скорее всего проблема в дереве - там надо уменьшать кол-во ходов (нод) дерева. смитс писал, что у него выделяется около 60к нод. я много экспериментировал в локально через брутал тестер и подобрал лучшее: ~600к нод, а когда уменьшал к 100к было хуже
magaiti: 600 к нод еще обойти надо
YurkovAS: это те что выделяются за один ход, т.е. за 75мс
amurushkin: у меня где то да 500-600 успевает
magaiti: хмм
YurkovAS: это в среднем
amurushkin: обходит наверное меньше но создает столько
magaiti: у меня меньше
magaiti: 100-200к обчно
YurkovAS: мне кажется лучше равняться на смитса - он обдуманно это делал. а не нашел методом тыка
amurushkin: может ты сильно много ходы режешь?
YurkovAS: т.е. на кол-во 50-100к
magaiti: так у смитса подробностей нет
YurkovAS: это суммарное кол-во для всех 4-х подов
magaiti: ну да, 200к нод для 4-х
magaiti: exploration parameter подымать навернео
amurushkin: почему так мало?
magaiti: или симы кешироват
amurushkin: ты не создаешь сразу все дочерние?
magaiti: создаю
magaiti: ходо в мало наверное
magaiti: порезал сильно
magaiti: это у вас при глубине 7 столько?
amurushkin: да
YurkovAS: есть еще вариант: разделяем на 2 части. 35 мс играет своим блокером против ранера противная, остальных по инерции 35 мс играем своим раннером против блокера противника, + тех лучшие расчитанные до этого
YurkovAS: да, глубина 7
YurkovAS: мне этот вариант дал заметную прибавку
amurushkin: а мне наоборот :)
YurkovAS: а у тебя сейчас без него?
amurushkin: да без него. сразу все 4
YurkovAS: ну хз, тогда
YurkovAS: но сим становится почти в 2 раза больше
YurkovAS: у меня с разделением этим
amurushkin: вот это да. сим больше. но результат у меня хуже
magaiti: ходы какие у вас? 3 угла на 3-4 траста (шилд, 0, 200, буст)
amurushkin: нет не так
amurushkin: щит и буст только на ноль градусов
magaiti: гм а че так
amurushkin: и не всегда разрешен
magaiti: экономить ходы?
YurkovAS: и сначала щит, потом 200, и потом уже 0
amurushkin: ну чтобы меньше веток было
magaiti: почему щит сначала?
amurushkin: это не обьяснимо но так играет лучше :)
magaiti: лол а у меня щит только влево и вправо
YurkovAS: и щит только на 1-м ходу
magaiti: я щит на 1-2 тестировал
YurkovAS: на глубине 1
amurushkin: ты если делаешь щит с углами так дай ему щит с 0 тогда тоже
YurkovAS: еще где-то нет 0 - 0
magaiti: я его и отрезал как менее полезный, видимо счел так
magaiti: 0-0 режу на какой-то глубине
magaiti: пытаюсь кеширование сим реализовать, чет бред какой-то
amurushkin: я тоже думал над этим. но не получится мне кажется. у тебя же постоянно состояние меняется. даже если 3 пода идут по той же ветке то 4 выбрал другой ход и уже все
magaiti: ну надо 4 пода и глубину как ключ использовать
amurushkin: я думаю совпадения редкие
magaiti: хранить в мапе
magaiti: хз вот тестирую
magaiti: по идее пока улучшения нет
magaiti: но у меня баг гдк-то
amurushkin: замерь сколько раз срабатывает что совпало
magaiti: исправлю, можно будет подумать как ускорить
magaiti: у меня выходит сим без кэша примерно столоко же как сим + копирование из кеша
magaiti: то есть поиск и копирование примерно такие же медленные
magaiti: но это можно пытаться оптимизировать
magaiti: совпадений будет прилично на первой глубине например
magaiti: совпадает где-то 80%
YurkovAS: сим больше, чем у смитса?
magaiti: не
magaiti: 100-180 у меня
YurkovAS: помню, локально ставил 150мс и тестил против такого же 75мс и разницы небыло. что странно, сильно не разбирался, может ходов дерева надо было добавлять
amurushkin: или глубину
YurkovAS: ну главное закешить синусы, косинусы * ускорение и для ucb формуры корни и корень от логарифма * конст
YurkovAS: залипать в табличку во время сабмита мне нравится не меньше, чем прогать бота :smile:
YurkovAS: magaiti пробовал без буста? только на самом первом ходу его использовать и все.
magaiti: не, оставил 1 вариант
magaiti: буст вперед
magaiti: я где-то туплю
YurkovAS: у меня только на самом первом ходу. у смитса и неймана вроде тоже. он же добавляем много нод, если его не использовать. а на первом ходу с бустом один из 2 подов обычно стартует и нормально
magaiti: у нас ведь цепочка из вариантов ходов для всех подов однозначно определяет позицию?
YurkovAS: не понял
magaiti: ну ты выбрал как ходят поды, сыграл симу
magaiti: откатил, выбрал те же ходы, сыграл
magaiti: должен получить тот же результат?
magaiti: в пода
magaiti: х
magaiti: я пытаюсь кешировать на глубине 1, допустим
magaiti: и чет какая-то лажа
magaiti: в play() же нет рандома
magaiti: либо я где-то туплю
YurkovAS: да, у меня нет рандома, хотя в статье у смитса написано что есть
magaiti: в коде кэша
magaiti: я не про дерево
magaiti: а про симы
magaiti: ходы те же
YurkovAS: если ходы абсолютно теже, тогда все будет одинакого - позиции подов и скоринг.
magaiti: где-то в кеше у меня затуп
YurkovAS: у меня этой фичи нет, не смог сделать, но в другой игре про покер, там много подов.
YurkovAS: надо подумать про это. хотя бы на одном уровне
YurkovAS: на первом
magaiti: хмм
magaiti: не, это не прокатит
YurkovAS: кеш коллизий?
magaiti: если у тебя N ходов на первый ход, то будет N^4 вариантов
magaiti: кеш сим
magaiti: напервом уровне много вариантов слишком
magaiti: и правильный алгоритм их все посещает
magaiti: будет по 2-3 раза заходить в большинство
magaiti: хз
magaiti: может и стоит
YurkovAS: ну как вариант, проверь разделение на 2 части, раздельно блокера, потом раннера. там сим будет в 1.5 раза больше. у меня выводится кол-во сим и роллаутов за 2-ю часть, т.е. за 35мс
YurkovAS: но их меньше, чем у смитса, всеравно
YurkovAS: за 35мс меньше, за 70мс больше в 1.5 раза
YurkovAS: возможно надо будет оценочную подрегулировать. давно это сделал - если меняю на обычный вариант, то становится хуже.
magaiti: с кешем разобрался, у меня сравнение ключей было забаговано
YurkovAS: есть результаты? на сколько стало быстрее
YurkovAS: на 7 уровней?
magaiti: в итоге у меня выходит скажем 5000 вариантов на 17000 торраутов
magaiti: на 1 уровне
magaiti: роллаутов
magaiti: то есть в среднем по 2-3 раза берет из кеша всего
magaiti: быстрее пересчитать симу имхо
magaiti: да и по цифрам тоже так выходит
magaiti: по логам - роллауты падают при кешировании
YurkovAS: а у тебя мапы?
magaiti: можно поумнее кешировать правда
magaiti: да, надо прямую адресацию
magaiti: перемножить варианты ходов и получить индекс
YurkovAS: может там масиив заюзать? только как ход закодировать, через битовую маску * 4 пода
magaiti: да
magaiti: я про это и гворю
YurkovAS: только тогда они будут далеко и может плохо кешироватся
YurkovAS: ааа, ну я плохо понимаю
magaiti: ну надо потестить
magaiti: думаешь симу быстрее обсчитать чем из большого массива достать?
YurkovAS: там же всего 6 вариантов 3+2+1 коллизий на 1 ход
YurkovAS: 6 проверок - что не так и много
magaiti: а проверить просто разве7
magaiti: я до сих пор математику считаю, как у магуса