Расчет равновесия по Нэшу - Программа построения равновесных стратегий для игры

В рамках данной ВКР была создана программа для расчета равновесных стратегий с помощью метода фиктивного разыгрывания. Благодаря использованию подсчитанной ранее таблицы для вычисления математического ожидания действий удалось достичь приемлемой производительности. Так расчет одной итерации на компьютере с процессором Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz занимает в среднем 1.3 секунды.

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

Для вычисления сходимости была использована следующая функция невязки

,

Где

- математическое ожидание эксплотирующей стратегии для действия AllIn первого игрока против рассчитанной после текущей итерации равновесной стратегии второго игрока для действия Call,

- математическое ожидание эксплотирующей стратегии для действия Call второго игрока против рассчитанной после текущей итерации равновесной стратегии первого игрока для действия AllIn.

Таким образом для ситуации когда у каждого игрока по 100 фишек, обязательные ставки: 5 фишек - малый блаинд, 10 фишек - большой блаинд, после 100 итераций. Это составляет менее 0.01% от призового фонда. Ниже приведен график иллюстрирующий процесс сходимости, по оси X количество пройденных итераций, по оси Y значение :

график сходимости

Рис.2 График сходимости

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

Для более удобного использования программы был разработан GUI с помощью фрейморка Qt. Графический интерфейс позволяет указать следующие параметры для расчетов: тип игры, размеры обязательных ставок, количество фишек у игроков, количество итераций для расчета.

окно для ввода данных

Рис.3 Окно для ввода данных

Программа может отображать получаемые данные как во время выполнения расчетов

интерфейс во время работы программы так и после их завершения

Рис.4 Интерфейс во время работы программы так и после их завершения

отображение результатов

Рис.5 Отображение результатов

После расчетов также имеет возможность посмотреть математические ожидание конкретного набора карт. Выводятся математическое ожидание действия AllIn и действия Fold, а также их разница. Кроме математического ожидания напротив надписи "Played" выводится вероятность с которой нужно играть текущую карту при смешанной равновесной стратегии. Карты можно выбрать с помощью ввода номера кластера:

выбор карты по id

Рис.6 Выбор карты по Id

А также с помощью ввода карт в текстовой нотации:

Рис.7 Выбор карты текстовой нотацией

Похожие статьи




Расчет равновесия по Нэшу - Программа построения равновесных стратегий для игры

Предыдущая | Следующая