Дипломная работа: Методы приближённого решения матричных игр
а i – i-я строка матрицы выигрышей;
xN =(x1 N ,x2 N ,…,xm N ) ÎX – m-мерный вектор, приближение оптимальной стратеги первого игрока на N-шаге (N-номер шага);
cN =() –n-мерный вектор, определяющий средний накопленный выигрыш на N-шаге.
Зададим начальные условия. Пусть на 0-шаге с0 =, x 0 =(0,…, 1,…, 0), где 1 занимает i0 -ю позицию.
Определим итеративный процесс следующим образом: по известным векторам xN -1 , cN -1 находим векторы xN и cN , которые вычисляются по следующим формулам:
где параметр 0£eN £1, а векторы вводятся далее.
Как отмечалось, вектор с N определяет средний накопленный выигрыш игрока 1 на N шаге. Компоненты этого вектора – это числа. В худшем случае игрок 1 может получить минимальное из этих чисел. Примем его за нижнюю оценку цену игры, которую обозначим:
. (4)
Запомним множество индексов JN -1 =(), (k<n), на которых будет достигается этот минимум, т. е.
.
Далее рассмотрим подыгру ГN игрыГА с матрицей выигрышей АN ={}, i=1,…,m, jN -1 ÎJN -1 . Матрица выигрышей состоит из столбцов данной матрицы, номера которых определяются множеством индексов JN -1 . В этой подыгре ГN находим одну из оптимальных смешанных стратегий игрока 1: .
После нахождения , находим вектор по правилу:
.
И рассмотрим игру (2´n), в которой у игрока 1 две чистые стратегии, а у игрока 2 – n чистых стратегий. Эта игра задаётся матрицей , решая которую, находим вероятность использования игроком 1 своей стратегии. Это даёт нам коэффициент eN .
Далее вычисляем xN , с N и переходим к следующему шагу. Процесс продолжаем до тех пор, пока не выполнится равенство eN =0, потому что по теореме о минимаксе , а их равенство (что и нужно) достигается в этом случае, или пока не будет достигнута требуемая точность вычислений.
Сходимость алгоритма гарантируется теоремой.
Теорема. Пусть { xN }, { n N } – последовательности, определяемые равенствами (3), (4) . Тогда справедливы следующие утверждения:
1. т. е. последовательность { n N -1 } строго монотонно возрастает.
2.
3. , где x * Î X * – оптимальная стратегия игрока 1.
Доказательства этой теоремы достаточно рутинно. Его можно посмотреть в [15].
Рассмотрим применение этого алгоритма к решению конкретной задачи.
Пример. Решить игру с матрицей А=.
Итерация 0. 1. Пусть игрок 1 выбрал свою 1-ю стратегию, т. е. А0 =[0, 1, 2]. Тогда за начальные условия примем следующие: x 0 =(1, 0, 0) – приближение оптимальной стратегии игрока 1; c 0 = a 1 =(0, 1, 2) – возможный выигрыш игрока 1.
Найдём множество индексов , на которых игрок 1 может получить, в худшем случае, наименьший выигрыш: , значит множество индексов J0 ={1}. Для этого индекса выигрыш равен 0. Это есть значение нижней оценки цены игры, т. е. .
2. На этом шаге определим, пользуясь начальными значениями, компоненты векторов . Для этого рассмотрим подыгру . Для этой подыгры оптимальной стратегией игрока 1 будет его 2-ая стратегия, так как она принесёт ему наибольший выигрыш.
Обозначим её через : =(0, 1, 0). Зная , можем вычислить =0а1 +1а2 +0а3 =а2 =(4, 2, 1).
3. Найдём e1 . Для этого рассмотрим подыгру (2´3) с матрицей . Решая матрицу графическим способом, получаем, что e1 =1/2.
4. Проведённые вычисления позволяют найти значения векторов x 1 , c 1 :
x 1 =1/2 x 0 +1/2 =1/2(1, 0, 0)+1/2(0, 1, 0)=(1/2, 1/2, 0);
c 1 =1/2 c 0 +1/2 =1/2(0, 1, 2)+1/2(4, 2, 1)=(2, 3/2, 3/2).