Метод рассчёта

Оценка количества взяток и уровни контрактов

Игроки в бридже принимают решения о типе контракта (частица, гейм, шлем) на основании двух факторов: объединённая сила рук и уровни контрактов. Последний фактор в литературе часто описывается как «сколько суммарных пунктов нужно чтобы ставить гейм/шлем». Описываемый метод рассчёта использует тот же подход. На первом этапе оптимизируются коэффициенты факторов расклада для более точного предсказания количества взяток. На втором этапе оптимизируются уровни контрактов для максимизации прибыли. Подобный подход с разделением на два этапа позволяет поддерживать большую гибкость алгоритма так как количество взяток зависит только от распределения карт, в то время как оптимальные уровни контрактов зависят также от зональности и типа турниров (импы, макс).

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

Решение оптимизационной задачи

Для оптимизации метода оценки количества взяток использовался стандартный статистический подход. Параметры расклада умножались на неизвестные коэффициенты и сумма всех произведений сравнивалась с количеством взяток в реальной сдаче. Составлялась матрица переопределённой системы линейных уравнений и коэффициенты при параметрах оптимизировались с помощью алгоритма линейной регрессии. Очень скучно.

Выбор значимых параметров

Выбор параметров участвующих в анализе непростая задача. Ясно что существует большое количество вариантов параметров и их комбинаций. Трудно заранее оценить насколько будет полезно включение тех или иных параметров в систему оценки. Этот итеративный процесс проходил по следующему циклу. Сперва в модель включались наиболее простые параметры: старшие карты и длины мастей. Затем добавлялись комбинированные параметры: комбинации старших карт, комбинации старших карт и длин мастей, и т. д. Каждое изменение оценивалось с точки зрения влияния на точность. Если параметр был достаточно сложный, а точность при его добавлении сильно не росла, такой параметр отбрасывался. В итоге сформировался набор параметров всё ещё достаточно простой для запоминания и одновременно предоставляющий хорошую точность оценки.

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

Расчёт уровней контрактов

Оптимальные уровни контрактов рассчитывались простым перебором благо их не так много. Игры оценивались для каждого тестируемого уровня контракта и в каждой игре принималось решение какой контракт играть. Если это решение было отлично от принятого в конкретной исторической сдаче, то вычислялось на сколько импов или процентов оно оказалось лучше или хуже исторического. Изменения результата усреднялись по всем играм и уровень контракта принёсший самое большое среденее изменение объявлялся оптимальным. Таким образом оценивались уровни всех критических контрактов для всех зональностей и для типов турниров.