ISSN 2304-9081
Учредители:
Уральское отделение РАН Оренбургский научный центр УрО РАН
Бюллетень Оренбургского научного центра УрО РАН
(электронный журнал)
2014 * № 2
On-line версия журнала на сайте http://www.elmag.uran.ru
© М.Ю. Нестеренко, А.С. Кириллов, 2014 УДК 519.834
1 2 М.Ю. Нестеренко , А.С. Кириллов
РАЗРАБОТКА И АНАЛИЗ ВЫСОКОПРОИЗВОДИТЕЛЬНОГО ПАРАЛЛЕЛЬНОГО АЛГОРИТМА РЕШЕНИЯ КООПЕРАТИВНЫХ ИГР СВЕДЕНИЕМ К БИМАТРИЧНЫМ ИГРАМ
1 Оренбургский научный центр УрО РАН, Отдел геоэкологии, Оренбург, Россия
2
Оренбургский государственный университет, Оренбург, Россия
В работе рассматривается подход к решению вычислительно-сложной задачи - построение оптимальной коалиции и распределение выигрыша в кооперативной игре заданной множеством биматричных игр для п игроков с помощью решения биматричных игр и использованием параллельных вычислительных технологий.
Ключевые слова: теория игр, кооперативные игры, биматричные игры, матричные игры, итеративный алгоритм Брауна-Робинсон, устойчивость.
7 "7
M.Yu. Nesterenko , A.S. Kirillov
DESIGN AND ANALYSIS OF HIGH-PERFORMANCE PARALLEL ALGORITHM FOR SOLVING COOPERATIVE GAMES REDUCTION TO BIMATRIX GAMES
1 Orenburg Scientific Centre UrB RAS, Department of Geoecology, Orenburg, Russia
2 Orenburg State University, Orenburg, Russia
The paper presents an approach to solving computationally challenging task - in the structure of the optimal distribution of the winning coalition and cooperative game in a given set of bimatrix games for n players by solving bimatrix games and using parallel computing technologies.
Keywords: game theory, cooperative games, bimatrix games, matrix games, an iterative algorithm Brown-Robinson, stability.
Введение.
Возросшие запросы производства и экономики, развитие информационных систем и технологий предъявляют все большие требования к процессу принятия решений и управления в различных областях человеческой деятельности. При создании систем поддержки принятия решений активно используется аппарат теории игр. При этом очень актуальна проблема разработки эффективных алгоритмов для поиска оптимальных стратегий в игровых моделях. На практике требуется, чтобы алгоритмы были способны обрабатывать большое количество информации в режиме реального времени.
Среди направлений теории игр особое место занимают кооперативные игры, например, в разработке оптимальных стратегий производства, безопасности систем, эффективной ценовой политики и др. В кооперативной игре игроки имеют возможность принимать совместные решения и, в некоторых случаях, перераспределять выигрыши между собой. В ней задаются возможности и предпочтения различных групп игроков (коалиций), для которых строятся оптимальные стратегии и задаются распределения между ними суммарных выигрышей. Результатом решения кооперативной игры являются оптимальная коалиция, в которую следует вступить игрокам, их оптимальные смешанные стратегии и выигрыш коалиции. Особого внимания заслуживают задачи игрового моделирования. Примером подобной задачи может быть моделирование конкурентного рынка в различных отраслях, где игроки имеют возможность объединяться в коалиции, конкурировать за соответствующие ниши рынка.
Разработка параллельных алгоритмов для решения задач теории игр -новое направление в алгоритмической теории игр. На сегодняшний день имеются лишь единичные публикации в этой области, например работы Уиджера и Гросу для некооперативных игр [1, 2, 3]. Для решения кооперативных игр параллельные алгоритмы пока не разработаны.
Существуют различные способы решения кооперативных игр, например: решение на основе функции полезности Неймана-Моргенштерна, решение игры в виде С-ядра и в стратегиях угроз, однако эти подходы не определяют оптимальных стратегий игроков внутри коалиций. А решение игры в виде С-ядра дает целое множество допустимых решений, не определяя оптимального решения. Кроме того, эти подходы рассматривают кооперативные игры на основе характеристических функций и опускают способы получения значений характеристической функции, что само по себе является отдельной и трудоемкой задачей.
Как видно, решение задач кооперативных игр процесс трудоемкий, и, с увеличением числа игроков, трудоемкость решения задачи только повышается [9].
1. Алгоритм решения кооперативной игры, заданной биматричны-ми играми.
Кооперативной игрой [4-6, 9, 14, 17] п лиц называется игра вида
r=(N,v), где N={1,2,...,n} - множество игроков, которым разрешено вести переговоры и объединяться в коалиции, a v:2N^>R - характеристическая функция, определяющая наибольший уверенно получаемый выигрыш v(K) для каждой возможной коалиции KcN [7].
Обозначим через N множество всех игроков, N={1,2,...,n}, а через K -любое его подмножество. Пусть игроки из K договариваются между собой о совместных действиях и, таким образом, образуют одну коалицию. Образовав коалицию, множество игроков K действует как один игрок против остальных игроков, и выигрыш этой коалиции зависит от применяемых стратегий каждым из n игроков.
Функция v, ставящая в соответствие каждой коалиции K наибольший, уверенно получаемый ею выигрыш v(K), называется характеристической функцией игры [9]. Всего значений характеристической функции может быть 2n, по количеству коалиций, причем коалиция с номером 0 является пустой коалицией, то есть состоящей из пустого множества игроков, и ее выигрыш по условию всегда равен нулю.
В большинстве работ рассматриваются только классические кооперативные игры, при этом в них не приводится способ получения значений характеристических функций. При этом считается, что значения характеристических функции заранее известны, либо их можно легко получить на основании какой-либо информации об игроках.
Но, в общем случае, это не так. В практике принятия решений заранее неизвестны значения характеристических функций, имеется только предполагаемое множество стратегий игроков, то есть их возможные действия, которые приводят к получению прибыли или приводят к убыткам. И в таких случаях получение значений характеристических функций становится сложной и трудоемкой задачей.
Одним из способов решения этой задачи является использование бимат-ричных игр. При этом кооперативная игра задается множеством биматричных игр между каждой парой игроков. Данный подход позволяет вычислить значения характеристической функции.
Назовем систему Tb={N,B}, состоящую из множества игроков N и набора биматричных игр В={Вху,х eN,y eN,x?y), кооперативной игрой на основе биматричных игр. Для решения такой игры необходимо иметь или составить
исходный набор биматричных игр.
Легко увидеть, набор биматричных игр будет состоять из п-(п-1) матриц, как набор размещений из п по 2.
Оговоримся сразу, что количество стратегий всех игроков одинаково и равно к, в противном случае можно добавить пустые «фиктивные» стратегии.
Набор биматричных игр В строится исходя из исходных данных задачи для каждой пары игроков х,у еЫ в виде матрицы размера кхк:
b12 •
II b21 •2 2 •2 k
-О 2 -о •• bkk У
где элементы матрицы by(ij = \,k) - выигрыши игрока jc, при выборе игроком .х стратегии i, в игре с игроком у, при выборе игроком у стратегии j.
Согласно [9, 10, 14], характеристическая функция для коалиции S определяет максимальный уверенно получаемый ею выигрыш. Значение характеристической функции можно находить как значение цены матричной игры коалиции S [8, 13, 15, 16]. Но так как рассматривается кооперативная игра и игрокам разрешено действовать совместно, то можно также рассматривать совместно действия коалиции и антикоалиции. В результате чего получаем биматричную игру, заданную матрицами Asp и APs, коалиции ScN и антикоалиции P=N-S={peN,p&S}, которая строится на основании исходных биматричных игр.
При этом выигрыш коалиции S в этой биматричной игре будет равен значению характеристической функции для данной коалиции S, а выигрыш антикоалиции P будет равен значению характеристической функции для данной коалиции P.
т
Матрицы биматричной игры ASP, APS коалиции S в игре с антикоалицией P будут иметь размер:
Г х кп-т,
где к - количество стратегий одного игрока, а m - количество игроков в текущей коалиции S. Такой размер матриц обусловлен тем, что матрицы ASP строятся на основании комбинированных стратегий коалиций S.
Матрицы матричной игры ASP будут иметь следующий вид [12]:
А
БР
а
11
а
12
а
1Г
а
21
\акт1
а
22
а
2кп
а
кт2
а
кткп
, при 0 < т< п,
где агу - выигрыш игроков коалиции 5 в игре с антикоалицией Р, причем г и у - комбинированные стратегии коалиций.
Элемент ау вычисляется по следующему алгоритму:
1) из номера комбинированной стратегии коалиции 8, равного г, отнимают 1 и переводят из десятичной системы счисления в систему счисления по основанию к (количество стратегий каждого игрока) записанную в обратной последовательности, обозначим такую систему счисления как система счисления по основанию к’, получившееся число имеет вид:
О -1)ю =(стст-1 где су+1 (у = 1,т) - стратегия у-го игрока коалиции X
2) из номера комбинированной стратегии антикоалиции Р равного у отнимают 1 и переводят из десятичной системы счисления в систему счисления по основанию к, получившееся число имеет вид:
0 1)10 — (рп—т^п—т—1 —^1 )^'
где с№+1 (\р = 1,п-т) - стратегия и’-го игрока антикоалиции Р.
3) на основании найденных стратегий каждого игрока для игровой ситуации (г, у) находят значение выигрыша коалиции 8 при игре против антикоалиции Р:
а,,
Ъ
ьехсу^вху ,х, уєБ,
схсу
Ъ
схсу
В результате мы получаем биматричную игру, в которой участвуют 2 игрока: коалиция и антикоалиция.
Решение этой биматричной игры позволяет получить значения характеристической функции у(5) и у(Р) для коалиции 5 и антикоалиции Р соответственно. Пусть у первого игрока имеется т стратегий і = 1, 2, ..., т, у второго игрока имеется п стратегий у = 1, 2, ..., п. Выигрыши первого и второго игроков соответственно задаются матрицами:
Ч1 а12 . К а1 Ъ12 . .. ЪщЛ
Л = а 21 2. 2 .. а. £ 2 .. а. , ^ = . Ъ . 2 Ъ 2 2 .. Ъ2п
к,ат\ 2 § а а •• тп ) \Рт\ т 2 Ъ •• тп ;
Вектора вероятностей Х=(Х1, х2,..., хт) И у=(у1, у2,., Уп) применения игроками своих чистых стратегий. Тогда средние выигрыши первого и второго игроков соответственно равны:
т п
Н1( Л Л, У) = Х ИауХгУ]
1=17=1
т п
Н2(В,Х, У^ ЦЪг]ХгУ]
1=1 ]=1
Ситуация равновесия для биматричной игры составляет пару (х, у) таких смешанных стратегий первого и второго игроков, которые удовлетворяют неравенствам:
П
ИауУ]- <НЛАх,у\1 = \,...,т 7=1
т
Т,ЬуХ1
г=1
Учитывая, что вектора х и у являются векторами вероятности, то для определения ситуации равновесия необходимо решить следующую систему:
п
^ауУ^<Н г(Л, х, у),/ = 1,..., т
7= 1
т
Т;ЪЧХ1~Н 2 (В Х, У), 7 = 1,..., П
1= 1 т
Ех= 1
г=1
<
п
£у/=1
7=1
х1 > 0,/ = 1,...,т уу > 0,7 = 1,..., п
Рассмотрим подход к решению полученной биматричной игры. Так как
перебор векторов х и у аналогичны, то рассмотрим его на примере вектора х. Компоненты вектора удовлетворяют уравнению гиперплоскости
т
= 1 и при этом должны оставаться положительными, то есть мы имеем
I-1
область гиперплоскости ограниченную отрезками соединяющие точки пересечения этой плоскости с осями координат. Назовем эти точки V. Радиус-вектора представленные этими точками будут иметь единичную длину, и лежать на осях координат т-мерного пространства.
Для получения всех точек лежащих на гиперплоскости, достаточно интерполировать т-1 не коллинеарных векторов принадлежащих ей:
т-1
1=1
где /, - параметры интерполяции. Причем если /,е[0,1], то точки будут лежать внутри области сформированной векторами ¥^+1-¥1. При этом возникают отрицательные значения первой компоненты. Поэтому при реализации перебора, происходит проверка первой компоненты на отрицательность, и такие вектора отсеиваются.
Таким образом, перебору подлежат т-1 переменная, каждая из которых лежит в диапазоне [0, 1].
Введем обозначения:
П
Ек=Иак]У] ~н 1(Ах,у\к = 1,2,->т
< ;=1
т
Ек=ЛЬКк-т) Х1~Н 2( В, х, у), к = т + 1, т + 2,..., т + П /=1
+ \Ек , Ек> 0 к [0, Ек< 0
В программе вводится функция ошибки, которая выглядит следующим образом:
т+п
е( х, У, А, В)= £Е+к
к=1
В программе перебор происходит в несколько этапов. Задается достаточно большой начальный шаг перебора, вычисляются вектора х и у, для каждой такой пары вычисляется значение функции ошибки. При этом отсеива-
ются точки, в которых эти значения максимально близки к 0. Далее поиск продолжается при значениях параметров tt, лежащих вблизи найденной точки. Так продолжается до тех пор, пока функция ошибки не станет меньше какого-то наперед заданного значения.
Как видно, нахождение значений каждой характеристической функции для каждой пары коалиции и антикоалиции, то есть решение каждой бимат-ричной, независимы и могут выполняться параллельно. Исключение составляет случай, когда в коалицию входят все игроки, в этом случае рассматривается только матричная игра.
3. Заключение
В работе рассмотрен подход к решению задачи нахождения значений характеристической функции кооперативной игры, заданной множеством биматричных игр, с помощью решения биматричных игр взаимодействия каждой пары коалиции и антикоалиции.
ЛИТЕРАТУРА
1. Widger J., Grosu D. Computing Equilibria in Bimatrix Games by Parallel Support Enumeration. In Proceedings of the 2008 international Symposium on Parallel and Distributed Computing (July 01 - 05, 2008). ISPDC. IEEE Computer Society, Washington, DC: 250-256.
2. Widger J., Grosu D. Computing Equilibria in Bimatrix Games by Parallel Vertex Enumeration - Parallel Processing, 2009. ICPP '09. International Conference (22-25 Sept. 2009): 116-123.
3. Widger J., Grosu D. Parallel Computation of Nash Equilibria in N-Player Games, Computational Science and Engineering, IEEE International Conference. 2009: 209-215.
4. Губко М.В. Управление организационными системами с коалиционным взаимодействием участников. М.: ИПУ РАН, 2003. 140 с.
5. Губко М.В., Новиков Д.А. Теория игр в управлении организационными системами. Издание 2. М., 2005. 138 с.
6. Данилов В.И. Лекции по теории игр. М.: Российская экономическая школа, 2002. 140 с.
7. Ермаков В.И., Кривенцова Н.Н., Барбаумов В.Е. Справочник по математике для экономистов: Учебное пособие/ Под ред. проф. В.И. Ермаков. М.: ИНФРА-М, 2007. 464 с.
8. Кириллов А.С. Анализ масштабируемости параллельных алгоритмов решения кооперативной игры. Матер. XII Всероссийской конференции Высокопроизводительные параллельные вычисления на кластерных системах./ Под ред. проф. В.П. Гергеля. Нижний Новгород: Изд-во Нижегородского госуниверситета, 2012: 180-184.
9. Крушевский А.В. Теория игр. Киев.: Вища Школа, 1977. 216 с.
10. Нейман Д., Моргенштерн О. Теория игр и экономическое поведение. М.: Наука, 1970.
11. Нестеренко М.Ю., Кириллов А.С. Разработка высокопроизводительного параллельного алгоритма решения кооперативных игр сведением к биматричным играм. Вестник ОГУ. 2011. 4: 215-218.
12. Нестеренко М.Ю., Кириллов А.С. Разработка и анализ высокопроизводительных параллельных алгоритмов решения кооперативных игр. Вестник ЮУрГУ, серия Математическое моделирование и программирование. 2011. Вып. 8. 17 (234): 92-101.
13. Нестеренко М.Ю., Леонов Д.В., Болгова Е.В., Кириллов А.С. Разработка программно-
го обеспечения для моделирования конкурентного рынка на кластерных системах. Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики. Вып. № 54. Технологии высокопроизводительных вычислений и компьютерного моделирования. 2008: 156-161.
14. Оуэн Г. Теория игр. М.: Мир, 1971. 229 с.
15. Свидетельство о регистрации программы для ЭВМ № 2010614972. Решение кооперативных игр п-игроков с использованием технологии параллельного программирования МР1. Авторы: Нестеренко М.Ю., Кириллов А.С. Зарегистрировано в Реестре программ для ЭВМ 29.07.2010 г.
16. Свидетельство о регистрации программы для ЭВМ № 2012612496, Решение кооперативных игр п-игроков с использованием итерационного алгоритма Брауна-Робинсона с помощью технологии параллельного программирования МР1. Авторы: Кириллов А.С. Зарегистрировано в Реестре программ для ЭВМ 07.03.2012 г.
17. Шеллинг Т. Стратегия конфликта. М.: ИРИСЭН, 2007. 366 с.
Поступила 5.06.2014 г.
(Контактная информация: Нестеренко Максим Юрьевич - д.г.-м.н., зав. лабораторией антропогенеза в водных системах и геодинамики Южного Урала Отдела геоэкологии Оренбургского научного центра УрО РАН, 460014, г. Оренбург, ул. Набережная, 29, а/я 59, тел. (3532) 77-06-60; [email protected].
Кириллов Алексей С. - преподаватель кафедры администрирования информационных систем математического факультета Оренбургского государственного университета, 460018, г. Оренбург, пр. Победы, 13, тел. (3532) 37-25-39, [email protected])