Многошаговые сетевые игры управления потоками

Сер. 10. 2009. Вып. 4

ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА

УДК 519.837 А. П. Парфенов

МНОГОШАГОВЫЕ СЕТЕВЫЕ ИГРЫ УПРАВЛЕНИЯ ПОТОКАМИ *)

1. Введение. В данной работе рассматриваются динамические сетевые игры с дискретным временем. Построено достаточно общее и конструктивное определение многошаговой сетевой игры. При этом ситуация в игре определена как некоторый обобщенный поток в сети, которым управляют игроки. Определены необходимые и достаточные условия равновесности ситуации в многошаговой сетевой игре.

Сетевые игры, в которых множество состояний игры - это некоторое множество сетей, рассматривались и ранее. Будем называть сетью граф с нагруженными вершинами и дугами, т. е. набор (Ь, М, д, Н), где М С Ь х Ь, д: Ь ^ А, Н: М ^ В. Сети описывают пространственно распределенные объекты, если пространство - дискретное. Как известно, время - это четвертое измерение пространства. Значит, сети также могут описывать пространственно-временные процессы, т. е. развитие объектов, распределенных в пространстве. Полагая время дискретным, получим, что многошаговые сетевые игры моделируют взаимодействие различных целенаправленных агентов в дискретном пространстве-времени.

Существует множество разных определений сетевых игр [1-4]. Их можно обобщить так: сетевая игра - эта игра, в которой каждая ситуация порождает ту или иную сеть, а функция выигрыша определена на некотором множестве сетей. Формально, это набор Г = (I, (Б.

)г£1, О,д,(И) ), где I - конечное множество игроков; Б. - множество

стратегий *-го игрока; Б = ГЪе/ Б. - множество ситуаций; О - некоторое множество сетей; д: Б ^ О - функция, которая каждой ситуации сопоставляет сеть, образующуюся в этой ситуации; И.: О ^ М - функция выигрыша *-го игрока. Этому набору соответствует игра в нормальной форме Г' = (I, (Б.).Е1, (И. о д).Е1).

Можно выделить два основных вида сетевых игр. В сетевых играх координации игроки отождествляются с вершинами сети, а их взаимодействия - с дугами. В работе [1] сетевая игра Г определяется множеством игроков N = {1,...п} и множеством возможных предложений X. С N каждого игрока по образованию связи с другими игроками. Множество предложений *-го игрока можно описать характеристической функцией -вектором х. размерности п, состоящим из нулей и единиц. При взаимном согласии между игроками образуются связи. В результате каждая ситуация х = (х1,...хп) в игре определяет неориентированный граф с множеством вершин N и множеством ребер, которое обусловливается матрицей д = шш(х,хт), где х - матрица, строки

Парфенов Андрей Павлович — соискатель кафедры моделирования социально-экономических систем факультета прикладной математики—процессов управления Санкт-Петербургского государственного университета. Научный руководитель: О. А. Малафеев. Количество опубликованных работ: 11. Научные направления: теория игр, оптимизация, динамические игры, сетевая оптимизация, потоки в сетях. E-mail: parf@bk.ru.

+ ) Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 06-06-80509).

© А. П. Парфенов, 2009

которой - вектора стратегий, а операция min применяется к матрицам поэлементно. Функция выигрыша Hi задана на множестве получающихся в результате графов.

В работе [2] различаются предложения игроков х™ по образованию входящей связи и предложения x°ut по образованию исходящей связи, так что каждая ситуация х = (xln,xout) определяет ориентированный граф с множеством дуг g = min(xln ,xout). Рассматривались и некоторые сетевые игры на ориентированных графах, в которых имеют значение не двойные связи, а соединения игроков в тройки, четверки и т. п. [3]. Однако такие соединения сводились в [3] к множествам двойных связей, а подобные игры - к сетевым играм.

Кроме того, ранее рассматривались сетевые игры управления статическими потоками в сетях [4]. Они определяются иначе, чем в работах [1, 2]: каждому игроку i соответствует поток gi в сети, которым он управляет. Таким образом, поток не может связывать игроков между собой. В данном случае сеть зависит не только от множества вершин и ребер, но и от потока, т. е. от параметров ребер. Функция выигрыша Hi задана на множестве сетей. Ранее рассматривались и некоторые частные случаи определения, данного в [4], связанные с парадоксом Браесса, равновесием Вордропа и т. п. [5].

Формально, позиционные игры с дискретным временем [6] также подпадают под данное выше общее определение сетевой игры. Таким образом, оно оказывается слишком общим и неконструктивным. Задача работы - конкретизировать его и найти связь между различными классами сетевых игр.

В п. 2 и 3 приведен ряд определений: параметрической сетевой игры, групповой сетевой игры без совместных вершин, общей групповой сетевой игры, многошаговой сетевой игры. Каждое следующее определение опирается на предыдущие и обобщает их. При этом каждый раз оказывается, что более общую и сложную игру можно свести к более частной и простой.

Определение многошаговой сетевой игры обобщает известные определения статических сетевых игр [1, 2, 4] и многошаговых игр с одновременными ходами игроков (см., например, [6]). Многошаговую сетевую игру целесообразно рассмотреть как игру управления потоками, в которой игроки, которым принадлежат определенные вершины и дуги сети, управляют потоками в сети с целью их оптимизации. Построен алгоритм нахождения всех равновесий в конечной игре с помощью графа, развернутого во времени. Доказана теорема о необходимых и достаточных условиях равновесности по Нэшу в многошаговой сетевой игре управления потоком, позволяющая свести задачу нахождения равновесия к конечному набору максиминных задач оптимизации динамического потока.

2. Статические сетевые игры. Определение параметрической сетевой игры обобщает ранее дававшиеся определения сетевой игры, в которых возникает ориентированный [2] или неориентированный [1] граф.

Определение 1. Параметрическая сетевая игра - это сетевая игра Г^м =

(N, ((Si )i^N, (Mij^ij^N, (Mi(si))i^N,Si^Si ^ G, g, (Hi^i^N), где

• N = \1,...n\ - множество игроков;

• Si - абстрактное множество состояний i-го игрока;

• Mj - множество состояний связи между i-м и j-м игроками, являющееся нижней полурешеткой с нулем (т. е. для каждой пары a,b G Mj определен инфимум inf(a, b) G Mij);

• Mi(si) - множество возможных функций (векторов) mi: {1,. ..i — 1,i + 1,...n} ^ Mi., описывающих возможные связи i игрока с другими игроками;

• етратегия i-го игрока- это набор xi = (si G Si, mi: {1,...i — 1,i+ 1,...n}^ Mi) такой, что mi G Mi(si);

• сеть g(x) G G(S, M) определяется по формуле

g(x) = inf(x, xT),

где x - матрица, строки которой - стратегии игроков (на диагонали стоят состояния игроков), а inf - поэлементная операция над матрицами.

Можно интерпретировать параметрическую сетевую игру так. Игрок определяет свое состояние, игроков, с которыми он хочет связаться, и состояния соответствующих ребер. Каждая ситуация в игре порождает граф с нагруженными вершинами и ребрами. Каждая вершина i нагружена состоянием si i-го игрока. Если игрок i выбирает элемент стратегии mi(j) по соединению с игроком j, а игрок j - элемент стратегии mj (i) по соединению с игроком i, то в графе появляется ребро (i,j) тогда и только тогда, когда inf(mi(j), mj(i)) = 0. При этом ребро нагружено соответствующим значением mj = inf(mi(j),mj(i)). Если же inf(mi(j),mj(i)) = 0, то в графе нет ребра (i,j) (или можно считать, что оно есть и нагружено нулем).

В случае, когда |Si| = 1, Mi,j = {0,1}, параметрические сетевые игры изоморфны сетевым играм с неориентированным графом [1] (изоморфизм понимаем как биекцию стратегий, сохраняющую значения выигрышей). В случае, когда Mi,j = {0,1} х {0,1}, они изоморфны сетевым играм с ориентированным графом [2]. В случае, когда Mj = {0}, они изоморфны играм в нормальной форме. Таким образом, параметрические сетевые игры - обобщение трех указанных классов игр.

Замечание 1. Параметрическую сетевую игру можно интерпретировать как сетевую игру на мультиграфе и псевдографе с произвольной кратностью ребер. Действительно, каждая полурешетка Mij С ПкеР. . {0,1} изоморфна подпрямому произведению двухэлементных полурешеток по множеству ребер Pitj между вершинами i и j. Кроме того, поскольку на связи между игроками i и j могут быть наложены ограничения, в общем случае они выбирают элементы из подпрямого произведения двухэлементных полурешеток, каждую из которых можно интерпретировать как выбор игроком связи по соответствующему ребру. Аналогично, каждое множество состояний Si можно интерпретировать как подпрямое произведение двухэлементных множеств -связей игрока с самим собой.

Определение 2. Будем называть параметрическую сетевую игру игрой согласия, если из xi G Xi (xi = (mu,. ..si,... min)) и xi ^ xi (в смысле естественного частичного

порядка на полурешетках) следует xi G Xi.

То есть, если игрок i имеет право предложить игроку j образовать связь с большими параметрами, то он имеет право предложить образовать связь с меньшими параметрами.

Пример 1. Пусть имеются 2 игрока: N = {1, 2}, причем |Si| = 1 и Mi2 = M2i = {1, 2}. Таким образом, каждый игрок может предложить другому связь по 1-му варианту, либо по 2-му, либо отказаться от каких-либо предложений. Пусть при необ-разовании связи игроки получают нулевой выигрыш, при связи по 1-му варианту больше выигрывает 1-й игрок, по 2-му варианту - 2-й. Исключив неинтересные доминируемые стратегии, в которых один или оба игрока не хотят образовывать сеть,

получаем биматричную игру, изоморфную игре с матрицей (A, B) =

Это так называемая игра «семейный спор» [7].

Поскольку параметрическая сетевая игра изоморфна некоторой непараметрической сетевой игре, на нее можно без изменений перенести определения сети, стабильной (равновесной) по Нэшу [2]. Будет также верно утверждение о равновесных ситуациях в сетевой игре.

Утверждение 1. Если в параметрической игре согласия ситуация x является равновесием Нэша и приводит к результирующей сети g = inf(x,xT), то ситуация x', в которой x' = x'T = g, также будет равновесием Нэша.

Определение 3. В параметрической игре согласия сеть g G G(S,M) стабильна по Нэшу, если ситуация, в которой x' = x'T = g, является равновесием Нэша.

Также верно утверждение о максимине, обобщающее аналогичное утверждение для сетевой игры, ранее доказанное автором [8].

Утверждение 2. В конечной параметрической игре согласия для любого i существует такая максиминная стратегия игрока i, что для любого ребра (i,j) такого, что j = i, будет mj = 0 (игрок i изолирован от остальных).

Доказательство. Рассмотрим, для простоты, максимин при фиксированном внутреннем состоянии игрока i. Максимин по всем стратегиям игрока i равен максимальному из максиминов по каждому внутреннему состоянию. Поэтому, если окажется, что для максимина при каждом состоянии выполняется утверждение, то оно выполняется и для «общего» максимина.

Пусть максиминная стратегия i-го игрока - xi, и ей соответствует ситуация (xi, x_i). При этом получается сеть, в которой набор ребер, связанных с игроком i, имеет значение mi = (mj)j=i. Если при уменьшении параметров для некоторого набора ребер (i,j) выигрыш игрока i снизится, ситуацию нельзя считать максиминной, поскольку тогда соответствующие игроки j могут одновременно уменьшить параметры для этих ребер (что возможно, поскольку рассматривается игра согласия), так что выигрыш игрока станет меньше.

Предположим теперь, что при уменьшении игроком i параметров mi получится ситуация (xi,x-i) такая, что выигрыш игрока увеличится: Hi(x'i,x_i) > Hi(xi,x_i). При этом стратегия xi отличается от стратегии xi только тем, что параметры ребер mi < mi ^ xi < xi.

Поскольку исходная ситуация была максиминной, это значит, что ситуация (xi, x_i) не доставляет минимум Hi по стратегиям остальных игроков x_i (если бы она доставляла минимум, возникло бы противоречие с максиминностью отличной от нее ситуации (xi,x_i)). Рассмотрим тогда набор стратегий x'_i = x_i, который доставляет соответствующий минимум Hi(xi,x'_i) < Hi(xi,x_i). Паре стратегий (xi,x/_i) отвечает сеть с параметрами ребер inf^i^^i) = m". Отсюда, по свойствам нижней полурешетки, mi = inf(xi, x'_i).

Поскольку внутреннее состояние игрока i фиксировано, получаем Hi(xi,xJ_i) = Hi(x'i,x/_i). Отсюда вытекают соотношения

Hi(xi,x_i) < Hi(xH,x_i) = Hi(x'i, x_i) < Hi(xi,x_i).

Но (xi,x_i) и (xi,x/_i) - ситуации, в которых достигается минимум. Это значит, что можно перейти к ситуации (xi, x'_i), в которой параметры ребер (i,j) будут меньше, и она также будет максиминной.

(2, 1) (0, 0)\ \(0, 0) (1, 2) .

Итак, выигрыш игрока при уменьшении параметров некоторых ребер (г,]) не может снизиться, а если он может увеличиться, то можно перейти к новой максимин-ной ситуации, в которой параметры ребер (г,]) оказываются меньше. Поскольку игра конечна, повторяя этот процесс, рано или поздно получим ситуацию, в которой, какие бы мы параметры ребер не уменьшали, выигрыш останется неизменным. Значит, поскольку это игра согласия, можно удалить все ребра (г,]) и, рассуждая, как выше, получим некую максиминную ситуацию (х.,х'_.), в которой нет ребер между г и N \ {г}.

Так же, как и для непараметрических сетевых игр [8], в параметрических сетевых играх можно найти перебором сетей и стратегий:

• Равновесия. Находим все стабильные сети перебором сетей и для каждой сети - отклоняющихся стратегий за время 0(\0(Б,М )\(Б \ Ц. \М.\\ +  + IБп^ Г1 ^ \М]П\)). Исходя из утверждения 1, добавляя к стабильной сети д те или иные компоненты стратегий, чтобы было шт(х, хт) = д, можно получить все равновесия.

• Максиминные стратегии г-го игрока - перебором всех сетей, в которых г-й игрок изолирован, за время 0(\0(Б, М)\).

В сетевых играх координации множество N игроков (управляющих объектов) и множество Ь вершин графа (управляемых объектов) совпадают. В реальных распределенных в пространстве многоагентных системах они не всегда совпадают. Разделив их, получим групповые сетевые игры. Возможны два класса групповых сетевых игр. Более простой класс - групповые игры без совместных вершин, в которых один игрок может управлять несколькими вершинами, но одной вершиной не могут управлять несколько игроков.

Определение 4. Групповая сетевая игра без совместных вершин - это сетевая игра N, ((Ь, М), I, (Х.).еК), О, д, (И.).еК), где

• (Ь, М) - мультиграф игры (Ь - множество вершин графа, М - множество дуг, М - множество ребер). Будем обозначать М(а, Ъ) - множество дуг между а и 6, М(А, В) - множество дуг между вершинами из подмножеств А и В;

• I: Ь ^ N - функция, сопоставляющая каждой вершине графа игрока, управляющего этой вершиной;

• X. С X0 - множество стратегий г-го игрока, где X0 = Х^хЬ х X¡nt, где Х^хЬ =

2м(1 (г),ь\1 (*)) - множество всех возможных предложений г-го игрока по соединению его вершин с вершинами других игроков, X™1 = 2м(1 (г)’1 (г)) - множество

всех «внутренних» соединений (связей) между вершинами г-го игрока. Соответственно X. С 2м(1-1(.)’Ь), X = ПXi С 2м(ь’ь) - множество ситуаций в игре, которое можно, по аналогии с обычной сетевой игрой, представить матрицей (только игроки уже определяют не строки, а группы строк);

• д(х) = шш(х, хт), как и в обычной сетевой игре.

Групповую сетевую игру можно рассматривать как сетевую игру на агрегированном иерархическом мультиграфе, т. е. изоморфную параметрическую сетевую игру, в которой

• N - множество вершин графа, которое просто совпадает с множеством игроков;

• т.. = У 1(.)=1(к)=. М(], к), Б. = О^™1) - множество состояний г-го игрока, т. е. подсетей, порожденных вершинами 1-1(г);

• т. = |_|Е1-1(.) з'е—1(з) М(г',]'), М. = 2Ш€^ - множество состояний связей между игроками г и ], т. е. множеств дуг или «агрегированных дуг» между

множествами вершин игроков г и ], с естественной структурой нижней полурешетки на множествах;

• ситуация х порождает сеть д'(х) = А(д(х)), где А - операция агрегирования графа, соответствующего распределению вершин по игрокам - все вершины, принадлежащие одному игроку, объединяются.

Пример 2. Многошаговая игра на дереве [9] - это групповая сетевая игра, в которой фиксирована некоторая вершина - начальная позиция (корень). Стратегия игрока состоит в том, что в каждой вершине он выбирает одну и только одну исходящую из вершины дугу, если исходящие дуги существуют. В поочередных играх с неполной информацией [7, 10] наложены ограничения на выбор исходящих дуг, связывающие выборы игрока в разных вершинах: существуют некоторые эквивалентности вершин (информационные множества) и изоморфизмы исходящих дуг, так что игрок обязан выбирать изоморфные дуги. Ситуация в игре порождает единственный путь из начальной позиции, который и определяет исход игры. Поскольку на каждую дугу влияет только один игрок, такая игра не является игрой согласия - скорее, она ее противоположность.

Аналогично можно определить параметрические групповые игры. Их можно свести к параметрическим играм.

Определение 5. Общая групповая сетевая игра - это сетевая игра N, ((Ь,М),р, (X.)гем),О,д, (Иг)г£н), где множество игроков N и мультиграф (Ь,М) определяются, как в групповой игре без совместных вершин; р С Ь х М - двуместное отношение, показывающее, какие игроки участвуют в управлении какими вершинами; X. С X0, О(X) С 2м(ь,ь\ О(X),д определяются, как в параметрической групповой игре без совместных вершин.

Замечание 2. В такой игре между вершинами а и Ь, которыми управляют несколько игроков, может быть несколько «параллельных» соединений. В частности, если вершиной а управляет т игроков, в вершиной Ь - п игроков, то между вершинами может быть тп параллельных соединений. В их число входят и соединения между вершинами одного игрока.

Общую групповую игру можно свести к групповой игре без совместных вершин, если «размножить» вершины: каждую вершину а, управляемую игроками г\,... гк, превратить в к вершин (а, гх),..., (а, гк). Групповую игру без совместных вершин, в свою очередь, можно свести к параметрической игре. Таким образом, дуги сети в общей групповой игре делятся на следующие классы:

1. Дуги взаимодействия Мр между разными игроками г и ] соединяют вершины игрока г с вершинами игрока ]. Они сохраняются и сливаются в одну дугу (г,]) при преобразовании игры в негрупповую параметрическую игру.

2. Структурные дуги М3, принадлежащие игроку г, соединяют между собой вершины игрока г. Они исчезают при преобразовании игры в негрупповую параметрическую игру.

Таким образом, многошаговая игра с позиционными стратегиями, в которой могут ходить одновременно несколько игроков [6], - это частный случай общей групповой игры.

Рассмотрим теперь групповые игры управления потоками.

Определение 6. Будем называть обобщенным потоком в сети (Ь, М) такую функцию д: М ^ Р на дугах, принимающую значения из произвольного множества Р(т) для каждой дуги т € М, что для каждой вершины сети I € Ь выполняются некоторые соотношения типа Рт(д(а\, I),..., д(а., I)) = /0иЬ(д(1, Ь\),..., д(1, Ь.)),

где /п, /и1 - произвольные функции; а1,...,а^ = Г-(I) - вершины входящих в I дуг;

2 = Г+(1) - вершины выходящих из I дуг.

Определение 7. Групповая игра управления потоком - это общая групповая параметрическая игра, в которой каждый игрок управляет каждой вершиной, нет взаимодействия между разными игроками, а множество стратегий Si игрока г - это множество обобщенных потоков в сети.

Таким образом, в групповой игре управления потоком игроки независимо друг от друга пускают по сети параллельные потоки д1,...дп и получают выигрыш, зависящий от результирующего потока д. Например, игра управления классическим потоком в сети без пропускных способностей с нелинейной функцией стоимости принадлежит к этому классу игр [4]. В групповой игре управления потоком все дуги сети - «структурные», нет дуг, определяющих взаимодействие между игроками. Это значит, что при преобразовании игры в параметрическую сетевую игру сеть превратится просто в набор изолированных вершин игроков, а игра - в произвольную игру в нормальной форме.

Требование отсутствия взаимодействий между игроками возникает потому, что иначе независимость стратегий игроков не позволяет выполнить условия потока.

Пример 3. Пусть имеются 3 вершины и 3 игрока, которые полностью управляют соответственно вершинами 1, 2, 3. Пусть в графе возможны только дуги (1, 2) (2, 3), через которые течет классический поток д, удовлетворяющий условию д(1, 2) = д(2, 3) (сколько втекает в вершину - столько из нее и вытекает). Тогда для стратегий в!, (в1., 2), вз соответственно первого, второго и третьего игрока, определяющих неотрицательное значение потока в дугах, должно выполняться условие

шт(в1, в-2) = шт(в2, в3).

Очевидно, независимость стратегий игроков и это условие не противоречат друг другу только в том случае, когда для любых стратегий в1! = в! ^ в1,вз. Но тогда значение потока в сети полностью определяет 2-й игрок и реального взаимодействия с другими игроками нет. Аналогично, и в более сложных случаях в статической сетевой игре взаимодействие игроков невозможно, поскольку они не могут договориться заранее о соблюдении условий потока. Как мы увидим дальше, ситуация меняется в динамической игре, где игрок, ходящий раньше, может навязать определенное значение потока игроку, ходящему позже.

3. Динамические сетевые игры. Пусть задано конечное множество моментов времени: Т = {1, 2,...т}. В динамической сетевой игре множество состояний игры (пространство игры) - это множество сетей О. Примем, для простоты, следующие предположения:

1. Множество вершин Ь не зависит от выбора сети из О. Это предположение не умаляет общности, поскольку всегда можно переименованием вершин и добавлением «фиктивных» вершин (с единственным состоянием, не связанных с другими вершинами) добиться, чтобы множества вершин у всех сетей совпали.

2. Отношение управления р одно и то же для всех сетей. Это предположение также не умаляет общности, поскольку всегда можно считать, что каждый игрок управляет каждой вершиной - просто некоторые множества управления состоят из 1 элемента.

3. Множество связей между Мгс2ь(ва, вь) между вершинами а, Ъ игроков г и ] зависит только от состояний вершин а, Ъ и не зависит от состояний других вершин. Это также вполне естественное предположение.

Тогда можно дать такое определение многошаговой сетевой игры, обобщающее определение многошаговой игры с одновременными ходами игроков [6]:

Определение 8. Многошаговая сетевая игра - это набор

^, ^, M), (si)iEN, leL, p,T, (Ms, Mp, Md), (Uj(g,t))jEN, gEG, teT, (h(g,t,u))geG,teT,ueU(g,t), (Hi(g,t)) geG, ieN, teT),

где множество игроков N, мультиграф (L, M), множество управлений каждого игрока каждой вершиной (si)ieN, leL и отношение управления р определяются так же, как в статической сетевой игре, и, кроме того:

• T = {1,... m} - множество моментов времени;

• M = Ms U Mp U Md - деление дуг сети на три группы: структурные дуги Ms, дуги взаимодействия Mp и динамические дуги Md (в сети есть динамическая дуга (a, b), если игроки, управляющие вершиной а, могут, влияя на ее состояние, менять состояние вершины b);

• Uj (g,t) - управление каждого игрока j каждой сетью g в каждый момент времени t, которое состоит из управлений игрока вершинами и структурными дугами:

Uj(g,t) = ПLj(g,l,t) х П MS(sj(a),sj(b),t),

leL (a,b)eM

где управление вершиной l делится на три группы:

Lj(g,l,t) = Sj((g(x,l,t)){x,i]eMs, (g(x,l,t - 1))(x,i)eMp, (g(x,l,t - 1))(x,i)eMd)x xMp (sj(l),t)x xMd (sj(l),t);

• сеть g(t) в момент времени t имеет состояния вершин (s.i(t) = П p(i j) sj (t)), состояния дуг Ms, Mp, которые находятся так же, как в статической сетевой игре, и состояния динамических дуг Md, определяемые третьими компонентами управлений игроков;

• h(g, t, u) = Пx€l hx((my)yeMd( ,x), t) - функция перехода, по которой состояния вершин L в момент времени t +1 зависят от состояний входящих в эти вершины динамических дуг Md в момент времени t;

• Hi(g,t) - интегральная функция выигрыша i-го игрока, заданная на множестве

сетей в каждый момент времени. То есть общий выигрыш равен Hi(s, ms, mp, md) = Hi(g(1), 1) + Hi(g(2), 2)+---+ Hi(g(m), m).

Если не учитывать структурных ребер, интерпретация игры очень проста: игрок выбирает состояние каждой вершины, зависящее от ребер взаимодействия и динамических дуг, связанных с вершиной в предыдущий момент времени. После этого он уже выбирает состояния ребер взаимодействия и динамических дуг, зависящие от выбранных им состояний вершин. Для структурных ребер состояния вершин и дуг игрока зависят друг от друга в один и тот же момент времени. Иначе говоря, игрок в каждый момент времени определяет глобально согласованный статический поток в сети. Впрочем, как и в статической групповой игре, в динамической можно разделить совместно управляемые вершины и слить вершины, управляемые разными игроками. В результате множество вершин будет совпадать с множеством игроков, а структурные ребра Ms исчезнут. Далее, если не оговорено обратное, будем считать, что такое упрощение произведено.

Напомним, что в многошаговой игре стратегия игрока - это управление и € и. (д, Ь), заданное для каждой сети д и каждого момента времени Ь. Каждый набор стратегий в игре в развернутой форме определяет партию - т. е. последовательность состояний сети. Партию можно изобразить графом дг, развернутым во времени, т. е. графом, в котором множество вершин Ь х Б, множество дуг типа ((а,Ь)., (Ь,Ь).), где (а,Ь) € М. и множество динамических дуг типа ((а,Ь), (Ь,Ь + 1)), где (а,Ь) € М = Мр и М^. Подыгре в развернутой форме, начинающейся с позиции х в момент времени Ь, соответствует подграф, развернутый во времени, состоящий из всех путей, ведущих из вершины (х,Ь). И наоборот:

Утверждение 3. Для каждой развернутой во времени сети дг, в которой зависимость состояния каждой вершины от состояний входящих дуг соблюдается, существует партия в динамической сетевой игре, порождающая эту сеть.

Доказательство. Доказывается индукцией по времени.

Замечание 3. Не нужно путать развернутую во времени сеть дг с деревом многошаговой игры. В сети дг рассматривается только одна партия. Задавая различные состояния ее вершин и дуг, можно получать различные партии игры. В дереве игры рассматриваются все возможные партии, но без учета сетевой структуры игры.

Замечание 4. Вообще говоря, состояние вершины I в момент времени Ь + 1 не обязано зависеть от состояния той же вершины в момент времени Ь. Такая зависимость есть только в том случае, если в этой вершине есть динамическая дуга-петля.

Пример 4. Рассмотрим сетевую игру, пространство которой - одномерный путь (Ь, М) = (а,1, а,2,... ат), все дуги в котором - динамические. Пусть каждая вершина может находиться в 2 состояниях: «включено» и «выключено», причем вершина а. в момент Ь включена тогда и только тогда, когда включена вершина а.^1 в момент времени Ь — 1. Такая игра моделирует движение объектов слева направо со скоростью 1.

Замечание 5. Данное определение динамической сетевой игры позволяет по-новому взглянуть на игры с разделенными динамиками [10] и иерархические [7].

Игра с разделенными дина,мика,ми - это многошаговая сетевая игра, в которой вершины разных игроков не взаимодействуют между собой. Данное определение легко обобщить на игры с множеством разделенных и общих динамик, некоторым образом зависящих друг от друга.

Иерархическая сетевая игра из п уровней - это просто многошаговая сетевая игра, в которой множество игроков I делится на подмножества А\ и Ач и    иАп = I - уровни, причем

• горизонтальные дуги Мр соединяют только игроков одного уровня;

• динамические дуги Мл идут только от предыдущего (г-го) уровня к последующему ((г + 1)-му). Таким образом, сеть распадается на п сетей, последовательно соединенных динамическими дугами;

• выигрыш игрока г-го уровня зависит только от состояния г-й сети и последующих сетей.

Обычная иерархическая игра [7] - это сетевая иерархическая игра, в которой нет дуг Мр, а есть только динамические дуги М^, соединяющие между собой разные уровни. Кроме того, выигрыши игроков подчиненных уровней могут быть независимы. Это значит, что в соответствующих подыграх в развернутой форме проще находить равновесия.

Другой пример иерахической игры - организационная система [2], состоящая из управляющего органа - центра и п управляемых субъектов - агентов.

Определение 9. Динамическая игра управления потоком - это многошаговая сетевая игра, в которой нет дуг взаимодействия между игроками: Мр = 0.

Таким образом, дуги в такой игре делятся на две группы: дуги Мр. для каждого игрока в каждый момент времени, задающие статический поток данного игрока в каждый момент времени, и дуги Мл, задающие динамический поток (общий для всех игроков). В общем случае статические потоки и динамический поток зависят друг от друга.

Как и в любой конечной игре, в конечной сетевой игре существует максиминная (осторожная) стратегия любого игрока. Оказывается, для динамической сетевой игры верно свойство максимина, аналогичное свойству максимина в статической игре:

Утверждение 4. В многошаговой сетевой игре согласия существует такая мак-симинная стратегия г-го игрока, в которой нет дуг из множества Мр, соединяющих г-го игрока с остальными. При этом остальные игроки согласуют свои интересы, т. е. параметры любой дуги (], к) € Мр совпадают с соответствующими стратегиями игроков ], к.

Д о к а з а т е л ь с т в о. Максимин для игрока г в многошаговой игре - динамически устойчивый принцип оптимальности. При этом всегда существует максимин, удовлетворяющий рекуррентным соотношениям динамического программирования [9]. Докажем теперь по индукции по числу моментов времени, что существует максимин, изолирующий игрока г, в котором остальные игроки согласуют свои действия.

База индукции очевидна - на последнем шаге разыгрывается статическая игра, для которой есть изолирующий максимин по доказанному ранее утверждению 2. Если для игры длиной к шагов существует изолирующий максимин, то для игры длиной к + 1 шаг — максимин, который по рекуррентным соотношениям динамического программирования сводится к максиминному выбору на первом шаге игры из к шагов. Такой максимин можно выбрать изолирующим по свойству статической игры, в последующей игре из к шагов он также будет изолирующим по индукционному предположению.

Таким образом, в многошаговой сетевой игре для каждого игрока г существует мак-симинная ситуация, в которой множество Мр дуг взаимодействия г с другими игроками пусто. Более того, для остальных игроков дуги Мр имеют такое свойство: для любой дуги (г,]) € Мр можно выбрать максиминные стратегии в.(],Ь) = в.(г,Ь) = в.(Ь), при этом состояние вершин в.(Ь +1), в.(Ь +1) в следующий момент времени определяется состоянием двух дуг в.(Ь) = в.(Ь). Таким образом, каждая дуга взаимодействия игроков эквивалентна одной структурной дуге и двум динамическим. Это значит, что при нахождении максиминной стратегии множество Мр можно устранить и решать максиминную задачу оптимизации динамического потока и семейства статических.

Равновесие по Нэшу в динамической сетевой игре так же, как и в статической, обладает свойством согласовывать стратегии игроков.

Утверждение 5. Для каждой равновесной по Нэшу ситуации в в динамической сетевой игре для каждой дуги (г,]) € Мр со стратегиями в.],Ь), в.(г,Ь) ситуация в', в которой в.(]) = в.(г) = т.(Ь) = ^(в.]^), в.(г,Ь)), также является равновесием.

Д о к а з а т е л ь с т в о. Аналогично доказательству утверждения для статической игры: поскольку рассматриваются дуги из Мр, то заменив стратегии обоих игроков г,] на одну стратегию в.(Ь) = т((в.(],Ь),в.(г,Ь)), мы не изменим партию и только можем уменьшить возможности игроков на каждом шаге. Следовательно, равновесная ситуация останется равновесной.

Определение 10. Согласованное равновесие - это ситуация в', в которой в.(]) = в.(г) = т.(Ь) = т((в.(],Ь), в.(г,Ь)) (как и в утверждении 1 для статической игры).

В многошаговой игре все ситуации равновесия обладают следующим свойством [10]: ситуация в, ведущая к траектории р и выигрышам Н, равновесна, если отклонение каждого игрока г от траектории р в каждой позиции (х, Ь) ведет к подыгре в развернутой форме, в которой его максиминный выигрыш не больше Н.. Отсюда и следует основная теорема:

Теорема (необходимые и достаточные условия равновесия). Пусть ситуация в в динамической сетевой игре порождает партию р, развернутый во времени граф (Ь х Т, (М\, М2,... Мт)) и выигрыши (Н.).е^. Ситуация в - согласованное равновесие тогда и только тогда, когда любое отклонение каждого игрока г от траектории р в каждой позиции (х, Ь) порождает сеть (Ь х{Ь,Ь +1,... т}, (Мг, Мг+\,... Мт)), в которой его максиминный динамический поток и соответствующие максиминные статические потоки дают г-му игроку выигрыш не больше Н.(в).

Д о к а з а т е л ь с т в о. Применяем необходимые и достаточные условия равновесности в произвольной многошаговой игре [10] к сетевым играм. Теперь утверждение теоремы просто следует из утверждения 4 об изолирующем максимине в динамической сетевой игре.

Отсюда получаем алгоритм нахождения всех равновесий в конечной динамической сетевой игре:

1. Для каждой сети д в каждый момент времени Ь ищем максиминный выигрыш У.(д,Ь) каждого игрока г в подыгре в развернутой форме, начинающейся с позиции (д,Ь). Для каждого игрока максиминные выигрыши во всех подыграх в развернутой форме ищутся рекуррентно - решается задача максиминной оптимизации динамического потока и семейства статических.

2. Ищем рекуррентно все согласованные равновесия следующим образом: рассматриваем все согласованные партии (т. е. такие, что в дугах взаимодействия из Мр стратегии игроков совпадают) от конца к началу и на каждом шаге Ь производим фильтрацию. Оставляем только те партии д, в которых выигрыш Н.(д) каждого игрока г не меньше его максиминного выигрыша У.(д,Ь) при любом отклонении.

3. Все равновесия получаются добавлением к согласованным равновесиям дополнительных слагаемых в параметры взаимодействия игроков т.(]) так, чтобы величина т1(т.(]),т.(г)) оставалась неизменной. После этого надо производить проверку на равновесность.

Замечание 6 (о локальности и глобальности). Многошаговая сетевая игра -это модель дискретного пространства-времени, в котором дуги определяют взаимодействия вершин между собой. При этом дуги из множества М8 соответствуют «переносу взаимодействий с бесконечной скоростью», поскольку обусловливают взаимную зависимость всех вершин, соединяемых дугами, в один и тот же момент времени Ь. Таким образом, сеть, в которой есть структурные дуги М8 и соответствующие статические потоки, - это модель, в которой разделены пространство и время. Любое изменение в ней глобально - затрагивает всю сеть. Дуги из множества Мр и Мл переносят воздействие одной вершины на другую (Мл) и взаимодействие (Мр) с конечной скоростью. Таким образом, сеть, в которой нет дуг Мя, - это модель «релятивистского» пространства-времени. В нем каждое воздействие локально - влияет только на соседние вершины.

Однако в системе, в которой имеется оптимизационная задача - пусть даже с одним игроком и без дуг Мр, невозможно решить задачу, учитывая только локальное

окружение вершины. Например, в задаче управления динамическим потоком изменение состояния одной дуги (например, уменьшение ее пропускной способности) может изменить значение оптимального потока в другой дуге, находящейся сколь угодно далеко от первой.

Пример 5 (многошаговой сетевой игры). Рассмотрим многошаговую сетевую игру, похожую на известную игру с мячом «картошка». Пусть имеются 3 игрока A, B, C, управляющих одноименными вершинами. Пусть между ними могут образовываться только динамические связи таких видов: (A, B), (A, C), (B, A), (B, C), (C, A), (C, C). Пусть всего имеется 4 момента времени. Пусть каждая вершина может находиться всего в двух состояниях: 0 («нет мяча») и 1 («есть мяч») и, аналогично примеру сетевой игры с движущимся объектом, на каждом шаге мяч перемещается в другую вершину по дуге. Пусть выигрыш игрока равен количеству моментов времени, в которые у игрока был мяч, со знаком «минус». То есть каждый игрок «перебрасывает мяч» другому игроку и стремится к тому, чтобы мяч был у него как можно реже.

Таким образом, это игра управления динамическим потоком, в которой есть только дуги Md, причем каждая дуга также может находиться только в состояниях {0,1}. Так как игрок в каждый момент времени обязан передать кому-то мяч, игра не является игрой согласия. Сеть может находиться в состояниях {xa, xb, xc} (соответственно мяч находится у игрока A, B, C). Это игра с постоянной суммой: Ha + Hb + Hc = -4.

Найдем сперва максиминные выигрыши игроков HA, HB, HC во всех подыграх в развернутой форме (x, t), где x G {xa, xb, xc}, t G {0,1, 2, 3}. Максимины легко посчитать рекуррентно методом динамического программирования, и они таковы:

t = 3: H*(xa, 3) = (-1, 0, 0), H * (xb, 3) = (0,-1, 0), H *(xc, 3) = (0, 0,-1),

t = 2: И*(хл, 2) = (-1,-1,-1), Ил(xb, 2) = (-1,-1,-1), H*(xc, 2) = (-1, 0,-1),

t =1: И*(хл, 1) = (-2,-1,-1), H* (xb, 1) = (-1,-1,-1), H*(xc , 1) = (-1,-1,-2),

t = 0: H*(xa, 0) = (-2,-1,-2), H* (xb, 0) = (-2,-2,-2), H*(xc , 0) = (-2,-1,-2).

В большинстве ситуаций при t = 2, t = 1, t = 0 сумма максиминов - гарантированных выигрышей отдельных игроков - меньше, чем постоянная сумма, которую гарантирует себе коалиция из 3 игроков. Видно, что часто (но не всегда) максиминные выигрыши совпадают с равновесными, а значит, равновесий очень много.

Абсолютное равновесие также не единственно. Найдем (также неединственное, но с единственным вектором выигрышей) абсолютное равновесие «в тип-стратегиях» [7], т. е. в лексикографической игре, в которой На = (На, Нв, Не), Нв = (Нв, Не, На), Не = (Не, На, Нв)- Из рекуррентных соотношений динамического программирования получаем равновесные ходы с такими выигрышами при разных начальных позициях xa, xb , xc:

H'(xa) = (-2, 0, -2), H'(xb) = (-2, -1, -1), H'(xc) = (-2, 0, -2).

4. Заключение. Итак, в данной работе построено общее определение динамической сетевой игры с дискретным временем, в котором используется понятие обобщенного потока. Теорема о свойствах равновесия и алгоритм нахождения всех равновесий перенесены с общих многошаговых игр на сетевые игры с некоторыми модификациями, так, что в них учитывается пространственно-временная структура игры.

Литература

1. Jackson M. O., Wolinsky A. A Strategic Model of Social and Economics Networks // J. Econom. Theory. 1996. N 71. P. 44-74.

2. Губко М. В. Управление организационными системами с сетевым взаимодействием агентов // Автоматика и телемеханика. 2004. № 8. С. 115-123; № 9. С. 131-148.

3. Малафеев О. А., Соснина В. В. Модель управления процессом кооперативного трехагентного взаимодействия // Проблемы механики и управления: нелинейные динамические системы. Вып. 39. Пермь: Пермск. гос. ун-т, 2007. С. 131-144.

4. Flam S. D., Horvath C. Network games; adaptations to Nash-Cournot equilibrium // Annals of Operation Research. 1996. N 64. P. 179-195.

5. Haurie A., Macotte P. On the relationship between Nash-Cournot and Wardrop equilibria // Networks. 1985. N 15. P. 295-308.

6. Basar T., Olsder G. J. Dynamic noncooperative game theory. London: Academic Press Inc., 1982. 430 p.

7. Петросян Л. А., Зенкевич Н. А., Семина Е. А. Теория игр: учеб. пособие для студентов ун-тов, обучающихся по спец. «Математика». М.: Высшая школа; Книжный дом «Университет», 1998. 300 с.

8. Малафеев О. А., Парфенов А. П. Решение сетевых игр // Малафеев О. А., Зубова А. Ф. Математическое и компьютерное моделирование социально-экономических систем на уровне многоагентного взаимодействия (введение в проблемы равновесия, устойчивости и надежности). СПб.: С.-Петерб. гос. ун-т, 2006. С. 697-710.

9. Нейман Дж. фон, Моргенштерн О. Теория игр и экономическое поведение / пер. с англ., под ред. и с доб. Н. Н. Воробьева. М.: Наука, Гл. ред. физ.-мат. лит-ры, 1970. 708 c.

10. Слобожанин Н. М. Информация и управление в динамических играх. СПб.: Изд-во С.-Петерб. ун-та, 2002. 308 с.

Статья рекомендована к печати проф. Л. А. Петросяном.

Статья принята к печати 28 мая 2009 г.