Нестеренко М.Ю., Влацкая И.В., Полежаев П.Н.
Оренбургский государственный университет E-mail: mois@mail.osu.ru
ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ РЕШЕНИЯ СТАТИСТИЧЕСКИХ ИГР
В рамках настоящей работе описаны параллельные алгоритмы решения статистических игр двух игроков в условиях полной или стохастической неопределенности. Они основываются на вычислении классических критериев принятия решений. Разработанные алгоритмы экспериментально продемонстрировали свою эффективность и масштабируемость для SMP и кластерных систем.
Ключевые слова: система поддержки принятия решений, неопределенность, теория игр, статистические игры, высокопроизводительные системы.
Введение
Статистические игры двух игроков активно используются для описания экономических процессов, в которых есть две стороны: лицо, принимающее решение, и природа - игрок, действия которого случайны или не носят рациональный характер. Они используются, например, при прогнозировании урожайности в зависимости от погоды и площади посевов, при определении уровня спроса на товар и т. п.
В рамках настоящей работы разработана информационная система поддержки принятия решений в условиях неопределенности на основе игрового моделирования, которая поддерживает возможность решения статистических игр двух игроков с помощью соответствующих созданных параллельных алгоритмов. Их экспериментальное исследование описано в данной статье.
Понятие статистической игры
Статистические игры [1,2, 3] - разновидность некооперативных игр п лиц, в которых как минимум один из игроков, но не все сразу, характеризуется нерациональным случайным поведением. Такой игрок не заинтересован в собственном выигрыше.
В настоящее время наиболее изученным классом являются статистические игры двух игроков (игры с природой), представимые в виде матричной антагонистической игры Г = ({Р1,Р2},[8х,Б2},Л), где Р1 - рационально действующий игрок (статистик), Р2 - природа; = {Х1 ,..,Хт}, Б2 = {01 - их соответ-
ствующие чистые стратегии, Л = {ауу} =— - мат-
у=1,п
рица выигрышей игрока Р1 (обычно считают,
что платит не природа, а некоторое третье лицо).
Вместо матрицы платежей можно также использовать матрицу рисков
R = Ш-
^ V h=1,m j=1,n
где r-j - величина риска статистика, если он выберет стратегию Xl в то время, когда природа воспользуется стратегией 0j (или, как говорят, будет находиться в состоянии 0 j). Под риском следует понимать размер платы за отсутствие информации о состоянии природы (среды).
Матрица рисков R может быть построена по матрице A согласно формуле:
rij = maxakj - ау
к=1,m '
В условиях полной неопределенности, когда нет никакой информации о поведении природы и нет возможности провести эксперимент, могут быть использованы следующие критерии для решения статистической игры без проведения эксперимента в чистых стратегиях:
1. Критерий максимакса (критерий крайнего оптимизма) - выбирается чистая стратегия, которая максимизирует выигрыш игрока в случае, когда природа выберет наилучшую для него стратегию:
M = max max ay (i )
i=1,m j=1,n * ^ '
2. Максиминный критерий Вальда (критерий крайнего пессимизма) - выбирается чистая стратегия, которая максимизирует выигрыш игрока в случае, когда природа выберет наихудшую для него стратегию:
W = max min ay (2)
i =1 ,m j =1 ,n
3. Критерий минимаксного риска Сэвиджа предполагает выбор стратегии, обеспечивающей оптимум:
S = min max rij
i=l,m j=l,n
(3)
4. Критерий пессимизма-оптимизмаГурвица предполагает выбор стратегии по матрице A:
HA = max{X max ay + (1 -X) min aij} (4)
i =1,m j=1,n j=1,n , (4)
где X e [0,1] - коэффициент пессимизма.
5. Критерий безразличия считает, что все состояния природы равновероятны и выбирает ту стратегию, которая максимизирует ожидаемый выигрыш:
1
Z = max{- £ а } . 1=1,m n j=i
(5)
В случае, если для природы известно хотя бы приблизительное распределение вероятностей р(0у) (т. е. в условиях стохастической неопределенности), можно воспользоваться критерием Байеса, который максимизирует ожидаемый выигрыш игрока:
ВА = max £ayp(Qj)
' 1 ■ I . \— •
j=l,n
І =l,
(6)
Параллельные алгоритмы решения статистических игр
Опишем параллельные алгоритмы решения статистических игр, построенные на базе описанных ранее методов.
Алгоритм параллельного вычисление значения критерия максимакса.
Все множество {1,...,т} номеров чистых стратегий ЛПР разбивается на г непустых непересе-кающихся подмножеств 10,11 -1 таких, что:
1.1к - множество номеров чистых стратегий, обрабатываемых к-м процессорным элементом ( к = 0,г-1).
1 = m
r
(r -l).
Каждому процессорному элементу, кроме
1 = m - m
r
последнего, достается по
значении, после-
днему - оставшиеся.
После разбиения {1,...,т} каждый процессорный элемент параллельно находит значение максимакса элементов соответствующих строк матрицы выигрышей Л:
Xк = max max ay
ieIk j=1,m
Причем в переменной i*k запоминается номер чистой стратегии из Ik, при которой достигается максимум X k.
После чего выполняется редукция по операции нахождения максимума, и вычисляется искомое значение:
M = max X k
k=0,r-1 .
i - номер чистой стратегии, при которой достигается максимум M. Данный критерий рекомендует пользователю выбрать ее.
Алгоритмы параллельного вычисления значения максиминного критерия Вальда, критерия пессимизма-оптимизма Гурвица, критерия безразличия и критерия Байеса отличаются от описанного алгоритма параллельного вычисления значения критерия максимакса только формулой получения значения Xk , которая согласуется соответственно с (2), (4), (5) и (6).
Пусть K обозначает текущий, вычисляемый параллельным алгоритмом критерий.
На рисунке 1 приведен параллельный алгоритм поиска оптимальных чистых стратегий статистической игры с помощью любого из описанных выше критериев, адаптированный под SMP-систему с общей памятью.
Вначале создается главный поток, который производит инициализацию памяти и считывает входные данные - матрицу A и ее размеры. Затем он порождает команду потоков, создавая r -1 дополнительных рабочих потоков. Происходит разделение работы между ними путем сбалансированного распределения номеров стратегий ЛПР Ik, после чего каждый поток вычисляет свой частичный максимум X k согласно формуле критерия и определяет i*k. По окончанию вычислений выполняется операция редукции по нахождению максимума, вычисляется значение критерия K и созданные дополнительные потоки после барьерной синхронизации уничтожаются. В конце главный поток определяет эффективную чистую стратегию i* и производит сохранение найденных результатов.
На рисунке 2 изображена схема работы параллельного алгоритма поиска оптимальных чистых стратегий статистической игры с помощью любого из описанных выше критериев, адаптированная под кластерную вычислительную систему.
Поток 0
Инициализация переменных
Чтение п, т, матрицы А Поток 1 Поток г-1
Порождение команды потоков Инициализация потока ... Инициализация потока
Разделение между потоками работы по вычислению критерия К
Определение 10 -предназначенных данному потоку номеров строк А Определение 11 -предназначенных данному потоку номеров строк А Определение 1гЛ -предназначенных данному потоку номеров строк А
Вычисление значений Я0 и г 0 по формуле для критерия К Вычисление значений Л и г 1 по формуле для критерия К Вычисление значения Лч и г г-1 по формуле для критерия К
Редукция по операции нахождения максимума и вычисление К (значения критерия) среди вычисленных потоками Як. Барьерная синхронизация и уничтожение потоков 1... г-1
Определение г
Сохранение полученных результатов
Рисунок 1. Схема параллельного алгоритма поиска оптимальных чистых стратегий статистической игры в условиях полной или стохастической неопределенности для SMP-системы (критерии максимакса, Вальда, пессимизма-оптимизма Гурвица, безразличия и Байеса)
Процесс 0
Процесс 1
Процесс г-1
Инициализация переменных Инициализация переменных ... Инициализация переменных
Чтение п, т, матрицы А Чтение п, т, матрицы А Чтение п, т, матрицы А
Формирование и передача процессом 0 каждому процессу к предназначенного ему множества 1к - номеров чистых стратегий ЛПР для вычисления частичных максимумов Як согласно формуле критерия К
Вычисление частичного максимума Я0 для всех назначенных г е10, определение г*0 Вычисление частичного максимума Я1 для всех назначенных 1е11, определение г*1 ... Вычисление частичного максимума Яг.1 для всех назначенных 1е1г-1, определение г*г-1
Редукция по операции нахождения максимума главным процессом значений Як от всех процессов и вычисление К (значения критерия)
Сбор главным процессом значений 1к от всех процессов
Определение 1 Сохранение полученных результатов
Рисунок 2. Схема параллельного алгоритма поиска оптимальных чистых стратегий статистической игры в условиях полной или стохастической неопределенности для вычислительного кластера (критерии максимакса, Вальда, пессимизма-оптимизма Гурвица, безразличия и Байеса)
В начале создается r процессов, каждый из которых выполняет инициализацию переменных, производит чтение входных данных - матрицы A и ее размеров. После чего процесс 0 (главный процесс) формирует и передает каждому процессу предназначенное для него множество Ik, затем каждый процесс согласно формуле критерия производит вычисление частичного максимума Xk и определяет i*k. По окончанию все процессы передают главному найденные значения Xk для вычисления значения критерия K путем выполнения редукции по операции нахождения максимума. Также процесс 0 собирает ото всех процессов найденные значения ik , затем определяет эффективную чистую стратегию i* и производит сохранение найденных результатов.
Особенностью данной схемы является отсутствие общей для процессов памяти, что ведет к необходимости выполнения точечных и коллективных («gather», «reduce») сетевых операций по передаче сообщений между ними.
Алгоритм параллельного вычисление значения минимаксного критерия Сэвиджа.
В начале множество {1 номеров состо-
яний (чистых стратегий) случайного игрока разбивается на r непустых непересекающихся подмножеств J0 ,J1 ,...,Jr-1 таких, что:
1. Jk - множество номеров состояний, обрабатываемых k-м процессорным элементом ( k = 0,r -1 ).
= = n
r
k = 0,r - 2 и Jr _j| = n -
(r-1).
Каждому процессорному элементу, кроме пос-
леднего, достается по
значении, последне-
му - оставшиеся.
Затем каждый процессорный элемент по матрице А вычисляет столбцы j е Jk матрицы рисков Я, используя формулу:
Гу = тахак] - ау, / = 1, т j е 4 .
к =1, т
Далее все множество {1,...,т} номеров чистых стратегий ЛПР разбивается на г непустых непересекающихся подмножеств 10,11 ,...,1Г-1 таких, что:
1. 1к - множество номеров чистых стратегий, обрабатываемых к-м процессорным элементом ( к = 0 ,г-1).
1 = m
r
(r-1).
Каждому процессорному элементу, кроме пос-
1 = m _ m
r
леднего, достается по
значении, последне-
му - оставшиеся.
После разбиения {0,...,m-1} каждый процессорный элемент параллельно находит значения критерия по формуле
X k = min maxrij
ieIk j =1,n .
Причем в переменной i'k запоминается номер чистой стратегии из 1к, при которой достигается максимум X к.
После чего выполняется редукция по операции нахождения минимума, и вычисляется искомое значение:
S = min Xк
к=0 ,r-1 .
i - номер чистой стратегии, при которой достигается максимум S. Данный критерий рекомендует пользователю выбрать ее.
На рисунках 3 и 4 приведены варианты данного алгоритма, адаптированные под различные архитектуры вычислительных систем. Основное отличие от описанных ранее алгоритмов вычисления остальных критериев заключается в том, что производится параллельное построение матрицы рисков и вычисление окончательного значения критерия основывается на редукции по операции нахождения минимума.
Результаты экспериментального
исследования
Каждая статистическая игра генерировалась 10 раз случайным образом и решалась с помощью соответствующих методов, полученные значения ускорения параллельных реализаций алгоритмов усреднялись.
В качестве SMP-системы рассматривался отдельный узел кластера ОГУ, он представляет собой двухпроцессорную систему с четырьмя ядрами на каждый процессор.
Рассматриваемая кластерная система -часть данного кластера, состоящая их четырех новых (8 ядер на узел) и трех старых узлов (2 ядра на узел), итого максимум 38 ядер.
Для статистических игр в условиях полной неопределенности без проведения эксперимента (максимакса, максиминного критерия Вальда,
критерия пессимизма-оптимизма Гурвица, критерия безразличия и критерия Байеса) задавалась случайная матрица выигрышей А размера тхп, в которой т=п=10000. В силу приблизительно одинакового объема вычислений и общей схемы работы параллельных алгоритмов, вычисляющих данные критерии, рассмотрим только графики зависимости ускорения от количества ядер для критерия максимакса. В тех же системах координат были построены графики ускорения для минимаксного критерия Сэвиджа.
Графики для БМР-системы приведены на рисунке 5, для кластерной системы - на рисунке 6.
Анализ данных графиков показывает, что разработанные параллельные алгоритмы хорошо распараллелены и неплохо масштабируются, так для БМР-систем заметен значительный рост ускорения времени обработки до 5 при увеличении количества ядер до 7, для кластерных систем достигается значения ускорения до 17-18 при количестве узлов порядка 30.
Поток 0
Инициализация
переменных
Чтение п, т, матрицы А
Порождение команды потоков
Поток 1
Поток г-1
Инициализация потока
Инициализация потока
Разделение между потоками работы по вычислению матрицы рисков Я
Определение J0 -предназначенных данному потоку номеров столбцов А Определение J1 -предназначенных данному потоку номеров столбцов А Определение Jг-1 -предназначенных данному потоку номеров столбцов А
В цикле вычисление значений гд для всех г=1..т, д£ J0 В цикле вычисление значений гд для всех г=1..т,де J1 В цикле вычисление значений гд для всех г=1..т, д'е Jг-l
Барьерная синхронизация. Разделение между потоками работы по вычислению критерия Сэвиджа
Определение 10 -предназначенных данному потоку номеров строк Я Определение 11 -предназначенных данному потоку номеров строк Я Определение 1г-1 -предназначенных данному потоку номеров строк Я
Вычисление значений Л0 и 1 0 по формуле для критерия К Вычисление значений Х1 и г 1 по формуле для критерия К Вычисление значения Хг-1 и г г.] по формуле для критерия К
Редукция по операции вычисленных пот гахождения минимума и вычисление значения критерия Сэвиджа среди зками Хъ Барьерная синхронизация и уничтожение потоков 1... г-1
Определение I
Сохранение
полученных
результатов
Рисунок 3. Схема параллельного алгоритма поиска оптимальных чистых стратегий статистической игры в условиях полной неопределенности для 8МР-системы (критерий Сэвиджа)
Процесс 0
Процесс 1
Процесс г-1
Инициализация переменных Инициализация переменных ... Инициализация переменных
Чтение п, т, матрицы А Чтение п, т, матрицы А Чтение п, т, матрицы А
Формирование и передача процессом 0 каждому процессу к предназначенного ему множества ^ - номеров столбцов для вычисления матрицы рисков К
В цикле вычисление значений Гу для всех 1=1..т, уе 30 В цикле вычисление значений Гу для всех 1=1..т, уе 31 ... В цикле вычисление значений Гу для всех 1=1..т, уе Зг-1
Получение каждым процессов вычисленных столбцов матрицы рисков К от всех процессов
Формирование и передача процессом 0 каждому процессу к предназначенного ему 1к - номеров чистых стратегий ЛПР для вычисления частичных минимумов Лк согласно формуле критерия Сэвиджа
Вычисление частичного минимума Ло для всех назначенных 1е10, определение С0 Вычисление частичного минимума Л1 для всех назначенных 1е11, определение Л ... Вычисление частичного минимума Ла для всех назначенных 1е1г-1, определение 1Г-1
Редукция по операции нахождения минимума главным процессом значений Лк от всех процессов и вычисление
значения критерия Сэвиджа
Сбор главным процессом значений і*к от всех процессов
Определение I
Сохранение полученных результатов
Рисунок 4. Схема параллельного алгоритма поиска оптимальных чистых стратегий статистической игры в условиях полной неопределенности для вычислительного кластера (критерий Сэвиджа)
1 2 3 4 5 6 7 8
^ ^ Количество ядер
Рисунок 5. Графики зависимости ускорения параллельных алгоритмов решения статистических игр от количества используемых ядер SMP-системы
1 6 11 16 21 26 31 36
-»-Минимякп Количество вычислительных узлов
^^Сэвиджа
Рисунок 6. Графики зависимости ускорения параллельных алгоритмов решения статистических игр от количества используемых вычислительных узлов кластерной системы
Заключение
Разработаны параллельные алгоритмы решения статистической игры двух игроков в условиях полной (на основе критерия максимакса, критерия Вальда, критерия минимаксного риска Сэвиджа, критерия пессимизма-оптимизма
Гурвица и критерия безразличия) или стохастической неопределенности (критерий Байеса).
Данные алгоритмы экспериментально продемонстрировали свою эффективность и масштабируемость для SMP и кластерных систем.
18.07.2012
Исследования выполнены при поддержке Министерства образования и науки Российской Федерации в рамках реализации ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг. (ГК №14.740.11.0287 и №14.740.11.1256)
Список литературы:
1. Протасов, И.Д. Теория игр и исследование операций. - М.: Гелиос АРВ, 2006. - 368 с.
2. Крушевский, А.В. Теория игр. - Киев: Вища Школа, 1977. - 216 с.
3. Данилов, В.И. Лекции по теории игр. - М.: Российская экономическая школа, 2002. - 140 с.
Сведение об авторах:
Влацкая Ирина Валерьевна, заведующий кафедрой математического обеспечения информационных систем Оренбургского государственного университета, кандидат технических наук, доцент
e-mail: mois@mail.osu.ru Нестеренко Максим Юрьевич, преподаватель кафедры математического обеспечения информационных систем Оренбургского государственного университета, кандидат технических наук,
доцент, e-mail: nesteren@mail.osu.ru Полежаев Петр Николаевич, аспирант кафедры математического обеспечения информационных систем Оренбургского государственного университета 460018, г. Оренбург, пр-т Победы, 13, ауд. 2132, тел. (3532) 372534, e-mail: peter.polezhaev@mail.ru
UDC 519.83; 519.816
Nesterenko M.Yu., Vlatskaya I.V., Polezhaev P.N.
Orenburg state university, e-mail: mois@mail.osu.ru
EXPERIMENTAL RESEARCH OF PARALLEL ALGORITHMS FOR STATISTICAL GAMES SOLUTION
This paper describes parallel algorithms for solution of statistical two players games under condition of full or stochastic uncertainty. They are based on the computation of the classical decision making criteria. Developed algorithms experimentally demonstrated their effectiveness and scalability for SMP and cluster systems.
Key words: decision support system, uncertainty, game theory, statistical games, high performance systems.
Bibliography:
1. Protasov, I.D. Game theory and operations research. - M.: Helios ARV, 2006. - 368 p.
2. Krushevsky, A.V. Game Theory. - Kiev: Vishya Shkola, 1977. - 216 p.
3. Danilov, V.I. Lectures on Game Theory. - M.: Russian Economic School, 2002. - 140 p.