Поиск синергии между героями в статистике

Тебе советуют, что лучше пикнуть, а ты... (с) ваш тиммейт
Этот пост — продолжение моих предыдущих постов, посвященных контрпикам в доте: https://dota2.ru/blogs/post/3332-moya-novaya-programma-dlya-kontrpikov-princip-ee-raboty-i-nemnogo-rezul/ https://dota2.ru/blogs/post/3054-kontrpiki-v-dote-interesnye-nabljudeniya/ Здесь я хотел бы рассказать о своих теоретических поисках, их результатах и практическом применении полученных результатов. Речь здесь пойдет о синергии между героями. В конце поста вы найдете новую версию моей программы, которая может помочь вам сделать правильный выбор во время стадии пика. Как можно найти синергию Давайте рассмотрим пример. Я запускаю доту и начинаю рейтинговый матч. Я пикаю одним из первых пиков. У моего героя среднестатистический винрейт 52%. То есть, можно предположить, что мой шанс выиграть будет 52%, если я играю как среднестатистический игрок. Мой тиммейт пикает . У среднестатистический винрейт 55%. Он ожидает, что его шанс выиграть будет 55%. Внимание, вопрос! На какой винрейт мы с тиммейтом можем рассчитывать, пикнув этих 2-х героев в одну команду? Итак: - 52% – 55% + - ? К сожалению, в интернете я ответа на этот вопрос не нашел. Я не нашел таких вероятностных формул. Я придумал свой подход к решению данной задачи. Винрейт выше, чем винрейт , следовательно я ожидаю, что просто за счет появления в моей команде героя с более высоким винрейтом, чем винрейт моего героя, мои шансы вырастут. Игрок на , видя в пике героя с более низким винрейтом, чем винрейт его героя, может ожидать, что его шансы снизятся (так бывает, когда, например, ваш тиммейт рандомит или ). Самая простая формула, которую здесь можно применить, выглядит вот так: WC = (W1 + W2)/2, где WC — общий винрейт, W1 — винрейт героя 1, W2 — винрейт героя 2. Пользуясь данной формулой, получим (52+55)/2 = 107/2 = 53,5% Я уже чувствую ваше недоумение: «Как так? Венга + тракса, они же усиливают одна другую, не может их общий винрейт быть средним арифметическим между их винрейтами!» Всё верно! Он и не будет таким. Но чтобы узнать, усиливают герои друг друга или нет, надо понять что будет, если они не будут усиливать друг друга. Если бы ауры венги и траксы не действовали на их союзников и вообще они всегда стояли на разных лайнах и никак не взаимодействовали одна с другой, то их общий винрейт как раз должен быть 53,5%, если мои расчеты верны. Но венга и тракса влияют одна на другую в матче, например за счет аур. Между ними возникает симбиоз, взаимовыгодные отношения, они обе извлекают пользу из того, что находятся вместе в одной команде. Следовательно, их общий винрейт не должен быть 53,5%, он должен быть выше. И он в действительности выше, я покажу это в следующем разделе. Диады на yasp.co Думаю, многим известен такой сайт со статистикой, как yasp.co. Там есть раздел «диады», вот по этой ссылке: https://yasp.co/picks/2 В разделе можно видеть результаты игр, где 2 героя пикнуты в 1 команду, в виде винрейта. К сожалению, там выведены только топ 1000 диад по пикрейту, поэтому мы не можем видеть все результаты. Но, надо заметить, игр там не так уж и много, у самых редких диад там всего по ~100 игр. Не очень богатая статистика, но, к сожалению, другой нам не дано, поэтому будем пока пользоваться тем, что есть. Давайте найдем там венгу и траксу. На момент, когда я писал этот пост, для этой диады я наблюдал винрейт 59,5%. Это заметно больше, чем «предсказанные» 53,5%, на целых 6%. Давайте теперь рассмотрим другой пример. Возьмем и . Вот их винрейты – 49% – 47% Предскажем винрейт на основании их собственных винрейтов — (49+47)/2 = 48%. Вроде, кажется, всё не так плохо, но не тут-то было! Заходим на yasp и смотрим эту диаду. + – 41% (на 7% меньше ожидаемого!) Почему? Конечно, точно ответить на этот вопрос я не могу, т. к. дота игра довольно сложная. Но выскажу свои предположения. Во-первых такие диады могут означать дабл-мид. Во-вторых, если один из этих героев идет в хард или лес, то это негативно сказывается на лейнинг-стадии команды, т.к. каждому из них на лейнинг-стадии лучше всего находиться на позиции соломид, а на других позициях он смотрится заметно хуже. Возможно здесь играют роль еще какие-то факторы. Таким образом можно сделать вывод, что пользуясь статистикой yasp.co, можно определить, выгодно ли смотрятся 2 героя в одной команде, или наоборот, лучше их вместе не пикать. Находим синергию для каждой известной диады Итак, пользуясь всем тем, что я описал выше, я могу получить для каждой диады некое значение, которое я буду называть синергией. Это значение показывает, насколько хорошо герои смотрятся вместе. Я буду вычислять эту синергию по следующей формуле: S = WD – (W1+W2)/2, где S – синергия, WD — винрейт диады на yasp, W1 — винрейт героя 1, W2 – винрейт героя 2. Написав специальную программу, я нашел синергию для каждой из 1000 диад и поделюсь с вами некоторыми интересными результатами далее. Топ 10 диад 9.19 8.8 8.65 8.44 8.15 8.02 7.78 7.58 7.41 7.24 Почти во всех топовых диадах присутствует . «Омник — имба, в пабах его не умеют контрить, это ожидаемо» - скажут некоторые из вас. С одной стороны — да, но с другой стороны обратите внимание вот на что. У самой топовой диады синергия 9%. Вот что это значит. Распишем винрейты: – 54% – 60% + – 66% (на 9% больше ожидаемых (60+54)/2 = 57%). Для сравнения, возьмем другую диаду с омником — + . Распишем винрейты: - 51% - 60% + — 57% (всего на 1,5% выше ожидаемых (60+51)/1 = 55,5% и ниже винрейта омника!). Что у нас получается? Допустим, чувак пикает омника и я думаю, какого керри мне пикнуть на лайн: джаггера или свена? Если бы я пикнул джаггера, я бы немного «обломал» омника, т. к. он-то думал, что его шанс на победу 60%, а в итоге получится только 57%! А если бы я пикнул свена, я бы порадовал омника, т. к. теперь наш с ним шанс 66% - даже больше чем он ожидал. Говоря другими словами, синергия между омником и свеном лучше, чем синергия между омником и джаггером (джаггеру ведь не сильно нужен репел, у него свой есть, и хилить его нельзя во время крутилки, а у свена вместо этих скиллов есть что-то более полезное при наличии репела у омника). Понимаю, что многие совершенно ничему не удивлены и всё выглядит вполне логичным и вообще возникает вопрос: «зачем я все это тут описываю?». Я попытался подтвердить то, что уже известно и найти что-то, что, возможно, мало кому известно. И еще я попытался использовать это в практических целях, как вы увидите далее. Известные многим и интересные диады Вот известные многим диады и их синергия в подтверждении того, что метод расчета синергии выдает адекватные результаты: 8.65 6.75 6.31 5.8 5.2 4.7 Отмечу также, что наблюдается много диад с , где хорошая синергия. Во-первых, эти диады «вылезли» в статистику yasp из-за высокой популярности героя в версии 6.88. Во-вторых, думаю, что синергия здесь возникает именно из-за ульты мираны. Ее ульта помогает многим нуждающимся в этом героям как эффективно инициировать, так и уйти из замеса, что благоприятствует общему винрейту диад. А вот немного неожиданные диады, которым я попробую дать объяснение: 7.24 Синергия здесь частично может строиться на том, что в команду к рики пикнут герой, который неплохо его контрит, из-за чего оппоненты лишаются возможности вот так вот «бесплатно» и эффективно законтрить невидимость. 6.7 Возможно здесь синергия строится на «союзе» хорошего физического и магического прокаста и на 2-х станах на линии. Такую даблу трудно контрить не только в начале игры, но и потом, т. к. приходится покупать и артефакты против физ. урона и против магии, и станов. 6.2 Возможно, здесь снова наблюдается случай запрета на хороший контрпик. Пикнув баратрума к траксе вы лишаете врагов возможности пикнуть весьма известный всем контрпик, который против нее довольно эффективен. 4.02 Зевс неплох против акса, т.к. последний уязвим к спаму магией. Кроме того, он сбивает ему даггер. Если они вместе, акса становится сложнее законтрить. 3.9 Не видел, чтобы эту связку использовали, но тут всё довольно банально — гуля залезает в акса и тот врывается. Кроме того, против акса гуля неплох, поэтому выгодно не позволять оппонентам пикнуть его. -0.25 У ВД винрейт ~49%, у войда ~52%. Их общий винрейт ~50,5%. Примерно среднее арифметическое. Почему? Я предполагаю, что с одной стороны это действительно неплохая связка, хроно + death ward, но с другой стороны игроки «слишком хотят» пикать эту связку. Игроки очень хотят пикнуть вд, когда пикнут войд, не умея тольком играть на вд. Игроки очень хотят пикнуть войда, когда пикнут вд, не умея толком играть на войде. Если игроки просто пикают войда, они играют с винрейтом 52%, и у них всё хорошо. Если игроки просто пикают доктора, они просто играют с винрейтом 49%, и у них все хорошо. Но если ты играешь на своем войде 52%, к тебе иногда будут «залетать» в игру личности, которые очень хотят заабузить эту "имба-связку" войд+ВД. Но будет немало таких, у которых желание слишком превосходит их возможности, т.к. на ВД они вообще толком не играют и будут лажать на нем (например, ставить death ward внутрь купола и т.п.). Абузим данные по синергии Для абуза данных по синергии я вставил их в свою программу, которую описывал в предыдущей моей статье (ссылка в начале поста). Я умножил значения синергии на некоторые коэффициенты, чтобы количество очков героев было соизмеримо с количеством очков, зарабатываемым ими на контрпиках. Также отмечу, что для многих героев данных по синергии нету вообще. Проблема в том, что на yasp опубликовано довольно мало статистики. Ниже представлен интерфейс программы (результаты выводятся в правой части окна, на скриншоте они еще не выведены). Вот список изменений по сравнению с прошлой версией:
  • Немного изменен внешний вид и позиции элементов
  • Добавлена возможность ввода героев тиммейтов и поиска синергичных с ними героев (на основе статистики yasp, есть данные далеко не для всех героев)
  • Добавлена возможность поиска героев, которые являются и хорошими контрпиками и образуют хорошую синергию с союзными
  • Можно задать степень влияния синергии на результат работы программы
  • Можно очистить все боксы для выбора героев одной кнопкой
  • Статистика контрпиков обновлена — взята статистика с сайта dotamax (только VHS-матчи) на дату 13.08.16 (версия доты 2 6.88c)
Ссылка для скачивания программы https://yadi.sk/d/p9NHa5F4uCpbb
avatar Eugenius4

14 Авг 2016 в 17:51

11

7206

Нашли ошибку в материале? Выделите ее и нажмите Ctrl+Enter

В комментариях под материалами на сайте действуют все правила портала, с которыми можно ознакомиться на специальной странице — https://dota2.ru/forum/rules/. Помимо этого, в комментариях к новостям существуют дополнительные ограничения:

  • Запрещены прямые и косвенные оскорбления авторов материалов, как и любые комментарии, не относящиеся к сути новости;
  • Указание на ошибки в материале происходит с помощью специального функционала. Комментарии с таким содержанием будут удалены;
  • Критика — это нормально, но выражать ее нужно без злоупотреблений. Ваши слишком грубые комментарии про личностей, представленных в новостях, могут быть удалены.
Аватар пользователя

Идея класс, и по настоящему нужная.Продолжай выпускать прогу, и развивать свое дело, но есть что исправлять
самое главное интерфейс на мой взгляд, а дальше уже в функционал идти, а он у тебя уже не плох.
ты сможешь улучшить интерфейс?

Аватар пользователя

Спасибо за хороший отзыв. Интерфейс улучшать пока не планировал, т.к. лично меня он устраивает (я сам пользуюсь этой прогой и мне удобно). Но если вдруг начну изучать более глубоко Tk, или больше придется работать с C++, то, может быть, поработаю над интерфейсом. Хотя сейчас такие проги обычно делают на сайтах, а у меня нету опыта написания кода для веб-сайтов.

Аватар пользователя
Аватар пользователя

не бывает плохих героев, бывают плохие связки героев @arsart

Аватар пользователя

Орнул в глориус с недостатиста, считающего среднее арифметическое от винрейта двух героев (что ? зачем? почему?), если надо посчитать прирост. Кек

Аватар пользователя

А как правильно вычислить винрейт 2-х героев, попавших в одну команду, на основании собственного винрейта каждого, не подскажешь (похоже, ты знаешь это)?

Аватар пользователя

если ты, мой юный падаван, не изучал матстат и тервер, то не значит, что формулы не существует. Прочитай про условную вероятность и про вероятности 2-ух зависимых и независимых событий. Вообще, все о чем ты говоришь, можно найти в обычном учебнике тервера для вузов.

Аватар пользователя

Почитал. Эти формулы, к сожалению, не работают. Рассмотрим, допустим, 2 независимых события: победа венги в матче и победа траксы в матче. Если мы будем считать вероятности что они обе победят, то выходит, что мы будем считать вероятность того, что венга победит в своем матче и параллельно с этим тракса победит в своем матче. Возможные варианты: обе победят, победит только первая, победит только вторая, обе проиграют. Т.к. вероятности обеих ~50%, то вероятность одновременной победы обеих ~25%. Вообще не то! Шанс, что победит хотя бы одна из них ~75%. Тоже не то! Формулу для зависимых событий вообще нельзя применить, т.к. неясно, как вычислить вероятность второго события при условии, что первое уже произошло (если бы мы считали лотерейные билеты, как в учебниках, мы могли бы ее применить, но тут мы не считаем лотерейные билеты, здесь более "недоступные" условия). В общем, эти формулы тут не подходят.

Аватар пользователя

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

Аватар пользователя

Есть эти формулы или нет, но вроде бы мои тоже недалеки от истины. Я ведь в итоге получил именно то, что и ожидал, значит формулы более-менее юзабельные. А может и вообще правильные, кто знает...

Аватар пользователя

Очень понравилась статья.И мне бы хотелось поучаствовать в твоем проекте.

Аватар пользователя
Форум