Перейти к содержимому

Веса скиллов

rswift

225 просмотров

Ранее уже были исследования по поводу развесовки игровых скиллов игроков лучших сборных. Последняя информация по этому направлению на форуме упоминается более десяти лет назад. Движимый ленью и отсутствием лишнего времени на вдумчивый трансфер, я решил по максимуму автоматизировать процесс. Идея состояла в том, чтобы, на основании характеристик игроков, выставленных на трансфер, автоматически определялась максимальная цена, по которой допустимо было его приобрести. Основная сложность заключается в том, чтобы вычислить реальную ценность (игровую) игрока с учетом массы параметров, таких как амплуа, соответствующее распределение скиллов, величина опыта и текущий потенциал (да и день сезона до кучи). Было два варианта изучения. Собрать информацию о трансферах огромного массива игроков и на основании цены продажи определить ценность доли каждого скилла (что уже не тривиальная задача) или, во втором случае, субъективно определить ценность скиллов и вычислить оптимальную цену трансфера. Для первого варианта требовалась информация о тысячах трансферов, для второго - несколько сотен, но точность падала соответственно степени субъективности оценки. Был выбран второй путь и в связи с этим возникла масса вопросов, которую я намерен выставить на всеобщее обсуждение. Самостоятельно мне удалось получить определенные зависимости и некоторые из них, для затравки, я готов выложить на общий суд.

 



18 комментариев


Recommended Comments

Оптимального трансфера не существует. Всё зависит от конкретной ситуации, конкретных продавцов и покупателей. Одного и того же игрока ты можешь месяц продавать за 300КК и не продать, а завтра он за 450КК уйдет

Поделиться комментарием


Ссылка на комментарий
18 часов назад, Master Damon сказал:

Оптимального трансфера не существует. Всё зависит от конкретной ситуации, конкретных продавцов и покупателей. Одного и того же игрока ты можешь месяц продавать за 300КК и не продать, а завтра он за 450КК уйдет

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

Поделиться комментарием


Ссылка на комментарий

Ну ты уж постарайся. Заинтриговал, понимаешь, и в кусты парнишка, негоже. Ждём с нетерпением графиков и цифр!

Поделиться комментарием


Ссылка на комментарий
Цитата

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

Был такой известный менеджер Pacific. Он делал прогу, которая делала именно это в реальном времени. Но не на основе распределения скиллов, а на основе СУ, возраста и РиП. Распределение скиллов можно было легко просмотреть самому. Опытному менеджеру (а здесь только такие) достаточно беглого взгляда, чтобы понять, криво ли расположены скиллы или нет.

Поделиться комментарием


Ссылка на комментарий

Было бы забавно прикрутить к этому ИИ. Потому что главная тут проблема это автоматически собрать данные о трансферах, скажем за полный цикл между МЧМ (2 сезона) и не быть забаненным. А потом уже обучить модель будет несложно, и она будет весьма точно оценивать любого игрока.

Поделиться комментарием


Ссылка на комментарий
16 часов назад, 4wd сказал:

Было бы забавно прикрутить к этому ИИ. Потому что главная тут проблема это автоматически собрать данные о трансферах, скажем за полный цикл между МЧМ (2 сезона) и не быть забаненным. А потом уже обучить модель будет несложно, и она будет весьма точно оценивать любого игрока.

У Пасифика это был бот на php. Он его заливал на свой сервер и собирал данные с ха-сервера. Заходил под своим логином. Не забанили. Но, конечно, тут не ясно, не заметили или может это и не нарушение. 

Поделиться комментарием


Ссылка на комментарий
В 05.02.2024 в 15:40, Alexeitch сказал:

Ну ты уж постарайся. Заинтриговал, понимаешь, и в кусты парнишка, негоже. Ждём с нетерпением графиков и цифр!

Да я и не хочу ничего скрывать, наоборот, на помощь надеялся. Как здесь картинки вставлять напрямую?

Поделиться комментарием


Ссылка на комментарий
rswift

Опубликовано: (изменено)

Microsoft-Excel-page-0001.jpg

Вот , например, график для защитников потенциала 6. Ордината - цена продажи в сотнях миллионов, абсцисса - коэффициент качества развития игрока. Аппроксимация экспоненциальная. Выборка ограничена снизу возрастом 28 лет и СУ 400.

 

Изменено пользователем rswift
  • Плюсую 1

Поделиться комментарием


Ссылка на комментарий
rswift

Опубликовано: (изменено)

Как я определяю коэффициент качества развития игрока? 

1. Беру выборку характеристик игроков лучших команд (здесь же на форуме есть)

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

3. Определяю величину идеального скилла для игроков каждого амплуа в зависимости от возраста.

4. Определяю вес каждого скилла. (Скажем, для защитника вес скилла защита принимаю равным единице и, соответственно, распределяю веса по остальным скиллам, где для нападения, например, будет ноль, поскольку, в большинстве случаев, этот параметр на трансфере игнорируют.)

5. Соотношу текущее значение каждого скилла с идеальным в этом возрасте. Т.е. имеем идеальный скилл защита для 30-летнего защитника 213 (к примеру), а текущее значение пациента, скажем, 190. Получаем 190/213=0,89. И так со всеми скиллами.

6. Определяю ценность скилла в соответствии с его весом. Т.е. если вес равен 1, то ценность равна 0,89*1. Для скорости защитника у меня, например, вес определен в 0,05, поэтому даже если скорость будет идеальной, то вклад она внесет с коэффициентом 0,05
7. Отдельные танцы с бубном для определения веса опыта. Тут я тупо, до последующих уточнений, принял соотношение текущего опыта к идеальному, которое наугад четвертовал.

8. В итоге имеем табличку ценностей скиллов (в данном случае рандомный защитник) в соответствии с их весом и коэффициент опыта.

АМПЛУА КЗАЩ КНАП КБРО КПАС КСКО КСИЛ КСО КОПЫТ КСУ
ЗАЩ 1 0 0 0,019 0,0045 0,884 0,179 0,4884

2,1093

 

Последнее значение в таблице это сумма всех ценностей, при этом от КОПЫТ в этой сумме четверть.

Продолжение следует.

Изменено пользователем rswift

Поделиться комментарием


Ссылка на комментарий
В 05.02.2024 в 17:05, Geistero сказал:

Был такой известный менеджер Pacific. Он делал прогу, которая делала именно это в реальном времени. Но не на основе распределения скиллов, а на основе СУ, возраста и РиП. Распределение скиллов можно было легко просмотреть самому. Опытному менеджеру (а здесь только такие) достаточно беглого взгляда, чтобы понять, криво ли расположены скиллы или нет.

Я не сомневаюсь в опыте присутствующих здесь менеджеров (сам в игре с восьмого года). Поэтому и хочу освежить эту тему, но с несколько иным подходом.  

Поделиться комментарием


Ссылка на комментарий
20 часов назад, 4wd сказал:

Было бы забавно прикрутить к этому ИИ. Потому что главная тут проблема это автоматически собрать данные о трансферах, скажем за полный цикл между МЧМ (2 сезона) и не быть забаненным. А потом уже обучить модель будет несложно, и она будет весьма точно оценивать любого игрока.

Очень заманчивая идея. Вопрос в том как ему поставить задачу?

Поделиться комментарием


Ссылка на комментарий
1 час назад, rswift сказал:

Очень заманчивая идея. Вопрос в том как ему поставить задачу?

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

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

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

Я может попробую это написать, просто ради общего развития поиграться с ИИ, если найду где-нибудь процессорное время на халяву. Наметки есть, но надо решить проблему логина в ХА, потом 24/7 скорее всего не получится на халяву скрапить ХА, и важно не быть забаненным, потому что в логах Иска увидит, что игрок не в игру играет, а на рынке кликает игроков 24/7.

Поделиться комментарием


Ссылка на комментарий

В продолжение темы: "Как я определяю коэффициент качества развития игрока? "

Дополнение к пункту 5

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

9. Собираем информацию по, как можно большему, количеству трансферов. Все анализировать смысла нет. Выборка делается с возможно большим ограничением, поскольку, например, критерии выбора 17-леток и 28-33 леток кардинально отличаются. Распределяем полученное по амплуа, а в подмножестве амплуа по потенциалу . 

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

11. Цены есть, приведенные коэффициенты есть - переносим координаты на график и аппроксимируем.

12. Продолжаем собирать информацию и уточняем  коэффициенты аппроксимирующей функции.

13. В итоге - не тратим время на анализ игрока, не впадаем в азарт при торгах и не переплачиваем.

Поделиться комментарием


Ссылка на комментарий
В 09.02.2024 в 00:10, rswift сказал:

4. Определяю вес каждого скилла. (Скажем, для защитника вес скилла защита принимаю равным единице и, соответственно, распределяю веса по остальным скиллам, где для нападения, например, будет ноль, поскольку, в большинстве случаев, этот параметр на трансфере игнорируют.)

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

защ нап бро пас ско сил со
1,00 0,00 0,00 0,15 0,05 1,00 0,30

 

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

Поделиться комментарием


Ссылка на комментарий

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

29.12.2023   Закончился контракт с командой Dead Moroz компенсация 260 375 736.
22.10.2023   Продан из команды realvolta в команду Dead Moroz продавец получил 360 500 000

 

По всему видится проигрыш в размере компенсации за отказ защищать НСА. Но если посчитать, то предложенная цена за НСА превысила цену изначальной покупки. С коэффициентом 0,7  покупатель предлагал за этого НСА 371 964 285 через сезон его игры в моей команде. За НСА! Да, я потерял 100 кк, но только по причине лояльности в -3 и недостаточной удовлетворенности игрока. А положительный момент заключается в том, что стоимость игрока через сезон оказалась выше, чем цена покупки. Потому что я перед покупкой высчитал его максимальную цену как для игрока на одну ступень потенциала меньше. И это сработало. У меня на подходе к защите еще ряд игроков, приобретенных по моей методике, с контрактом 70 дней и, естественно, никакой удовлетворенностью и я, конечно, поделюсь, в дальнейшем, результатом  торгов. 

Есть еще более выгодный для меня пример, когда, кроме зарплаты я ничего не потерял.

27.1.2024   Закончился контракт с командой Dead Moroz компенсация 129 077 058.
05.11.2023   Продан из команды Broken hockey sticks в команду Dead Moroz продавец получил 130 000 000.

 

Здесь компенсация за НСА почти равна цене покупки на трансфере, но сезоном ранее. Приглашаю всех поучаствовать в моем исследовании, это интересно, уверяю, и заметно облегчит муки выбора.

Поделиться комментарием


Ссылка на комментарий
В 18.02.2024 в 19:54, rswift сказал:

Вот, например, как я вижу  ценность каждого скилла защитника с максимум оценки в единицу:

защ нап бро пас ско сил  со
1,00 0,00 0,00 0,15 0,05 1,00 0,30

 

Правильно я понимаю, что защитник со скиллами 180-10-20-50-20-180-40 будет иметь суммарный коэффициент 380,5.

А защитник 190-10-20-30-20-190-40 будет иметь 397,5

Т.е. я скиллы игрока умножаю на коэффициент?

Поделиться комментарием


Ссылка на комментарий
rswift

Опубликовано: (изменено)

19 часов назад, gonzza сказал:

Правильно я понимаю, что защитник со скиллами 180-10-20-50-20-180-40 будет иметь суммарный коэффициент 380,5.

А защитник 190-10-20-30-20-190-40 будет иметь 397,5

Т.е. я скиллы игрока умножаю на коэффициент?

Нет, это не корректно, поскольку не учитывает возраст. Есть промежуточный этап. Важно, в каком возрасте у игрока скилл 180 или 190.

Логика такая:

1. Имеется таблица скиллов, заполненная на основании экстраполяции усредненных данных игроков лучших взрослых сборных вверх и вниз от их известных значений и возраста. Для скилла ЗАЩ защитников, в диапазоне 27 лет и больше, у меня вышло так (обсуждаемо).

27    198
28    206
29    211
30    214
31    218
32    222
33    222
2. Исследуемый защитник имеет скилл ЗАЩ, к примеру, 180 в 27 лет. Соотношу этот показатель с таблицей и получаю 180/198=0,91. Если бы ему было 28 лет, то имеем снижение качества развития, поскольку тогда отношение будет 180/206=0,87, что ниже, чем если бы он был моложе.

3. Получаю такие же отношения для каждого скилла. И далее уже нивелирую значения второстепенных скиллов, умножая эти отношения на значения из приведенной вами моей таблицы (которая, по сути, определяет вес скилла среди других скиллов). Получается обычно такое:

игрок Возр. Вра Защ Нап Бро Пас Ско Сил СО СУ ОПТ АМПЛУА КЗАЩ КНАП КБРО КПАС КСКО КСИЛ КСО КОПЫТ КСУ
 Danilo Santos 32 0 182 5 5 18 16 168 30 424 365 ЗАЩ 0,81982 0 0 0,084375 0,05 0,72103 0,1731 0,650045 2,0108
 Daniel Pokorný 34 0 171 3 1 4 22 165 35 401 201 ЗАЩ 0,77027 0 0 0,01875 0,05 0,70815 0,2019 0,31829 1,8287
 Helmut Zuber 30 0 168 7 27 71 11 88 32 404 286 ЗАЩ 0,78505 0 0 0,15 0,05 0,39111 0,192 0,581892 1,7136
 Vladimír Mosej 30 0 187 4 3 94 33 72 36 429 211 ЗАЩ 0,87383 0 0 0,15 0,05 0,32 0,216 0,429298 1,7172
 Ilon Zak 33 0 217 3 7 7 4 230 49 517 433 ЗАЩ 0,97748 0 0 0,032813 0,018182 0,98712 0,2827 0,725901 2,4798

 

Вот последний столбец и есть искомый вами коэффициент- это сумма всех полученных отношений текущих скиллов к идеальным, умноженных на их вес, плюс отношение текущего опыта к идеальному для данного возраста, уменьшенное в четыре раза (обсуждаемо, возможно, кто-то предложит большее или меньшее влияние опыта). Важно!  Если второстепенный скилл превышает идеальный, то их отношение будучи больше единицы, принимается равным единице. Так отсекается кривость игрока.

На этом этапе уже видно ОТНОСИТЕЛЬНОЕ качество развития игроков. То есть, если взять игроков с идентичными параметрами, то более младший покажет лучший коэффициент развития. Отталкиваясь от этого и собирая информацию о трансферах, далее можно несложным образом определять их приемлемую цену (да, и дополнительно учитывая оставшийся потенциал). 

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

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

Microsoft-Excel.png

 

Изменено пользователем rswift

Поделиться комментарием


Ссылка на комментарий

Теперь стало понятнее, спасибо!

Помыслю на досуге над ценностью скиллов для разных амплуа и напишу свое мнение.

Поделиться комментарием


Ссылка на комментарий

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

Добро пожаловать, уважаемый Гость!

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

Тем не менее, приятного чтения!

 

×