Занимательная математика в ZZZ: Оценка ценности* агентов в Обороне и Натиске на основе данных Prydwen

Тир-лист для Обороны Шиюй:

Этот тир-лист показывает оценочную ценность* персонажей из текущего состава. Тир-лист отсортирован слева направо.
*- средний ожидаемый предельный вклад во все их команды (подробнее ниже)
Этот тир-лист показывает оценочную ценность* персонажей из текущего состава. Тир-лист отсортирован слева направо. *- средний ожидаемый предельный вклад во все их команды (подробнее ниже)

Тир-лист для Смертельного Натиска:

Этот тир-лист демонстрирует оценочную ценность* персонажей из текущего состава. Тир-лист отсортирован слева направо.
Этот тир-лист демонстрирует оценочную ценность* персонажей из текущего состава. Тир-лист отсортирован слева направо.

Как вам, может быть, известно, помимо рейтингов агентов, Prydwen регулярно публикует данные о результатах команд и агентов в Обороне Шиюй (далее SD) и Смертельном Натиске (далее DA). Но в опубликованных данных они ограничиваются простыми средними значениями, хотя из исходных данных можно извлечь намного больше информации. Но респект им за то, что они выложили собранные данные на GitHub. Я решил провести чуть более глубокий анализ (ничего сверхсложного).

Первым делом пришлось отфильтровать данные, так как в наборах много некорректных записей (например, прохождение SD за 1 секунду или убийства босса в DA с участием только Бена). Я постарался убрать всё это, исключив неполные команды, крайне редкие комбинации (менее 10 появлений за один ресет SD или DA), прохождения SD с аномально низким временем или убийства в DA странными пачками. Большая часть фильтрации делалась с установкой пороговых значений ожидаемых показателей, часть вручную – но, на мой взгляд, для моих целей это было достаточно. Конечно, существуют более продвинутые методы выявления выбросов (особенно учитывая, что я всё равно рассчитываю ожидаемые показатели для команд), но для этого потребуется дополнительная настройка, так что, возможно, я займусь этим позже.

Все результаты, представленные здесь, рассчитаны только для f2p-пачек. Мои критерии немного отличаются от критериев Prydwen: я исключил только команды с лимитированными S выше M0, а команды со стандартными S до M3 включительно оставил, так как у многих игроков с первого дня они уже есть, даже если они f2p.

Основная цель – оценить ценность агентов в текущем эндгейм-контенте, рассчитав их индивидуальный вклад в работу команды. Существует метод в теории кооперативных игр, который позволяет это сделать, – вектор Шепли. Однако полноценный расчёт вектора Шепли здесь невозможен, поскольку потребовались бы данные о работе всех возможных комбинаций агентов, а многие комбинации никогда не встречаются на практике. Поэтому я использовал упрощённый подход, основанный на том же принципе оценки ожидаемого предельного вклада агента, усреднённого по всем командам оставшимся после фильтрации, где присутствует этот агент (а не по всем возможным командам). Предельный вклад агента в команде рассчитывался как отношение среднего результата (время для SD или очки для DA) для команд, содержащих одного или обоих его товарищей по команде, к среднему результату анализируемой команды. Эти расчёты проводились на всех доступных данных после фильтрации, при этом результаты иерархически нормализовывались для каждого энкаунтера (то есть для каждой стороны и каждого этажа (4–7) в SD, и для каждой комбинации босса и баффа в DA) и для каждого ресета. Это простой подход, и если у кого-то будут предложения по его улучшению – я буду рад. Я пробовал регрессионные методы, такие как APM и RAPM, но не смог добиться результатов, которые бы походили на интуитивно ожидаемые.

Оценки ценности агентов, полученные этим способом, представлены в двух таблицах для SD и DA и использовались для составления вышеупомянутых тир-листов. Важно понимать, что полученная метрика – это не мера абстрактной «силы» агента, а мера его «ценности» в контексте всех имеющихся агентов. Значения выше 1 означают, что в среднем агент снижает результат при добавлении в команду (что хорошо для SD и плохо для DA). Как можно заметить, в DA только четыре персонажа имеют значения ниже 1. Я пока не до конца понимаю, как интерпретировать этот результат, но подозреваю, что это может быть связано с нелинейным масштабированием результатов при улучшении "ценности" команды (каждая новая полоска ХП у боссов больше предыдущей, то есть очки за единицу урона тем меньще, чем больше очков уже получено), чего не учитывает мой метод. Возможно, мне придётся дополнительно это проработать. Ещё есть вопрос собирания врагов в кучу в Шиюй – её ценность нельзя оценить простым мультипликативным коэффициентом, поскольку она варьируется между сражениями. Тем не менее, относительные значения всё равно остаются информативными.

Ценность агентов в Обороне Шиюй:

Занимательная математика в ZZZ: Оценка ценности* агентов в Обороне и Натиске на основе данных Prydwen

Ценность агентов в Смертельном Натиске:

Занимательная математика в ZZZ: Оценка ценности* агентов в Обороне и Натиске на основе данных Prydwen

Рассчитанная «ценность» персонажей также может быть использована для более точной оценки их относительной эффективности в конкретном энкаунтере. Я использовал её для расчёта скорректированных средних времени и очков для агента, вычисляя для каждого случая скорректированный результат по формуле adjusted_time = observed_time × (avg_teammate_value / agent_value), а затем усредняя по всем случаям. Одно из толкований этой метрики – это гипотетический результат команды, в которой каждый агент имеет ту же ценность, что и анализируемый агент. Однако это толкование предполагает линейное масштабирование, что, как уже отмечалось, не гарантировано. Тем не менее, эта метрика всё равно дает лучшую оценку относительной производительности агентов в энкаунтере, чем простые средние.

Скорректированные средние очки и времена, вместе с простыми средними, приведены в таблицах ниже для датасетов, опубликованных Prydwen 18 марта для версии 1.6. (Средние значения для SD приведены только для этажа 7, а для DA – для всех боссов и баффов.)

Результаты в Обороне Шиюй 1.6:

Занимательная математика в ZZZ: Оценка ценности* агентов в Обороне и Натиске на основе данных Prydwen

Результаты в Смертельном Натиске 1.6:

Занимательная математика в ZZZ: Оценка ценности* агентов в Обороне и Натиске на основе данных Prydwen

Также ниже графики средних очков в DA и среднего времени для этажей 5–7 в SD для нескольких агентов по всем доступным датасетам. (Я не понимаю систему наименования датасетов, так как версия 1.3.3 уже включает Мияби.)

Скорректированное среднее время в Шиюй
Скорректированное среднее время в Шиюй
Скорректированные средние очки в Натиске
Скорректированные средние очки в Натиске

TLDR:
Проанализированы исходные данные Prydwen для Обороны и Натиска. Использовал данные только для f2p команд (без М1+ лимитированных агентов). Все результаты (время в обороне и очки в натиске) нормализуются иерархически (по сторонам/баффам, затем по этажам/боссам, затем по версии), чтобы устранить различия в сложности. «Ценность» агента оценивается с помощью упрощенного Шепли-подобного метода, который аппроксимирует его предельный вклад, сравнивая результаты команды с агентом и без него. Эти метрики используются для составления тир-листов и расчёта скорректированных средних результатов, которые лучше отражают истинный результат агента, независимо от его команды.

7
6
1
39 комментариев