Chat:Ru/2020-10-08

From CG community
Jump to navigation Jump to search

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: я до сих пор математику считаю, как у магуса