3. Выбираем множество H s , в котором будет производиться поиск ситуации равновесия. Определяем исходную точку
(X 0 ,Y 0 ) :
|
|
|
|
Y 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
0, 0, ..., 0, |
1 l , 0, ..., 0 |
, |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s-япозиция |
|
|
где l = a * |
s |
|
= min(a1s ,a2s ,...,ams ) , т.е. минимум в s -й строке табли- |
||||||||||
i |
|
|
i |
|
|
|
|
|
|
|
|
|
|
цы A; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X 0 |
|
|
0, 0, ..., 0, |
1 k, |
|
, |
|||
|
|
|
|
= |
0, ..., 0 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
i*-япозиция |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где k = b |
* |
j |
* = min |
(b |
* |
,b * |
2 |
,...,b * |
), т.е. минимум в строке с номе- |
||||
i |
|
|
j |
i |
1 |
i |
i n |
|
|
|
|||
ром i* таблицы B. |
|
|
|
|
|
|
|
|
|
||||
Таким образом, |
(X 0 ,Y 0 ) выбрана так, |
чтобы она была крайней |
|||||||||||
точкой множества Ζ . Согласно теореме 2.6 (X 0 ,Y 0 ) H s , где H s состоит из точек множества Χ ×Υ , удовлетворяющих уравнениям
( fi , X )((ai ,Y ) −1) = 0 , i =1,..., m ,
(e j ,Y )((b j , X ) −1) = 0 , j =1,..., n , j ≠ s ,
и, возможно, уравнению (es ,Y * )((bs , X * ) −1) = 0 .
4. Если последнее уравнение выполнено для точки (X 0 ,Y 0 ) , то
это – ситуация равновесия. Переходим к шагу 13. В противном случае переходим к следующему шагу.
5. Изменяем базисы p0 и q0 , для этого найдем множества p(X 0 ) ={ fi , b j | ( fi , X 0 ) = 0, (b j , X 0 ) =1} ,
q(Y 0 ) ={e j , ai | (e j ,Y 0 ) = 0, (ai ,Y 0 ) =1}.
126
6. Выписываем таблицы AN и B N ( N – номер итерации) для новых базисов так же, как в симплекс-методе []. Чтобы получить
таблицу AN , надо исключить из базиса вектор es и ввести вектор ai* . Для этого из всех строк таблицы необходимо вычесть s-ю
строку, умноженную на множители, подобранные таким образом, чтобы во всех строках, кроме s-й, i*-й элемент обратился в нуль. Затем разделить s-ю строку на ai*s .
Таблица AN
Базис |
a1 |
a2 |
... |
am |
e1 |
e2 |
... |
en |
λ |
|
|
α11 |
α21 |
... |
αm1 |
q11 |
q12 |
... |
q1n |
λ1 |
|
q(Y N ) |
α12 |
α22 |
... |
αm2 |
q21 |
q22 |
... |
q2n |
λ2 |
|
... |
... ... ... |
... ... ... ... |
... |
|||||||
|
||||||||||
|
α1n |
α2n |
... |
αmn |
qn1 |
qn2 |
... |
qnn |
λn |
|
|
ξ1 −1 |
ξ2 −1 |
... |
ξm −1 |
y N |
y N |
... |
y N |
|
|
|
|
|
|
|
1 |
2 |
|
n |
|
|
В таблицу AN добавляется снизу строка и справа один столбец. Значения ξi = (ai ,Y 0 ) , причем ai берется из таблицы, полученной на предыдущем шаге вычислений; y0j – j -я компонента вектора
Y 0 ; заметим, что |
ξi |
≥1 , i =1,..., m , так как Y 0 Υ . Значение λ j |
|||||||||||||
для j -й строки получается следующим образом: |
|||||||||||||||
1) вычисляются |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
ξk −1 |
|
|
N |
|
|||
|
|
|
|
|
|
|
|
yr |
|
|
|||||
λ |
= |
|
min |
− |
|
|
|
,− |
|
|
|
≥ 0 , |
|||
|
α |
|
|
q |
|
||||||||||
|
|
αkj <0,q jr <0 |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
kj |
|
|
jr |
|
||
|
|
k =1,m,r=1,n |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||
** |
|
|
|
|
|
|
ξk −1 |
|
|
N |
|
|
|||
|
|
|
|
|
|
|
yr |
|
|
|
|||||
λ = |
|
min |
− |
|
|
|
,− |
|
|
|
≤ 0 |
; |
|||
|
α |
|
|
q |
|
||||||||||
|
αkj >0,q jr >0 |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
kj |
|
|
jr |
|
|
||
|
k =1,m,r=1,n |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||
2) так как (X 0 ,Y 0 ) – крайняя точка, можно показать, что либо λ* , либо λ** равно нулю. В столбец λ в качестве λ j добавляет-
127
ся то из чисел λ* и λ** , которое отлично от нуля. Если они оба равны нулю, добавляется нуль.
Аналогично формируется таблица B N . Из базиса исключается fi* и на его место вводится b j* . В нижней строке таблицы поме-
щаются числа η j = (b j , X N ) |
|
без единицы и компоненты xiN . Чис- |
||||||||||||||||||||||
ла μi рассчитываются аналогично λ j . |
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица B N |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Базис |
|
b1 |
b2 ... |
|
bn |
|
f1 |
f2 |
... |
fm |
|
μ |
|||||||||||
|
|
|
|
|
|
|
β11 |
β12 ... |
|
β1n |
|
p11 |
p12 |
... |
p1m |
|
μ1 |
|
||||||
|
p(X N ) |
|
β21 |
β22 ... |
|
β2n |
|
p21 |
p22 |
... |
p2m |
|
μ2 |
|
||||||||||
|
|
... ... ... ... |
|
... ... ... ... |
|
... |
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
βm1 |
βm2 ... |
|
βmn |
|
pm1 |
pm2 |
... |
pmm |
|
μm |
|
||||||
|
|
|
|
|
|
|
η1 −1 |
η2 −1 ... |
|
ηn −1 |
|
x N |
x N |
... |
x N |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
m |
|
|
|
7. Утверждаем, что Y = Y 0 + λ j q j , где |
q j |
– j -я строка входя- |
||||||||||||||||||||||
щей в таблицу матрицы |
|
|
|
qij |
|
|
|
, является крайней точкой множества |
||||||||||||||||
|
|
|
|
|||||||||||||||||||||
Υ . Покажем, прежде всего, что Y Υ , т.е. что |
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
(ak ,Y 0 + λ j q j ) ≥1 . |
|
|
|
|
|
|
||||||||||
Матрица |
|
|
|
qij |
|
является обратной матрице, столбцами которой слу- |
||||||||||||||||||
|
|
|
||||||||||||||||||||||
жат векторы базиса, поэтому справедливы соотношения |
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
(ak , q j ) = αkj , |
k =1,2,..., m , |
j =1,2,..., n . |
|
|
|
|||||||||||||
Таким образом,
(ak ,Y 0 ) + λk (ak , q j ) = ξk + λ j αkj ,
причем правую часть равенства преобразуем следующим образом:
|
|
|
|
|
|
|
|
|
ξ |
k |
−1 |
|
|
|
(ξ |
k |
−1) + λ |
j |
α |
kj |
= −α |
|
− |
|
|
|
− λ |
. |
|
|
α |
|
|
|||||||||||
|
|
|
|
kj |
|
|
|
|
|
j |
||||
|
|
|
|
|
|
|
|
|
|
|
kj |
|
|
|
128
Если λ j > 0 , то − |
ξk |
−1 |
|
* |
|||
|
|
|
− λ j ≥ 0 по определению для |
λ , и пото- |
|||
αkj |
|||||||
|
|
|
|
||||
му при αkj |
< 0 имеем |
|
|
|
|
||
|
|
|
(ξk −1)+ λ j αkj ≥ 0 , |
|
|||
т.е. |
|
|
|
|
|
|
|
|
|
|
(ak ,Y 0 ) + λk (ak , q j ) ≥1. |
|
|||
Если же λ j |
> 0 и αkj |
> 0 , то λ j αkj > 0 , поэтому вновь |
|
||||
|
|
|
(ak ,Y 0 ) + λk (ak , q j ) ≥1, |
|
|||
т.е. доказали, что Y Υ . |
|
|
|||||
При λ j |
< 0 – аргументация аналогична. Таким образом, Y Υ . |
||||||
Точка Y определена так, что она является крайней точкой множества Υ . Ввиду того, что Y – конец ребра, другим концом которого
является Y 0 , числа λ* и λ** не могут одновременно отличаться от нуля, так как в противном случае
(Y 0 + λ*q j ) Υ , (Y 0 + λ**q j ) Υ , λ* > 0 , λ** < 0 ,
вопреки тому, что Y 0 – крайняя точка.
Таким образом, на данном шаге алгоритма рассчитываем край-
нее точки |
|
X i = X 0 + μi pi , |
i =1,2,..., m , |
Y j = Y 0 + λ j q j , |
j =1,2,..., n . |
Точки (X 0 ,Y j ) и (X i ,Y 0 ) являются смежными с точкой
(X 0 ,Y 0 ) .
8.Находим q(Y j ) и p(X i ) в соответствии с определением базиса (п. 5 настоящего алгоритма).
9.Для каждой пары (X 0 ,Y j ) и (X i ,Y 0 ) формируем множество
M :
129
|
, f |
|
er |
M , еслиer |
q(Y |
j |
),br |
p(X |
|||
|
|||||||||||
M (X i ,Y j ) = e |
|
|
|||||||||
r |
|
k |
f |
|
M , еслиf |
|
p(X i ), a |
|
q(Y |
||
|
|
|
|
k |
|
k |
|
|
|
k |
|
|
|
|
|
|
|
|
|
||||
10. Если для некоторой пары (X i ,Y j )
M (X i ,Y j ) ={e1, e2 ,..., en , f1 ,..., fm } ,
то процесс вычислений заканчивается. В этом случае ситуация равновесия, т.е.
(X * ,Y * ) = (X i ,Y j ) .
i), j ).
(X i ,Y j ) –
Переходим к шагу 13.
Если такой пары не найдется, то переходим к следующему шагу. 11. Выбираем точку Z = (X ,Y ) , для которой в M (X ,Y ) недос-
тает вектора es . Тогда (X ,Y ) H s . По теореме 2.7 найдется пара таких точек Z1, Z2 , являющихся концами ребер, которые пересе-
каются в (X 0 ,Y 0 ) . Если к точке (X 0 ,Y 0 ) примыкает неограниченное ребро, такая точка будет одна.
12. Выбираем ту из найденных точек Z1, Z2 , которая не была
включена в s -путь на предыдущих итерациях, изменяем базис p(X ) или q(Y ) и возвращаемся на шаг 6. (При этом на шаге 6 ме-
няется лишь одна из таблиц A или B .)
Согласно теореме 2.8 через конечное число шагов процесс закончится или в ситуации равновесия, или в исходной точке
(X 0 ,Y 0 ) , если произойдет зацикливание. В последнем случае выбираем новое s и начинаем поиск сначала.
13. Нормируем пару (X * ,Y * ) : |
|
|
|
|
||||
X 0 = |
X * |
|
, |
Y 0 = |
|
Y * |
. |
|
(X * , Lm ) |
|
|
||||||
|
|
|
|
(Y * , Ln ) |
||||
Вычисляем выигрыши игроков: |
|
|
|
|
||||
для игрока 1 |
|
|
1 |
|
|
|
||
|
V1 = d − |
|
|
|
, |
|
||
|
|
|
|
|
|
|||
|
|
|
|
(Y * , Ln ) |
||||
130