Министерство образования Российской Федерации Ростовский ордена Трудового Красного Знамени государственный университет
...
65 downloads
125 Views
917KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Министерство образования Российской Федерации Ростовский ордена Трудового Красного Знамени государственный университет
С.В.Гусаков, Л.Н.Землянухина, А.Б.Зинченко, Л.И.Сантылова
МЕТОДИЧЕСКИЕ УКАЗАНИЯ по курсу "Методы оптимизации" для студентов механико-математического факультета дневного и вечернего отделения
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И СМЕЖНЫЕ ВОПРОСЫ Часть 7
Ростов-на-Дону 2001
2
Методические заседанием кафедры
указания
рекомендованы к печати
исследования
операций механико-
математического факультета РГУ протокол № 1 от 1 февраля 2001 г.
3
ОГЛАВЛЕНИЕ 10. ЭЛЕМЕНТЫ ТЕОРИИ КООПЕРАТИВНЫХ ИГР (продолжение) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 10.5 Параметрическое представление С-ядра. . . . . . . . . . . . . . . . . 4 10.6. Значения игр (цена Шепли, N-ядро) . . . . . . . . . . . . . . . . . . . . 8 10.7. Методы вычисления N –ядра . . . . . . . . . . . . . . . . . . . . . . . . .15 10.8. Выпуклые игры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 10.9. Упражнения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 Индивидуальные задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Приложение (метод нахождения всех вершин многогранника). . 26
4
10. ЭЛЕМЕНТЫ ТЕОРИИ КООПЕРАТИВНЫХ ИГР (продолжение) В части 5 методических указаний была описана основная концепция решения кооперативной игры – ее С-ядро. В данной части изложен способ нахождения всех вершин С-ядра, рассмотрены другие понятия решения, описан специальный класс игр, часто возникающих при моделировании экономических процессов. 10.5. Параметрическое представление С-ядра Для исчерпывающего описания непустого С-ядра нужно перейти от аналитического его задания
∑ xi ≥ ν( S ) , S⊂N ;
∑ xi = ν( N )
i ∈S
(1)
i ∈N
к параметрической форме c
C( ν ) = ∑ α i x i , i =1
c
где x1 ,…, x c – вершины С-ядра, α1 ,…, α c – параметры, ∑ α i = 1 . i =1
Параметрическая форма представления С-ядра позволяет определить диапазоны изменения выигрышей игроков
x i = min xij ,
x i = max xij ,
1≤ j ≤ c
а также центр С-ядра
1≤ j ≤ c
c
c
j =1
j =1
i = 1, n ,
(( ∑ x1j ) / n, ..., ( ∑ xnj ) / n ) , который можно
выбрать в качестве компромиссного дележа прибыли. Существует два основных подхода к нахождению всех вершин многогранника: симплициальный (использующий симплекс-таблицы) и
5
метод свертки систем линейных неравенств. При симплициальном подходе перебираются все допустимые базисы (их количество может быть намного больше количества вершин), поэтому в приложении рассмотрен второй метод, позволяющий также выделить избыточные ограничения и найти направляющие векторы неограниченных ребер для неограниченных многогранных множеств. Этот метод может быть полезен и для других приложений, например, для поиска всех оптимальных опорных решений задачи линейного программирования, при многокритериальной оптимизации и т.д. П р и м е р 1 ( " О з е р о " [ 1 ] ) . Вокруг озера расположено n пред-
приятий. Обработка стоков перед их сбросом в озеро стоит каждому предприятию В (денежных единиц), а очистка воды для собственных нужд стоит µ А, где µ - число предприятий, не обрабатывающих свои отходы. Считая, что А <В < nА, s =⎪S⏐, получаем
⎧− snA, ν( S ) = ⎨ ⎩− sB − s( n − s ) A,
s ≤ B / A,
(2)
s > B / A.
В этой игре нужно узнать, смогут ли предприятии договориться об обработке отходов. Положим n=3, А =10, В =25. Тогда
ν(1) = ν( 2 ) = ν( 3) = −30,
ν(1,2 ) = ν(1,3) = ν( 2,3) = −60,
ν(1,2,3) = −75.
С-ядро задается условиями
x1 ≥ −30, x1 + x3 ≥ −60,
x2 ≥ −30,
x3 ≥ −30,
x2 + x3 ≥ −60,
x1 + x2 ≥ −60, x1 + x2 + x3 = −75,
после преобразования которых получаем систему −30 ≤ x1 ≤ −15,
−30 ≤ x2 ≤ −15,
−60 ≤ x1 + x2 ≤ −45,
6
множеством решений которой является заштрихованный треугольник (рис. 1) с вершинами
x1 =(−30, −30, −15),
x 2 =(−30, −15, −30),
x 3 =(−15, −30, −30).
Параметрическая форма С-ядра имеет вид С( ν )= −30 ( α1 + α 2 + α 3 / 2, α1 + α 2 / 2 + α 3 , α1 / 2 + α 2 + α 3 ), где α1 , α 2 , α 3 ≥0, α1 + α 2 + α 3 =1. Центром С-ядра является точка (−25, −25, −25) (см. рис.1) равномерного распределения величины ν(1,2,3) = −75.
Рис.1. С-ядро игры " О з е р о " . П р и м е р 2 . П редставим в параметрической форме С-ядро сле-
дующей игры пяти лиц:
v(1,2,3)=v(3,5)=3;
N={1,…,5};
v(N)=12;
v(1,3,4)=v(2,4,5)=v(1,2,4,5)=9;
7
v(S)=3 для собственных коалиций , содержащих { 1,2,3} или { 3,5} ; v(S)=9 для собственных коалиций , содержащих { 1,3,4} или { 2,4,5} ; v(S)=0 для остальных коалиций. Неравенства системы (1), соответствующие v(S), где S ≠N
и
S⊃{ 1,2,3} и л и S⊃{ 3,5} и л и S⊃{ 1,3,4} и л и S⊃{ 2,4,5} , а также
v(S)=0, ⎪S⏐>1, являются следствием остальных ограничений. Их исключаем из рассмотрения. Остальные неравенства системы (1) умножаем на (-1). Уравнение ми
∑ xi ≤ v ( N ) ,
i ∈N
∑ xi = ν( N ) заменяем двумя неравенства-
i ∈N
− ∑ xi ≤ − v ( N ) . i ∈N
Получаем систему − x1 − x2 − x3 ≤ −3,
− x3 − x5 ≤ −3,
− x1 − x2 − x3 − x4 − x5 ≤ −12,
− x1 − x3 − x4 ≤ −9,
− x2 − x4 − x5 ≤ −9,
x1 + x2 + x3 + x4 + x5 ≤ 12;
xi ≥0, i = 1,5 .
Применив описанный в приложении метод, находим вершины С-ядра
x1 =(0, 3/2, 3/2, 15/2, 3/2), x 2 =(3, 0, 0, 6, 3), x 3 =(0, 3, 3, 6, 0), x 4 =(0, 0, 3, 6, 3), x 5 =(0, 0, 3, 9, 0), границы изменения выигрышей игроков
x i =0 , i = 1,5 ; а также центр
x1 = x 2 = x 3 = x 5 =3, x 4 =9,
(0.6, 0.9, 2.1, 6.9, 1.5)
С-ядра.
Параметрическое представление С-ядра данной игры имеет вид
C( ν ) = ( 3α 2 , 3α1 / 2 + 3α 3 , 3α1 / 2 + 3( α 3 + α 4 + α 5 ), 15α1 / 2 + 6( α 2 + α 3 + α 4 ) + 9α 5 , 3α1 / 2 + 3( α 2 + α 4 )), где α1 ,…, α 5 ≥0, α1 +…+ α 5 =1.
8
10.6. Значения игр (цена Шепли, N -ядро)
С-ядро игры может быть очень большим, например, совпадать с множеством всех дележей, а может быть и пустым. Пустота С-ядра наблюдается в том случае, когда промежуточные коалиции слишком сильны, но из этого не следует невозможность кооперации всех игроков. Если кооперативное равновесие не может быть достигнуто только с помощью простых коалиционных угроз (принцип С-ядра), то необходимы другие принципы, например, тактика угроз и контругроз [3]. В идеальном случае анализ кооперативной игры должен был бы приводить к отбору единственного дележа, который и следовало бы принять за решение. Правило, ставящее в соответствие каждой кооперативной игре единственное распределение x =( x1 ,…, xn ) совместной прибыли ν(N), удовлетворяющее некоторому принципу оптимальности, называется о п е р а т о р о м з н а ч е н и я , а само распределение x - з н а ч е н и е м и г р ы . Наиболее популярными значениями, показавшими свою применимость к широкому кругу экономических моделей, являются: ц е н а Ш е п л и ( з н а ч е н и е Ш е п л и или в е к т о р Ш е п л и ) и N - я д р о (nucleolus). Эти понятия отражают два основных условия, необходимых для устойчивости кооперативного соглашения [2]:
- каждый участник договора должен получить "справедливую" долю прибыли (внутренняя устойчивость); - прибыль от кооперации не должна быть слишком мала по сравнению ситуацией без кооперации (внешняя устойчивость). Цена Шепли учитывает дополнительные прибыли
ν(S∪{i}) - ν(S)
( i∉S, S⊂N ) от присоединения фиксированного участника к каждой коалиции, т.е. обеспечивает внутреннюю устойчивость.
9
N-ядро, по возможности, максимизирует суммарный доход каждой
коалиции, т.е. гарантирует внешнюю устойчивость, игнорируя устойчивость внутреннюю. Цена Шепли σ = ( σ1 , . . . , σ n ) приписывает каждому игроку его средний вклад во все коалиции и вычисляется по формуле
σi =
s !( n − s − 1)! [ ν( S ∪ {i }) − ν( S )] , i = 1, n , n ! S ⊂ N \i
∑
где s = S . Например, в игре трех лиц ( n =3) цена Шепли имеет вид
σ1 = ν(1) / 3 + [ ν(1,2 ) − ν( 2 ) + ν(1,3) − ν( 3)] / 6 + [ ν(1,2,3) − ν( 2,3)] / 3 , σ 2 = ν( 2 ) / 3 + [ ν(1,2 ) − ν(1) + ν( 2,3) − ν( 3)] / 6 + [ ν(1,2,3) − ν(1,3)] / 3 , σ 3 = ν( 3) / 3 + [ ν( 2,3) − ν( 2 ) + ν(1,3) − ν(1)] / 6 + [ ν(1,2,3) − ν(1,2 )] / 3 . Для простой игры n лиц общая формула цены Шепли упрощается и принимает вид
s !( n − s − 1)! , n ! S ∈ℜ i
σi = ∑ η( s ) = ∑ S ∈ℜ
i
i = 1, n ,
где ℜi – множество таких проигрывающих коалиций S, не содержащих
игрока i , что коалиция S ∪{ i } является выигрывающей. По этой формуле легко вычисляется цена Шепли взвешенных мажоритарных игр. Пример 3. Четыре акционера обладают следующим количеством акций: 40, 30, 20, 10.
Любое решение утверждается акционерами,
имеющими простое большинство акций. Это взвешенная мажоритарная игра (51; 40, 30, 20, 10), в которой выигрывают коалиции
{1,2}, {1,3}, {1,2,3}, {1,2,4}, {1,3,4}, {2,3,4}, {1,2,3,4}.
10
Определяем ℜ1 ={{2}, {3}, {2,3}, {2,4}, {3,4}},
ℜ 2 ={{1}, {1,4}, {3,4}},
ℜ 3 ={{1}, {1,4}, {2,4}}, ℜ 4 ={2,3}. Так как η(1) =
η( 2 ) =
2 !( 4 − 2 − 1)! 4!
получаем σ = ( Цена
(
4
,
3
,
2
5
=
,
1
10 10 10 10
12 3
,
,
σi =
то 3
,
1
12 12 12 12
Шепли ,
1
не
ℜi 12
1!( 4 − 1 − 1)! 4!
, i = 1,2,3,4 .
=
1 12
и
Окончательно
).
совпадает
с
"вектором
голосования"
) , в котором выигрыш игрока пропорционален его доле
акций. В отношении цены Шепли, игроки 2 и 3 обладают одинаковой силой (несмотря на разное количество акций они имеют одинаковые возможности для образования коалиций). Сила игрока 1 больше доли его акций, а сила игрока 4, наоборот, меньше доли акций. Предположим теперь, что игрок 3 приобрел еще 10 акций, т.е. рас1 1 1 , , 0) 3 3 3
смотрим игру (55; 40, 30, 30, 10). Ее цена Шепли σ = ( , также не совпадает с "вектором голосования" (
4
,
3
,
3
,
1
11 11 11 11
) и пока-
зывает, что дополнительные акции игрока 3 не дают ему преимуществ, а акции игрока 4 обесцениваются (он не может войти ни в одну коалицию, т.е. становится "болваном"). Цена Шепли обладает следующими свойствами.
1. σ i = σ π (i ) , i = 1, n , где ( π(1),..., π(n)) – перестановка N, т.е. цена любого игрока не зависит от его номера (аксиома анонимности ). 2. Если игрок i ничего не добавляет к каждой коалиции, т.е.
ν( S ∪ {i}) = ν( S )
для любого S ⊂ N
( такой игрок называется
11
"болваном"), то его цена равна нулю σ i = 0 (аксиома болвана ). 3. Цена Шепли является коалиционно монотонной , т.е. если прибыль ν(S) некоторой коалиции S увеличить, а прибыли всех остальных коалиций оставить без изменения, то цена σ i каждого игрока коалиции S не уменьшиться. 4. В симметричной игре цена Шепли делит ν(N) на n равных частей
σ = ( ν( N ) / n, ..., ν( N ) / n ) . 5. Цена Шепли может не принадлежать непустому С-ядру. Пример 4 ("Р ы н о к п е р ч а т о к " [2]).
Случай 1. Два игрока (1 и 2) имеют по одной правой перчатке, а два остальных игрока (3 и 4) имеют по одной левой перчатке. Рыночная цена одной перчатки равна нулю, а цена одной пары (с одной правой и одной левой) равна единице. Эта ситуация описывается игрой , где N={1,2,3,4},
ν(1,3)= ν(1,4)=ν(2,3)= ν(2,4)=ν(1,2,3)= ν(1,2,4)=ν(1,3,4)=ν(2,3,4)=1, ν(1,2,3,4)=2, ν(S) =0 для остальных S. С-ядро (без учета избыточных ограничений) задается системой
x1 + x3 ≥1,
x1 + x4 ≥1,
x1 + x2 + x3 + x4 =2,
x2 + x3 ≥1,
x2 + x4 ≥1,
x ≥ 0.
Оно имеет две вершины
x1 =(1, 1, 0 , 0) и
x 2 =(0, 0, 1, 1),
т.е. является отрезком. Игра симметрична, поэтому цена Шепли
σ =(1/2, 1/2, 1/2, 1/2)
совпадает с равномерным распределением прибыли, σ - центр С-ядра.
12
Случай 2. Предположим теперь, что игрок 1 имеет две правые перчатки, в то время как остальные игроки располагают прежними запасами. Тогда
ν(1,3)= ν(1,4)=ν(2,3)= ν(2,4)=ν(1,2,3)= ν(1,2,4) =ν(2,3,4)=1, ν(1,3,4)=ν(1,2,3,4)=2, ν(S) =0 для остальных S, т.е. собственная прибыль коалиции {1,3,4} увеличилась на единицу. С-ядро игры задается системой
x1 + x3 ≥1, x1 + x3 + x4 ≥2,
x1 + x4 ≥1,
x2 + x3 ≥1,
x1 + x2 + x3 + x4 =2,
Оно состоит из единственного дележа
x2 + x4 ≥1,, x ≥ 0.
x 0 = (0, 0, 1, 1), при котором
всю прибыль делят владельцы левых перчаток. Цена Шепли σ =(7/12, 3/12, 7/12, 7/12) увеличивает долю первого, третьего и четвертого игроков, чьи коалиционные возможности возросли, уменьшая долю второго игрока. В данном случае цена Шепли не принадлежит С-ядру. Заметим, что рассмотренный пример иллюстрирует также немонотонность С-ядра. В отличие от цены Шепли, N-ядро γ = ( γ 1 ,..., γ n ) всегда принадлежит непустому С-ядру. Оно занимает центральное место внутри Сядра. Для определения N –ядра вводится понятие э к с ц е с с а
e( x , S ) = ∑ xi − ν( S ) , i ∈S
который является "мерой неудовлетворенности" коалиции S дележом x . Положительный (отрицательный) эксцесс e( x , S ) есть дополнительная прибыль (убыток) коалиции S по сравнению с ее собственной воз-
13
можностью ν( S ) . Для каждой коалиции S желательно, чтобы значение эксцесса e( x , S ) было как можно больше. Каждому дележу x ставиться в соответствие в е к т о р э к с ц е с -
сов
e( x ) = (e( x , S 1 ), e( x , S 2 ),..., e( x , S m )) , компонентами которого являются упорядоченные по неубыванию эксцессы собственных коалиций
e( x , S 1 ) ≤ e( x , S 2 ) ≤ . .. ≤ e( x , S m ) , m = 2 n − 2 ; S i ∈ 2 N \ N \ ∅ , i = 1, m . Ясно, что дележ x принадлежит С-ядру тогда и только тогда, когда его вектор эксцессов неотрицателен. Вычислим, например, вектор эксцессов для цены Шепли
σ =(7/12, 3/12, 7/12, 7/12) игры "Р ы н о к п е р ч а т о к " (случай 2). Определяем вначале эксцессы собственных коалиций
e(σ ,{1}) = e( σ ,{3}) = e(σ ,{4}) =7/12, e(σ ,{2}) =3/12, e( σ ,{1,3}) = e(σ ,{1,4}) =2/12,
e(σ ,{1,2}) =10/12,
e(σ ,{2,3}) = e(σ ,{2,4}) = −2/12,
e(σ ,{3,4}) =14/12,
e(σ ,{1,2,3}) = e(σ ,{1,2,4}) =5/12,
e(σ ,{1,3,4}) = −3/12,
e(σ ,{2,3,4}) =5/12.
Упорядочивая эти величины по неубыванию получаем
e( σ ) =( e(σ ,{1,3,4}) , e(σ ,{2,3}) , e(σ ,{2,4}) , e( σ ,{1,3}) , e(σ ,{1,4}) , e(σ ,{2}) , e(σ ,{1,2,3}) , e(σ ,{1,2,4}) , e(σ ,{2,3,4}) , e(σ ,{1}) , e( σ ,{3}) , e(σ ,{4}) , e(σ ,{1,2}) , e(σ ,{3,4}) )= =(−3/12, −2/12, −2/12, 2/12, 2/12, 3/12, 5 /12, 5/12, 5/12, 7/12, 7/12, 7/12,
10/12, 14/12). Вектор эксцессов единственной точки этой же игры имеет вид
x 0 =(0, 0, 1, 1)
С-ядра
14
e( x 0 ) = ( e( x 0 ,{1}), e( x 0 ,{2}), e( x 0 ,{1,2}), e( x 0 ,{1,3}), e( x 0 ,{1,4}), e( x 0 ,{2,3}), e( x 0 ,{2,4}), e( x 0 ,{1,2,3}), e( x 0 ,{1,2,4}), e( x 0 ,{1,3,4}), e( x 0 ,{3}), e( x 0 ,{4}), e( x 0 ,{3,4}) )=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2). На множестве E = {e( x ): x ∈ D( ν )} векторов эксцессов дележей игры Г вводится л е к с и к о г р а ф и ч е с к о е у п о р я д о ч е н и е p . Говорят, что вектор e( x ) предшествует e( y ) (или e( y ) предпочтительнее e( x ) в смысле лексикографического порядка)
e( x ) p e( y ) , если существует такая коалиция S k , что
e( x , S i ) = e( y , S i ) , i = 1, k − 1 ,
e( x , S k ) < e( y , S k ) .
Так, например, для вычисленных выше векторов эксцессов e( σ ) и
e( x 0 ) имеем e( σ ) p e( x 0 ) . Доказано, что существует единственный дележ γ , вектор эксцессов e( γ ) которого предпочтительнее всех остальных векторов из E
e( γ ) = lexmax e( x ) . e ( x ) ∈E
(3)
Это и есть N-ядро.
Как и цена Шепли, N-ядро удовлетворяет аксиомам анонимности и болвана, но не является коалиционно монотонным. Поэтому возможен случай, когда увеличение величины ν(N) при сохранении прибылей
ν(S) всех остальных коалиций S ≠ N, приводит к уменьшению доли прибыли некоторых игроков. Это очень непривлекательное свойство, т.к. если какие-либо игроки страдают в результате улучшений, то они могут отказаться от участия и тем самым сделать невозможным улучшение ситуации.
15
Однако, для n ≥5 не существует такого значения кооперативной игры, которое одновременно принадлежит С-ядру и является коалиционно монотонным (теорема Янга [2]). 10.7. Методы вычисления N -ядра Если известны вершины
x1 ,…, x c С-ядра, то N-ядро вычисля-
ется по формуле c
γ i = ( ∑ xij ) / c , j =1
i = 1, n ,
т.е. является средним арифметическим вершин. В примере
"Р ы н о к
п е р ч а т о к " (случай 1)
имеем
γ =( x1 + x 2 )/2=(1/2, 1/2, 1/2, 1/2), т.е. N-ядро совпадает с ценой Шепли. В примере "Р ы н о к п е р ч а т о к " (случай 2) С-ядро состоит из единственной точки, которая является также и N-ядром γ =(0, 0, 1, 1). Если вершины С-ядра вычислить сложно или С-ядро пустое, то Nядро можно определить с помощью серии задач линейного программирования. Из соотношения (3) вытекает, что вначале нужно определить
min e( γ , S ) = max [ min e( x , S )] ,
S⊂ N
x ∈D ( ν ) S ⊂ N
т.е. максимизировать минимальную коалиционную прибыль. После введения дополнительной переменной z получаем задачу
max z ,
(4)
z ≤ ∑ xi − ν( S ) , S ⊂ N,
(5)
∑ xi = ν( N ) .
(6)
i ∈S
i ∈N
16
Если задача (4)-(6) имеет единственное решение, то соответствующий дележ есть N-ядро. В противном случае, нужно выбрать произвольное оптимальное решение ( z * , x * ) и определить множество коалиций Ω={ S 1 , ..., S l }, для которых неравенства (5) выполняются как равенства при z = z * , x = x * . Новая задача имеет вид
max z , z ≤ ∑ xi − ν( S ) , i ∈S
z * ≤ ∑ xi − ν( S j ) , i ∈S j
S ⊂ N, S ∉Ω, j = 1, l ,
∑ xi = ν( N ) ,
i ∈N
т.е. максимизируется вторая по минимальности коалиционная прибыль. Через конечное число шагов получается задача линейного программирования, имеющая N-ядро в качестве единственного решения. П р и м е р 5 (Игра "М у с о р " [2]). У каждого из n игроков имеется мешок с мусором, который он должен выбросить во дворе у когото другого. "Полезность" одного мешка мусора равна (-1). При s < n,
s = S , участники коалиции S могут договориться не оставлять мусор во дворе друг друга. Тогда при наихудшем для S исходе, все остальные игроки принесут мусор во дворы членов коалиции. Для коалиции, содержащей всех игроков, такое соглашение, запрещающее выбрасывать мусор, невозможно. Характеристическая функция игры имеет вид
s = 0, ⎧0, ⎪ ν( S ) = ⎨− ( n − s ), 0 < s < n, ⎪− n, s = n. ⎩
17
В этой симметричной игре нужно выяснить, смогут ли игроки достичь соглашения о размещении мусора. Известно, что С-ядро симметричной игры существует тогда и только тогда, когда выполняется соотношение
ν( S ) / s ≤ ν( N ) / n , 1 ≤ s < n . В рассматриваемой игре поэтому получаем неравенство
ν( S ) / s = − ( n − s ) / s ,
ν( N ) / n = −1,
(n – s) ≥ s, 0< s < n. По предположе-
нию n >2, следовательно, С-ядро игры пустое (при любом соглашении о распределении мусора найдется коалиция, которой будет выгодно его нарушить). Положим n =3, тогда
ν(1) = ν( 2 ) = ν( 3) = −2,
ν(1,2 ) = ν(1,3) = ν( 2,3) = −1,
ν(1,2,3) = −3.
Для нахождения N-ядра решаем линейную задачу
max z , z ≤ x1 + 2, z ≤ x2 + 2, z ≤ x3 + 2, z ≤ x1 + x3 +1, z ≤ x2 + x3 + 1,
z ≤ x1 + x2 + 1, x1 + x2 + x3 = −3.
Ее единственным оптимальным решением является вектор равномерного распределения γ =(−1, −1, −1). В данной игре N-ядро совпадает с ценой Шепли (почему?). Его можно интерпретировать следующим образом: коалиционные интересы будут удовлетворены наилучшим образом, при "циклической" схеме размещения мешков с мусором, например, 1→2→3→1. При определении N-ядра рассматриваются эксцессы коалиций, но не учитываются размеры коалиций. Поэтому единица прибыли для одного игрока расценивается так же, как и единица прибыли для его до-
18
полнения – коалиции из (n −1) игрока. Это может быть воспринято участниками игры как несправедливость. В некоторых играх, возможно, более предпочтительным окажется понятие п р о п о р ц и о н а л ь н о г о N - я д р а , которое определяется через с р е д н и е (в расчете на одного члена коалиции) э к с ц е с с ы
e( x , S ) =
1 S
e( x , S ) ,
S ∈2 N \ N \ ∅
(7)
и обладает теми же свойствами, что и N-ядро. Если желательно увеличить прибыль больших коалиций, то можно рассматривать
в з в е ш е н н о е N - я д р о , определенное через
взве-
шенные эксцессы
e~ ( x , S ) = S e( x , S ) ,
S ∈2 N \ N \ ∅ .
(8)
Вообще эксцесс коалиции S можно представить в виде
e$( x , S ) = e( x , S ) / d ( S ) , где d ( S ) >0 – нормирующий множитель. Соответствующее N-ядро называется о б о б щ е н н ы м N - я д р о м . Обобщенное N-ядро также не является коалиционно монотонным. 10.8. Выпуклые игры Существует важный класс игр, в которых С-ядро не пусто, цена Шепли принадлежит С-ядру, а вершины С-ядра определяются явным образом. Это выпуклые игры. Кооперативная игра называется в ы п у к л о й , если ее характеристическая функция удовлетворяет одному из двух эквивалентных свойств
S1 ⊂ S 2
⇒
ν( S 1 ∪ {i }) − ν( S 1 ) ≤ ν( S 2 ∪ {i }) − ν( S 2 )
(9)
19
или
ν( S 1 ) + ν( S 2 ) ≤ ν( S 1 ∪ S 2 ) + ν( S 1 ∩ S 2 ),
S1, S 2 ⊂ N .
(10)
Условие (9) означает, что чем больше коалиция, к которой присоединяется игрок i , тем больше его вклад в эту коалицию. Функция множеств ν , удовлетворяющая условию (10) называется в ы п у к л о й (или с у п е р м о д у л я р н о й ). Это название связано с тем,
что
при
фиксированном
S2
"первая
разность"
[ ν( S 1 ∪ S 2 ) − ν( S 1 ) ] выпуклой функции множеств ν , монотонно неубывает по S 1 аналогично монотонному неубыванию по x "первой разности" [ f ( x + y ) − f ( x )] выпуклой вещественной функции f при фиксированном y . В
частности,
из
монотонного
нубывания
величины
ν( S 1 ∪ {i }) − ν( S 1 ) вытекает стремление всех игроков к образования максимальной коалиции, что обеспечивает существование С-ядра (доказательство существования С-ядра выпуклой игры дано в [4]). В экономических игровых моделях выпуклость, грубо говоря, означает возрастание темпа роста собственного дохода коалиции при увеличении ее мощности (возрастание доходов на масштаб). Заметим, что для непересекающихся коалиций, свойство (10) совпадает с условием супераддитивности. Пусть π = (i1 , ..., in ) – перестановка N. Доказано [2], что вектор
x ( π ) = ( xi1 , ..., xin ) , компонентами которого являются вклады игроков xi k = ν(i1 , ..., ik ) − ν(i1 , ..., ik −1 ) ,
k = 1, n ,
(11)
является вершиной С-ядра. Таким образом, С-ядро выпуклой игры может иметь n! вершин.
20
П р и м е р 6 . Рассмотрим выпуклую игру трех лиц:
ν(1) =5, ν( 2 ) =3, ν( 3) =1, ν(1,2 ) =8, ν(1,3) =6, ν( 2,3) =4, ν(1,2,3) =9. Ее С-ядро определяется системой
x1 ≥ 5, x2 ≥ 3, x1 + x3 ≥ 6, Пусть
x3 ≥ 1, x2 + x3 ≥ 4,
x1 + x2 ≥ 8, x1 + x2 + x3 = 9.
π1 =(1,2,3) – тождественная перестановка множества
N={1,2,3}. Тогда из (11) получаем
x11 = ν(1) − ν( ∅ ) =5,
x21 = ν(1,2 ) − ν(1) =3,
x31 = ν(1,2,3) − ν(1,2 ) =1.
Следовательно, перестановке π1 соответствует вершина x1 =(5, 3, 1). Рассмотрев другую перестановку π 2 =(1,3,2), получаем
x12 = ν(1) − ν( ∅ ) =5,
x32 = ν(1,3) − ν(1) =1,
x22 = ν(1,2,3) − ν(1,3) =3,
т.е. x1 = x 2 . Перебирая остальные перестановки, получаем что все они определяют одну и туже точку. Следовательно, С-ядро состоит из единственного дележа
(5, 3, 1).
Существует достаточное условие, при котором С-ядро имеет точно n! вершин: если характеристическая функция игры удовлетворяет условию
ν( S 1 ) + ν( S 2 ) < ν( S 1 ∪ S 2 ) + ν( S 1 ∩ S 2 ), для
S 1 \ S 2 ≠ ∅, S 2 \ S 1 ≠ ∅ , то все дележи (11) различны [4]. П р и м е р 7 . Пусть N={1,2,3},
ν(1) = ν( 2 ) = ν( 3) =2,
ν(1,2 ) = ν(1,3) = ν( 2,3) =5,
ν(1,2,3) =9.
Эта игра удовлетворяет (12), ее С-ядро определяется системой
x1 ≥ 2, x2 ≥ 2, x1 + x3 ≥ 5,
x3 ≥ 2, x2 + x3 ≥ 5,
x1 + x2 ≥ 5, x1 + x2 + x3 = 9,
(12)
21
после преобразования которой получим множество, изображенное на рис.2. Все перестановки и соответствующие им вершины С-ядра приведены в таблице 1.
Рис.2. С-ядро выпуклой игры. Таблица 1 Перестановка
Вершина
π1 =(1,2,3)
x1 =(2,3,4)
π 2 =(1,3,2)
x 2 =(2,4,3)
π 3 =(2,1,3)
x 3 =(3,2,4)
π 4 =(2,3,1)
x 4 =(4,2,3)
π5 =(3,1,2)
x 5 =(3,4,2)
π 6 =(3,2,1)
x 6 =(4,3,2)
22
10.9. Упражнения 1. Показать, что соотношение (2) действительно задает характеристическую функцию игры "О з е р о ". Доказать супераддитивность этой функции. 2. Выполнить (0,1)-нормализацию игры "О з е р о " для А=1, В =2.
А=2, В=3 и
3. Доказать, что игра "О з е р о " всегда имеет непустое С-ядро. 4. Вычислить цену Шепли для игры "О з е р о " при n =4, А =1, В =2. 5. Существует
ли
С-ядро
у
следующей
симметричной
игры:
ν( S ) = [ S / 2] , где [x]-целая часть числа x ?. 6. Описать игру пяти лиц, в которой три игрока (1, 2 и 3) имеют по одной правой перчатке, а два других игрока (4 и 5) имеют по одной левой перчатке. Рыночные цены перчаток такие же, как и в примере 4. Является ли данная игра выпуклой? Определить все вершины С-ядра, вычислить цену Шепли и N–ядро. 7. Описать характеристическую функцию игры "Р ы н о к п е р ч а т о к " , если N={1,..,n}; L, P –подмножества владельцев левых и правых перчаток, L ∪ P =N , L ∩ P=∅. 8. Вычислить и сравнить векторы эксцессов дележей игры "М у с о р " для n=3: (−1, −1, −1), (−1/2, −1/2, −2), (−1/2, −2, −1/2), (−2, −1/2, −1/2). Дать содержательную интерпретацию второго дележа. 9. Определить (0,1)-нормальную форму игры "М у с о р " для n =4. 10. Доказать, что игра трех лиц "М у с о р " эквивалентна взвешенной мажоритарной игре (2; 1,1,1). 11. Вычислить цену Шепли для простой игры пяти лиц с выигрывающими коалициями {1,2},{1,3},{1,4},{1,5},{2,3,4,5}.
23
Индивидуальные задания З а д а н и е 1 . Проверить супераддитивность игры трех лиц, приведенной в таблице 2. Таблица 2 № варианта
1
2
3
4
5
6
7
8
9
10
ν(1)
1
1
2
2
3
3
0
0
1
1
ν(2)
2
3
1
3
1
2
1
2
0
2
ν(3)
3
2
3
1
2
1
2
1
2
0
ν(1,2)
3
6
4
5
6
6
1
4
2
3
ν(1,3)
5
3
7
5
5
6
3
1
5
2
ν(2,3)
7
6
4
5
4
3
5
4
2
4
ν(1,2,3)
9
8
10
10
9
11
6
7
8
5
З а д а н и е 2 . Выполнить (0,1)-нормализацию игры трех лиц, приведенной в таблице 2. З а д а н и е 3 . Используя графический метод нахождения вершин многогранника, определить параметрическое представление С-ядра игры трех лиц, приведенной в таблице 2. Проверить, принадлежат ли С-ядру
вектор
равномерного
распределения
прибыли
x = ( ν( N ) / n, ..., ν( N ) / n ) и равномерного распределения дополнительного дохода x~ = ([ ν( N ) − ∑ ν(i )] / n, ...,[ ν( N ) − ∑ ν(i )] / n ) . i ∈N
i ∈N
З а д а н и е 4 . Существует ли С-ядро у взвешенной мажоритарной игры пяти лиц, приведенной в таблице 3 ? З а д а н и е 5 . В игре "О з е р о " (три предприятия) определить диапазоны изменения выигрышей игроков для дележей из С-ядра. Вы-
24
числить цену Шепли и N–ядро. Значения параметров А и В даны в таблице 4. Таблица 3 № варианта
Игра
1
(9; 4, 3, 2, 1, 1) (10; 5, 3, 3, 1, 1) (8; 4, 3, 2, 1, 1) (7; 3, 2, 1, 1, 1) (11; 5, 4, 2, 1, 1) (12; 4, 4, 4, 1, 1) (11; 5, 4, 3, 1, 1) (13; 5, 5, 3, 3, 1) (14; 6, 4, 4, 3, 1) (14; 5, 4, 4, 3, 1)
2 3 4 5 6 7 8 9 10
Таблица 4 № варианта
1
2
3
4
5
6
7
8
9
10
А
10
15
9
12
17
11
12
14
13
10
В
20
32
22
27
40
26
30
36
28
25
Таблица 5 № варианта 1
2 3 4 5 6 7 8 9 10
Набор подмножеств
{1,2},{1,3,4,5},{2,3,4,5} {1,4},{1,5},{1,2,3},{2,3,4,5} {1,2},{2,3,4},{1,3,4,5},{2,3,4,5} {1,4,5},{2,3,4},{1,2,3,5} {1,2,4},{1,3,5},{2,3,4,5} {1,2,5},{2,3,4},{1,3,4,5} {2,3,4},{1,3,4,5},{1,2,4,5},{1,2,3,5} {1,3},{1,2,4},{1,4,5},{2,3,5},{2,3,4,5} {1,2},{1,3},{1,4,5},{2,3,4,5} {1,2},{1,5},{2,4,5},{2,3,5},{1,3,4}
25
З а д а н и е 6 . Вычислить цену Шепли и N–ядро взвешенной мажоритарной игры, приведенной в таблице 3. Если эти значения не совпадают, то определить, для каких игроков цена Шепли является предпочтительней, чем N–ядро, а каких игроков цена Шепли "наказывает"? Сравните цену Шепли с "вектором голосования". Какие из игроков имеют силу (относительно цены Шепли) превышающую их долю голосов? Для игры с непустым С-ядром (см. задание 4) проверить, принадлежит ли ему цена Шепли. Если цена Шепли не принадлежит непустому С-ядру, то определить коалиции, которые будут возражать против такого дележа. З а д а н и е 7 . Является ли заданный в таблице 5 набор подмножеств множества N ={1,…,5} минимальным сбалансированным покрытием для игры пяти лиц? Если является, то записать соответствующее необходимое условие существования С-ядра этой игры. Литература 1. Робертс Ф.С. Дискретные математические модели с приложениями к социологическим, биологическим и экологическим задачам. М., 1986. 2. Мулен Э. Кооперативное принятие решений: аксиомы и модели. М., 1991. 3. Оуэн Г. Теория игр. М., 1971. 4. Розенмюллер И. Кооперативные игры и рынки. М., 1974. 5. Черников С.Н. Линейные неравенства. М., 1968. 6. Мулен Э. Теория игр с примерами из математической экономики. М., 1985. 7. Воробьев Н.Н. Теория игр для экономистов-кибернетиков. М., 1985. 8. Нейман Дж., Моргенштерн О. Теория игр и экономическое поведение. М.,1970.
26
Приложение (метод нахождения всех вершин многогранника) Пусть многогранник задан системой Ax ≤ b, x ≥ 0, x∈Rn, b∈Rm, A - m×n матрица.
(1)
Ей соответствует однородная система
ai1 x1 + ... + ain xn − bi xn +1 ≤ 0,
i = 1, m .
(2)
Решения систем (1) и (2) связаны следующим образом: если x = ( x1 ,..., xn , xn +1 ) - решение системы (2), то ( x1 / xn +1 , ..., xn / xn +1 ) решение системы (1). Метод основан на исключении неизвестных в системе, двойственной к (2), т.е. свертке системы линейных неравенств [5]. Строится начальная таблица
T 1 = (T11 , T21 ) =
1 … 0 0 … a11 am1 … … … … … 0 … 1 0 … a1n amn 0 … 0 1 −b1 … −bm транспонированная единичная матрица по- матрица системы (2) рядка (n+1) (T1 )
( T11 )
2
На каждой итерации алгоритма выбирается столбец текущей таблицы T k = (T1k , T2k ) , который называется о с н о в н ы м столбцом. П а р а с т р о к (i,j) таблицы T k , имеющих ненулевые элементы противоположных знаков в основном столбце, называется д о п у с т и мой. Положительная линейная комбинация допустимой пары строк, имеющая нулевой элемент в основном столбце, называется с т р о к о й р а в н о в е с и я допустимой пары строк. Неравенство системы (1) называется з а в и с и м ы м , если после его отбрасывания множество решений не меняется. Правила преобразования таблицы T 1 = (T11 , T21 ) . 1. Если в таблице T21 есть неположительный столбец, то соответствующее ему неравенство системы (1) является зависимым. Неполо-
27
жительные столбцы таблицы T21 можно заменить нулевыми столбцами или вычеркнуть. 2. Если таблица T21 не содержит ни одного положительного элемента, то T 1 - искомая таблица (КОНЕЦ). 3. В таблице T21 выбрать столбец, содержащий положительный элемент (основной столбец). 4. Если основной столбец содержит только положительные элементы, то система (1) несовместна (КОНЕЦ). 5. В таблицу T 2 перенести строки таблицы T 1 , пересекающие основной столбец по неположительным элементам. 6. В таблицу T 2 перенести также все строки равновесия допустимых пар строк таблицы T 1 . 7. Ненулевые элементы преобразованного основного столбца заменить (-1). Для k
T =
описания правил преобразования k≥2, введем обозначения:
следующих
таблиц
(T1k , T2k ) , k
O - множество столбцов таблицы T2k , которые уже выбирались
в качестве основных; S k = T1k ∪ O k ;
Sijk - множество тех столбцов из S k , каждый из которых пересекает обе строки допустимой пары (i,j) по нулевым элементам. Если (i,j) – допустимая пара строк таблицы T k , Sijk ≠∅ и не существует третьей строки e (e≠i, e≠j) таблицы T k , пересекающей все столбцы Sijk по нулевым элементам, то эта пара сток называется д о пустимой уравновешенной парой. Правила преобразования таблицы T k = (T1k , T2k ) , k≥2. 1. Если в таблице T2k \ O k есть неположительный столбец, то соответствующее ему неравенство системы (1) является зависимым. Неположительные столбцы таблицы T2k \ O k можно заменить нулевыми столбцами или вычеркнуть. 2. - 5. как для таблицы T 1 .
28
6. В таблицу T k +1 перенести все строки равновесия допустимых уравновешенных пар строк таблицы T k . 7. Ненулевые элементы столбцов таблицы T k +1 , которые уже выбирались в качестве основных, заменить (-1). Преобразование таблиц заканчивается в двух случаях: 1) система несовместна; 2) нельзя выбрать основной столбец. Во втором случае получается таблица T r = (T1r , T2r ) , левая часть которой содержит информацию о всех вершинах многогранного множества, определенного системой (1), и его неограниченных ребрах. П р и м е р 8 . Проиллюстрируем работу алгоритма на системе: x1 + x2 ≥2, x1 +2x2≥3, x1 + x2≥1, x1 -2x2≤1, -4x1+3x2≤6, x≥0. Переходим к однородной системе -x1 - x2 +2x3 ≤0, -x1 -2x2 +3x3 ≤0, -x1 - x2 + x3 ≤0, x1 -2x2 - x3 ≤0, -4x1 +3x2 -6x3≤0, x≥0. Начальная таблица имеет вид 1
T =
(T11 , T21 )
=
1 0 0
0 1 0
0 0 1
-1 -1 2
-1 -2 3
-1 -1 1
1 -2 -1
-4 3 -6
Основные столбцы таблиц будем выделять заливкой. Таблица T 1 соответствует неотрицательному квадранту плоскости (рис.3), который имеет одну вершину (0,0) и два неограниченных ребра с направляющими векторами (1,0), (0,1).
29
Рис.3. Область, соответствующая таблице T 1 .
2
T =
( T12 , T22 )
=
1 0 2 0
0 1 0 2
0 0 1 1
-1 -1 0 0
-1 -2 1 -1
0 0 0 0
1 -2 1 -5
-4 3 -14 0
Неположительный столбец таблицы T22 \ O 2 заменен нулевым столбцом. Соответствующее неравенство x1 + x2 ≥ 1 является зависимым. Таблица T 2 соответствует множеству неотрицательных точек, удовлетворяющих первому неравенству системы. Эта область (рис.4) имеет две вершины (2,0), (0,2) и два неограниченных ребра с направляющими векторами (1,0), (0,1).
Рис.4. Область, соответствующая таблице T 2 .
30
T 3 = (T13 , T23 ) =
1 0 0 3 2
0 1 2 0 2
0 0 1 1 2
-1 -1 0 -1 0
-1 -1 -1 0 0
0 0 0 0 0
1 -2 -5 2 -4
-4 3 0 -18 -14
Таблица T 3 соответствует множеству неотрицательных точек, удовлетворяющих первым трем неравенствам системы. Эта область (рис.5) имеет три вершины (0,2), (3,0), (1,1) и два неограниченных ребра с направляющими векторами (1,0), (0,1).
Рис.5. Область, соответствующая таблице T 3 .
T 4 = (T14 , T24 ) =
0 0 2 2 8
1 2 2 1 2
0 1 2 0 4
-1 0 0 -1 -1
-1 -1 0 -1 0
0 -1 0 -1 0 -1 0 0 0 0
3 0 -14 -5 -50
Таблица T 4 соответствует множеству неотрицательных точек, удовлетворяющих первым четырем неравенствам системы. Эта область (рис.6) имеет три вершины (0,2), (1,1), (2, 1/2) и два неограниченных ребра с направляющими векторами (0,1), (2,1).
31
Рис.6. Область, соответствующая таблице T 4 .
T 5 = ( T15 , T25 ) =
2 2 8 0 6
2 1 2 2 8
2 0 4 1 0
0 -1 -1 0 -1
0 -1 0 -1 -1
0 0 0 0 0
-1 -1 0 -1 0 -1 -1 0 -1 0
Таблица T 5 - последняя. Таким образом, исходная система определяет множество, которое имеет три вершины (1,1), (2, 1/2), (0,2) и два неограниченных ребра с направляющими векторами (2,1), (3,4).
Рис.7. Область, соответствующая таблице T 5 .