Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Загребаев Методы матпрограммирования 2007

.pdf
Скачиваний:
124
Добавлен:
16.08.2013
Размер:
10.97 Mб
Скачать

~l+1

~l+1

 

 

 

 

 

(i =1, m; j =1, n) представляют собой оценку

Значения xi

, y j

величин xi* , y*j на шаге ( l +1 ). Эти значения рассчитываются, с

учетом соотношений (4.7) и (4.8), по формулам:

~ l+1 xi

~ l+1 y j

uil

=slxil

zlj

=t lylj

 

 

 

m

при sl 0,

sl = uil ;

 

 

 

i=1

при

sl = 0;

 

 

t l

 

n

при

0,

t l = zlj ;

 

 

 

j=1

при t l

= 0.

 

(4.11)

(4.12)

Оценки цены игры на ( l +1 )-шаге вычисляются по формуле:

~l+1

~ l+1

~ тl+1

,

v

= X

AY

которая в скалярной форме имеет вид

~l+1

m n

~l+1

~l+1

.

(4.13)

 

v

= ∑ ∑aij xi

y j

i=1 j=1

3. Итерационный процесс заканчивается, когда значение функции (4.6) становится достаточно малым, т.е. когда выполняется соотношение:

f l ≤ ε ,

(4.14)

где ε – заданная точность вычисления.

 

Структурная схема алгоритма фон Неймана

приведена на

рис. 4.1.

 

251

Начало

x

(l ) =

1

, y

(l ) =1

,v

(l ) =

max aij +min aij

m

 

 

i

 

j n

 

2

l

 

n

 

l

v

l

 

 

ui

 

= ∑

aij y j

 

 

 

 

 

j

=1

 

 

 

 

 

 

 

l

 

 

l

m

 

 

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z j = v i=1 aij xi

 

 

 

 

 

 

 

 

 

 

 

 

l

 

 

 

 

l

 

 

 

 

ui

= max(0, ui )

 

 

 

l

 

 

 

 

l

 

 

 

 

z j

= max(0, z j )

 

 

 

 

l

 

m

l

 

2

 

n

l

2

f

= ∑

 

+ ∑

 

(ui

)

 

( z j )

 

 

 

i=1

 

 

 

 

j =1

 

 

sl =

m

 

 

нет

 

f

 

pε

да

ul

 

 

 

l

 

 

 

i=1

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l

 

 

 

нет

~l +1

 

 

 

l

 

 

 

s

= 0

 

 

 

 

ui

 

 

 

 

 

 

 

xi

 

 

=

 

 

 

 

 

 

 

 

 

 

 

s

l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~l +1

 

l

 

 

 

l

 

 

n

 

 

l

 

 

 

 

t

=

 

z

 

xi

 

= xi

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

j =1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

l

 

 

 

 

 

 

 

tl

 

= 0

 

 

 

 

 

 

 

~l +1

 

 

 

 

z j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y j

 

=

 

tl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~l +1

=

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y j

 

 

y j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~l

+1

 

 

n

m

 

 

 

~l+1~l+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

a

 

 

 

 

 

 

 

 

 

 

 

v

 

 

 

 

 

 

x

 

y

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

=1i

=1 ij

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

~l

+1

 

 

 

n

 

 

 

~l+1

 

~l+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ui

 

 

=

 

j

=1 aij y j

 

 

v

 

 

 

 

 

 

 

 

 

 

 

~l+1

 

~l+1

 

 

 

m

 

 

 

~l+1

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

z

j

 

 

= v

 

 

 

i

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=1 ij

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~l +1

 

=

 

m

~l +1

)

2

 

 

 

n

~l +1

)

2

f

 

 

 

 

 

(ui

 

 

 

 

 

+ ∑

( z j

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

j

=1

 

 

 

 

 

 

 

 

θ

l + 1

=

 

 

 

 

 

f l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

l

+

 

~l

+ 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l +1

=

 

l

+ θ

l +1

 

 

l

 

 

~l +1

)

 

 

 

 

 

xi

 

 

xi

 

 

 

 

 

( xi

xi

 

 

 

 

 

 

 

 

l +1

 

=

 

l

+ θ

l +1

l

~l +1

)

 

 

 

y j

 

 

 

y j

 

 

 

 

( y j

y j

 

 

 

 

 

 

v

l +1

= v

l

 

+ θ

l +1

 

 

l

 

 

~l +1

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(v

 

v

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Печать оптимальных

нет

l N + 1

смешанных стратегий и

цены игры. Конец.

 

 

да

 

Рис. 4.1. Структурная схема алгоритма фон Неймана

252

4.1.4.Математическое программирование

втеории биматричных игр

4.1.4.1.Биматричные игры. Основные теоретические сведения

Матричная игра является антагонистической игрой [23], т.е. игрой двух лиц с нулевой суммой. Однако на практике часто встречаются такие ситуации, когда интересы сторон не являются прямо противоположными. В этом случае игра имеет произвольную сумму, отличную от нуля, и является неантагонистической.

Конечную игру двух игроков с произвольной суммой можно описать парой матриц – поэтому она называется биматричной.

Биматричная игра определяется следующим образом. Два игрока обозначены буквами A и B . Игрок A имеет в своем распоряжении m чистых стратегий, а B n чистых стратегий. Если A выбирает свою i -ю чистую стратегию, а B j -ю чистую страте-

гию, то выигрыш игрока A есть aij , а выигрыш игрока B есть bij .

Определим матрицы A1 и B1 как матрицы размером m × n , (i, j) элементы которых есть aij и bij . Игра полностью определена, ко-

гда заданы матрицы выигрышей A1 и B1 .

Смешанная стратегия игрока A есть столбец X из неотрицательных элементов xi , которые представляют собой относитель-

ную частоту, с которой A будет выбирать свою i -ю чистую стратегию. Таким образом,

x1 + x2 + ... + xm =1.

(4.15)

Аналогично смешанная стратегия игрока B есть столбец Y , неотрицательные элементы y j которого в сумме равны 1. Если A и

B всегда выбирают чистую стратегию случайным образом в соответствии с распределением вероятностей, заданным векторами X и Y , то ожидаемые выигрыши игроков A и B соответственно

m n

m n

VA = ∑∑xi aij y j = (X , A1Y ),

VB = ∑∑xibij y j = (X , B1Y ). (2.16)

i=1 j=1

i=1 j=1

253

Вэтих соотношениях выражение в скобках означает скалярное произведение соответствующих векторов.

Вотличие от матричных игр, где существует единственный критерий оптимальности поведения игроков, в неантагонистических играх вообще и в биматричных в частности, таких критериев не-

сколько. Различают ситуации равновесия по Нэшу, сильно равновесные ситуации и ситуации, оптимальные по Парето. Каждый из этих подходов к оценке оптимальности поведения игроков имеет свои достоинства и свои недостатки [13].

Далее пойдет речь только о ситуациях равновесия по Нэшу. Ситуация равновесия в игре есть пара смешанных стратегий

( X 0 ,Y 0 ) такая,

что для любых других

смешанных

стратегий

( X , Y ) выполняется соотношение

 

 

 

( X 0 , A Y

0 ) ( X , A Y 0 ) ,

( X 0 , B Y 0 ) ( X 0 , B Y ) .

(2.17)

1

1

1

1

 

Иными словами, ситуация равновесия – такая ситуация, отклонение от которой одного из игроков не может увеличить его выигрыш.

Следует отметить, что ситуаций равновесия в биматричной игре может быть несколько. Причем в различных ситуациях равновесия выигрыши неодинаковы, а множество ситуаций равновесия прямоугольно.

Теорема Нэша гарантирует существование ситуаций равновесия в биматричных играх [28], но не дает никаких средств для их нахождения.

Наиболее эффективным из всех известных алгоритмов для практических вычислений ситуации равновесия является алгоритм, предложенный Лемке и Хоусоном в 1963 г. [67], [44]. По своей сути этот алгоритм тесно связан с методами нелинейного программирования, изложенными в разделе 3 настоящего издания. Следует особо подчеркнуть то обстоятельство, что данный алгоритм может быть без особых затруднений реализован на ЭВМ.

Докажем, прежде всего две теоремы, на основании которых можно сформулировать постановку задачи.

254

Теорема 4.1. Ситуация ( X 0 ,Y 0 ) является ситуацией равновесия в биматричной игре с матрицами выигрышей A1 и B1 в том и только в том случае, когда

( X 0 , A Y 0 )L

m

A Y 0 ,

 

1

1

 

(4.18)

( X 0 , B Y 0 )L

 

BT

X 0

n

,

1

1

 

 

где Lm и Ln – векторы размерности m и n соответственно, со-

ставленные из единиц (знаки неравенств используются для покоординатного сравнения векторов).

Доказательство. Пусть ( X 0 ,Y 0 ) – ситуация равновесия, т.е.

( X 0 , A Y 0 ) ( X , A Y 0 ) при всех X 0 , ( X , L

m

) =1,

1

1

 

 

 

( X 0 , B Y 0 ) ( X 0

, B Y ) при всех Y 0 , (Y , L

n

) =1 . (4.19)

1

1

 

 

 

Возьмем в качестве X и Y векторы, у которых одна из компонент равна единице, а остальные – нулю. Получим m + n соотношений

( X 0 , A Y 0 )L

m

A Y 0 ,

 

 

1

1

 

(4.20)

( X 0 , B Y 0 )L

 

B т X 0

,

n

 

1

1

 

 

Наоборот, пусть выполняются указанные условия.

 

Вектор

 

 

 

 

X = (x1 , x2 ,..., xm ) , ( X , Lm ) =1

(4.21)

является произвольным вектором. Представим его в базисе единичных векторов f1 , f2 ,..., fm следующим образом:

X = x1 f1 + x2 f2 +... + xm fm .

 

(4.22)

Тогда

 

 

 

 

 

 

 

 

 

 

( X , A Y 0 ) = x ( f , A Y 0 ) +... + x

m

( f

m

, A Y 0 )

 

1

1

1 1

 

 

 

1

 

x ( X 0

, A Y 0 ) + ... + x

m

( X

0

, A Y 0 ) =

 

1

 

1

 

 

 

 

1

 

 

= (x + ... + x

m

) ( X 0 , A Y 0 ) = ( X 0 , A Y 0 ) ,

(4.23)

1

 

1

 

 

 

 

 

1

 

что и требовалось доказать.

255

Применение методов математического программирования возможно, если существует некоторое допустимое множество, соответствующее ограничениям на аргументы целевой функции, в качестве которых рассматриваются компоненты смешанных стратегий игроков. При решении биматричных игр такое множество значений аргументов строится с помощью простой операции: перехода к платежным матрицам A и B , элементы которых – положительные числа.

Рассмотрим матрицы

 

A = dE A1 , B = dE B1 ,

(4.24)

где d

– достаточно большая положительная константа, такая, что

A > 0

и B > 0 , E – матрица размерности (m × n) , составленная из

единиц. Вследствие процедуры (4.24) изменяются и условия (4.20). Теорема 4.2. Ситуация

 

 

 

 

 

 

 

 

 

X

*

 

 

 

 

 

 

 

 

 

 

 

X 0

=

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( X

* , Lm )

 

 

 

 

 

(4.25)

 

 

 

 

 

 

 

 

 

Y *

 

 

 

 

 

 

 

 

 

Y

0

=

 

 

 

 

 

 

 

 

 

 

 

(Y

*

, Ln )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

является ситуацией равновесия в игре с матрицами выигрышей A1

и B в том и только в том случае,

если пара ( X * ,Y * )

удовлетво-

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ряют соотношениям

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B т X * Ln ,

X * 0 ,

(Y * , B т X * Ln ) = 0 ,

(4.26)

 

AY * Lm ,

Y * 0 ,

( X * , AY * Lm ) = 0 .

(4.27)

Доказательство. Сначала покажем, что

 

 

 

 

 

 

VA = ( X 0 , AY 0 ) = d

 

 

 

1

 

.

 

 

(4.28)

 

(Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* , Ln )

 

 

 

Имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

( X * , ((dE A )Y

* L

m

)) = 0 ,

(4.29)

 

 

 

 

 

( X * , Lm ) (Y * , Ln )

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

256

т.е.

( X 0 , dEY 0 ) X 0

, A Y 0

 

1

( X 0 , L

m

) = 0 .

(4.30)

(Y * , Ln )

 

1

 

 

 

 

 

Учитывая, что EY 0 = Lm а ( X 0 , Lm ) =1 , получим

( X 0 , A Y 0 ) = d

1

 

.

(4.31)

 

 

1

(Y * ,

Ln )

 

 

 

Это соотношение можно использовать при вычислении цены игры для участника с платежной матрицей A1 .

Поскольку Y * 0 , т.е. (Y * , Ln ) 0 , неравенство

 

(dE A )Y * L

n

(4.32)

 

 

 

 

 

1

 

 

 

 

можно преобразовать к виду

 

 

 

 

 

 

 

 

 

(dE

A )Y 0

 

Lm

 

(4.33)

 

 

 

 

 

 

 

1

 

 

(Y * , Ln )

 

 

 

 

 

 

 

 

 

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

d

 

 

 

 

L

m

A Y 0 .

(4.34)

 

*

 

 

 

 

(Y

,

Ln )

 

 

1

 

 

 

 

 

 

 

 

 

 

 

Используя полученный в начале доказательства результат, придем к неравенству

( X 0 , A Y 0 )L

m

A Y 0 .

(4.35)

1

1

 

По аналогии доказывается справедливость соотношения

( X 0 , B Y 0 )L

n

B т X 0 .

(4.36)

1

1

 

Согласно теореме 4.1 выполнение этих условий является необходимым и достаточным, чтобы утверждать, что пара ( X 0 ,Y 0 ) –

ситуация равновесия. Теорема доказана.

257

Соотношения

 

 

 

( fi , X * ) ((ai ,Y * ) 1) = 0

для

i =1,..., m ,

(4.37)

(e j ,Y * ) ((b j , X * ) 1) = 0

для

j =1,..., n .

(4.38)

где вектор ai i -я строка матрицы

A , а вектор b j

j -й столбец

матрицы B , есть эквивалентная форма записи условий теоремы.

4.1.4.2. Нахождение ситуации равновесия в биматричных играх

Доказав теоремы 4.1 и 4.2, получили критерий, с помощью которого удобно определять, является ли пара ( X 0 ,Y 0 ) ситуацией

равновесия.

Действительно, если исходить только из определения ситуации равновесия, то для проверки пары ( X 0 ,Y 0 ) необходимо переби-

рать все векторы X и Y из множества смешанных стратегий. Сделать это невозможно. Вот почему потребовалось найти необходимое и достаточное условие, в записи которого фигурируют только векторы X 0 и Y 0 .

Постановка задачи нахождения ситуации равновесия. Пусть

A и B > 0 .

Задача состоит в том, чтобы найти пару ( X * ,Y * ) , для которой

выполняются следующие условия.

 

1.

X * 0 , Y * 0 .

(4.39)

2.

( fi , X * ) ((ai ,Y * ) 1) = 0 , (ai ,Y * ) 1 для i =1,..., m .

(4.40)

3.

(e j ,Y * )((b j , X * ) 1) = 0 , (b j , X * ) 1 для j =1,..., n .

(4.41)

Будем называть любую пару ( X * ,Y * ) ситуацией равновесия.

Допустимое множество для поиска смешанных стратегий игрока 1 определяется в соответствии с соотношениями (4.40) и (4.41) следующим образом:

Χ = {X | X 0, B т X Ln 0},

(4.42)

т.е. Χ состоит из векторов X , для которых

258

( fi , X ) 0

для

i =1,..., m ,

(4.43)

(b j , X ) 1

для

j =1,..., n .

(4.44)

Конец вектора X лежит на границе множества Χ , если хотя бы одно из этих соотношений является равенством.

Аналогично можно рассмотреть множество

Υ = {Y | Y 0, AY Lm 0}.

(4.45)

Граница множества Υ состоит из точек, удовлетворяющих хотя

бы одному из m + n уравнений

 

 

 

(ai ,Y ) =1

для

i =1,..., m ,

(4.46)

(e j ,Y ) = 0

для

j =1,..., n ,

(4.47)

а для внутренних точек выполняются неравенства

 

(ai ,Y ) >1

для

i =1,..., m ,

(4.48)

(e j ,Y ) > 0

для

j =1,..., n .

(4.49)

Легко убедиться, что Χ и Υ – многогранники, у которых соответственно имеются m и n бесконечных ребер.

* * *

Пример 4.1. Рассмотрим игру с матрицами выигрышей

 

1,75

1,5

 

 

 

1,5

1,8

 

A1

 

 

 

,

B1

 

 

 

=

1,8

 

=

1

.

 

1,66

 

 

 

1,67

 

Выберем d = 2 , получим матрицы

0,25

0,5

 

 

0,5

0,2

 

 

 

 

 

,

 

 

 

 

A =

0,34

0,2

 

B =

0,33

1

.

 

 

 

 

 

Множество Υ , показанное на рис. 4.2, определяется следующими соотношениями:

0,25y1 + 0,5y2 1 0;

0,34 y1 + 0,2 y2 1 0;

y1 0, y2 0,

259

а множество Χ , показанное на рис. 4.3, – соотношениями:

0,5x1 + 0,33x2 1 0;0,2x1 + y2 1 0;x1 0, x2 0.

Y2

6

4

Yвн

Yгр

2

0

 

 

 

 

 

 

2

4

6 Y1

Рис. 4.2. Множество Υ : Yвн – внутренняя точка; Yгр – точка на границе

Заметим, что здесь и в дальнейшем используется важное предположение, сделанное при постановке задачи:

A > 0 и B > 0 .

Именно это условие гарантирует существование выпуклых открытых многогранников Χ и Υ .

260