- •Линейное программирование.
- •Основная задача линейного программирования.
- •Графический метод решения задачи линейного программирования.
- •Теорема:
- •Cимплекс-метод.
- •Способы нахождения начального базисного решения.
- •Пример:
- •Пример:
- •3 Итерация (оптимум)
- •Теорема:
- •Транспортная задача.
- •Пример:
- •Проверка на оптимальность. Метод потенциалов.
- •Задача о назначениях.
- •Пример:
- •Задача коммивояжера. Метод ветвей и границ.
- •Сетевые задачи.
- •Пример:
- •Решение.
- •Задача о максимальном потоке.
- •Динамическое программирование.
- •Пример:
- •Решение.
- •Решение.
- •Задачи о маршрутизации.
- •Классификация игр.
- •Антагонистические матричные игры.
- •Решение матричной игры в чистых стратегиях.
- •Пример:
Классификация игр.
Игры можно классифицировать по различным признакам.
1. По количеству игроков (игры 2 и n игроков).
Игра, в которой участвуют два игрока, называется парной.
2. По количеству стратегий.
В зависимости от числа стратегий игры делятся на «конечные» и «бесконечные». Игра называется конечной, если у каждого игрока имеется в распоряжении только конечное число стратегий (в противном случае игра называется бесконечной). Бывают игры (например, шахматы), где в принципе число стратегий конечно, но так велико, что полный их перебор практически невозможен.
3. По характеру взаимодействия игроков.
По характеру взаимодействия игроков игры делятся на:
бескоалиционные – игроки не имеют права вступать в соглашения, образовывать коалиции;
коалиционные (кооперативные)– игроки могут вступать в коалиции.
4. По характеру выигрыша.
По характеру выигрыша игры можно разделить на антагонистические и игры с ненулевой суммой.
Игра называется игрой с нулевой суммой , если сумма выигрышей всех игроков в любой игровой ситуации равна нулю (т. е. каждый игрок выигрывает только за счет других).
5. По характеру получения информации.
По характеру получения информации игры делятся на:
игры в нормальной форме – игроки получают всю предназначенную им информацию до начала игры;
динамические игры – информация поступает игрокам в процессе развития игры.
Антагонистические матричные игры.
Парная, конечная, антагонистическая игра называется матричной.
Рассмотрим такую игру G(X,Y,K), в которой участвуют два игрока, имеющие противоположные интересы: выигрыш одного равен проигрышу другого. Так как выигрыш первого игрока равен выигрышу второго игрока с обратным знаком, мы можем интересоваться только выигрышем а первого игрока. Естественно, первый игрок хочет максимизировать, а второй — минимизировать а.
X
и Y
-- непустые множества стратегий для 1
и 2 игроков соответственно, элементы
декартова произведения X×Y
(т.е. пары стратегий (x,y),
где x
,
y
--ситуации), а функция К: X×Y→R
называется функцией
выигрыша первого игрока.
Пусть
у первого игрока имеется m
стратегий, а у второго игрока n
стратегий. Допустим, что из своих m
стратегий первый игрок выбирает i-ю
(i=1,…,m),
а второй игрок j-ю
(j=1,…,n).
Тогда определяется выигрыш первого
игрока, равный
.
Если выигрыш равен отрицательному
числу, то речь идет о фактическом
проигрыше игрока. Матрица А
называется платежной матрицей, или матрицей выигрыша:
Решение матричной игры в чистых стратегиях.
Главным в исследовании игр является понятие оптимальных стратегий игроков. В это понятие интуитивно вкладывается такой смысл: стратегия игрока является оптимальной, если применение этой стратегии обеспечивает ему наибольший гарантированный выигрыш при всевозможных стратегиях другого игрока.
Исходя из этих позиций, игрок 1 исследует матрицу выигрышей А следующим образом:
для
каждого значения i
(i
=1,2,..,m)
определяется
минимальное значение выигрыша в
зависимости от применяемых 2-м игроком
стратегий j(
i
=1,2,..n):
.
Т.е. определяется минимальный выигрыш для игрока 1 при условии, что он примет свою i-ю чистую стратегию, а затем из этих минимальных выигрышей отыскивается такая стратегия i = io, при которой этот минимальный выигрыш будет максимальным, т.е. находится
.
Число
называется нижней
ценой игры и
показывает, какой наибольший гарантированный
выигрыш может обеспечить себе игрок 1,
применяя свои чистые стратегии при
всевозможных действиях игрока 2.
Принцип
оптимальности
в поведении 1-го игрока, который заключается
в достижении им наибольшего гарантированного
выигрыша, называется принципом
максимина,
т.е.
- это максимин.
Оптимальная стратегия 1-го игрока, при
которой достигается
,
называется максиминной.
Игрок 2 при оптимальном своём поведении должен стремиться по возможности за счёт своих стратегий максимально уменьшить выигрыш игрока 1:
Поэтому
для игрока 2 отыскивается
,
т.е.
определяется максимальный проигрыш
игрока 1, при условии, что игрок 2 применит
свою j-ю
стратегию
При этом наименьший из возможных проигрышей составит
.
Число
называется верхней
иеной игры. Принцип
оптимальности
в поведении 2-го игрока, который заключается
в достижении им наименьшего из возможного
проигрыша, называется принципом
минимакса,
т.е. -
это минимакс.
Оптимальная стратегия 2-го игрока, при
которой достигается
,
называется минимаксной.
Теорема:
Нижняя цена игры не превосходит верхней цены игры.
Доказательство.
и
,
,
(
).
,
.
Т.о., теорема доказана.
Пример:
Оптимальной
ситуацией
в игре G=
(X, Y, К) называют пару стратегий (
),
от которой ни одному из игроков невыгодно
отклоняться.
Такая ситуация ( ) называется равновесной, а принцип оптимальности, основанный на построении равновесной ситуации,— принципом равновесия.
В
антагонистической игре G=(Х,
Y, К) ситуация (
)
называется ситуацией
равновесия
или седловой
точкой,
если
.
Число
v
=
называется
значением игры.
Если
в игре с матрицей А
,
то говорят, что эта игра имеет решение
в чистых стратегиях и точка
матрицы выигрыша (
),
для которой выполняется условие
для всех
,
называется седловой
точкой.
В
седловой точке элемент матрицы
является одновременно минимумом в своей
строке и максимумом в своем столбце
(см. рис.).
Теорема:
Матричная
игра G(X,Y,K)
имеет решение (
,
v)
в чистых стратегиях
игровая
ситуация (
)является
равновесной.
Игры, в которых достигается ситуация равновесия, называются вполне определенными.
Решение игры в смешанных стратегиях.
Исследование в матричных играх начинается с нахождения её седловой точки в чистых стратегиях. Если матричная игра имеет седловую точку в чистых стратегиях, то нахождением этой седловой точки заканчивается исследование игры. Если же в игре нет седловой точки в чистых стратегиях, то можно найти нижнюю и верхнюю чистые цены этой игры, которые указывают, что игрок 1 не должен надеяться на выигрыш больший, чем верхняя цена игры, и может быть уверен в получении выигрыша не меньше нижней цены игры. Улучшение решений матричных игр следует искать в использовании секретности применения чистых стратегий и возможности многократного повторения игр в виде партии. Этот результат достигается путём применения чистых стратегий случайно, с определённой вероятностью.
Смешанной стратегией игрока называется полный набор вероятностей применения его чистых стратегий.
Пусть
имеется матричная игра G(X,Y,K).
Если
игрок 1 имеет m
чистых стратегий 1,2,... m,
то вектор х = (p1,
p2,...,
pm),
где
,
i=1,2,…,m
есть смешанная стратегия первого игрока.
Аналогично
для игрока 2, который имеет n
чистых стратегий, смешанная стратегия
у - это вектор y
= (q1,
q2,...,
qn),
где
,
i=1,2,…,n.
Чистая стратегия есть частный случай смешанной стратегии. Действительно, если в смешанной стратегии какая-либо i-я чистая стратегия применяется с вероятностью 1, то все остальные чистые стратегии не применяются. И эта i-я чистая стратегия является частным случаем смешанной стратегии.
Оптимальная стратегия игрока – это стратегия, обеспечивающая ему максимально возможный гарантированный средний выигрыш при достаточно большом повторении ходов игры.
Средний выигрыш игрока K(X,Y) 1 в матричной игре с матрицей А выражается в виде математического ожидания его выигрышей
Первый
игрок имеет целью за счёт изменения
своих смешанных стратегий х максимально
увеличить свой средний выигрыш K(X,Y)=M(А,
х, у), а второй - за счёт своих смешанных
стратегий стремится сделать M(А,
х, у) минимальным, т.е. для решения игры
необходимо найти такие х и у, при которых
достигается верхняя
цена игры
,
а нижняя
цена игры
должна быть равна
.
Подобно
играм, имеющим седловые точки в чистых
стратегиях, вводится следующее
определение: оптимальными
смешанными стратегиями
игроков 1 и 2 называются такие наборы
(х*, у*) соответственно, которые удовлетворяют
равенству
.
Величина v=M(А, х* ,у*) называется при этом ценой игры.
Имеется и другое определение оптимальных смешанных стратегий: (х*, у*) называются оптимальными смешанными стратегиями соответственно игроков 1 и 2, если они образуют седловую точку:
M(А, х, y*) M(А, х*, y*) M(А, х*, у)
Оптимальные смешанные стратегии и цена игры
(х* ,у*, v) называются решением матричной игры.
Теорема:
Всякая матричная игра имеет ситуацию равновесия (седловую точку) в смешанных стратегиях.
Доказательство указанной теоремы заключается в сведении матричной игры к паре двойственных задач линейного программирования. Связь между теорией игр и линейным программированием была установлена в 1951 году американским математиком Данцигом.
Свойства решений матричных игр.
Обозначим
через G (X, Y,K)
игру двух лиц с нулевой суммой, в которой
игрок 1 выбирает стратегию х
X,
игрок 2 - у
У,
после чего игрок 1 получает выигрыш K(х,
у) за счёт игрока 2.
Стратегия
игрока 1 доминирует
(строго доминирует)
над стратегией
,
если
К( , у) ( , у) К( , у)>K( , у) для всех у Y.
Стратегия
игрока 2 доминирует
(строго доминирует)
над стратегией
,
если
K(х, ) <K(х, ) (K(х, <K(х, )), х Х.
При
этом стратегии
и
называются доминируемыми
(строго
доминируемыми).
Кроме изложенных методов доминирования (мажорирования) платежных матриц по строкам для первого игрока и по столбцам для второго существуют и другие (с так называемым взвешиванием по строкам и столбцам).
Спектром смешанной стратегии игрока в конечной антагонистической игре называется множество всех его чистых стратегий, вероятность которых согласно этой стратегии положительна.
Будем в дальнейшем под матричной игрой G(X,Y,K) иметь в виду G(X,Y,A), где А – матрица выигрышей.
1) Ни одна строго доминируемая чистая стратегия игрока не содержится в спектре его оптимальной стратегии.
Игра G = (Х,Y,А) называется подыгрой игры G (Х,Y,А), если Х Х,
, а матрица А является подматрицей матрицы А.
Если
х = (p1,
p2,...,
pm)
Х
и
,
то расширением
стратегии x
на i-том
месте
будем называть вектор
х'i
= (p1,
p2,...,
pi-1,
0, pi,…,
pm)
.
Так расширение вектора (1/3, 2/3, 1/3) на 2-м месте является вектор
(1/3, 0, 2/3, 1/3).
2) Для нахождения оптимальных стратегий вместо игры G(Х,Y,А) достаточно решить подыгру G = (Х,Y,А), где А - матрица, получаемая из матрицы А вычеркиванием доминируемых строк и столбцов.
Теорема:
Пусть G (Х,Y,А) -игра. Предположим, что i-я строка матрицы А доминируема (т. е. доминируема чистая стратегия i первого игрока) и
пусть G = (Х,Y,А) — игра с матрицей А', получаемой из А вычеркиванием i-й строки. Тогда справедливы следующие утверждения.
1)
Значения игр совпадают
2) Всякая оптимальная стратегия у* игрока 2 в игре G = (Х,Y,А) является оптимальной и в игре G = (Х,Y,А).
3) Если х* — произвольная оптимальная стратегия игрока 1 в игре
G=(Х,Y,А)
и
— расширение стратегии х* на i-м месте,
то
— оптимальная стратегия этого игрока
в игре G
= (Х,Y,А).
4)
Если i-я строка матрицы А строго
доминируема, то произвольная оптимальная
стратегия
игрока 1 в игре G
= (Х,Y,А)
может быть получена из некоторой
оптимальной стратегии х* в игре G
=(Х,Y,А)
расширением на i-м месте.
Теорема:
Пусть G (Х,Y,А)-игра. Предположим, что j-й столбец матрицы А доминируем и пусть G = (Х,Y,А) - игра с матрицей А', получаемой из А вычеркиванием j-го столбца. Тогда справедливы следующие утверждения:
1) Значения игр совпадают .
2) Всякая оптимальная стратегия х* игрока 1 в игре G (Х,Y,А) является оптимальной и в игре G = (Х,Y,А).
3) Если у* — произвольная оптимальная стратегия игрока 2 в игре
G
= (Х,Y,А)
и
—
расширение стратегии у* на j-м месте, то
—оптимальная стратегия игрока 2 в игре
G
= (Х,Y,А).
4)
Далее, если j-й столбец матрицы А строго
доминируем, то произвольная оптимальная
стратегия
игрока 2 в игреG
= (Х,Y,А)
может быть получена из некоторой
оптимальной стратегии у* в игре G
= (Х,Y,А)
расширением
на j-м месте.
3) Тройка (х*, y*,v) является решением игры G = (Х,Y,A) тогда и только тогда, когда (х*, y*, bv +а) является решением игры G(Х,Y,bA+а),
где
||
||
—
матрица, в которой все элементы равны
=a
–
любое вещественное число, b
>
0.
Замечание. Отметим, что исключение доминируемых (не строго) стратегий может привести к потере некоторых решений. Если же исключаются только строго доминируемые стратегии, то множество решений игры не изменится.
Сведение матричной игры к задаче линейного программирования.
Теорема:
Пусть v>0. Для того, чтобы тройка (х*, у*, v) являлась решением игры G = (Х,Y,А) в смешанных стратегиях, необходимо и достаточно выполнение следующих условий:
1) для первого игрока:
2) для второго игрока:
Разделим все уравнения и неравенства в (1) и (2) на v (это можно сделать, т.к. по предположению v > 0) и введём обозначения :
,
,
Тогда (1) и (2) перепишется в виде :
,
,
,
,
,
,
,
.
Поскольку первый игрок стремится максимизировать v, то решение первой задачи сводится к нахождению таких неотрицательных значений xi , при которых
при
условии
3)
Поскольку второй игрок стремится минимизировать v, то решение второй задачи сводится к нахождению таких неотрицательных значений yj , при которых
при
условии
.
Формулы (3) и (4) выражают двойственные друг другу задачи линейного программирования (ЛП).
Решив эти задачи, получим значения xi , yj и v. Тогда смешанные стратегии получаются по формулам :
