Влацкая И.В., Нестеренко М.Ю., Полежаев П.Н.
Оренбургский государственный университет E-mail: [email protected]; [email protected]
РАЗРАБОТКА СИСТЕМЫ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ В УСЛОВИЯХ НЕОПРЕДЕЛЕННОСТИ НА ОСНОВЕ ИГРОВОГО
МОДЕЛИРОВАНИЯ
В рамках настоящей работы проведен сравнительный анализ существующих подходов к принятию решений в условиях неопределенности, разработана концептуальная модель принятия решений в условиях конфликтных ситуаций, а также предложена архитектура системы поддержки принятия решений в условиях неопределенности на основе игрового моделирования.
Ключевые слова: система поддержки принятия решений, неопределенность, теория игр, некооперативные игры, статистические, кооперативные игры, стохастические игры.
Введение
Возросшие запросы производства и экономики, развитие информационных систем и технологий предъявляют все большие требования к процессу принятия решений и управления в различных областях человеческой деятельности. Особенно остро эта проблема стоит в условиях неполноты или низкого качества исходной информации. При решении таких оптимизационных задач успешно используется теория исследования операций и теория игр.
Аппарат теории игр активно применяется при создании систем поддержки принятия решений. При этом очень актуальна проблема разработки эффективных алгоритмов для поиска оптимальных стратегий в игровых моделях. На практике, с целью минимизации времени отклика и обеспечения интерактивности, требуется, чтобы алгоритмы были способны обрабатывать большое количество информации в режиме реального времени. Это может быть достигнуто путем их распараллеливания для различных архитектур современных вычислительных систем.
Особого внимания заслуживают задачи игрового моделирования в связи со сложностью формализации процесса принятия решений в условиях различных видов неопределенности. Поэтому необходима разработка концептуальной модели принятия решений в условиях конфликтных ситуаций, описывающей взаимодействие конкурирующих механизмов управления и воздействия, случайных факторов с учетом функций выигрышей игроков.
В связи с этим актуальна цель настоящего исследования - разработка концептуальной модели принятия решений в условиях конфликт-
ных ситуаций и ее реализация в рамках системы поддержки принятия решений.
Сравнительный анализ существующих подходов к принятию решений в условиях неопределенности
Существующие информационные системы поддержки принятия решений в условиях неопределенности, как правило, используют неигровые алгоритмы [1,2], например методы анализа иерархий, методы иерархических сетей, теорию нечеткости, теорию полезности, статистические методы и пр., что ограничивает возможность их применения задачами принятия решений только в условиях полной или стохастической неопределенности.
Однако в наши дни в различных социально-экономических сферах деятельности человека часто возникают задачи принятия решений в условиях конфликтов и конкурентной борьбы, когда несколько в общем случае рационально действующих субъектов осуществляют коллективное принятие решений, причем выигрыш каждого зависит не только от выбранной им стратегии, но и от решений других участников и результатов экспериментов. Подобные задачи можно встретить в экономике (например, конкуренция между продавцами схожей группы товаров), политике (конкуренция между политиками, политическими партиями, государствами), социологии (конкуренция за перераспределяемые блага в обществе) и в др. сферах.
Классические методы принятия решений в условиях неопределенности не способны эффективно учитывать существование конкуренции между несколькими ЛПР (лицами, принимающими решение). Теория игр [3-6], напротив, позво-
ляет формировать подходящие теоретико-игровые модели принятия решений, принимающие во внимание все виды неопределенности - стохастическую неопределенность, полную неопределенность, а также неопределенность поведения нескольких активных или пассивных игроков, выступающих в роли соперников или партнеров.
В рамках теории игр существует несколько подходов к принятию решений в условиях конфликтных ситуаций между несколькими игроками: некооперативные игры [3,6], статистические игры [4], кооперативные игры [4,5], стохастические игры [3].
Для сравнения игровых и неигровых подходов к решению задачи принятия решений в условиях неопределенности была составлена таблица 1.
Выбранные критерии, приведенные в первой колонке, отражают наиболее важные аспекты задачи принятия решений - неопределенность, наличие нескольких субъектов и возможность их кооперации.
Неигровые методы принятия решений способны справляться с задачами в условиях полной неопределенности: методы анализа иерархий - за счет парного сравнения альтернатив и критериев, методы нечеткого предпочтения - путем введений нечетких бинарных отношений, методы теории полезности - с помощью получения количественных оценок полезности возможных исходов. Однако данные методы, за исключением последнего, не могут быть непосредственно применены к задачам принятия решений в условиях стохастической неопределенности, а также неопределенности поведения других лиц. Они также учитывают возможность наличия нескольких лиц-экспертов, действующих совместно для принятия общего решения, но при этом подразумевается, что между ними нет эгоистических конфликтных интересов.
Теоретико-игровые подходы, напротив, специально разработаны для решения задач в условиях наличия нескольких игроков -ЛПР, действующих в соответствии с собственными эгоистическими интересами. Исключение составляет только узкий подкласс статистических игр, в котором единственный рациональный игрок противостоит множеству случайных дестабилизирующих факторов в роли других игроков.
Из игровых моделей только кооперативные игры учитывают возможность объединения игроков в коалиции с целью выработки совместных стратегий.
Все теоретико-игровые подходы принимают во внимание неопределенность поведения других участников. Кроме того, стохастические игры и статистические игры специально разработаны для задач со стохастической неопределенностью. Последний класс игр также может быть применен к решению задач в условиях полной неопределенности, в этом случае применяются различные критерии выбора чистых стратегий.
На основании вышеизложенного можно заключить, что методы теории игр лучше всего подходят к целям настоящего исследования. Для задач принятия решений в условиях полной неопределенности - игры с природой (подкласс статистических игр), в условиях стохастической неопределенности - статистические и стохастические игры, в случае отсутствия кооперации игроков - некооперативные игры, а при
Таблица 1. Сравнение основных подходов к решению задачи принятия решений в условиях неопределенности («+» - метод полностью соответствует критерию,
«-» - не удовлетворяет критерию, «+/-» - частично подходит под критерий)
Критерии Методы анализа иерархий Методы нечеткого предпочтения Методы теории полезности Некооперативные игры Статистические игры Кооперативные игры Стохастические игры
Решение задач с полной неопределенностью + + + - +/- - -
Решение задач со стохастической неопределенностью - - + - + - +
Решение задач с неопределенностью поведения других лиц - - - + + + +
Учет наличия нескольких лиц (ЛПР или экспертов) + + + + + + +
Учет наличия нескольких ЛПР с эгоистическими интересами - - - + +/- + +
Учет возможности объединения эгоистичных ЛПР в коалиции - - - - - + -
наличии возможности их объединения в коалиции - кооперативные игры. Также возможны смешанные варианты, например кооперативностатистические игры, объединяющие условия двух данных классов игр.
Тем не менее в рамках настоящего исследования мы сосредоточимся в первую очередь на кооперативных играх, которые обеспечивают наиболее адекватные модели принятия решений в условиях современной экономики и конкурентных рынков [7] , где имеют место тенденции к объединению или совместной координации действий игроков с целью получения большей прибыли - слияние и поглощение компаний, картельные сговоры, монополистические объединения и т. п.
Алгоритмы решения большинства игр имеют экспоненциальную временную сложность, например для кооперативных игр необходимо осуществлять комбинаторный перебор всех возможных коалиций, а также применять симплекс-метод для решения серии задач линейного программирования. Использование параллельных реализаций алгоритмов решения различных игр позволит, во-первых, увеличить размеры задачи (количество игроков, число их стратегий и т. д.), решаемой за то же время, и, во-вторых, значительно сократить время получения результатов, что обеспечивает большую интерактивность системе поддержки принятия решений при взаимодействии с пользователем, а также позволяет использовать решающий модуль в системах реального времени с критичным временем отклика, например в планировщике задач для грид-системы [8].
Поэтому в силу названных причин предлагаемая в данной работе система поддержки принятия решений в условиях неопределенности подразумевает распараллеливание решающих модулей для различных архитектур вычислительных систем - высокопроизводительных кластеров, грид-систем и многопроцессорных систем с общей памятью.
Отношения между
различными классами игр
На рисунке 1 приведены основные классы игр, рассматриваемые в рамках настоящего исследования. Стрелками изображены отношения между ними: пунктирными - включение отдельных классов игр в качестве подклассов в другие
классы игр, непрерывными - возможная сводимость отдельных классов игр к другим классам в процессе решения. Например, стохастические игры сводятся к усеченным рекурсивным играм, которые, в свою очередь, решаются в виде серии матричных игр. Кооперативные игры могут использовать способ задания характеристической функции в виде набора матричных или бимат-ричных игр между всевозможными парами коалиций игроков К против К/К [7], в этом случае для нахождения решения кооперативной игры сначала с целью построения характеристической функции г(К) решается набор соответствующих матричных, биматричных, статистических и других игр, а затем находится вектор Шепли, С-ядро, К-ядро или НМ-решения.
Существует три основные возможности распараллеливания алгоритмов решения различных классов игр:
1. Параллельное решение серии (с учетом зависимостей) или набора независимых игр, к которым сводится данная игра. Например, параллельное решение набора независимых матричных или биматричных игр, к которым сводится кооперативная игра. Другой пример -параллельное решение серии матричных игр с учетом имеющихся зависимостей, к которой сводится рекурсивная игра.
2. Распараллеливание процесса сведения игры к другим играм. Например, параллельное построение матриц для матричных или би-матричных игр, к которым сводится кооперативная игра.
3. Распараллеливание самого метода решения игры. Например, распараллеливание симплекс-метода позволит эффективно решать матричные, а также статистические игры с проведением эксперимента и без него для большого количества стратегий игроков. Другим примером является распараллеливание алгоритма нахождения вектора Шепли, являющегося частью алгоритма решения кооперативной игры.
Концептуальная модель
принятия решений в условиях
конфликтных ситуаций
Рассмотрим задачу принятия решения относительно управления некоторой системой О (см. рисунок 2). Воздействие на нее осуществляется набором устройств управления {р- }г=1п и случайными дестабилизирующими фактора-
ми } j• Каждое устройство управления р реализует управляющее воздействие si е Si, где Si - множество его допустимых значений. Входные параметры si вместе формируют вектор s = (sisn) управляющих воздействий. Аналогично вектор e = (ei,...,en) представляет собой случайные возмущения ( £j е DJe ), вызываемые дестабилизирующими факторами (неуправляемыми и косвенно-управляемыми) {Yj}. Выходные сигналы системы описываются вектором H( s,e) = (H1 (s,£),..., Hn (s,e)) • a = (a1,...,at) определяет воздействия игроков посредством системы на косвенно-управляемые факторы множества {Yj} (компоненты вектора (7k - управляющие воздействия), а I - доступная устройствам управления информация о состоянии дестабилизирующих факторов {Yj}.
Если управляющие механизмы {р} функционируют как единое целое, подчиняясь общей цели максимизации выходных параметров, то в этом случае мы имеем классическую многокритериальную оптимизационную задачу принятия решения:
H (s,e) ^ max, i = l,n,
Isе Si xS2 x...xSn, (!)
|e е Dl£ x D\ x...x Dm.
Причем если дестабилизирующие факторы отсутствуют, то перед нами обычная многокритериальная оптимизационная задача принятия решений в условиях определенности:
Hi (s) ^ max, i = l, n, s е Si xS2 x...xSn, (2)
в противном случае - оптимизационная задача принятия решений в условиях стохастической или полной неопределенности.
Если же управляющие механизмы функционируют в качестве независимых эгоистичных рациональных субъектов, причем каждый из них стремится максимизировать только свой выходной параметр (т. е. р добивается максимизации Hi (s, e), безотносительно к остальным значениям Hj(s,e), j ф i ), то в этом случае мы имеем теоретико-игровую задачу принятия решений.
В случае отсутствия дестабилизирующих факторов {Yj} задача сводится к классической некооперативной игре Gnc = ({р},{Si},{Hi}), когда управляющим механизмам-игрокам запрещено договариваться относительно совместных стратегий, или к кооперативной игре Gc = ({р}, v)), когда им разрешено объединяться в коалиции с целью реализации совместных действий, причем характеристическая функция v : 2{р} ^ R, где 2{р} - булеан (множество все-
Сводимость классов игр ---------► Включение классов игр
Рисунок 1. Отношения между различными классами игр
возможных коалиций игроков), строится на основе частных функций выигрыша Н (л) отдельных игроков. В обоих случаях моделируется принятие решений в условиях неопределенности поведения активного противника или партнера.
В ситуации, когда дестабилизирующие факторы {Yj} нельзя исключить, задача принятия решения сводится к статистической игре О, = ({р},{Yj },{£'},^},Н(л, £ )), если игроки не кооперируются, и к составной кооперативностатистической игре 0с, = ({р },{Yj },{5,. },^£,}, V) в противном случае. В этих играх к неопределенности поведения других игроков добавляется стохастическая неопределенность.
Стохастическая игра может быть описана в виде набора 0,1оЛ = ({р },{0,.},{р(', j, х‘)}), где {0j} - набор игровых элементов, представляющих собой кооперативные, некооперативные, статистические или смешанные варианты игр; {р(', j, х‘)} - вероятности перехода от игрового элемента 0І к элементу 07- при условии реализации ситуации х'.
В рамках настоящей работы планируется реализовать и распараллелить для различных архитектур вычислительных систем алгоритмы решения всех перечисленных классов игр.
Архитектура системы поддержки принятия решений в условиях неопределенности
Оптимальный вариант архитектуры разрабатываемой системы поддержки принятия решений в условиях неопределенности приведен на рисунке 3.
Выделены следующие программные компоненты данной системы:
1. Решающие модули для конкретных архитектур параллельных вычислительных систем - грид-систем, кластеров и БМР-систем
(симметричных многопроцессорных систем с общей памятью). Каждый подобный модуль, представляющий собой параллельную программу, реализует алгоритм решения определенного класса игр и учитывает особенности соответствующей системы: для грид-систем -слабую связность между некоторыми парами исполняющихся многопоточных процессов в силу низкой пропускной способности части сетевых соединений; для кластеров - сильную связность в силу наличия высокопроизводительной сети, а также многопроцессорность вычислительных узлов (используется смешанная модель с многопоточными процессами); для БМР-систем - наличие общей памяти, обеспечивающей эффективный обмен информации между параллельными программными потоками процесса программы.
2. Модуль управления вычислениями, взаимодействуя с управляющими системами параллельной вычислительной техники, занимается запуском и контролем исполнения задач игрового моделирования принятия решений. Реализуется в виде отдельного программного сервиса.
3. Модуль взаимодействия с пользователем содержит удобный дружественный интерфейс работы с ЛПР, обеспечиваемый соответствующими подсистемами постановки задачи игрового моделирования принятия решений и визуализации полученных результатов. Реализуется в виде ШеЬ-приложения.
4. Модуль доставки данных при взаимодействии с сервисами сетевой передачи файлов вычислительной техники обеспечивает загрузку из хранилища данных входных файлов, необходимых решающим модулям, а также сохранение выходных файлов с результатами. Реализуется в виде отдельного программного сервиса.
Рисунок 2. Общая модель принятия решений относительно управления системой О
5. Хранилище данных используется для хранения поставленных задач, параметров управления решающими модулями, текущей управляющей информации, полученных результатов, профилей пользователей системы. Реализуется в виде реляционной СУБД, поддерживающей структурированный язык запросов SQL.
6. Управляющие системы параллельной вычислительной техники обеспечивают все стадии локальной обработки вычислительных задач - их прием, постановку в очередь, планирование, запуск, контроль исполнения и сохранение результатов. Управляющие системы в общем случае представляют собой стандартные
Грид-
системы
і
Вычислительные
кластеры
8МР-системы
Сервис сетевой передачи файлов
і1 ‘ Входные і ! 1 Входные !'
и выходные ) и выходные )
, файлы )! , файлы 11 і
Решающие модули для грид-системы
і Запуск и контроль задачи
г Управляющая система
Сервис сетевой передачи файлов
Решающие модули для вычислительного кластера
Запуск и контроль ,задачи
Управляющая
система
т
Сервис сетевой передачи файлов
Входные и выходные файлы
Решающие модули для 8МР-системы
Запуск и контроль , задачи
Управляющая
система
Запуск и контроль решения задачи
Входные и выходные файлы
/^Модуль
взаимодействия с пользователем
Подсистема постановки задачи игрового моделирования
Подсистема
визуализации
результатов
решения
Модуль
управления
вычислениями
Сведения о передаваемых файлах
Управляющая
информация
Модуль
доставки
данных
Результаты вычислений, состояние задач Хранилище данных
Входные и выходные данные
Центральный сервер
Рисунок 3. Архитектура системы поддержки принятия решений в условиях неопределенности
автономные компоненты, способные параллельно выполнять задачи собственных пользователей вычислительной техники, которые не имеют отношения к данной системе поддержки принятия решений. Примеры подобных систем -Torque, Condor, LSF HPC.
7. Сервисы сетевой передачи файлов являются стандартными компонентами параллельной вычислительной техники и обеспечивают безопасную передачу файлов, необходимых для запускаемых задач, а также получение результатов вычислений. Пример подобного сервиса - демон с поддержкой протокола SFTP.
К числу аппаратных компонент настоящей системы поддержки принятия решений относятся: грид-системы, вычислительные кластеры и SMP-системы с предустановленными соответствующими версиями решающих модулей для различных классов игровых задач; центральный сервер, включающий все основные программные компоненты настоящей системы; компьютеры пользователей-ЛПР с установленными стандартными браузерами. Информационный обмен между данными аппаратными компонентами осуществляется через локальную сеть или сеть Интернет с использованием защищенных протоколов.
Данная декомпозиция архитектуры системы является оптимальной в том плане, что она:
1) учитывает основные классы параллельных вычислительных систем и особенности разработки для них параллельных программ;
2) позволяет при определении спецификаций общих интерфейсов взаимодействия модулей и подсистем вести их независимую разработку отдельными исполнителями;
3) обеспечивает возможность гибкой модификации архитектуры системы, например путем введения решающих модулей для других параллельных вычислительных систем;
4) дает возможность вести постепенную разработку системы, начиная с отдельных модулей;
5) обеспечивает большую управляемость и надежность всей системы.
Типичный пользовательский сценарий работы с данной системой:
1. Формирование решаемой задачи принятия решений в условиях неопределенности.
2. Выбор метода решения задачи.
3. Задание параметров работы решающего модуля (его тип, количество процессов/потоков, ограничения по времени исполнения и т. п.).
4. Запуск процесса решения задачи и ожидание окончания вычислений.
5. Просмотр и анализ полученных результатов.
6. Получение отчета с результатами.
Основные требования, предъявляемые к
системе поддержки принятия решений в условиях неопределенности, - гибкость постановки задачи принятия решений, наглядность представления результатов, надежность функционирования, корректность, производительность и документированность.
Заключение
Выполнена сравнительная оценка методов принятия решений в условиях неопределенности, которая показала преимущество теоретико-игрового подхода, а также необходимость распараллеливания алгоритмов решения различных классов игровых задач. Использование параллельных реализаций алгоритмов позволяет увеличить размеры задач, решаемых за то же время, а также использовать решающий модуль в системах реального времени с критичным временем отклика, например в планировщике задач для грид-системы.
Разработана концептуальная модель принятия решений в условиях конфликтных ситуаций, описывающая взаимодействие конкурирующих механизмов управления и воздействия случайных факторов с учетом функций выигрышей игроков.
Предложена архитектура системы поддержки принятия решений в условиях неопределенности с учетом наличия нескольких специальных решающих модулей для различных архитектур параллельной вычислительной техники.
24.02.2011
Список литературы:
1. Саати, Т.Л. Принятие решений при зависимостях и обратных связях: Аналитические сети. - М.: Издательство ЛКИ, 2008. -360 с.
2. Андрейчиков, А.В. Анализ, синтез, планирование решений в экономике / А.В. Андрейчиков, О.Н. Андрейчикова. — М.: Финансы и статистика, 2004. — 368 с.
3. Крушевский, А.В. Теория игр. - Киев: Вища Школа, 1977. - 216 с.
4. Губко, М.В. Теория игр в управлении организационными системами / М.В. Губко, Д.А. Новиков. - М., 2005. - 138 с.
5. Данилов, В.И. Лекции по теории игр. - М.: Российская экономическая школа, 2002. - 140 с.
6. Протасов, И.Д. Теория игр и исследование операций. - M.: Гелиос АРВ, 2006. - 368 с.
7. Нестеренко, М.Ю. Разработка программного обеспечения для моделирования конкурентного рынка на кластерных системах / М.Ю. Нестеренко, Д.В. Леонов, Е.В. Болгова, А.С. Кириллов // Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, март-апрель, 2008, №54. -СПб.: ГОУ ВПО «СПбГУ ИТМО», 2008. - С. 156-161.
8. Carroll, T.E. Formation of Virtual Organizations in Grids: A Game-Theoretic Approach / T.E. Carroll, D. Grosu // Economic Models and Algorithms for Distributed Systems, Autonomic Systems, 2010, Part I. P. 63-81.
Исследования выполнены при поддержке Министерства образования и науки Российской Федерации в рамках реализации ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг. (государственный контракт №14.740.11.0287).
Сведения об авторах:
Влацкая Ирина Валерьевна, заведующая кафедрой математического обеспечения информационных систем Оренбургского государственного университета, кандидат технических наук, доцент
e-mail: [email protected] Нестеренко Максим Юрьевич, преподаватель кафедры математического обеспечения информационных систем Оренбургского государственного университета, кандидат технических наук, доцент, e-mail: [email protected] Полежаев Петр Николаевич, аспирант кафедры математического обеспечения информационных систем математического факультета Оренбургского государственного университета 460018, г. Оренбург, пр. Победы, 13, ауд. 2132, тел. (3532) 372534, e-mail: [email protected]
UDC 519.83; 519.816
Vlatskaya I.V., Nesterenko M.Yu., Polezhayev P.N.
DEVELOPMENT OF SUPPORT SYSTEMS FOR DECISION-MAKING UNDER UNCERTAINTY BASED ON THE GAMING SIMULATION
In this work, we carried out a comparative analysis of existing approaches to decision making under uncertainty, developed a conceptual model of decision making in conflict situations, as well as proposed the support system for decision-making under uncertainty based on the gaming simulation.
Keywords: decision-making support system, uncertainty, game theory, non-cooperative games, statistics, cooperative games, stochastic games.
Bibliography:
1. Saaty, T.L. Decision-making at dependencies and feedbacks: Analytical networks. - M.: Publishing house LKI, 2008. - 360 p.
2. Andreychikov, A.V. Analysis, synthesis, planning of decisions in economy / A.V. Andreychikov, O.N. Andreychikova. - М: Finance and statistics, 2004. - 368 p.
3. Krushevsky, A.V. Game Theory. - Kiev: Vishya Shkola, 1977. - 216 p.
4. Gubko, M.V. Theory of games in management of organizational systems / M.V. Gubko, D.A. Novikov. - М: 2005. - 138 p.
5. Danilov, V.I. Lectures on Game Theory. - M.: Russian Economic School, 2002. - 140 p.
6. Protasov, I.D. Game theory and operations research. - M.: Helios ARV, 2006. - 368 p.
7. Nesterenko, M.U. The Development of Software for Competitive Market Simulation on Cluster Systems / M.U. Nesterenko, D.V. Leonov, H.V. Bolgova, A.S. Kirillov // Scientific and Technical Bulletin of Saint-Petersburg State University of Information Technologies, Mechanics and Optics», march-april, 2008, №54. - SPb.: «SPbSU ITMO», 2008. - P. 156 - 161.
8. Carroll, T.E. Formation of Virtual Organizations in Grids: A Game-Theoretic Approach / T.E. Carroll, D. Grosu // Economic Models and Algorithms for Distributed Systems, Autonomic Systems, 2010, Part I. P. 63-81.