Научная статья на тему 'Разработка и анализ высокопроизводительного параллельного алгоритма решения кооперативных игр сведением к биматричным играм'

Разработка и анализ высокопроизводительного параллельного алгоритма решения кооперативных игр сведением к биматричным играм Текст научной статьи по специальности «Математика»

CC BY
317
62
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕОРИЯ ИГР / КООПЕРАТИВНЫЕ ИГРЫ / БИМАТРИЧНЫЕ ИГРЫ / МАТРИЧНЫЕ ИГРЫ / ИТЕРАТИВНЫЙ АЛГОРИТМ БРАУНА-РОБИНСОН / УСТОЙЧИВОСТЬ / GAME THEORY / COOPERATIVE GAMES / BIMATRIX GAMES / MATRIX GAMES / AN ITERATIVE ALGORITHM BROWN-ROBINSON / STABILITY

Аннотация научной статьи по математике, автор научной работы — Нестеренко Максим Юрьевич, Кириллов А. С.

В работе рассматривается подход к решению вычислительно-сложной задачи построение оптимальной коалиции и распределение выигрыша в кооперативной игре заданной множеством биматричных игр для n игроков с помощью решения биматричных игр и использованием параллельных вычислительных технологий.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Нестеренко Максим Юрьевич, Кириллов А. С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DESIGN AND ANALYSIS OF HIGH-PERFORMANCE PARALLEL ALGORITHM FOR SOLVING COOPERATIVE GAMES REDUCTION TO BIMATRIX GAMES

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.

Текст научной работы на тему «Разработка и анализ высокопроизводительного параллельного алгоритма решения кооперативных игр сведением к биматричным играм»

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

а

а

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

т

Т,ЬуХ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])

i Надоели баннеры? Вы всегда можете отключить рекламу.