ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА
Научная статья УДК 519.853.6
Б01: 10.18101/2304-5728-2023-2-14-29
ЧИСЛЕННОЕ ИССЛЕДОВАНИЕ ГИБРИДНОГО АЛГОРИТМА ГЛОБАЛЬНОГО ПОИСКА В ГЕКСАМАТРИЧНЫХ ИГРАХ
© Орлов Андрей Васильевич
кандидат физико-математических наук, доцент, старший научный сотрудник, заведующий лабораторией, Институт динамики систем и теории управления имени В. М. Матросова СО РАН Россия, 664033, г. Иркутск, ул. Лермонтова, 134 [email protected]
Аннотация. В статье представлен гибридный подход к разработке методов отыскания ситуаций равновесия по Нэшу в полиматричных играх трех лиц (гексаматричных играх). С одной стороны, он базируется на теории глобального поиска в невыпуклых задачах оптимизации с d.c. функциями (пред-ставимыми в виде разности двух выпуклых функций), созданной А. С. Стре-каловским, с другой — для реализации одного из ключевых этапов глобального поиска (построения аппроксимации поверхности уровня) используются операторы генетических алгоритмов. После описания гибридного подхода подробно рассказывается об организации и проведении вычислительного эксперимента по сравнению гибридного алгоритма с «базовым» алгоритмом глобального поиска, разработанным ранее. Приведены результаты эксперимента на сериях случайно сгенерированных задач, свидетельствующие об эффективности предложенного гибридного подхода к решению гексаматричных игр.
Ключевые слова: полиматричные игры трех лиц, гексаматричные игры, равновесие Нэша, теория глобального поиска, локальный поиск, алгоритм глобального поиска, аппроксимация поверхности уровня, генетические операторы, гибридный алгоритм, вычислительный эксперимент.
Благодарности
Работа выполнена в рамках базового проекта фундаментальных исследований Минобрнауки РФ «Теоретические основы, методы и высокопроизводительные алгоритмы непрерывной и дискретной оптимизации для поддержки междисциплинарных научных исследований» (Номер гос. регистрации: 121041300065-9, код проекта FWEW-2021-0003).
Для цитирования
Орлов А. В. Численное исследование гибридного алгоритма глобального поиска в гексаматричных играх // Вестник Бурятского государственного университета. Математика, информатика. 2023. № 2. С. 14-29.
Введение
Численное нахождение равновесий в теории игр [1] является одной из актуальных проблем современной математической оптимизации [2], когда поиск равновесия может быть сведен к экстремальной задаче. Известно, что классическая матричная игра эквивалентна двум двойственным задачам линейного программирования (ЛП) [1]. Это означает, что такая игра имеет выпуклую структуру и принципиальных трудностей с ее решением не возникает. Первым расширением матричной игры является биматричная игра, которая уже представляет собой невыпуклую (билинейную) структуру [1,3,4]. То же самое можно сказать и о полиматричных играх [5]. Например, поиск равновесия по Нэшу в полиматричной игре трех лиц оказывается эквивалентным специальной задаче невыпуклой оптимизации с тройной билинейной структурой в целевой функции [5-8].
В нашей группе разработан оптимизационный подход к численному нахождению равновесий Нэша в таких играх, основанный на этой эквивалентности [4,5]. При этом получающиеся оптимизационные задачи решаются с помощью теории глобального поиска (ТГП), созданной А. С. Стрекаловским для невыпуклых задач с ё.е. функциями, представимыми в виде разности двух выпуклых функций [9,10]. Одной из особенностей ТГП является возможность применения внутри алгоритмов достижений современной выпуклой оптимизации (см., например [11, 12]).
Одним из важнейших этапов при использовании ТГП [9,10] является построение аппроксимации поверхности уровня выпуклой функции, задающей базовую невыпуклость в исследуемой задаче (см. также [4,13]). Например, в ходе решения следующей задачи ё.е. максимизации:
Ф(х) = к(х) - д(х) | тах, х е 5, (ОС)
где д(-), Н(-) — выпуклые функции, 5 — выпуклое множество, необходимо построить конечную аппроксимацию
Л((, £) = {V1,..., Vм | к {уг) = £ + С, Г = 1,..., N} , (1)
где т^д, 5) < £ < вир(д, 5) фиксировано, £ = Ф(г) — значение целевой функции задачи (ОС) в текущей стационарной (критической) точке г. При этом аппроксимация (1) должна быть достаточно репрезентативной, чтобы можно было определить, является ли текущая точка г глобальным решением. Подробнее см. в [4,9,10,13].
В настоящее время не существует общих подходов к построению репрезентативных аппроксимаций для задачи (ОС). При решении конкретных невыпуклых задач решение этого вопроса основывается на
накопленном численном опыте [4,9,13-15]. Поэтому разработка новых подходов к построению аппроксимаций является актуальной проблемой невыпуклой оптимизации. При этом алгоритмы глобального поиска (АГП), основанные на ТГП, оказываются весьма эффективными для биматричных игр высокой размерности (с плотными матрицами до 1000 стратегий у одного игрока) [4], в то же время решение гекса-матричных игр с помощью АГП ограничивается разреженными матрицами размера (100 х 100) [8].
Поиск ситуации равновесия в гексаматричных играх исследовался и другими авторами. Например, в основе подхода из [16] лежит редукция подобных игр к задачам смешанной непрерывно-целочисленной оптимизации (были решены игры до размерности 13 стратегий у каждого из игроков). А в [17] предложена специальная модификация классического метода Лемке-Хаусона (см., например, [4]) в сочетании с так называемым 3ЬР-методом, родственным методу локального поиска, который используется в настоящей работе (решены игры вплоть до 500 стратегий у одного игрока).
В данной работе проводится численное исследование гибридного алгоритма глобального поиска (ГАГП) в гексаматричных играх, разработанного в [18], где для построения аппроксимаций поверхности уровня используются операторы генетических алгоритмов (ГА) [19,20]. Впервые подобная идея была применена для решения простейших двухуровневых задач в [21]. При этом как в [21], так и в [18] было решено только несколько простейших тестовых задач, а вопрос об общей эффективности подхода при решении большого количества задач различной сложности и размерности оставался открытым. Здесь мы представляем детализацию гибридного алгоритма и результаты его тестирования на широком спектре случайно сгенерированных гексаматричных игр.
1 Постановка задачи и ее редукция
Кратко напомним постановку гексаматричной игры в смешанных стратегиях [5-8]:
А
Fi(x, y, z) = {x, A1y + A2z) t max, x e Sm С lRm,
x
F2(x,y,z) = {y,Bix + B2z) t max, y e Sn С lRn, >
y
F3(x, y, z) = {z, Cix + C2y) t max, z e Si С IR1,
z
где x,y,z — стратегии 1, 2 и 3 игроков соответственно, Ai, A2, Bi, B2,
p
C1, C2 — матрицы, а Sp = {u = (u1,..., up)T e lRp | ui > 0, ^ ui = 1},
i=1
p = m,n,l — канонические симплексы соответствующей размерности.
Цель состоит в отыскании ситуации равновесия по Нэшу в игре Гз = Г(А, B, C) (A = (Ai, A2), B = (Bi, B2), C = (Ci, C2)) [5-8]. Находясь в этом равновесии, ни одному из игроков невыгодно в одиночку изменять свою оптимальную стратегию. При этом, согласно теореме Нэ-ша, такое равновесие в игре Г3 существует [5] (NE(Г3) = 0). В [5] также доказано, что эта задача эквивалентна поиску глобального решения следующей невыпуклой оптимизационной задачи (а = (ж, y, z, а, в, Y)):
Ф(а) = (ж, Aiy+A2z) + (y,Bix+B2z) + (z,C^+C2y) — а - в—Y t max, |
а e S = {(ж, y, z, а, в, y) e 1Rm+ra+1+3 | ж e Sm, y e S„, z e S, Г Aiy + A2Z < авт, Bix + B2Z < вега, Cix + C2y < YeJ, J
(P)
где ep = (1,1,..., 1) e 1Rp, p = m, n, l; а, в, Y — вспомогательные скалярные переменные. Тройка (x*,y*,z*), входящая в решение задачи (P), является ситуацией равновесия по Нэшу, кроме того, оптимальные значения переменных а*, в* и Y* — это выигрыши игроков, а оптимальное значение задачи V(P) = $(x*,y*,z*, а*^*,Y*) = 0. При этом справедливо:
а* = max (Aiy*+A2z*)i, в* = max (Bix*+B2z*)j,y* = max(Cix*+C2y*)t.
l<i<m i<j<™ l<t<l
(2)
Можно также показать, что в случае отыскания приближенного глобального решения задачи (P) мы имеем приближенное равновесие по Нэшу (NE(Гз,е)) [5]. Отметим, что количество переменных в получившейся задаче равно (m + n + l + 3), количество ограничений — 2(m + n + l) + 3, однако для краткости, говоря ниже о размерности сгенерированных задач, будем иметь в виду количество стратегий у одного из игроков.
Для применения ТГП к задаче (P) [9, 10] прежде всего построим явное d.c. разложение ее целевой функции на разность двух выпуклых:
Ф(ж, y, z, а, в, y) = h(x, y, z) — g(x, y, z, а, в, Y), (3)
где
Ь(ж, y, z) = 1 (Уж + Aiy||2 + Уж + A2z||2 + ||Вхж + y||2 + ||y + B2z||2 + ' + УClЖ + z||2 + ||C2y + z||2), g(a) = 1( ||ж — Aiy|2 + ||ж — A2z||2+ > + ||y — В1ж|2 + ||y — B2z|2 + ||ClЖ — z||2 + ||C2y — z||2) + а + в + Y .
(4)
Таким образом, мы получаем задачу d.c. максимизации вида (DC), где базовая невыпуклость заключена в функции h(-). Далее с учетом свойств задачи (P) и d.c. разложения (3)-(4) представим теоретические основы для построения алгоритмов ее решения на основе ТГП.
2 «Базовый» и гибридный методы глобального поиска
Фундаментом АГП являются так называемые условия глобальной оптимальности (УГО), позволяющие охарактеризовать именно глобальное решение исследуемой задачи [9,10]. Приведем здесь УГО для задачи (P) (в контрпозитивной форме) [6-8].
Обозначим: a(y,z) — max (A1y+A2z)i, fi(x,z) — max (B1 x+B2z)j,
1<i<m 1 <j<n
Y(x,y) — max(C1x + C2y)t. Тогда согласно свойству (2), a* = a(y*,z*),
в* = e(x*,~z*), Y* = Y(x*,y*), если (x*,y*,z*) e NE(Г3).
Теорема 2.1 [6-8]. Если допустимый набор а* = (x*,y*,z*,a*, e*,Y*) не является глобальным решением задачи (P), тогда найдутся тройка (u, v, w) e iRm+n+l, вектор (x, y, z) e Sm х Sn х Sl и число £ такие, что
h(u,v,w) - £ = Z = Ф(а*) < 0, (5)
g(u, v, w, a(v, w), в(u, w),y(u, v)) < £ < sup(g, S),
и при этом справедливо следующее неравенство:
g(x, y, z, a, в, Y) - £ < {^xyzh(u, v, w), (x, y, z) - (u, v, w)), (6)
где a = a(y, Y), в - e(x,Y), Y - Y(x,y).
Конструктивное (алгоритмическое) свойство сформулированных УГО, которое позволяет в случае отыскания набора (u, v, w, x, Y, Y, £), удовлетворяющего неравенству (6), сразу получить точку лучше, чем исследуемая (даже стационарная или критическая), является основой АГП, построенных на базе теории глобального поиска.
Напомним основные этапы таких алгоритмов (подробнее см. [3,4,69,13-15,18]). Прежде всего осуществляется локальный поиск, принимающий во внимание специфику исследуемой задачи, который доставляет приближенно критические точки. В данном случае используется метод типа «mountain climbing» [22], заключающийся в последовательном решении задачи по группам переменных (специально сконструированных «частичных» задач ЛП), который доказал свою практическую эффективность для задач с билинейной структурой, в том числе для гексаматричных игр [4,6-8,13-15,22]. Далее реализуется один из ключевых для успешного глобального поиска этапов — построение аппроксимации поверхности уровня выпуклой функции h(-). Важным элементом АГП является также решение линеаризованных по базовой
невыпуклости задач (PLr) := (PL(ur, vr, wr)) (для получения хороших стартовых точек при локальном поиске):
g(a) — (Vh(ur,vr,wr), (x,y, z))^ min, a G S, (PLr)
где линеаризация проводится в точках аппроксимации (ur,vr,wr), r = 1, ...,N. Кроме того, осуществляется одномерный поиск по параметру УГО £; проводится отбор перспективных точек с поверхности уровня (с помощью неравенства из (5)), и лучшие по целевой функции критические точки оцениваются с точки зрения получения окончательного результата (как уже говорилось, ее значение в глобальном решении равно нулю). Подробное описание «базового» алгоритма глобального поиска в гексаматричных играх см. в [6-8,18].
Построение эволюционных, генетических и гибридных (на их основе) алгоритмов обычно начинается с выбора так называемой функции приспособленности, с помощью которой можно оценить точки популяции (набор допустимых точек задачи) [19,20]. Однако в нашем случае в качестве популяции особей на каждой итерации k глобального поиска выступают не допустимые точки, а множество точек, лежащих на текущей поверхности уровня: Poph = {(ur,vr,wr) | (ur,vr,wr) G Ah, r = 1,..., N}, где Ah = {(u1,v1,w1),..., (uN ,vN ,wN) | h(ur ,vr ,wr) = £ + Zh,
r = 1,..., N}, Zh := $(ah), ah = (xh, yh, zh, ah, eh, Yh) G S — критическая точка (текущий рекорд), £ G [inf(g,S), sup(g,S)].
При этом функция приспособленности не является, как в классических вариантах ГА, просто целевой функцией задачи, поскольку точки аппроксимации могут быть в задаче недопустимыми, что влечет бессмысленность подобного их оценивания. Выбранная с этой целью функция PLoc(-) представляет собой значение целевой функции в критической точке (ir, построенной с помощью метода локального поиска исходя из решения ar линеаризованной задачи (PLr), которая, в свою очередь, линеаризуется в соответствующей точке аппроксимации (ur,vr,wr), так что PLoc(ur,vr,wr) = Ф(<гг). Такой выбор функции приспособленности обусловлен свойствами задачи и соответствующего метода локального поиска (подробнее см. в [18]). Будем обозначать критическую точку также через ArgPLoc(-), так что <7r = ArgPLoc(ur, vr, wr).
Точки популяции в ГА проходят специальным образом организованный процесс «развития» с помощью операторов, моделирующих процесс селекции, скрещивания (кроссовера) и мутации в течение определенного количества поколений (итераций) [19,20]. Эти операторы были внедрены в «базовый» АГП, в результате чего в [18] был построен следующий
Гибридный алгоритм глобального поиска (ГАГП).
Пусть даны стартовая точка а0 £ S, последовательности {тк}, {6к} (тк > 0, 6к > 0, k = 1,2,..., тк I 0, 6к I 0 (k ^ те)), множество Dir = {(ul,vl,wl),..., (uN,vN,wN) £ lRm+n+l\(ur,vr,wr) = 0, r =
1,...,N}, числа £- = inf(g,S) и £+ = sup(g,S), вероятность мутации Pm, максимальное число поколений Gmax и е — точность решения задачи.
Шаг 0. Положить k := 1, vk := а0, £ := £-, A£ = (£+ - £-)/N.
Ш!аг 1. Начиная с точки ак методом локального поиска найти тк -критическую точку ак = (xk ,yk ,zk ,ак, ßk ,Yk) £ S в задаче (P). Положить (к := Ф(ак).
ШШаг 2. Если Zk > —е, то стоп; найдено приближенное е-равновесие по Нэшу в игре Г3: (xk,yk,zk) £ NE(Г3,е).
Шаг 3. По точкам (ur,Vr,wr) £ Dir построить точки (ur,vr,wr) аппроксимации поверхности уровня функции h(-), r = 1, ...,N, так что h(ur ,vr, wr) = £ + A£ ■ (r — 1) + Zk, т. е. построить начальную популяцию точек Popk с поверхности уровня. Для каждой точки популяции вычислить значение функции приспособлености: Zr := PLoc(ur,vr,wr), r = 1,..., N. Положить p : Zp < Zr Уr = 1,..., N.
Ш!аг 4. Если для некоторого номера V £ [1, ...N} выполнено неравенство Zr > —е, то стоп; найдено
(x* ,y*, z* ,а*, ß*,Y*) := ArgPLoc(ur ,vr ,wr) — приближенное глобальное решение в задаче (P); (x*,y*,z*) £ NE(r3^).
Шаг 5. Положить rl := Rand{1,..., N}, r2 := Rand{1,..., N}. Используя какую-либо процедуру кроссовера, по точкам (uri ,vri ,wri) и (ur2 ,vr2 ,wr2) построить точки (u,v,w) и (u, v,w).
Шаг 6. Для точек (u,v,w) и (u,v,w) реализовать выбранную процедуру мутации с вероятностью Pm.
Шаг 7. Вычислить а := a(v, w), ß := ß(v, w), v := 7(u, v); а := а(г),гй), ß := ß(u,w), 7 := 7(v, v). Положитьjt := (v, v, w, а, ß, 7), а := (u, v, w, а, ß, 7). Вычислить также значения v := ^(v), 7 := Ф(7); £ := g(v), £ := g(a) и построить две новые точки, лежащие на поверхностях уровня: h(uri, vri ,wrri) = £ + £ и h(ur2, vr2 ,wrr2) = £ + 7
Шаг 8. Вычислить PLoc(uri ,vri ,wri) и PLoc(ur2 ,vr2 ,wr2). Положить
(ur, Vr, wr) := arg max{PLoc(uri ,vri ,wri), PLoc(ur2, vr2, wr2)}.
Шаг 9. Если PLoc(ur,vr,wr) > —е, то стоп; найдено приближенное е-равновесие по Нэшу в игре Г3.
(x* ,y*, z* ,а*, ß*,Y*) := ArgPLoc(ur ,vr ,wr) — приближенное глобальное решение задачи (P).
Ш!аг 10. Если PLoc(ur, vr, wr) > Zp, то обновить точку j популяции: (up,vp,wp) := (ur,vr,wr).
Ш!аг 11. Если k < Gmax, то k := k + 1 и перейти на шаг 3, иначе стоп. (u*,v*,w*) := argmax{PLoc(ur,vr,wr) | (ur,vr,wr) G Poph, r = 1,...,N}, (x*,y*,z*,a*,e*, Y*) := := ArgPLoc(u*, v*,w*) — полученное решение задачи. #
Допустимая стартовая точка а0, как и для «базового» алгоритма, легко строится с помощью барицентров канонических симплексов и свойства (2) [6-8, 18]. Точности Th и ¿h используются в ГАГП внутри функции PLoc(-), где мы решаем линеаризованную задачу и осуществляем локальный поиск. Поэтому упоминание о Th и ¿h на шагах алгоритма отсутствует. Вспомогательные выпуклая линеаризованная задача и задачи ЛП на шагах локального поиска могут быть решены одним из классических методов линейного и квадратичного программирования (см., например, [11,12]). Построение точек, принадлежащих аппроксимации поверхности уровня, по заданным векторам из Dir и на шаге 7 проводится аналитически (подробнее см. [6,7]). При этом заметим, что эта процедура может быть реализована для любой точки евклидова пространства (кроме 0), поэтому проблем с допустимостью точек, полученных в результате применения операторов ГА, здесь не возникает.
Отметим также необходимость специального вычисления значений скалярных переменных задачи на шаге 7, поскольку аппроксимация поверхности уровня функции, задающей базовую невыпуклость в такого типа задачах, строится только в пространстве трех векторных переменных. Кроме того, немаловажным элементом ГАГП в гексаматричных играх (равно как и «базового» АГП) являются дополнительные критерии останова (см. шаги 2, 4 и 9), которые определяют приближенное глобальное решение задачи (P) согласно свойствам редукции гексамат-ричной игры.
Наконец, из всего широкого спектра возможных вариантов генетических операторов для реализации в ГАГП были выбраны процедуры однородного кроссовера и равномерной мутации [19,20], которые осуществляются следующим образом. Пусть ri,r2 G {1,...N} (ri = r2) — номера особей для осуществления однородного кроссовера и к := Rand[0,1]. Тогда Vj = 1,...,m + n + l, если к < 0.5 то (U,v,w)j := (uri ,vri ,wri )j, (u, v, w)j := (ur2 ,vr2 ,wr2 )j, иначе
(u, v, w)j := (uri, vri, wri )j, (U, v, w)j :=(ur2, vr2, wr2 )j. Далее, пусть Pm — вероятность осуществления мутации, и вследствие особенностей задачи K = 0, K = K > 0. Для каждого j = 1, ...,m + n +1 вычисляются свои к1 := Rand[0,1] и к2 := Rand[0,1]. Если к1 < Pm, то (U, г), w)j := Rand[0,K]. Если к2 <Pm, то (u, v, wv)j := Rand[0,K].
Предварительное численное тестирование разработанного алгоритма, проведенное в [18], показало работоспособность предложенного гибридного подхода к решению гексаматричных игр. Ниже подробно представим сравнительный вычислительный эксперимент по решению большого количества случайно сгенерированных игр различной сложности и размерности.
3 Вычислительный эксперимент
Программы, реализующие разработанный ГАГП, равно как и «базовый» АГП из [6-8], были реализованы в системе MATLAB 7.11.0.584 R2010b. При этом для возможности корректного сравнения счет проводился на том же компьютере, что ив [8], с процессором Intel Core i5-4690K CPU (3.5 GHz) и 16 Gb RAM. Вспомогательные задачи линейного и выпуклого квадратичного программирования решались с помощью подпрограмм «cplexlp» и «cplexqp» пакета IBM ILOG CPLEX 12.6.2 соответственно, с установками по умолчанию.
Наборы тестовых гексаматричных игр были случайно сгенерированы с помощью подпрограммы «sprand» системы MATLAB. Элементы матриц Ai, A 2, Bi, B2, C1, и C2 представляют собой целые псевдослучайные числа, равномерно распределенные на отрезке [—(m + n + l)/10, (m + n + i)/10]. Заполненность матриц была равна 0.1. При этом параметры подпрограммы генерации были установлены так, что при каждом запуске программы генерируется одна и та же псевдослучайная последовательность. Это также дает возможность корректно сравнивать результаты работы двух алгоритмов, поскольку для определенной размерности строится одна и та же серия гексаматричных игр.
Как и во время второго этапа вычислительного эксперимента из [8], с помощью ГАГП решались игры размерности от (10 + 10 + 10) до (100 + 100 + 100) (m = n = l), количество игр в серии зависело от размерности и изменялось от 10000 до 10 (Sr).
Таким образом, все условия эксперимента из [8] были сохранены. Напомним полученные в этом эксперименте результаты решения тестовых задач. Они приведены ниже в табл. 1 со следующими обозначениями: SLoc — количество задач из серии, решенное только с помощью первичного локального поиска; Locav — среднее (на одну задачу серии) количество запусков локального поиска, потребовавшееся при глобальном поиске; LPav и QPav — среднее количество решенных задач ЛП и выпуклых квадратичных задач соответственно. Можно считать эти показатели некой «мерой» эффективности АГП наряду с Tav — средним временем решения одной задачи (в секундах). Наконец, uS — количество задач в серии, в которых не была достигнута заданная точность е = 10-3 приближенной ситуации равновесия по Нэшу.
Таблица 1. Тестирование «базового» АГП на сериях задач различной
размерности
m Sr SLoc LPav LoCav QPav T T av uS
10 10000 1325 200.06 14.75 3.11 0.21 0
15 10000 97 806.57 45.84 8.30 0.94 0
20 1000 1 6057.86 291.23 49.20 6.98 4
25 1000 0 8243.24 575.84 96.65 10.08 7
30 1000 0 14038.57 983.67 164.64 17.81 8
40 1000 0 29920.71 1741.52 290.94 42.49 11
50 100 0 40650.39 2077.65 346.98 58.55 1
60 100 0 58387.44 2584.34 431.37 91.39 1
70 100 0 119430.68 5777.18 963.46 215.88 2
80 10 0 29301.5 985.0 164.8 57.6 0
90 10 0 219911.8 3055.7 509.9 363.5 0
100 10 0 117174.9 3328.4 555.3 265.0 0
Напомним также, что локальный поиск в «базовом» АГП представлял собой последовательную реализацию шести возможных процедур [6-8,22] типа «mountain climbing», получающихся, в частности, с помощью изменения порядка решения задач ЛП. И, как можно видеть из таблицы, в этом случае удалось решить с заданной точностью более 99.8% сгенерированных задач (всего 34 из 24330 задач остались нерешенными).
При реализации ГАГП после предварительных экспериментов прежде всего было уменьшено количество вызовов процедур в локальном поиске с 6 до 2. Стартовая допустимая точка и значения общих параметров выбирались, как ив [8].
Далее, выбор специфических «генетических» параметров (размера популяции (N), вероятности мутации (Pm) и количества поколений (Gmax)) проводился последовательно из наборов {m; (m+n+1); (m+n+ +0 * 3; (m + n +1) * 2}, {0.02; 0.01; 0.03; 0.04} и {(m + n + 1);(m + n +1) * 3; (m+n +1) * 5; (m+n+1) * [л/m]} соответственно. В результате было организовано 4 запуска ГАГП, после окончания каждого из них заново проводилось построение начальной популяции. Сама же начальная популяция строилась с помощью векторов множеств Dir, которые наиболее эффективно зарекомендовали себя в качестве векторов множеств направлений для построения аппроксимаций поверхностей уровня в «базовом» АГП, а именно: первые m точек этого множества выбирались из набора:
Dirl = {er е , r = 1,..., m + n + 1},
где er — соответствующий вектор стандартного евклидового базиса. А
остальные выбирались случайным образом из множеств
тт2 = {(в1,е,ег), г = 1,...,т, $ = 1,...,и, г = 1,...,/},
БгтЗ = {(ег + хк, е* + ук, е} + хк), г = 1,..., т, $ = 1, ...,и, г = 1,..., I},
где ег,е*,ег — также векторы евклидового базиса соответствующей размерности, а (хк,ук, гк) — компоненты текущей критической точки в задаче (Р) (с шага 1 ГАГП). При этом было реализовано два варианта ГАГП: в первом случае выбор из множества Огт2 происходил на 1-м и 3-м запусках ГАГП, а из ОгтЗ — на 2-м и 4-м (прямой шрифт в таблице); во втором случае — наоборот (из ОгтЗ на 1-м и 3-м; из Огт2 на 2-м и 4-м запусках — курсивный шрифт в таблице). В табл. 2, приведенной ниже, представлены результаты, полученные лучшим из этих двух вариантов. При этом в столбце Рат\,2,з,4 указано количество задач из серии, решенных с помощью соответствующего набора параметров N, Рт и Отах. Остальные обозначения и количество задач в сериях остались прежними.
Из табл. 2 прежде всего можно видеть, что количество нерешенных задач из 24330 сгенерированных сократилось с 34 до 11, т. е. более чем в три раза. Естественно, что при реализации ГАГП уменьшилось количество задач, решенных на небольших размерностях только одним локальным поиском, поскольку теперь внутри него действует только 2 процедуры, а не 6.
Тем не менее среднее время решения задач значительно уменьшилось. ГАГП проиграл «базовому» АГП только на размерностях 10, 80 и 100. В первом случае это объясняется тем, что, действительно, при повышении размерности в среднем эффективность ГАГП по времени увеличивается. А во втором и третьем случаях, равно как и для задач с размерностью 90, в сгенерированных сериях слишком мало задач, чтобы можно было судить о какой-то общей тенденции. На размерности 90 ГАГП выигрывает по времени более чем в 4.5 раза, а на размерностях 80 и 100 — проигрывает соответственно в 3.2 и 1.25 раза. Более надежные выводы можно сделать на задачах средних размерностей от 15 до 70. Здесь выигрыш ГАГП очевиден и колеблется от 1.1 до 3.4 раза.
Таблица 2. Тестирование ГАГП на тех же сериях задач
ш БЬвс ^/Рау ЬвОау 0,Рау РаГ1;2,3,4 Тау пБ
10 591 195.89 21.36 10.74 (9399;8;2;0) 0.31 0
15 67 497.82 40.48 20.78 (9796;126;8;2) 0.86 1
20 0 1197.91 85.68 45.15 (943;49;8;0) 2.08 0
25 0 2548.52 163.97 87.37 (904;83;9;2) 4.51 2
30 0 4454.42 276.03 146.47 (842;130;24;2) 8.62 2
40 0 11015.89 578.68 306.00 (739;213;34;8) 23.76 6
50 0 13405.28 744.73 400.79 (65 33 1 1) 30.23 0
60 0 28232.14 1340.10 711.88 (56;38;2;4) 68.14 0
70 0 29017.16 1367.57 725.96 (42;52;6;0) 78.22 0
80 0 62126.4 2469.3 1258.1 (1 7 2 0) 183.69 0
90 0 19781.7 944.2 489.1 (6;4;0;0) 80.04 0
100 0 85091.4 3607.6 1896.2 (0;8;2;0) 329.09 0
Можно заметить также, что при повышении размерности происходит «смещение» доли задач, для решения которых требуются дополнительные запуски ГАГП. Если для задач небольших размерностей более 90% решаются на первом запуске, то для задач размерности 100 уже ни в одной из них равновесие на первом запуске найти не удается. Наконец, первый вариант ГАГП оказался более эффективным по сравнению со вторым, поскольку показал лучшие по качеству результаты в 7 сериях из 12-ти.
Итак, на основании вышесказанного можно сделать окончательный вывод о преимуществе разработанного ГАГП над «базовым» АГП на достаточно широком спектре случайно сгенерированных задач различной размерности.
В завершение статьи (табл. 3) представим результаты решения «усложненных» задач, на которых «базовый» алгоритм показал неприемлемые результаты (до 50% нерешенных задач в серии). При этом была использована модификация разработанного алгоритма, заключающаяся в выборе не т, а до т + п +1 точек из набора при построении начальной популяции. Эта модификация показала себя еще более эффективно во время решения задач таблиц 1 и 2.
Здесь заполненность матриц была повышена до 0.5 для задач размерностей 10 и 15, с постепенным уменьшением до 0.15 для задач высоких размерностей. Отметим, что этим вариантом алгоритма удалось решить задачи вплоть до размерности 200. Обозначения в таблице остались прежние, при этом из нее был исключен столбец 5Хос, поскольку вследствие сложности новых задач одним локальным поиском удалось решить только 16 из 10000 задач с 10 стратегиями у каждого из игроков.
Таблица 3. Тестирование ГАГП на усложненных задачах
ш Бт ^/Рау ЬвОау 0,Р ау Рат1,2,3,4 Тау пБ
10 10000 1076.80 60.14 31.20 (8817;1066;75;10) 1.58 16
15 1000 4309.67 165.62 85.75 (732;238;21;2) 6.84 7
20 1000 10446.60 419.75 215.83 (571;337;60;8) 17.38 24
25 1000 22649.31 819.83 422.18 (410;387;160;18) 36.20 25
30 100 25337.93 1106.68 567.93 (34;41;21;0) 47.27 4
40 100 56583.75 2368.12 1217.07 (9;28;33;25) 114.16 9
50 100 82016.14 3687.08 1897.53 (14;41;28;6) 170.48 11
60 10 79521.8 3225.1 1665.3 (2 3 5 0) 185.59 0
70 10 134172.0 5280.4 2707.8 (1;4;3;1) 366.06 1
80 10 151104.9 6715.2 3601.3 (0 3 5 2) 517.18 0
90 10 220415.0 9677.2 5065.0 (1 3 3 1) 894.40 2
100 1 501558 23425 12242 (0;0;0;1) 2355.30 0
120 1 122514 4095 2485 (0;1;0;0) 618.80 0
150 1 50003 1782 944 (1;0;0;0) 431.32 0
175 1 164588 8041 4314 (0;1;0;0) 2085.30 0
200 1 654850 23544 12315 (0;0;1;0) 8576.27 0
По среднему времени решения задач, числу запусков локального поиска и количеству решенных вспомогательных задач из табл. 3 можно видеть, что «усложненные» задачи труднее для алгоритма примерно в 5-8 раз. Количество нерешенных с точностью 10-3 задач остается достаточно низким (не решены с заданной точностью 99 (менее 1 %) из 13345 сгенерированных задач). При этом в 93 из этих 99 задач удалось приблизиться к нулю с точностью 10-1, так что здесь получено просто более грубое приближенное равновесие по Нэшу. Также сохраняется эффект «смещения» доли задач, для решения которых требуются дополнительные запуски ГАГП. И более эффективным остается первый вариант алгоритма (в 12 сериях из 16).
В целом можно сделать вывод, что гибридный подход к решению гексаматричных игр оказался достаточно эффективным, хотя и сохраняется необходимость его совершенствования с целью дальнейшего повышения размерности и заполненности матриц в сгенерированных задачах.
Заключение
В работе представлены результаты детализации гибридного алгоритма, разработанного в [21] и предназначенного для поиска ситуаций равновесия по Нэшу в гексаматричных играх. Подробно описан выбор его параметров, а также процесс организации и итоги обширного вычислительного эксперимента.
По результатам эксперимента можно сделать вывод, что ГАГП позволяет быстрее и качественнее, чем «базовый» алгоритм [8], решать
гексаматричные игры, особенно это касается игр с повышенной размерностью и заполненностью матриц. Дальнейшее совершенствование алгоритма будет направлено, в частности, на модификацию блока локального поиска, чтобы можно было решать еще более сложные задачи данного класса.
Литература
1. Петросян Л. А., Зенкевич Н. А., Семина Е. А. Теория игр. Москва: Высш. школа, 1998. 304 с. Текст: непосредственный.
2. Pang J.-S. Three modeling paradigms in mathematical programming // Mathematical Programming, Ser. B. 2010. Vol. 124, №2. P. 297-323. DOI: 10.1007/s10107-010-0395-1.
3. Орлов А. В., Стрекаловский А. С. О поиске ситуаций равновесия в би-матричных играх // Автоматика и телемеханика. 2004. № 2. С. 55-68. Текст: непосредственный.
4. Стрекаловский А. С., Орлов А. В. Биматричные игры и билинейное программирование. Москва: ФИЗМАТЛИТ, 2007. 224 с. Текст: непосредственный.
5. Стрекаловский А. С., Энхбат Р. Полиматричные игры и задачи оптимизации // Автоматика и телемеханика. 2014. № 4. С. 51-66. DOI: 10.1134/S0005117914040043. Текст: непосредственный.
6. Орлов А. В., Батбилэг С. Олигополистический банковский сектор Монголии и полиматричные игры трех лиц // Известия Иркутского государственного университета. Сер. Математика. 2015. Т. 11. С. 80-95. Текст: непосредственный.
7. Orlov A. V., Strekalovsky A. S., Batbileg S. On computational search for Nash equilibrium in hexamatrix games // Optimization Letters. 2016. V. 10(2). P. 369-381. DOI: 10.1007/s11590-014-0833-8.
8. Orlov A. V. Finding the Nash equilibria in randomly generated hexamatrix games // Proc. of the 14th Intern. Symposium on Operational Research (SOR'17, Bled, Slovenia, September 27-29, 2017) / Ed. by L. Zadnik Stirn et. al. Ljubljana: Slovenian Society Informatika, Section for Operational Research, 2017. P. 507-512.
9. Strekalovsky A. S. On Solving Optimization Problems with Hidden Nonconvex Structures // Optimization in Science and Engineering / Ed. by T.M. Rassias et al. New-York: Springer, 2014. P. 465-502. DOI: 10.1007/978-1-4939-0808-0_23.
10. Strekalovsky A. S. On a Global Search in D.C. Optimization Problems // Optimization and Applications. OPTIMA 2019. Communications in Computer and Information Science / Ed. by M. Jacimovic et al. Cham: Springer, 2020. V. 1145. P. 222-236. DOI: 10.1007/978-3-030-38603-0_17.
11. Васильев Ф. П. Методы оптимизации. Москва: Факториал-пресс, 2002. 824 c. Текст: непосредственный.
12. Bonnans J.-F., Gilbert J. C., Lemarechal C., Sagastizabal C. A. Numerical optimization: theoretical and practical aspects. Berlin-Heidelberg: Springer, 2006. 494 p.
13. Стрекаловский А. С., Орлов А. В. Линейные и квадратично-линейные задачи двухуровневой оптимизации. Новосибирск: Изд-во СО РАН, 2019. 262 с. Текст: непосредственный.
14. Orlov A. V. The global search theory approach to the bilevel pricing problem in telecommunication networks // Computational Aspects and Applications in Large Scale Networks / Ed. by V.A. Kalyagin et al. Cham: Springer, 2018. P. 57-73. DOI: 10.1007/978-3-319-96247-4_5
15. Strekalovsky A. S., Orlov A. V. Global Search for Bilevel Optimization with Quadratic Data // Springer Optimization and Its Applications. Bilevel optimization: advances and next challenges / Ed. by S. Dempe, A. Zemkoho. Cham: Springer, 2020. V. 161. P. 313-334. DOI: 10.1007/978-3-030-52119-6_11
16. Audet C., Belhaiza S., Hansen, P. Enumeration of all the extreme equilibria in game theory: bimatrix and polymatrix games // Journal of Optimization Theory and Applications. 2006. Vol. 129, № 3. P. 349-372.
17. Golshteyn E., Malkov U., Sokolov N. The Lemke-Howson Algorithm Solving Finite Non-Cooperative Three-Person Games in a Special Setting // DEStech Transactions on Computer Science and Engineering. 2019. Suppl. vol. P. 265272.
18. Orlov A. V. Hybrid Global Search Algorithm with Genetic Blocks for Solving Hexamatrix Games // Известия Иркутского государственного университета. Серия Математика. 2022. Т. 41. C. 40-56. DOI: 10.26516/19977670.2022.41.40.
19. Michalewicz Z. Genetic Algorithms + Data Structures = Evolution Programs. New York: Springer-Verlag, 1994. 340 p.
20. Гладков Л. А., Курейчик В. В., Курейчик В. М. Генетические алгоритмы. Москва: ФИЗМАТЛИТ, 2010. 368 c. Текст: непосредственный.
21. Орлов А. В. Гибридный генетический алгоритм глобального поиска оптимистических решений в задачах двухуровневой оптимизации // Вестник Бурятского гос. ун-та. 2013. Вып. 9. С. 25-32. Текст: непосредственный.
22. Orlov A. V., Strekalovsky A. S. On a Local Search for Hexamatrix Games // CEUR Workshop Proceedings. DOOR-SUP 2016. 2016. V. 1623. P. 477-488. https://ceur-ws.org/Vol-1623/
Статья поступила в 'редакцию 24-04-2023; одобрена после рецензирования 14-06.2023; принята к публикации 23.06.2023.
COMPUTATIONAL STUDY OF HYBRID GLOBAL SEARCH ALGORITHM IN HEXAMATRIX GAMES
Andrei V. Orlov
Cand. Sci. (Phys. and Math.), Assoc. Prof., Senior Researcher, Head of the Laboratory
Matrosov Institute for System Dynamics and Control Theory SB RAS 134 Lermontov St., Irkutsk 664033, Russia
Abstract. The paper addresses a special hybrid approach to the development of methods for finding Nash equilibrium points in three-person polymatrix games (hexamatrix games). On the one hand, this approach is based on the Global Search Theory created by A.S. Strekalovsky for nonconvex optimization problems with d.c. functions (representable as a difference of two convex functions). On the other hand, to implementation of one of the key stages of the global search — constructing an approximation of the level surface of a convex function — operators of genetic algorithms are used.
After the description of the hybrid approach, it is described in detail about the organization and carrying out of an extensive computational experiment comparing the hybrid algorithm with the "basic" global search algorithm developed earlier. The results of a computational experiment on a series of randomly generated problems are presented, which confirm the efficiency of the proposed hybrid approach to solving hexamatrix games.
Keywords: polymatrix games of three players, hexamatrix games, Nash equilibrium, Global Search Theory, local search, global search algorithm, level surface approximation, genetic operators, hybrid algorithm, computational experiment.
For citation
Orlov A. V. Computational Study of Hybrid Global Search Algorithm in Hexamatrix Games. Bulletin of Buryat State University. Mathematics, Informatics. 2023. N. 2. P. 14-29.
The article was submitted 24.04.2023; approved after reviewing 14.06.2023; accepted for publication 23.06.2023.