Уровень 6: Ситуационный баланс




Ответы к вопросу прошлой недели

Если хотите свериться с ответами за прошлую неделю:

Анализ перетасовки карт

Для колоды из трёх карт существует шесть различных вариантов расположения карт, все равновероятные. Если данные нам карты А, Б и В, то выглядят расклады так: АБВ, АВБ, БАВ, БВА, ВАБ, ВБА. Следовательно, если алгоритм тасования действительно даёт случайный результат, мы ожидаем увидеть шесть результатов (или количество, кратное шести), каждый из которых имеет одинаковую вероятность.

Анализ алгоритма №1

Сначала вы выбираете одну из трёх карт на дно колоды (А, Б или В). Затем вы выбираете одну из двух оставшихся карт, которая идёт в середину (если вы уже выбрали А на дно, тогда вам надо выбирать между Б и В). Наконец, оставшаяся карта кладётся наверх (никакого выбора у вас уже нет). Это отдельные, (псевдо)случайные, независимые опыты, поэтому для того, чтобы их посчитать, мы их перемножаем: 3х2х1=6. Если вы действительно проделаете эти шаги, чтобы перечислить все шесть возможных комбинаций, вы увидите, что они соответствуют шести результатам, приведённым выше. Этот алгоритм правильный, и на самом деле является одним из двух «стандартных» способов тасования карточной колоды. (Другой алгоритм – сгенерировать псевдослучайное число для каждой из карт, а затем разложить карты, следуя этим порядковым номерам. Этот второй метод – самый простой для того, чтобы расположить список в произвольном порядке в Excel, используя RAND (), RANK () и VLOOKUP ().)

Анализ алгоритма №2

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

Так что же с этим внутренним циклом? Сначала мы выбираем одну из трёх карт на дно, затем одну из этих же трёх – в середину, а затем одну из трёх – наверх. Как и раньше, это отдельные, независимые опыты, поэтому мы умножаем их 3х3х3=27.

И мы сразу же понимаем, что где-то здесь кроется проблема, раз 27 не делится на 6 без остатка. Поэтому, даже не проверяя ничего дальше, мы знаем, что одни расклады будут более вероятны, чем другие. Так что мы с полным правом могли бы здесь остановиться и официально объявить алгоритм забагованным. Если вы достаточно настойчивы, вы можете отследить все 27 результатов и увидеть, какие раздачи более или менее вероятны и насколько. Достаточно азартный игрок, изучая алгоритм, мог бы действительно произвести эту симуляцию для большой колоды, чтобы получить небольшое соревновательное преимущество.

На этой неделе

Это особая неделя. Ближе к началу курса мы две недели обсуждали баланс транзитивных игр, а затем ещё две недели говорили о вероятности. На этой неделе мы свяжем две изученные темы воедино крепким узлом и красивым бантом.

Эта неделя посвящена ситуационному балансу. Что такое ситуационный баланс? Я имею в виду, что иногда мы имеем дело с транзитивными вещами, или что-то вроде того, но их значения меняются во времени и зависят от ситуации.

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

Или представьте себе эффект, который зависит от того, что делает ваш противник. Например, есть в Magic: The Gathering карта под названием «Карма», которая на каждом ходу наносит 1 очко урона вашему противнику за каждое его болото, находящееся в игре. Игрока, у которого в колоде 24 болота, такая карта может убить, прямо скажем, насмерть, быстро, и без посторонней помощи. Против игрока совсем без болот такая карта абсолютно бесполезна. (Ну, на самом деле она бесполезна если только у вас нет других карт в колоде, которые могут превратить земли врага в болота, в таком случае ценность Кармы зависит от вашего умения сочетать её с эффектами других карт, которые вы можете вытянуть, а можете и не вытянуть). В любом случае, способность карты наносить урон варьируется от хода к ходу и от игры к игре.

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

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: