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

Тебе советуют, что лучше пикнуть, а ты...

(с) ваш тиммейт


Этот пост — продолжение моих предыдущих постов, посвященных контрпикам в доте:

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/

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

Как можно найти синергию

Давайте рассмотрим пример. Я запускаю доту и начинаю рейтинговый матч. Я пикаю
Vengeful Spirit
Дальний бойSupport - Initiator - Disabler - Nuker - Escape
одним из первых пиков. У моего героя среднестатистический винрейт 52%. То есть, можно предположить, что мой шанс выиграть будет 52%, если я играю как среднестатистический игрок. Мой тиммейт пикает
Drow Ranger
Дальний бойCarry - Disabler - Pusher
. У
Drow Ranger
Дальний бойCarry - Disabler - Pusher
среднестатистический винрейт 55%. Он ожидает, что его шанс выиграть будет 55%. Внимание, вопрос! На какой винрейт мы с тиммейтом можем рассчитывать, пикнув этих 2-х героев в одну команду? Итак:

Vengeful Spirit
Дальний бойSupport - Initiator - Disabler - Nuker - Escape
- 52%
Drow Ranger
Дальний бойCarry - Disabler - Pusher
– 55%
Vengeful Spirit
Дальний бойSupport - Initiator - Disabler - Nuker - Escape
+
Drow Ranger
Дальний бойCarry - Disabler - Pusher
- ?

К сожалению, в интернете я ответа на этот вопрос не нашел. Я не нашел таких вероятностных формул. Я придумал свой подход к решению данной задачи. Винрейт
Drow Ranger
Дальний бойCarry - Disabler - Pusher
выше, чем винрейт
Vengeful Spirit
Дальний бойSupport - Initiator - Disabler - Nuker - Escape
, следовательно я ожидаю, что просто за счет появления в моей команде героя с более высоким винрейтом, чем винрейт моего героя, мои шансы вырастут. Игрок на
Drow Ranger
Дальний бойCarry - Disabler - Pusher
, видя в пике героя с более низким винрейтом, чем винрейт его героя, может ожидать, что его шансы снизятся (так бывает, когда, например, ваш тиммейт рандомит
Io
Дальний бойSupport - Escape - Nuker
или
Meepo
Ближний бойCarry - Escape - Nuker - Disabler - Initiator - Pusher
). Самая простая формула, которую здесь можно применить, выглядит вот так:

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%.

Давайте теперь рассмотрим другой пример. Возьмем
Tinker
Дальний бойCarry - Nuker - Pusher
и
Invoker
Дальний бойCarry - Nuker - Disabler - Escape - Pusher
. Вот их винрейты

Tinker
Дальний бойCarry - Nuker - Pusher
– 49%
Invoker
Дальний бойCarry - Nuker - Disabler - Escape - Pusher
– 47%

Предскажем винрейт на основании их собственных винрейтов — (49+47)/2 = 48%. Вроде, кажется, всё не так плохо, но не тут-то было! Заходим на yasp и смотрим эту диаду.

Tinker
Дальний бойCarry - Nuker - Pusher
+
Invoker
Дальний бойCarry - Nuker - Disabler - Escape - Pusher
– 41% (на 7% меньше ожидаемого!)

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

Таким образом можно сделать вывод, что пользуясь статистикой yasp.co, можно определить, выгодно ли смотрятся 2 героя в одной команде, или наоборот, лучше их вместе не пикать.

Находим синергию для каждой известной диады

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

S = WD – (W1+W2)/2,

где S – синергия, WD — винрейт диады на yasp, W1 — винрейт героя 1, W2 – винрейт героя 2.

Написав специальную программу, я нашел синергию для каждой из 1000 диад и поделюсь с вами некоторыми интересными результатами далее.

Топ 10 диад

Sven
Ближний бойCarry - Disabler - Initiator - Durable - Nuker
Omniknight
Ближний бойSupport - Durable - Nuker
9.19
Mirana
Дальний бойCarry - Support - Escape - Nuker - Disabler
Omniknight
Ближний бойSupport - Durable - Nuker
8.8
Pudge
Ближний бойDisabler - Initiator - Durable - Nuker
Omniknight
Ближний бойSupport - Durable - Nuker
8.65
Drow Ranger
Дальний бойCarry - Disabler - Pusher
Weaver
Дальний бойCarry - Escape
8.44
Drow Ranger
Дальний бойCarry - Disabler - Pusher
Luna
Дальний бойCarry - Nuker - Pusher
8.15
Riki
Ближний бойCarry - Escape - Disabler
Omniknight
Ближний бойSupport - Durable - Nuker
8.02
Axe
Ближний бойInitiator - Durable - Disabler - Jungler
Omniknight
Ближний бойSupport - Durable - Nuker
7.78
Drow Ranger
Дальний бойCarry - Disabler - Pusher
Huskar
Дальний бойCarry - Durable - Initiator
7.58
Drow Ranger
Дальний бойCarry - Disabler - Pusher
Omniknight
Ближний бойSupport - Durable - Nuker
7.41
Zeus
Дальний бойNuker
Riki
Ближний бойCarry - Escape - Disabler
7.24

Почти во всех топовых диадах присутствует
Omniknight
Ближний бойSupport - Durable - Nuker
. «Омник — имба, в пабах его не умеют контрить, это ожидаемо» - скажут некоторые из вас. С одной стороны — да, но с другой стороны обратите внимание вот на что. У самой топовой диады синергия 9%. Вот что это значит. Распишем винрейты:

Sven
Ближний бойCarry - Disabler - Initiator - Durable - Nuker
– 54%
Omniknight
Ближний бойSupport - Durable - Nuker
– 60%
Sven
Ближний бойCarry - Disabler - Initiator - Durable - Nuker
+
Omniknight
Ближний бойSupport - Durable - Nuker
– 66% (на 9% больше ожидаемых (60+54)/2 = 57%).

Для сравнения, возьмем другую диаду с омником —
Juggernaut
Ближний бойCarry - Pusher - Escape
+
Omniknight
Ближний бойSupport - Durable - Nuker
. Распишем винрейты:

Juggernaut
Ближний бойCarry - Pusher - Escape
- 51%
Omniknight
Ближний бойSupport - Durable - Nuker
- 60%
Juggernaut
Ближний бойCarry - Pusher - Escape
+
Omniknight
Ближний бойSupport - Durable - Nuker
— 57% (всего на 1,5% выше ожидаемых (60+51)/1 = 55,5% и ниже винрейта омника!).

Что у нас получается? Допустим, чувак пикает омника и я думаю, какого керри мне пикнуть на лайн: джаггера или свена? Если бы я пикнул джаггера, я бы немного «обломал» омника, т. к. он-то думал, что его шанс на победу 60%, а в итоге получится только 57%! А если бы я пикнул свена, я бы порадовал омника, т. к. теперь наш с ним шанс 66% - даже больше чем он ожидал. Говоря другими словами, синергия между омником и свеном лучше, чем синергия между омником и джаггером (джаггеру ведь не сильно нужен репел, у него свой есть, и хилить его нельзя во время крутилки, а у свена вместо этих скиллов есть что-то более полезное при наличии репела у омника).

Понимаю, что многие совершенно ничему не удивлены и всё выглядит вполне логичным и вообще возникает вопрос: «зачем я все это тут описываю?». Я попытался подтвердить то, что уже известно и найти что-то, что, возможно, мало кому известно. И еще я попытался использовать это в практических целях, как вы увидите далее.

Известные многим и интересные диады

Вот известные многим диады и их синергия в подтверждении того, что метод расчета синергии выдает адекватные результаты:
Pudge
Ближний бойDisabler - Initiator - Durable - Nuker
Omniknight
Ближний бойSupport - Durable - Nuker
8.65
Phantom Assassin
Ближний бойCarry - Escape
Omniknight
Ближний бойSupport - Durable - Nuker
6.75
Crystal Maiden
Дальний бойSupport - Disabler - Nuker - Jungler
Zeus
Дальний бойNuker
6.31
Omniknight
Ближний бойSupport - Durable - Nuker
Huskar
Дальний бойCarry - Durable - Initiator
5.8
Lich
Дальний бойSupport - Nuker
Faceless Void
Ближний бойCarry - Initiator - Disabler - Escape - Durable
5.2
Crystal Maiden
Дальний бойSupport - Disabler - Nuker - Jungler
Juggernaut
Ближний бойCarry - Pusher - Escape
4.7

Отмечу также, что наблюдается много диад с
Mirana
Дальний бойCarry - Support - Escape - Nuker - Disabler
, где хорошая синергия. Во-первых, эти диады «вылезли» в статистику yasp из-за высокой популярности героя в версии 6.88. Во-вторых, думаю, что синергия здесь возникает именно из-за ульты мираны. Ее ульта помогает многим нуждающимся в этом героям как эффективно инициировать, так и уйти из замеса, что благоприятствует общему винрейту диад.

А вот немного неожиданные диады, которым я попробую дать объяснение:

Zeus
Дальний бойNuker
Riki
Ближний бойCarry - Escape - Disabler
7.24

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

Sven
Ближний бойCarry - Disabler - Initiator - Durable - Nuker
Ogre Magi
Ближний бойSupport - Nuker - Disabler - Durable - Initiator
6.7

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

Drow Ranger
Дальний бойCarry - Disabler - Pusher
Spirit Breaker
Ближний бойCarry - Initiator - Disabler - Durable - Escape
6.2

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

Axe
Ближний бойInitiator - Durable - Disabler - Jungler
Zeus
Дальний бойNuker
4.02

Зевс неплох против акса, т.к. последний уязвим к спаму магией. Кроме того, он сбивает ему даггер. Если они вместе, акса становится сложнее законтрить.

Axe
Ближний бойInitiator - Durable - Disabler - Jungler
Lifestealer
Ближний бойCarry - Durable - Jungler - Escape - Disabler
3.9

Не видел, чтобы эту связку использовали, но тут всё довольно банально — гуля залезает в акса и тот врывается. Кроме того, против акса гуля неплох, поэтому выгодно не позволять оппонентам пикнуть его.

Witch Doctor
Дальний бойSupport - Nuker - Disabler
Faceless Void
Ближний бойCarry - Initiator - Disabler - Escape - Durable
-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
Eugenius4
14 Авг 2016 в 17:51
1643
11
1 5 4 15 13 2

Комментарии

Правила
На данный момент в комментариях у нас действуют следующие правила: https://dota2.ru/forum/threads/pravila-portala.1694/ (срок бана выдаётся на усмотрение модератора).
14 Авг 2016 в 18:19
0
не бывает плохих героев, бывают плохие связки героев @arsart
14 Авг 2016 в 20:24
-1
пудж+инвок+сф так дендик
делал
15 Авг 2016 в 10:13
0
Орнул в глориус с недостатиста, считающего среднее арифметическое от винрейта двух героев (что ? зачем? почему?), если надо посчитать прирост. Кек
15 Авг 2016 в 13:02
0
А как правильно вычислить винрейт 2-х героев, попавших в одну команду, на основании собственного винрейта каждого, не подскажешь (похоже, ты знаешь это)?
16 Авг 2016 в 01:26
0
если ты, мой юный падаван, не изучал матстат и тервер, то не значит, что формулы не существует. Прочитай про условную вероятность и про вероятности 2-ух зависимых и независимых событий. Вообще, все о чем ты говоришь, можно найти в обычном учебнике тервера для вузов.
16 Авг 2016 в 07:21
0
Почитал. Эти формулы, к сожалению, не работают. Рассмотрим, допустим, 2 независимых события: победа венги в матче и победа траксы в матче. Если мы будем считать вероятности что они обе победят, то выходит, что мы будем считать вероятность того, что венга победит в своем матче и параллельно с этим тракса победит в своем матче. Возможные варианты: обе победят, победит только первая, победит только вторая, обе проиграют. Т.к. вероятности обеих ~50%, то вероятность одновременной победы обеих ~25%. Вообще не то! Шанс, что победит хотя бы одна из них ~75%. Тоже не то! Формулу для зависимых событий вообще нельзя применить, т.к. неясно, как вычислить вероятность второго события при условии, что первое уже произошло (если бы мы считали лотерейные билеты, как в учебниках, мы могли бы ее применить, но тут мы не считаем лотерейные билеты, здесь более "недоступные" условия). В общем, эти формулы тут не подходят.
16 Авг 2016 в 08:09
0
к сожалению, все что проходил 4 годаназад я уже подзабыл. Но с увернностью могу скзать, что задачи такого характера решал. Можешь покопаться в учебниках, там найдешь истину.
16 Авг 2016 в 09:19
0
Есть эти формулы или нет, но вроде бы мои тоже недалеки от истины. Я ведь в итоге получил именно то, что и ожидал, значит формулы более-менее юзабельные. А может и вообще правильные, кто знает...
17 Авг 2016 в 19:58
1
Очень понравилась статья.И мне бы хотелось поучаствовать в твоем проекте.
17 Авг 2016 в 20:26
0
Спасибо, это правда не проект а так, хобби. Если есть какие-то идеи или предложения - отпишись в личку. Это тоже своего рода участие.
16 Авг 2016 в 14:56
1
Идея класс, и по настоящему нужная.Продолжай выпускать прогу, и развивать свое дело, но есть что исправлять
самое главное интерфейс на мой взгляд, а дальше уже в функционал идти, а он у тебя уже не плох.
ты сможешь улучшить интерфейс?
16 Авг 2016 в 18:26
0
Спасибо за хороший отзыв. Интерфейс улучшать пока не планировал, т.к. лично меня он устраивает (я сам пользуюсь этой прогой и мне удобно). Но если вдруг начну изучать более глубоко Tk, или больше придется работать с C++, то, может быть, поработаю над интерфейсом. Хотя сейчас такие проги обычно делают на сайтах, а у меня нету опыта написания кода для веб-сайтов.
17 Авг 2016 в 17:25
1
ну ничесе ты загоняешься.. молодец
Для того, чтобы оставить комментарий, Вам необходимо зарегистрироваться или войти под своим аккаунтом.

Академия

Новости

Железо

Форум

Мемы

OskaR-
116

Матчи

Стримы

Видео

Пожалуйста, отключите AdBlock.

Dota2.Ru существует и развивается только благодаря рекламе. Добавьте наш сайт в исключение вашего блокиратора рекламы. Узнать больше...

Закрыть

Обращение администрации сайта

Каждый день мы работаем над Dota2.Ru, чтобы он оставался лучшим сайтом по Dota 2 в России и СНГ. Мы сделали его очень разнообразным, благодаря чему каждый посетитель находит то, что интересно именно ему: читает новости, учится играть по гайдам, узнаёт информацию о турнирах и матчах, смотрит стримы, общается на форуме и много другое.

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

Мы стараемся максимально тщательно контролировать всю размещаемую рекламу. Администрация сайта каждый день просматривает всю рекламу на портале, следит за её качеством и за тем, чтобы она не раздражала посетителей (у нас нет никаких всплывающих окон, кричащей и другой раздражающей рекламы).

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

Искренне надеемся на ваше понимание и поддержку. Спасибо.

Есть предложение по улучшению сайта?