4431
правка
Irina (обсуждение | вклад) Нет описания правки |
Irina (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
Ключевые слова и синонимы: [[эпсилон-равновесие Нэша]]; [[эпсилон-поддерживаемое равновесие Нэша]] | Ключевые слова и синонимы: [[эпсилон-равновесие Нэша]]; [[эпсилон-поддерживаемое равновесие Нэша]] | ||
== Постановка задачи == | |||
==Постановка задачи== | |||
Джон Форбс Нэш [14] ввел понятие равновесия Нэша в некооперативных играх и доказал, что для любой игры существует по меньшей мере одно такое равновесие. Хорошо известный алгоритм вычисления равновесия Нэша для игры с двумя игроками – алгоритм Лемке-Хоусона [12] – в худшем случае имеет экспоненциальную сложность от количества доступных чистых стратегий [16]. | Джон Форбс Нэш [14] ввел понятие равновесия Нэша в некооперативных играх и доказал, что для любой игры существует по меньшей мере одно такое равновесие. Хорошо известный алгоритм вычисления равновесия Нэша для игры с двумя игроками – алгоритм Лемке-Хоусона [12] – в худшем случае имеет экспоненциальную сложность от количества доступных чистых стратегий [16]. | ||
Недавно Даскалакис и коллеги [5] показали, что задача вычисления равновесия Нэша для игры с четырьмя и более игроками является PPAD-полной; этот результат был впоследствии распространен на игры с тремя игроками [8]. В конечном счете, Чен и Денг [3] доказали, что задача является PPAD-полной также и для игр с двумя игроками. | Недавно Даскалакис и коллеги [5] показали, что задача вычисления равновесия Нэша для игры с четырьмя и более игроками является PPAD-полной; этот результат был впоследствии распространен на игры с тремя игроками [8]. В конечном счете, Чен и Денг [3] доказали, что задача является PPAD-полной также и для игр с двумя игроками. | ||
В результате появилась задача вычисления приближенного равновесия Нэша. На настоящий момент было опубликовано несколько вариантов приближенного равновесия Нэша; здесь будут рассмотрены понятия <math>\epsilon \, </math>-равновесия Нэша и <math>\epsilon \, </math>-поддерживаемого равновесия Нэша. <math>\epsilon \, </math>-равновесие Нэша представляет собой профиль стратегии, такой, что ни один игрок, изменяющий решение, не может получить выигрыш больше, чем выигрыш при определенном профиле стратегии плюс <math>\epsilon \, </math>. Более строгим является понятие <math>\epsilon \, </math>-поддерживаемых равновесий Нэша; они представляют собой профили стратегий, такие, что каждый игрок использует только чистые стратегии с приближенно лучшим ответом с ненулевой вероятностью. | В результате появилась задача вычисления ''приближенного'' равновесия Нэша. На настоящий момент было опубликовано несколько вариантов приближенного равновесия Нэша; здесь будут рассмотрены понятия <math>\epsilon \, </math>-равновесия Нэша и <math>\epsilon \, </math>-поддерживаемого равновесия Нэша. <math>\epsilon \, </math>-равновесие Нэша представляет собой профиль стратегии, такой, что ни один игрок, изменяющий решение, не может получить выигрыш больше, чем выигрыш при определенном профиле стратегии плюс <math>\epsilon \, </math>. Более строгим является понятие ''<math>\epsilon \, </math>-поддерживаемых равновесий Нэша''; они представляют собой профили стратегий, такие, что каждый игрок использует только чистые стратегии с приближенно лучшим ответом с ненулевой вероятностью. | ||
Нотация | ===Нотация=== | ||
Для вектора x формата n × 1 обозначим за | Для вектора <math>\mathbf{x}</math> формата <math>n</math> × <math>1</math> обозначим за <math>x_1,\!...,x_n</math> компоненты <math>\mathbf{x}</math> и за <math>\mathbf{x^T}</math> – перестановку вектора <math>\mathbf{x}</math>. Обозначим за <math>\mathbf{e_i}</math> вектор столбца, имеющего значение 1 в <math>i</math>-й координате и '''0''' – во всех остальных. Для матрицы <math>A</math> размера <math>n</math> × <math>m</math> обозначим за <math>a_{ij}</math> элемент в <math>i</math>-й строке и <math>j</math>-м столбце матрицы <math>A</math>. Пусть <math>\mathbb{P}^n</math> обозначает множество всех векторов вероятности в <math>n</math> измерениях: <math>\mathbb{P}^n = \left\{ \mathbf{z} \ni \mathbb{R}^n_{\ge 0} : \sum_{j=1}^n z_i=1 \right\}</math> | ||
== Биматричные игры == | == Биматричные игры == | ||
Биматричные игры [18] – это специальный случай игр для двух игроков, в которых функции выигрыша могут быть описаны двумя действительными матрицами n × m – A и B. n строк матриц A и B представляют множество действий первого игрока (игрока по строкам), m столбцов представляют множество действий второго игрока (игрока по столбцам). Если игрок по строкам выбирает действие i, а игрок по столбцам выбирает действие j, то первый получает выигрыш | ''Биматричные игры'' [18] – это специальный случай игр для двух игроков, в которых функции выигрыша могут быть описаны двумя действительными матрицами <math>n</math> × <math>m</math> – <math>A</math> и <math>B</math>. <math>n</math> строк матриц <math>A</math> и <math>B</math> представляют множество действий первого игрока (''игрока по строкам''), <math>m</math> столбцов представляют множество действий второго игрока (''игрока по столбцам''). Если игрок по строкам выбирает действие <math>i</math>, а игрок по столбцам выбирает действие <math>j</math>, то первый получает выигрыш <math>a_{ij}</math>, а второй – выигрыш <math>b_{ij}</math>. В силу этого биматричные игры обозначаются как <math>\Gamma = \langle A,B \rangle</math>. | ||
Стратегия для игрока представляет собой любое распределение вероятностей на его наборе действий. Таким образом, стратегия для игрока по строкам может быть выражена в виде вектора вероятности x | :''Стратегия'' для игрока представляет собой любое распределение вероятностей на его наборе действий. Таким образом, стратегия для игрока по строкам может быть выражена в виде вектора вероятности <math>\mathbf{x} \in \mathbb{P}_n</math>, а стратегия для игрока по столбцам – в виде вектора вероятности <math>\mathbf{y} \in \mathbb{P}_n</math>. Каждая точка экстремума <math>\mathbf{e_i} \in \mathbb{P}_n</math> (<math>\mathbf{e_i} \in \mathbb{P}_n</math>), соответствующая стратегии, назначающей вероятность 1 <math>i</math>-й строке (<math>j</math>-му столбцу), называется чистой стратегией для игрока по строке (столбцу). Профиль стратегии (<math>\mathbf{x}</math>, <math>\mathbf{y}</math>) представляет собой комбинацию (в общем случае смешанных) стратегий, по одной для каждого игрока. Для данного профиля стратегии (<math>\mathbf{x}</math>, <math>\mathbf{y}</math>), игроки получают ''ожидаемый выигрыш'' <math>\mathbf{x}^T</math> <math>A \mathbf{y}</math> (игрок по строкам) и <math>\mathbf{x}^T</math> <math>B \mathbf{y}</math> (игрок по столбцам). | ||
Если обе матрицы выигрышей принадлежат пространству [0, | Если обе матрицы выигрышей принадлежат пространству [0, 1]<sup>m × n</sup>, то игра называется [0, 1]-биматричной, или положительно нормализованной, игрой. Специальный случай биматричных игр, в котором все элементы матрицы принадлежат к интервалу {0, 1}, называется {0, 1}-биматричной игрой или игрой с ''выигравшими и проигравшими''. Биматричная игра <math>\langle</math>A, B <math>\rangle</math> называется игрой с ''нулевой суммой'', если ''B = – А''. | ||
== Приближенное равновесие Нэша == | == Приближенное равновесие Нэша == | ||
Определение 1 (<math>\epsilon \, </math>-равновесие Нэша) | ===Определение 1 (<math>\epsilon \, </math>-равновесие Нэша)=== | ||
Для любого <math>\epsilon \, </math> > 0 стратегический профиль (x, y) является <math>\epsilon \, </math>-равновесием Нэша для биматричной игры | Для любого <math>\epsilon \, </math> > 0 стратегический профиль ('''x, y''') является <math>\epsilon \, </math>-''равновесием Нэша'' для биматричной игры <math>\Gamma = \langle A,B \rangle</math> с матрицами <math>n</math> × <math>m</math>, если | ||
# Для всех чистых стратегий <math> i \in \{1,\!...,n\}</math> игрока по строкам <math>\mathbf{e_i}^T A \mathbf{_y} \le \mathbf{x}^T A \mathbf{_y}</math> + <math>\epsilon \, </math>; | |||
# Для всех чистых стратегий <math> i \in \{1,\!...,m\}</math> игрока по столбцам <math>\mathbf{x}^T B \mathbf{_{ej}}\le \mathbf{x}^T B \mathbf{_y}</math> + <math>\epsilon \, </math>. | |||
Определение 2 (<math>\epsilon \, </math>-поддерживаемое равновесие Нэша) | ===Определение 2 (<math>\epsilon \, </math>-поддерживаемое равновесие Нэша)=== | ||
Для любого <math>\epsilon \, </math> > 0 стратегический профиль (x, y) является <math>\epsilon \, </math>-поддерживаемым равновесием Нэша для биматричной игры | Для любого <math>\epsilon \, </math> > 0 стратегический профиль ('''x, y''') является <math>\epsilon \, </math>''-поддерживаемым равновесием Нэша'' для биматричной игры <math>\Gamma= \langle A,B \rangle</math> с матрицами <math>n</math> × <math>m</math>, если | ||
# Для всех чистых стратегий <math> i \in \{1,\!...,n\}</math> игрока по строкам <math>x_i >\ 0 \rightarrow \mathbf{e_i}^T A \mathbf{_y} \ge \mathbf{e_k} A \mathbf{_k} - \epsilon</math> <math>\forall k \in \{1,\!...,n\}</math> | |||
# Для всех чистых стратегий <math> j \in \{1,\!...,m\}</math> игрока по столбцам <math>y_i >\ 0 \rightarrow \mathbf{x_i}^T B \mathbf{_{ej}} \ge \mathbf{x}^T B \mathbf{_{ek}} - \epsilon</math> <math>\forall k \in \{1,\!...,m\}</math> | |||
Строка 32: | Строка 33: | ||
== Основные результаты == | == Основные результаты == | ||
В работе Альтхофера [1] показано, что для любого вектора вероятности p существует вектор вероятности p с логарифмической поддержкой, так что для фиксированной матрицы C | В работе Альтхофера [1] показано, что для любого вектора вероятности <math>\mathbf{p}</math> существует вектор вероятности <math>\hat{p}</math> с логарифмической поддержкой, так что для фиксированной матрицы <math>C, max_j</math> <math>\left | \mathbf{p}^TC \mathbf{e_j} - \mathbf{\hat{p}}^TC \mathbf{e_j} \right | \le \epsilon \, </math> для любой ''константы'' <math>\epsilon \, </math> > 0. Используя этот факт, Липтон, Маркакис и Мета [13] показали, что для любой биматричной игры и для любой константы <math>\epsilon \, </math> > 0 существует <math>\epsilon \, </math>-равновесие Нэша с только логарифмической поддержкой (от числа доступных чистых стратегий <math>n</math>). Рассмотрим биматричную игру <math>\Gamma = \langle A,B \rangle</math>. Пусть <math>(\mathbf{x, y})</math> – равновесие Нэша для <math>\Gamma</math>. Зафиксируем положительное число <math>k</math> и сформируем мультимножество <math>S_1</math>, выполнив выборку <math>k</math> раз из множества чистых стратегий игрока по строкам независимым случайным образом в соответствии с распределением <math>x</math>. Сформируем подобным же образом мультимножество <math>S_2</math>, выполнив выборку <math>k</math> раз из множества чистых стратегий игрока по столбцам в соответствии с распределением <math>y</math>. Пусть <math>\mathbf{\hat{x}}</math> – смешанная стратегия для игрока по строкам, которая назначает вероятность 1/''k'' каждому члену <math>S_1</math> и 0 – всем остальным чистым стратегиям, а <math>\mathbf{\hat{y}}</math> – смешанная стратегия для игрока по столбцам, которая назначает вероятность 1/''k'' каждому члену <math>S_2</math> и 0 – всем остальным чистым стратегиям. Тогда x и у называются ''k''-однородными [13], и для них выполняется: | ||
В результате этого получаем квазиполиномиальный алгоритм сложности ( | ===Теорема 1 === | ||
[13]<big>''Для любого равновесия Нэша ('''x, y''') биматричной игры с матрицами n х n и для любого <math>\epsilon \, </math> > 0 существует, для каждого <math>k \ge(12 ln n)/</math><math>\epsilon \, </math><sup>2</sup>, пара k-однородных стратегий <math>\mathbf{\hat{x}}</math>,<math>\mathbf{\hat{y}}</math> , таких, что ( <math>\mathbf{\hat{x}}</math>,<math>\mathbf{\hat{y}}</math> ) представляет собой <math>\epsilon \, </math>-равновесие Нэша.'' | |||
</big> | |||
В результате этого получаем квазиполиномиальный алгоритм сложности (<big>''n<sup>O(ln n)</sup>''</big>) для вычисления приближенного равновесия. Более того, как было отмечено в [1], ни один алгоритм, исследующий поддержку менее чем за время ln n, не может достичь лучшего приближения, чем 1/4. | |||
Теорема 2 | ===Теорема 2 === | ||
[4]<big>''Задача вычисления <math>1/n \Theta ^{(1)}</math>-равновесия Нэша для биматричной игры с матрицами n × n является PPAD-полной.''</big> | |||
Теорема 2 утверждает, что за исключением случаев, когда PPAD | Теорема 2 утверждает, что за исключением случаев, когда PPAD <math>\subseteq</math> P, не существует схемы аппроксимации с полностью полиномиальным временем исполнения для вычисления равновесия в биматричных играх. Однако это не исключает существования схемы аппроксимации с полиномиальным временем для вычисления <math>\epsilon \, </math>-равновесия Нэша, где <math>\epsilon \, </math> является абсолютной константой, и даже в случае <math>\epsilon \, = \Theta \big( 1/poly(ln n) \big). </math>Более того, как было замечено в [4], если бы задача нахождения <math>\epsilon \, </math>-равновесия Нэша была PPAD-полной в случае, когда <math>\epsilon \, </math> является абсолютной константой, то, согласно Теореме 1, все PPAD-полные задачи были бы разрешимы за квазиполиномиальное время, что едва ли соответствует истине. | ||
Две независимых последовательных работы [6] и [10] впервые продемонстрировали прогресс в нахождении <math>\epsilon \, </math>-равновесия Нэша и <math>\epsilon \, </math>-поддерживаемого равновесия Нэша для биматричных игр и некоторого константного 0 < <math>\epsilon \, </math> < 1. В частности, в работе Контогианниса, Панагопулу и Спиракиса [10] был предложен простой линейный алгоритм для вычисления 3/4-равновесия Нэша для любой биматричной игры: | Две независимых последовательных работы [6] и [10] впервые продемонстрировали прогресс в нахождении <math>\epsilon \, </math>-равновесия Нэша и <math>\epsilon \, </math>-поддерживаемого равновесия Нэша для биматричных игр и некоторого константного <big>0 < <math>\epsilon \, </math> < 1</big>. В частности, в работе Контогианниса, Панагопулу и Спиракиса [10] был предложен простой линейный алгоритм для вычисления 3/4-равновесия Нэша для любой биматричной игры: | ||
Теорема 3 | ===Теорема 3 === | ||
[10]<big>''Рассмотрим любую биматричную игру <math>\Gamma = \langle A, B\rangle</math> с матрицами n × m; пусть <math> a_{i1}, _{j1} = max_i, _j a_{ij}</math> и <math>b_{i2}, _{j2} = max_i, _j b_{ij} </math>. Тогда пара стратегий (<math>\mathbf{\hat{x}} , \mathbf{\hat{y}}</math> ), где <math>\mathbf{\hat{x}}_i1 = \mathbf{\hat{x}}_i2 = \mathbf{\hat{y}}_j1 = \mathbf{\hat{y}}_j2 = 1/2</math>, является 3/4-равновесием Нэша для игры <math>\Gamma</math>.''</big> | |||
Вышеприведенная техника может быть расширена таким образом, чтобы получить более строгое, параметризованное приближение: | Вышеприведенная техника может быть расширена таким образом, чтобы получить более строгое, параметризованное приближение: | ||
Теорема 4 | ===Теорема 4 === | ||
[10]<big>''Рассмотрим биматричную игру <math>\Gamma = \langle A, B \rangle</math> с матрицами n × m. Пусть <math>\lambda_1^* ( \lambda_2^* )</math> – минимальный среди всех равновесий Нэша для <math>\Gamma</math> ожидаемый выигрыш для игрока по строке (столбцу); пусть <math>\lambda = max{ \lambda_1^*, \lambda_2^*}</math>. Тогда существует <math>(2 + \lambda)/4</math>-равновесие Нэша, которое может быть вычислено за время, полиномиальное относительно n и m.''</big> | |||
Даскалакис, Мета и Пападимитриу [6] приводят простой алгоритм для вычисления 1/2-равновесия Нэша: Выбрать произвольную строку для игрока по строкам, к примеру, строку i. Пусть j = arg | Даскалакис, Мета и Пападимитриу [6] приводят простой алгоритм для вычисления 1/2-равновесия Нэша: Выбрать произвольную строку для игрока по строкам, к примеру, строку <math>i</math>. Пусть <math>j = arg\;max_{j\prime}\,b_{ij\prime}</math>. Пусть <math>k = arg\;max_{k\prime}\,a_{k\prime j}</math>. Таким образом, <math>j</math> – это столбец с лучшим ответом для игрока по столбцам в строке <math>i</math>, а <math>k</math> – строка с лучшим ответом для игрока по строкам в столбце <math>j</math>. Пусть <math>\mathbf{\hat{x}} = 1/2 \mathbf{e_i} + 1/2 \mathbf{e_k}</math> и <math>\mathbf{\hat{y}} = \mathbf{e_j}</math>, т.е. игрок по строкам играет строку <math>i</math> или строку <math>k</math> с вероятностью 1/2 для каждой, тогда как игрок по столбцам играет столбец <math>j</math> с вероятностью 1. Тогда верна: | ||
Теорема 5 | ===Теорема 5 === | ||
[6]<big>''Профиль стратегии (<math>\mathbf{\hat{x}} ,\mathbf{\hat{y}}</math> ) является 1/2-равновесием Нэша.''</big> | |||
В источнике [7] представлена полиномиальная конструкция (на базе линейного программирования) 0.38-равновесия Нэша. | В источнике [7] представлена полиномиальная конструкция (на базе линейного программирования) 0.38-равновесия Нэша. | ||
Строка 59: | Строка 65: | ||
В работе Контогианниса и Спиракиса [11] приведен полиномиальный алгоритм вычисления 1/2-поддерживаемого равновесия Нэша для произвольных игр с выигравшими и проигравшими. В основе алгоритма лежит идея равномерного разделения величины отклонения от игры с нулевой суммой между двумя игроками и последующего решения получившейся игры с нулевой суммой за полиномиальное время, используя ее прямое сходство с алгоритмами линейного программирования. Доказано, что полученное равновесие Нэша для игры с нулевой суммой является 1/2-поддерживаемым равновесием Нэша для исходной игры с выигравшими и проигравшими. Таким образом, верна | В работе Контогианниса и Спиракиса [11] приведен полиномиальный алгоритм вычисления 1/2-поддерживаемого равновесия Нэша для произвольных игр с выигравшими и проигравшими. В основе алгоритма лежит идея равномерного разделения величины отклонения от игры с нулевой суммой между двумя игроками и последующего решения получившейся игры с нулевой суммой за полиномиальное время, используя ее прямое сходство с алгоритмами линейного программирования. Доказано, что полученное равновесие Нэша для игры с нулевой суммой является 1/2-поддерживаемым равновесием Нэша для исходной игры с выигравшими и проигравшими. Таким образом, верна | ||
Теорема 6 | ===Теорема 6 === | ||
[11]<big>''Для любых биматричных игр с выигравшими и проигравшими возможно построить за полиномиальное время профиль, представляющий собой 1/2-поддерживаемое равновесие Нэша для этой игры.''</big> | |||
В той же публикации Контогианнис и Спиракис [11] параметризовали вышеописанную методологию для применения ее к произвольным биматричным играм. Новая техника способствует нахождению более слабого | В той же публикации Контогианнис и Спиракис [11] параметризовали вышеописанную методологию для применения ее к произвольным биматричным играм. Новая техника способствует нахождению более слабого <math>\phi</math>-поддерживаемого равновесия Нэша для игр с выигравшими и проигравшими, где <math>\phi = \left ( \sqrt{5} -1 \right )/2 </math> – величина золотого сечения. Тем не менее, эта параметризованная техника легко расширяется на произвольные биматричные игры, что гарантирует нахождение 0.658-поддерживаемого равновесия Нэша за полиномиальное время: | ||
Теорема 7 | ===Теорема 7 === | ||
[11]<big>''Для любых биматричных игр возможно построить <math>( \sqrt{11} /2 - 1 )</math>-поддерживаемое равновесие Нэша за полиномиальное время.''</big> | |||
Два недавних результата улучшили статус приближения <math>\epsilon \, </math>-равновесия Нэша: | Два недавних результата улучшили статус приближения <math>\epsilon \, </math>-равновесия Нэша: | ||
Теорема 8 | ===Теорема 8 === | ||
[2]<big>''Существует алгоритм с полиномиальным временем, основанный на алгоритмах линейного программирования, который строит 0.36392-равновесие Нэша.''</big> | |||
Следующий результат на данный момент является наилучшим: | Следующий результат на данный момент является наилучшим: | ||
Теорема 9 | ===Теорема 9 === | ||
[17]<big>''Существует алгоритм с полиномиальным временем, основанный на нахождении неподвижных точек в естественной задаче оптимизации, который строит 0.3393-равновесие Нэша.''</big> | |||
Каннан и Теобальд [9] исследовали иерархию биматричных | Каннан и Теобальд [9] исследовали иерархию биматричных игры <math>\langle A, B \rangle </math>, получаемую из ограничения ранга матрицы <big>''А + В''</big> до фиксированного ранга, не превышающего <math>k</math>. Они предложили новую модель <math>\epsilon \, </math>-аппроксимации для игр ранга <math>k</math> и, используя результаты квадратичной оптимизации, показали, что приближенные равновесия Нэша для игр с константным рангом могут быть вычислены детерминированным образом за время, полиномиальное относительно 1/<math>\epsilon \, </math>. Кроме того, в [9] представлен рандомизированный алгоритм приближения для определенных задач квадратичной оптимизации, что позволяет создать рандомизированный алгоритм приближения для задачи нахождения равновесия Нэша. Этот рандомизированный алгоритм имеет практически ту же временную сложность, что и детерминированный, однако при условии истинности предположения позволяет найти точное решение за полиномиальное время. Наконец, эти же авторы предложили алгоритм с полиномиальным временем для относительного приближения (касающегося выигрышей при равновесии) для случая, когда матрица <big>''A + B''</big> имеет неотрицательную декомпозицию. | ||
== Применение == | == Применение == |
правка