ДРУГИХ РАЗДЕЛОВ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ
Данная глава занимает особое положение среди остальных. Ее цель — представить читателю предельно краткую характеристику так называемых дополнительных разделов исследования операций. Поясним несколько смысл слова «дополнительный». Дело в том, что существуют различные подходы к классификации этих научных отраслей: иногда их считают составными частями исследования операций, а иногда рассматривают как самостоятельные дисциплины. Обе точки зрения имеют право на существование, но даже если придерживаться второй, разделы, о которых пойдет речь в настоящей главе, можно трактовать как смежные области знания, аппарат которых применим для решения задач исследования операций. Еще раз подчеркнем, что каждый параграф настоящей главы лишь обзорно затрагивает общие вопросы соответствующих тем, а полные учебные курсы по ним существенно превышают объем данной книги.
ТЕОРИЯ ИГР
6.1.1. Предмет теории игры. Задачи, рассмотренные в предыдущих главах, формулировались для ситуаций индивидуального выбора оптимальных решений, т.е. для случаев, когда решение принимает отдельно взятый субъект, обладающий единственной целью.
|
|
Принципиально иная ситуация возникает при изучении процессов принятия решений несколькими субъектами, интересы которых могут не совпадать. При этом возникают задачи со многими целевыми функциями (критериями). Область математики, изучающая данные проблемы, получила название теории игр. Задачи теории игр относятся к области принятия решений в условиях неопределенности, а их специфика состоит в том, что, как правило, подразумевается неопределенность, возникающая в результате действий двух или более «разумных» противников, способных оптимизировать свое поведение за счет других. Среди типичных примеров такого поведения могут быть названы действия конкурирующих фирм на одном рынке или планирование военных операций.
Одним из основных вопросов в задачах с коллективным выбором решений является вопрос об определении оптимальности, т. е. вопрос, какие решения следует признавать наилучшими в ситуации оптимизации по нескольким критериям, отражающим различные интересы. Многие методы решения проблем теории игр основываются на сведении их к задачам математического программирования. На наиболее простых из них мы остановимся в настоящей главе.
Теория игр берет начало от работ Э. Бореля (1921 г.), а принципиальным этапом в ее становлении как самостоятельного научного направления стала монография Дж. Неймана, вышедшая в 1944 г. [25].
6.1.2. Терминология и классификация игр. Особенностью теории игр как научной дисциплины стала употребляемая в ней специфическая терминология. Термин «игра» применяется для обозначения совокупности правил и соглашений, которыми руководствуются субъекты, поведение которых мы изучаем. Каждый такой субъект k, где k ∊l: K, или игрок, характеризуется наличием индивидуальной системы целевых установок и стратегий s 1 k, s 2 k,..., smkk, т. е. возможных вариантов действий в игре.
|
|
Достаточно распространенный способ математического описания игры основан на задании функций fk (s 1 i 1 , s 2 i 2 ,..., skik ,..., sKik), каждая из которых определяет результат (платеж, выигрыш), получаемый k -м игроком в зависимости от набора стратегий S =(s 1 i 1 , s 2 i 2 ,..., skik ,..., sKik), примененного всеми участниками игры. Функции fk, k ∊l: K также называют функциями выигрыша, или платежными функциями. В том случае, если для любых S
игра называется игрой с нулевой суммой. Игру с двумя участниками и нулевой суммой называют антагонистической. Антагонистические игры, т. е. игры, в которых выигрыш одного участника равен проигрышу другого, в силу относительно простой постановки задачи являются наиболее изученным разделом теории игр. Однако содержание теории игр, безусловно, не исчерпывается ими. В классификации игровых моделей выделяют игры с конечными и бесконечными наборами стратегий у игроков, выделяют игры по возможным количествам ходов у участников. Также игры делят на некооперативные и кооперативные, т. е. те, в которых функции выигрыша участников зависят от образуемых ими коалиций. Помимо этого игры можно различать по объему информации, имеющейся у игроков относительно прошлых ходов. В этой связи они делятся на игры с полной и неполной информацией. Заинтересованный читатель может обратиться к таким источникам, как [17, 23].
6.1.3. Матричные игры и понятие седловой точки. Рассмотрим более подробно антагонистические игры и их основные свойства. Удобным способом задания игры двух участников с нулевой суммой является платежная матрица. Отсюда, кстати, происходит еще одно их название — матричные игры. Каждый элемент платежной матрицы аij содержит числовое значение выигрыша игрока I (проигрыша игрока II), если первый применяет стратегию i, а второй — стратегию j. Термины выигрыш и проигрыш следует понимать в широком смысле, т. к. они могут принимать отрицательные значения и с житейской точки зрения означать противоположное. Нетривиальность задачи прежде всего заключается в том, что каждый из игроков делает свой выбор, не зная о выборе другого, что существенно осложняет процесс оптимизации выбираемой стратегии.
Классическим примером антагонистической игры является игра с двумя участниками, загадывающими независимо друг от друга числа. Предполагается, что если их сумма оказывается четной, то выигрыш, равный 1, достается первому игроку, а если нечетной, то второму. Положив, что для обоих игроков загадывание нечетного числа является первой стратегией, а четного — второй, можем записать платежную матрицу данной игры:
Строки матрицы (6.1) соответствуют стратегиям игрока I, столбцы — стратегиям игрока II, а ее элементы — результатам первого игрока. Также из определения игры следует, что элементы данной матрицы, взятые с обратным знаком, соответствуют выигрышам второго игрока.
Более сложная и содержательная платежная матрица может быть получена, если несколько модифицировать предложенную игру. Допустим, что оба участника имеют право загадывать числа от 1 до 4, что составляет их соответствующие стратегии. В случае, если результат сложения задуманных чисел будет четным, то второй игрок выплачивает первому получившуюся сумму, а если нечетным, то первый — второму. Запишем платежную матрицу для такой игры:
|
|
Некоторая условность и искусственность в постановке проблемы не должны в данном случае нас смущать, так как к подобной форме может быть сведена модель, описывающая, например, соревнование двух фирм за вновь открывшийся рынок сбыта продукции и т. п.
Как уже отмечалось, важнейшим в теории игр является вопрос об оптимальности решения (выбора стратегии) для каждого из игроков. Проанализируем с этой точки зрения некоторую матричную игру, для которой задана платежная матрица А =║ aij ║ m x n . При выборе игроком I стратегии i его гарантированный доход независимо от действий игрока II составит min ai,j. Поскольку он может выбирать i самостоятельно, то целесообразно этот выбор сделать таким, чтобы он при любой стратегии противника максимизировал величину гарантированного дохода, т. е. обеспечивал получение max (min ai,j). Такой принцип выбора стратегии получил название «принцип максимина». С другой стороны, аналогичные рассуждения могут быть проведены по поводу действий второго игрока. Его наибольший проигрыш при выборе стратегии j составит max ai,j, и, следовательно, ему следует выбирать стратегию так, чтобы минимизировать величину проигрыша при любых действиях соперника, т. е. обеспечить min (max ai,j). в этом суть принципа минимакса.
Можно доказать справедливость следующего соотношения:
Однако очевидный интерес представляет ситуация, при которой значение выигрыша (платежа), получаемого игроком I при выборе им максиминной стратегии, равно платежу (проигрышу) II-го игрока при минимаксной стратегии
В этом случае говорят, что игра имеет седловую точку. Совпадение значений гарантированных выигрышей игроков при максиминной и минимаксной стратегии означает возможность достижения в игре некоторого оптимального (стабильного, равновесного) состояния, от которого невыгодно отклоняться ни одному из участников. Понятие «оптимальность» здесь означает, что ни один разумный (осторожный) игрок не стремится изменить свою стратегию, так как его противник, в принципе, сможет выбрать такую стратегию, которая даст худший для первого результат. Стратегии i* и j *, образующие седловую точку, называются оптимальными, а значение v = ai*j* называют ценой игры. Тройка (i*, j*, v) считается решением матричной игры с седловой точкой.
|
|
Нетрудно заметить, что не всякая игра обладает седловой точкой. В частности, как игра (6.1), так и игра (6.2) седловой точки не имеют. Примером игры, имеющей седловую точку, является игра с платежной матрицей (6.5).
В данной матрице минимальные (гарантированные) выигрыши первого игрока по строкам равны 1, 5 и (-3). Следовательно, его максиминному выбору будет отвечать стратегия 2, гарантирующая выигрыш 5. Для второго игрока максимальные проигрыши по столбцам матрицы составят 8, 10, 5, 17, поэтому имеет смысл остановиться на стратегии 3, при которой он проиграет только 5. Таким образом, вторая стратегия первого игрока и третья стратегия второго образуют седловую точку со значением 5, т. е. для игры с матрицей (6.5) имеет решение (2; 3; 5).
6.1.4. Смешанные стратегии. Дальнейшее развитие теории матричных игр основывается на исследовании игры как некоторого повторяющегося процесса. Действительно, вряд ли можно дать содержательные рекомендации по такому вопросу, как следует поступать участникам однократно проводимой игры, не имеющей седловой точки. В случае же ее многократных повторов естественной и плодотворной представляется идея рандомизации выбора стратегий игроками, т. е. внесение в процесс выбора элемента случайности. Действительно, систематическое отклонение, например, игрока I от максиминной стратегии с целью увеличения выигрыша может быть зафиксировано вторым игроком и наказано. В то же время абсолютно хаотичный выбор стратегий не принесет в среднем наилучшего результата.
F F Смешанной стратегией игрока I в игре с матрицей A =║ ai,j ║ m x n называется упорядоченный набор действительных чисел xi , i ∊1: m, удовлетворяющих условиям
Числа интерпретируются как вероятности применения игроком I стратегий 1, 2,..., m, которые, в отличие от смешанных, также называют чистыми стратегиями.
Аналогично вводится понятие смешанных стратегий игрока II, которые определяются как набор чисел уj, j ∊1: n, удовлетворяющих условиям
Тогда, если игрок I применяет смешанную стратегию х = (х 1, х 2,..., хm) а игрок II смешанную стратегию y = (y 1, y 2,..., yn), то математическое ожидание выигрыша игрока I (проигрыша игрока II) определяется соотношением
*
* Напомним, что при многократном повторении игры средний выигрыш близок к математическому ожиданию.
В дальнейшем через Х будем обозначать множество допустимых смешанных стратегий игрока I, определяемое условием 6.7, а через Y — определяемое условием 6.8 множество допустимых смешанных стратегий игрока II.
К поиску решения игры в смешанных стратегиях, так же как и в п. 6.1.3, могут быть применены критерии максимина-минимакса. В соответствии с ними игрок I будет выбирать свою смешанную стратегию х = (х 1, х 2,..., хm) таким образом, чтобы максимизировать наименьший средний выигрыш:
который, как можно доказать, равен
а игрок II — свою смешанную стратегию так, чтобы минимизировать наибольший средний проигрыш:
также равный
По аналогии с (6.3) для любых х ∊ Х и y ∊ Y справедливо неравенство
F F Стратегии х* ∊ Х и y* ∊ Y называют оптимальными смешанными стратегиями, если для любых х ∊ Х и y ∊ Y справедливо равенство
v =F (x*, у*) называют ценой игры, и если х* и у* существуют, то говорят, что игра имеет решение в смешанных стратегиях (х*, у*, v).
Справедлива фундаментальная теорема Дж. Неймана, которую мы приведем без доказательства.
Теорема 6.1 (основная теорема матричных игр). Любая матричная игра имеет решение в смешанных стратегиях. |
Значение и нетривиальность теоремы (6.1) обусловлены прежде всего тем, что, как было показано в п. 6.1.3, в общем случае матричные игры в чистых стратегиях решения не имеют.
6.1.5. Решение матричных игр методами линейного программирования. Рассмотрим некоторые способы решения матричных игр. Задача, решаемая первым игроком, (6.10) была сформулирована как максимизация наименьшей из сумм
но если определить некоторое хm +1, для которого выполняется
то она может быть сведена к задаче линейного программирования:
при ограничениях
Проведя аналогичные рассуждения, приходим к тому, что задача минимизации наибольшего ожидаемого проигрыша, решаемая игроком II (6.12), сводится к задаче линейного программирования
Таким образом, мы получаем возможность применять все возможности аппарата линейного программирования для поиска оптимальных стратегий обоих игроков.
Достаточно легко проверить, что задачи (6.16)-(6.17) и (6.18)-(6.19) образуют двойственную пару. Здесь в определенном смысле мы вернулись к проблемам, уже рассматривавшимся во второй главе, а именно к взаимосвязи между наличием решения у некоторой оптимизационной задачи и существованием седловой точки у соответствующей функции Лагранжа. В данном случае аналогичная связь прослеживается между седловой точкой игры и решением пары задач оптимизации.
6.1.6. Графические методы решения игр. Следует отметить, что применение для решения задач (6.16)-(6.17), (6.18)-(6.19) стандартных алгоритмов линейного программирования далеко не всегда является рациональным. Помимо этого существуют иные методы, которые основываются на использовании специфики данных задач. В настоящем пункте мы остановимся на очень простом классическом способе поиска оптимальных смешанных стратегий в матричных играх, где один из участников имеет только две стратегии (это так называемые 2 х п и т х 2 игры).
Для определенности положим, что игрок I имеет возможность выбирать между двумя стратегиями с вероятностями x 1 и x 2 = 1- x 1, тогда его ожидаемые выигрыши, соответствующие чистым стратегиям игрока II, примут вид
или
т. е. ожидаемые выигрыши могут быть представлены в виде графиков линейных функций, зависящих от переменной x 1 ∊ [0; 1] (рис. 6.1, где предполагается, что игрок II имеет три стратегии).
Линии, изображенные на рис. 6.1, задают зависимости среднего выигрыша игрока I от значения вероятности x 1 , с которой он выбирает свою первую стратегию, для случаев, когда его противник выбирает первую, вторую или третью чистую стратегию. Тогда значениям минимального гарантированного дохода первого игрока соответствует нижняя огибающая всех трех прямых. Согласно принципу максимина, оптимальному выбору игрока I будет соответствовать наивысшая точка, лежащая на данной огибающей, отмеченная на рисунке как (x 1*, z*). Зная ее, можно определить оптимальную смешанную стратегию первого игрока х * = (x 1*, 1- x 2*) и цену игры, равную z*.
Исходя из отношения двойственности, которым, как было установлено в п. 6.1.5, связаны задачи обоих игроков, по оптимальной стратегии первого участника х * однозначно определяется оптимальная стратегия его противника у*. Поскольку у* является результатом решения задачи линейного программирования, то он обладает всеми свойствами допустимого базисного плана, т. е. в случае 2 х п игры имеет не более чем две ненулевых компоненты и не менее чем (п -2) нулевых. Номера ненулевых элементов у* определяются номерами линий, пересечение которых определило оптимальную стратегию первого игрока. Действительно, игрок II знает оптимальную стратегию соперника, и применение им стратегий, соответствующих прямым, проходящим выше точки (х 1*, z *), только увеличило бы его проигрыш.
В рассматриваемом примере это линии z 2 и z 3, и, следовательно, в своей оптимальной стратегии второй игрок должен с ненулевыми вероятностями применять вторую и третью чистые стратегии (у 2>0, у 3 >0). На основе этого, а также учитывая условие нормировки
можем выразить: y 3 = l – y 2 тогда оптимальное значение y 2* может быть найдено из условия
или
В результате получаем оптимальную стратегию игрока II у*= (0, у 2*, у 3*).
Очевидно, что поиск решения в игре т х 2 осуществляется аналогичным образом с точностью до наоборот: строятся графики ожидаемого проигрыша игрока II, находится их верхняя огибающая и т. д.
Безусловно, графический способ в силу ограниченности круга задач, к которым он может быть применен, имеет скорее теоретическое, чем практическое значение. Однако он хорошо иллюстрирует содержательную сторону процесса поиска решения в игре.