КОМПЬЮТЕРНЫЕ СИСТЕМЫ И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 004.4
ПОСТРОЕНИЕ ОПТИМАЛЬНОЙ СТРАТЕГИИ В ПОВТОРЯЮЩЕЙСЯ ДИЛЕММЕ ЗАКЛЮЧЕННОГО ПРОТИВ ФИКСИРОВАННОГО МНОЖЕСТВА
ПРОТИВНИКОВ М.Я. Пинский, Д.В. Степанов
Представлена стратегия для повторяющейся дилеммы заключенного, которая набирает максимальное количество очков против фиксированного набора противников (нескольких классических стратегий, ZD-стратегии) и против нее самой, обеспечивая эволюционную устойчивость в заданном множестве. Приведен конечный автомат, соответствующий данной стратегии, и описано его построение при помощи генетического алгоритма.
Ключевые слова: повторяющаяся дилемма заключенного, конечные автоматы, генетические алгоритмы, ZD-стратегия.
Введение
Дилемма заключенного (ДЗ) - бескоалиционная биматричная игра в теории игр, в которой два игрока X и Y, независимо друг от друга и не имея информации о решении друг друга, осуществляют выбор между двумя стратегиями, традиционно называемыми предательством и кооперацией [1]. Выигрыш каждого участника зависит как от его собственных действий, так и от действий противника, при этом собственно «дилемма» состоит в следующем: очки назначаются так, что взаимная кооперация выгоднее обоюдного предательства, но для каждого отдельного игрока рациональным выбором оказывается предательство.
Повторяющаяся дилемма заключенного (ПДЗ) - расширение ДЗ [2, 3], в котором игра происходит многократно. Если число раундов конечно и известно заранее, то рациональным выбором игрока снова будет постоянное предательство. Все, однако, меняется, как только число раундов становится случайным - множество рациональных стратегий существенно расширяется.
До 2012 г. лучшей стратегией считалась «око за око с прощением» [2, 4], найденная в рамках чемпионата по ПДЗ, организованного Р. Аксельродом и проводившегося начиная с 1980-х г.г. [2]. Данная стратегия состоит в повторении действия оппонента на предыдущем шаге, при этом предательство с небольшой вероятностью прощается, и игрок кооперируется.
Весной 2012 г. В. Прессом и Ф. Дайсоном был предложен принципиально иной класс стратегий, основанных на интерпретации игры с помощью марковских цепей и названных ZD-стратегиями (zero-determinant strategies) [5]. ZD-стратегии задаются четверкой вероятностей выбора кооперации игроком при условии каждого из четырех возможных исходов предшествующего раунда игры. Предложенный класс стратегий вносит существенные изменения в суть игры: игрок X, который использует ZD-стратегию, односторонним образом связывает свой выигрыш с выигрышем оппонента Y , определяя линейную зависимость между очками, которые получит он и его противник. При этом игроком X может быть навязан «несправедливый» раздел очков.
Недостатком ZD-стратегий является то, что они не являются эволюционно устойчивыми, т.е. проигрывают сами себе, что приводит к вытеснению их из популяции, представленной различными стратегиями [6]. Единственный вариант, при котором ZD-стратегия может закрепиться в популяции - это наличие у стратегии «теории ума», т. е. способности распознавать в противнике игрока, придерживающегося ZD-стратегии, для последующей кооперации с ним.
Некоторые классические стратегии эволюционно устойчивы, но против ZD-стратегии они не набирают максимального числа очков. ZD-стратегии имеют возможность получать всегда не меньше очков, чем противник, но при этом против классических стратегий они не набирают большого числа очков. Цель работы - построить стратегию, которая будет набирать максимум очков против всех противников из фиксированного набора классических стратегий и ZD-стратегии.
Дилемма заключенного
ДЗ может быть описана как ситуация, в которой двоим изолированным друг от друга индивидуумам X и Y предлагается на выбор либо дать показания против подельника (предательство - defection), либо хранить молчание (кооперация - cooperation). Действия предпринимаются каждый ход одновременно, после чего игроки узнают результаты предыдущего хода. Обозначим возможные действия игроков буквами d и c (от слов «defection» и «cooperation»). Выигрыши Sx игрока X, в зависимости от выбора собственной стратегии и действий Y , приведены в табл. 1 [1].
4
X У
с й
с К £
й Т Р
Таблица 1. Матрица выигрышей игрока X в ДЗ
Выигрыши игроков следует трактовать в терминах функции полезности [1]. Дилемма возникает в том случае, когда выполнены неравенства Т > К > Р > £ и 2К > Т + £. Последнее неравенство говорит о том, что в случае взаимной кооперации игроков (сс) достигается строгий Парето-оптимум - ситуация, любая альтернатива которой приводит к снижению выигрыша хотя бы для одного игрока. Если бы между игроками была возможна коммуникация, Парето-оптимум описывал бы выбор рациональных игроков, получающих суммарный выигрыш 2К . Однако, поскольку игра является бескоалиционной и выполнено первое из приведенных выше неравенств, рациональным выбором каждого игрока является предательство - йй, т.е. возникает ситуация равновесия по Нэшу, в которой ни один из игроков не может односторонним образом увеличить свой выигрыш, выбрав альтернативную стратегию. Суммарный выигрыш, отвечающий равновесию по Нэшу 2Р < 2К , что и трактуется как дилемма в рассматриваемой задаче.
Для того чтобы сделать ДЗ более адекватной моделью возникновения кооперации между эгоистичными игроками, было предложено рассматривать ДЗ в форме повторяющейся игры - ПДЗ. Если, однако, число раундов известно игрокам заранее, то по индукции можно получить, что рациональным выбором игрока будет снова стратегия, состоящая в постоянном предательстве. Ситуация меняется, как только число раундов игры становится случайным (заранее неизвестным для игроков).
Проводившийся в начале 1980-х г.г. Р. Аксельродом чемпионат по ПДЗ выявил фаворита - стратегию «око за око», предложенную А. Рапапортом и состоящую в повторении предыдущего хода противника. Данная стратегия относится к классу марковских стратегий - стратегий, очередной ход которых зависит только от результатов предыдущего раунда. Такие стратегии естественно задавать четверкой вероятностей р = (л Р2, Рз, Р4) = (рсс, Рсй, Рйс, Рйй) кооперации в текущем раунде при условии известного исхода предыдущего раунда { сс, сй, йс, йй}. Начальный ход обычно определяется равновероятным выбором кооперации и предательства. В данных обозначениях стратегия «око за око» запишется в виде р = (1,0,1,0). Обратим внимание на то, что данная стратегия имеет «слабое место» - она никогда не
кооперируется, если ее предают, и, если противник не окажется склонным к прощению, игра закончится постоянным взаимным предательством. Для того чтобы выйти из тупиковой ситуации, была предложена стратегия «око за око с прощением», показавшая себя наиболее успешной в последующих чемпионатах по ПДЗ.
Приведенный пример со стратегией «око за око» показывает, что стратегия, набирающая много очков против других стратегий, может плохо играть сама против себя. Действительно, если две стратегии «око за око» играют друг против друга, то при равновероятном выборе первого хода игры, они с вероятностью 3/4 в следующем раунде перейдут к постоянному взаимному предательству и наберут мало
очков. Таким образом, стратегия «око за око» вытеснит сама себя, даже если она будет преобладать в некотором наборе играющих друг с другом стратегий. Свойство преобладающей стратегии не быть вытесненной никакой другой стратегией называется эволюционной устойчивостью и было предложено Дж.М. Смитом и Дж. Прайсом [6].
ZD-стратегии
В статье В. Пресса и Ф. Дайсона [5] описывается новый класс марковских стратегий для ПДЗ, которые названы авторами 2Б-стратегиями. Вероятности р = (л, р^, Рз, Р4) для этих стратегий подчиняются следующим равенствам:
К - Р
Р1 = 1 -Ф-(х-!)• ,
Т - Р
Р2 = 1 -Ф-^1 + Х Рз = ф-( Х +
Р - £ Т - Р
Р - £
Р4 = 0,
где х - любое положительное вещественное число, а ф удовлетворяет неравенству
0 <ф<-^--.
* Р - Б + 1-(Т - Р)
Основное свойство так определенных стратегий состоит в том, что если X придерживается 2Б-стратегии, то выигрыши игроков Бх и Бу, за вычетом Р , будут пропорциональны с коэффициентом х (независимо от действий игрока У):
Бх -Р = %-(Бу -Р).
Коэффициент х определяет «справедливость» раздела выигрыша между игроками. В частности, упоминавшаяся выше стратегия «око за око» также относится к классу 2Б-стратегий со «справедливым» коэффициентом х = 1.
2Б-стратегия успешно играет с игроками, стремящимися максимизировать свой выигрыш, т.е. эволюционными игроками. При любых попытках увеличить число набранных очков эволюционный игрок увеличивает и выигрыш 2Б-игрока, гарантируя ему победу в любом случае. При этом, как уже было отмечено относительно стратегии «око за око», 2Б-стратегии не являются эволюционно-устойчивыми [6].
Построение оптимальной стратегии
Назовем «оптимальной» эволюционно устойчивую стратегию, набирающую максимум очков в игре против некоторого фиксированного набора стратегий. Умение стратегии играть против себя необходимо для эволюционной устойчивости. Обратим внимание на то, что эволюционная устойчивость понималась в нестрогом смысле: искомая стратегия не должна быть вытесненной никакой другой из заданного множества стратегий. Целью авторов было построить оптимальную детерминированную стратегию. Был определен следующий набор противников:
- всегда кооперирующийся игрок;
- всегда предающий;
- действующий случайно;
- повторяющий действия противника (стратегия «око за око»);
- 2Б-стратегия с х ^ 1;
- сама искомая стратегия.
Для описания стратегии, адаптирующейся под различные действия противника, был выбран автомат Мура [7], формирующий выходное воздействие в зависимости от текущего состояния. Входным воздействием было действие противника (предательство или кооперация) в предыдущем раунде игры, а выходным - действие игрока X в текущем раунде.
Для поиска автомата, описывающего искомую стратегию, использовался генетический алгоритм [8]. Поскольку в рассматриваемом случае имеется всего два возможных входящих воздействия, каждая особь кодировалась с помощью трех массивов, определяющих целевое состояние X при условии кооперации У, целевое состояние X при условии предательства У и действие в новом состоянии. Функция приспособленности была определена как сумма средних выигрышей в попарных играх со всеми противниками, включая себя. Популяция содержала 100 особей, для вычисления функции приспособленности проводилось 130 раундов ПДЗ по 1000 ходов в каждой, что обеспечило попадание значения функции приспособленности в 95%-й доверительный интервал ее ожидаемого значения.
В результате менее чем за час был построен автомат из 17 состояний, представленный на рисунке. В вершинах указано как будет ходить игрок в данном состоянии (с - кооперация, й - предательство), на переходах указано действие противника. Авторы обращают внимание на то, что в работе не ставилась задача поиска автомата с минимальным числом состояний.
Как видно из сводки результатов, приведенной в табл. 2, найденная стратегия набирает наибольшее число очков в игре против остальных игроков из фиксированного множества стратегий. Обратим внимание на то, что при игре против 2Б-стратегии (включая и стратегию «око за око») полученная стратегия набирает столько же очков, как и всегда кооперирующийся игрок, т.е. построенная стратегия действительно распознает 2Б-стратегию и кооперируется с ней.
Интересно отметить, что в построенном автомате можно выделить состояния, «отвечающие» за работу с 2Б-стратегией (это состояния 3, 13, 9). Данное обстоятельство может быть использовано для построения решающего правила для определения, использует противник 2Б-стратегию или нет.
Поскольку построенная стратегия набирает максимум очков при игре против всех заданных противников и оптимально играет против самой себя (получая 3 очка), она оказывается эволюционно-устойчивой в оговоренном выше нестрогом смысле.
Переходы соответствуют действиям противника
X У
Всегда кооперирующийся Всегда предающий Действующий случайно Око за око гБ-стратегия Полученная стратегия
Всегда кооперирующийся 3 5 4 3 3,7 5
Всегда предающий 0 1 0,5 1 1 1
Действующий случайно 1,5 3 2,25 2,25 2,6 3
Око за око 3 1 2,25 3 1 3
2Б-стратегия 1,9 1 1,5 1 1 1,9
Полученная стратегия 0 1 0,5 3 3,7 3
Сумма 9,4 12 11 13,25 13 16,9
Таблица 2. Сравнительная таблица очков разных стратегий
Заключение
До недавнего времени исследование повторяющейся дилеммы заключенного продвигалось по пути поиска эволюционных стратегий, максимизирующих свой выигрыш. Успешными оказывались стратегии, которые в той или иной степени заставляли противника кооперироваться. Появление нового класса марковских стратегий - 2Б-стратегий - сместило акценты, поскольку 2Б-стратегии в одностороннем порядке задают линейную зависимость, в которой будут разделены выигрыши соперников. Слабым местом гБ-стратегий является их эволюционная неустойчивость - следствие плохой игры против самой себя.
В работе получена стратегия, которая успешно играет как против классических стратегий, так и против 2Б-стратегии, набирая максимально возможное количество очков против каждой из них. Так как автомат, реализующий построенную стратегию, и при игре против самого себя набирает максимум очков, то он является эволюционно устойчивым в описанном множестве противников.
ПОТОКОВАЯ МОДЕЛЬ МАРШРУТИЗАЦИИ С БАЛАНСИРОВКОЙ НАГРУЗКИ
Литература
1. Akin E. Stable Cooperative Solutions for the Iterated Prisoner's Dilemma [Электронный ресурс]. - Режим доступа: http://arxiv.org/pdf/1211.0969/, свободный. Яз. англ. (дата обращения 23.04.2013).
2. Axelrod R., Hamilton W.D. The evolution of cooperation // Science 211. - 1981. - P. 1390-1396.
3. Kendall G., Yao X., Chong S.Y. The Iterated Prisoners' Dilemma 20 Years On. - World Scientific, Singapore. - 2007. - 350 p.
4. Shaun Hargreaves Heap, Varoufakis Y. Game theory: a critical text. - Routledge. - ISBN 0415250943. -2004. - 384 p.
5. Press W.H., Dyson F.J. Iterated Prisoner's Dilemma contains strategies that dominate any evolutionary opponent [Электронный ресурс]. - Режим доступа: arxiv.org/pdf/1208.2666/, свободный. Яз. англ. (дата обращения 23.04.2013).
6. Adami C., Hintze A. Winning isn't everything: Evolutionary instability of Zero Determinant strategies [Электронный ресурс]. - Режим доступа: http://www.pnas.org/content/109/26/10134.full.pdf/, свободный. Яз. англ. (дата обращения 23.04.2013).
7. Шалыто А. А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. - СПб: Наука, 1998. - 628 с.
8. Трофимов Д.А., Шалыто А.А. Метод оптимизации стратегий в играх для двух участников с использованием генетических алгоритмов // Научно-технический вестник СПбГУ ИТМО. - 2011. - № 2 (72). -С. 45-48.
Пинский Михаил Яковлевич - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, студент, [email protected]
Степанов Денис Вячеславович - Концерн «НПО «Аврора», кандидат технических наук, доцент,
УДК 621.391
ПОТОКОВАЯ МОДЕЛЬ МАРШРУТИЗАЦИИ С БАЛАНСИРОВКОЙ НАГРУЗКИ ПО ДЛИНЕ ОЧЕРЕДИ В ПРОГРАММНО-КОНФИГУРИРУЕМЫХ
СЕТЯХ
Т.В. Вавенко, В.Л. Стерин, А.В. Симоненко
Предложена потоковая модель многопутевой маршрутизации с балансировкой нагрузки по длине очереди для программно-конфигурируемых сетей. Показаны результаты анализа предложенной модели для фрагмента телекоммуникационной сети корпорации Google. Проведено сравнение решения задачи маршрутизации в рамках предложенной модели и модели маршрутизации с балансировкой нагрузки на основе коэффициента максимального использования каналов.
Ключевые слова: программно-конфигурируемые сети, многопутевая маршрутизация, балансировка нагрузки, многопутевая задержка, коэффициент максимального использования каналов связи, длина очереди, трафик.
Введение
На сегодняшний день многие ученые в области телекоммуникаций говорят о недостатках традиционных TCP/IP-сетей, которые сводятся к главному - невозможности гибко управлять телекоммуникационной сетью (ТКС), что приводит к ухудшению показателей качества обслуживания (Quality of Service, QoS) [1]. Большая часть этих недостатков минимизируется при реализации идей, заложенных в концепцию программно-конфигурируемых сетей (Software Defined Networking, SDN) [2], которая сегодня активно развивается и, по мнению своих разработчиков, должна эффективно дополнить и модернизировать многие существующие сетевые технологии. Главная идея SDN состоит в отделении управляющего уровня (control plane) от уровня передачи данных (forwarding data plane), что предполагает передачу ряда основных управляющих функций от операционных системы (ОС) узлов (маршрутизаторов и коммутаторов) ТКС к сетевой ОС. При этом сетевая ОС с помощью определенных протоколов, основываясь на работе специальных облачных серверов, решает задачи управления трафиком, в том числе задачи маршрутизации [3], что повышает уровень централизации управления в сети. В связи с этим развитие и внедрение SDN-решений требует усовершенствования протоколов маршрутизации, а также их адаптацию под новые условия.
С другой стороны, стоит отметить, что с целью удовлетворения растущих требований по QoS [1] маршрутные протоколы, кроме классических функций (расчет маршрутов передачи трафика через сеть), поддерживают дополнительные возможности, среди которых - балансировка нагрузки каналов ТКС с реализацией многопутевой стратегии маршрутизации. Обеспечение балансировки нагрузки на практике позволяет оптимизировать решение задачи маршрутизации и эффективно использовать ресурсы сети, в