Найти в Дзене

Больше баланса богу баланса. Часть 2.

Продолжение. Начало (и дисклеймер - с ним всё так же) тут: Вернёмся к тому, на чём мы закончили - к откорректированной статистике:
W(К) = 0.53, W(Н) = 0.45, W(Б) = 0.48, P(К) = 58%, P(Н) = 27%, P(Б) = 15%, w(К) = 0.57, w(Н) = 0.43, w(Б) = 0.48 (эти значения - уже производные от первых шести). Для этих значений система уравнений относительно условных винрейтов имеет решения. К несчастью - бесконечно много. Как уже было замечено, примитивные выводы при этих значениях уже не получаются. Поэтому придётся получать возможные границы для параметров из математики. Впрочем, ряд принципов никуда не денется - вероятности по-прежнему не меньше 0 и не больше 1, например. Ещё что-то можно извлечь из линейности нашей системы - например, что ранг матрицы равен 2, базис решений состоит из одной переменной, а остальные неизвестные выражаются через эту базисную линейно. Стало быть, для каждой неизвестной есть только один отрезок допустимых значений, а результирующий допустимый интервал получается как их
Оглавление

Продолжение. Начало (и дисклеймер - с ним всё так же) тут:

Что таки можно получить из данных.

Вернёмся к тому, на чём мы закончили - к откорректированной статистике:
W(К) = 0.53, W(Н) = 0.45, W(Б) = 0.48, P(К) = 58%, P(Н) = 27%, P(Б) = 15%, w(К) = 0.57, w(Н) = 0.43, w(Б) = 0.48 (эти значения - уже производные от первых шести). Для этих значений система уравнений относительно условных винрейтов
имеет решения. К несчастью - бесконечно много.

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

Впрочем, к результатам. Если за базисную переменную возьмём W(КН), то допустимые варианты винрейтов будет давать диапазон примерно от 0.46 до
0.72. Неожиданно, но таки действительно мы не можем сказать, в какую сторону направлено колесо побед. А ведь мы на этом направлении основывали интуитивное предположении о целевой правке баланса...

Время охренительных допущений.

А теперь следите за руками - отрезок от 0.5 до 0.6 (точнее, полуинтервал, но не суть) можно исключить. Почему? Из идиотски звучащего допущения, что дизайнер не идиот. Но мы же, когда говорим о схеме К-Н-Б имеем в виду ситуацию, когда каждая стратегия проигрывает одной из альтернатив, но выигрывает у другой? Иначе - ну, метагейм, очевидно, вырождается, игроки-то точно не идиоты. Если кто-то выигрывает (проигрывает) у всех оппонентов - то почему, не (не не) играть за него?

Отсюда, если мы имеем набор переменных W(КН), W(НБ) и W(БК), то они или все имеют значения выше 0.5, или же эти значения у них ниже. Этот критерий определяет направление цикличности выигрышей.

Что всегда при этом стоит помнить - что обязательно работает для трёх стратегий, то имеет неприятное свойство ломаться при 5+ оных. Там собственно циклы полного размера, вообще говоря, не гарантированы (хотя в классическом варианте имеются). Более того, никто не заставляет даже иметь два выигрышных матчапа - можно стабилизироваться и при одном.

Конкретно в наших вводных - при параметре от 0.5 до 0.59 мы и имеем однозначное домиирование К, который выигрывает и у Н, и у Б, и полный проигрыш Н (который проигрывает Б). От 0.59 до 0.6 Н хотя бы начинает выигрывать у Б (который получает сомнительные лавры полного неудачника).

Почему сие допущение имеет смысл - потому что дизайн обычно имеет тенденцию к тому, чтобы всё-таки воспроизводить цикл. То бишь, гарантии никакой, но авторы, скорее всего, пытались.

Тем не менее...

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

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

Арсенал доступных средств.

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

Итак, для каждой из стратегий мы, допустим, можем сделать следующее:
- усилить/ослабить её целиком, дав/отняв в каждом матчапе по 3 процента к винрейту.
- усилить/ослабить стратегию с приоритетом в конкретном матчапе, изменив винрейт в нём на 5%, а в другом - на 1% в ту же сторону.
- перебалансировать матчапы между собой, забрав из одного 3% винрейта и перенеся их в другой.

Давайте чуть отойдём от математики и посмотрим какие-нибудь примеры. Возьмём стандартную тройку К-Н-Б: кавалерист-лучник-пехотинец (да, я в курсе, что правильная модель такой аналогии не даст, но классически баланс в каких-нибудь ртс на нижнем слое обычно строится таким образом). Почему конница побеждает лучников - потому что быстро сокращает дистанцию, а в ближнем бою она в достаточной степени сильнее. Почему лучники побеждают пехоту - потому что те переходят в ближний бой недостаточно быстро, из-за чего понесённые потери не позволяют им реализовать качественный перевес. Почему пехота побеждает конницу - потому что просто сильнее в ближнем бою.

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

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

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

Пойдёт направо - песнь заводит...

Допустим, у нас направление побед - К < Н < Б < К. Тогда нас интересует интервал с W(КН) < 0.5, то есть от 0.46 до 0.495. Достаточно небольшой промежуток (как интуитивно - так и фактически, в чём мы убедимся чуть ниже), в котором можно посмотреть поведение на обоих концах, чтоб иметь представление обо всём интервале.

Точка 1: W(КН) = 0.46, W(НБ) = 0.013, W(БК) = 0.235. При этих значениях система стабилизируется при P(К) = 61.5%, P(Н) = 33.5%, P(Б) = 5%. Это плохо даже на фоне того, что имеется. Интуиция говорит, что надо усиливать Б, но... Б, по факту, очень сложно усилить ещё дальше - против Н и так почти гарантированный выигрыш. А если за счёт этого параметра улучшить W(НК), то, совершенно внезапно окажется, что это приведёт только к увеличению доли К в стабильном состоянии. Также интуиция говорит, что усиливать К нежелательно - и тут она права, тем более, что W(КН) находится в опасной близости от порогового значения (впрочем, усиление этого матчапа выглядит и так контринтуитивно). Что-то полезное делают любые ослабления КН - неважно, ослабления К, усиления Н или целенаправленные ослабления именно КН. Исключая усиления НК за счёт НБ - просто потому что в НБ просто нет ресурсов. Конкретно можно особенно рекомендовать целевое усиление НК - +5% там дадут в стабильном метагейме аж 11% в P(Б) (удвоение доли), более того - за счёт, прежде всего, жирного P(К) (где выйдет почти -4%). Наблюдаемые винрейты при этом чуть подравняются - что тоже полезно. И, наконец, усиление НК - это акцентирование стратении Н, поскольку НК - выигрышный матчап (другой вопрос - как дойти до того, что акцентировать надо именно Н).

Точка 2: W(КН) = 0.495, W(НБ) = 0.148, W(БК) = 0.3. При этих значениях система стабилизируется при P(К) = 63.2%, P(Н) = 35.9%, P(Б) = 0.9%. Это плохо даже на фоне предыдущего варианта. Интуиция говорит... всё то же самое. Что-то полезное в принципе делают целенаправленные ослабления КН - неважно, ослабления КН, или усиления НК. Они в наших допущениях дадут +8% к P(Б) (то есть примерно сведут стабильное состояние к тем же значениям, что и лучшие варианты правок для точки 1). Прочие выводы аналогичны.

Стало быть, при этом допущении нам понятны а) масштабы проблемы (критические), б) направления её решения (ослабление матчапа КН), в) что обычные меры баланс не спасут (даже лучшие из стабильных состояний оказываются ещё хуже, чем текущее разбалансированное состояние метагейма). Ну и, последнее - что оптимальное решение, в принципе, контринтуитивно - поскольку не касается самой условно проблемной стратегии (Б).

Налево - сказку говорит...

Допустим теперь, у нас направление побед - К > Н > Б > К. Тогда нас интересует интервал с W(КН) > 0.5, то есть от 0.6 до 0.72. Тут уже двумя концами обойтись не выйдет (собственно, граничное условие на это намекает - по критичному параметру разброс будет под 50%) - можно сразу предположтить, что при таком разбросе параметров интересующие нас величины будут колебаться заметно.

Точка 3: W(КН) = 0.605, W(НБ) = 0.574, W(БК) = 0.502. При этих значениях система стабилизируется при P(К) = 40.9%, P(Н) = 1.1%, P(Б) = 58%. Неожиданно. Впрочем, математика понятна (и неумолима) - для стабилизации системы в целом, условно слабая стратегия (Б в нашем случае) должна стать достаточно популярной - иначе условно сильная (которая условно слабой проигрывает) будет иметь высокий винрейт. В чём проблема - нет запаса прочности для динамического перехода в это состояние, P(Н) слишком мал. Интуиция вопит что-то сделать с Н, опыт пункта выше - с БК, в сторону усиления. Ослаблять его при этом никак нельзя. Математика на стороне опыта. Причём, даже наши минимальные правки дают вполне приемлемый результат - 29/23.5/47.5 (усиление БК) или 33.5/23.5/43 (ослабление КБ). Также стоит отметить, что при этих правках W(Б) становится выше 50%, что полезно для выправления текущего состояния (занятно, но именно это говорила нам интуиция по поводу некорректной статистики).

Точка 4: W(КН) = 0.715, W(НБ) = 0.999 (!!, больше 40% разброса с другим концом интервала, о чём мы говорили), W(БК) = 0.45. При этих значениях система стабилизируется при P(К) = 54.4%, P(Н) = 22.2%, P(Б) = 23.4%. В целом - не всё так плохо, хотя P(К) всё же стоит понизить. Для этого усиливаем Б. Причём, усиление БК лучше ослабления КБ (ибо оно будет стоить ухудшения для итогового P(Б), а P(К) ослабит не так сильно). Что любопытно, усиление БН тоже даст нужный результат.

Точка 5: Ну, скажем, W(КН) = 0.66, W(НБ) = 0.786, W(БК) = 0.603. При этих значениях система стабилизируется при P(К) = 52.1%, P(Н) = 18.8%, P(Б) = 29.1%. Опять несколько избыточен P(К) при относительно приемлемых остальных двух значениях. Направление корректировки аналогично точке 4, но при этих значениях можно уже и ослаблять КБ.

Итого на всём интервале нам выгодно усиление БК. Причём, можно сказать, что это важно именно в контексте усиления Б, а не ослабления К (что, опять-таки, играет на акцентрование стратегий). И этот вывод, хоть и согласуется с выводами для противоположного направления, но несколько противоречит интуиции.

Не самые приятные выводы.

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

Что можно сказать более-менее точно - для ослабления доли метагейма доминирующей стратегии стоит смотреть не на её ослабление, а на усиление её естестенного противника (что не совсем тривиально, если мы этого противника не знаем). Любое, даже косвенное.

Из хорошего - математика прямо советует нам акцентровать стратегии. А не усреднять их. Из плохого - это оказывается совершенно контринтуитивно. И обычный ребаланс пойдёт именно по интуитивному пути.

Впрочем, это всё про системы из трёх стратегий - в реальности всё куда сложнее...