|
1) Проверить на наличии седловой точки.
2) Если нет седловой точки, то матрицу игры упрощают.
Из матрицы игры исключают доминируемые и дублируемые стратегии.
Задача: найти стратегии SA =(p1, p2…, pN) и SB =(q1, q2…, qN), дающие максимальный средний выигрыш.
Игра mxn, число активных стратегий будет равняться min(m,n)
Определение.
Стратегия Ai доминирует () Ak, то есть Ai Ak, значит:
j aij akj
Определение.
Стратегия Ai дублирует (=) Ak, то есть Ai = Ak, значит:
j aij = akj
Стратегия Bj Br, i aij arj
Стратегия Bj = Br, i aij = arj
|
Пример: игра (5x5)
A1 A4
A2 = A5
|
B1 B2
B1 B5
|
A21 = A5
Получим SA = (p1, p2, 0, 0, 0)
SB = (q1, 0, q2, 0, 0)
Метод Лагранжа
Этот метод используется в играх с квадратной матрицей игры G(m,m).
B1 | B2 | |
A1 | а11 | а12 |
A2 | а21 | а22 |
SA=(p1,p2) - вектор вероятностей выбора стратегий игроком А.
SB=(q1,q2) - вектор вероятностей выбора стратегий игроком В.
Пусть игрок А использует смешанные стратегии, а В чистые, тогда выигрыш составит:
V1=a11*p1+a21*p2
V2=a12*p1+a22*p2
если же В также использует смешанные стратегии, то выигрыш составит:
V=(a11*p1+a21*p2)*q1+(a12*p1+a22*p2)*q2
Строится функция Лагранжа:
L=(a11*p1+a21*p2)*q1+(a12*p1+a22*p2)*q2+l1*(p1+p2-1)+ l2*(q1+q2-1)
q1, q2
p1, p2
p2 =1- p1
q2 =1- q1
Получим
;
;
;
Пример.
G(2,2)
B1 | B2 | |
A1 | 4 | 2 |
A2 | 3 | 6 |
Метод линейного программирования
Этот метод используется в играх с произвольной матрицей игры G(m,n).
B1 | B2 | … | Bj | … | Bn | |
A1 | а11 | а12 | … | а1j | … | а1n |
A2 | а21 | а22 | … | а2j | … | а2n |
… | … | … | … | … | … | … |
Ai | аi1 | аi2 | … | аij | … | аin |
… | … | … | … | … | … | … |
Am | аm1 | аm2 | … | аmj | … | аmn |
SA=(p1,p2,…, pi,…, pn) - вектор вероятностей выбора стратегий игроком А.
SB=(q1,q2,…, qj,…, qn) - вектор вероятностей выбора стратегий игроком B.
Требование, накладываемое на матрицу - "i, j aij>0
Для того, чтобы произвольная матрица удовлетворяла этому требованию ищется M=мах(|аij||aij<0) и прибавляется ко всем элементам, получаем aij+M>0.
Пусть А выбирает смешанную(оптимальную) стратегию, а В чистую:
Введем величину ³0, i=1,…,m
Тогда:
(*) xi³0 i=1,…,m
Т.к.
Получаем задачу линейного программирования:
при системе ограничений (*).
Решив ее, найдем (x1, x2,…, xm) и
Зная V, найдем pi=xi*V.
Итерационный метод Брауна-Робинсона