- •1.1. Введение.
- •1.2. Оптимизационные задачи в 2.
- •1.4. Понятие о nр-полноте.
- •Условие целочисленности решения задачи лп.
- •Критерий полной унимодулярности.
- •Задача о назначениях.
- •Задача коммивояжера.
- •2. Принятие решений и элементы теории игр.
- •2.1. Задачи многокритериальной оптимизации.
- •2.3. Игры.
- •Дележи.
- •3. Сетевые модели.
- •3.1. Способы задания графов.
- •3.2. Изоморфизм графов.
- •П оиск простейших узких мест графа за o(|e|).
- •3.3. Остовные деревья.
- •Описание алгоритма Прима:
- •Корректность алгоритма Прима.
- •3.4. Кратчайшие пути в графах. Волновой алгоритм построения дкп (Дейкстра)
- •Нахождение кратчайшего пути для ациклического орграфа
- •3.5. Потоковые задачи Задача о максимальном потоке (змп).
- •На входе: матрицы а –пропускных способностей, и c – цен, c ij 0 - стоимость пропуска единицы потока по ребру (I,j), f0 - ограничение на величину потока.
- •3.6. Приближенное решение np-полных задач.
- •Задача о максимальной клике.
- •3.7. Точные методы решения np-полных задач.
- •4. Элементы теории массового обслуживания.
- •4.1. Пуассоновский поток событий
- •4.2. Моделирование простейшего потока.
- •4.3. Процессы гибели и размножения.
- •Классификация систем массового обслуживания:
- •4.4. Открытая система м | м | 1 (один врач).
- •4.5. Замкнутые системы с резервированием. Будем различать горячий и холодный резервы, т.Е. Исправные, но включенные или выключенные приборы.
- •4.6. Задачи проектирования сетей технического обслуживания.
- •3.5. Алгоритм Тарьяна (для планарных графов мод строится за o(n)).
2.3. Игры.
Пусть есть n игроков, X1,X2,…,Xnмножества их стратегий, f1(x),…, fn(x) их функции выигрыша, x=(x1,…,xn)совокупная стратегия игроков и xjXi ,.
Принципы рационального поведения в играх:
Принцип Парето x y, если i fi (x) fi (y) i0: fi0 (x) fi0 (y).
Принцип пессимиста: он считает, что цель соперниковнавредить ему . Стратегия называется максиминной.
Принцип равновесия (Нэша): совокупная стратегия x*=(x1*,…,xn*) оптимальна по Нэшу (равновесна), если всем игрокам невыгодно отступать от своих частей совокупной стратегии, т.е. i fi (x*) fi (x1*,…,xi,…,xn*).
Пример Гермейера: nигроков, множества стратегий Xi=[0,1], функции выигрыша: . Оптимальной по Нэшу и максимину является стратегия, при которой все выбирают 1 и выигрывают 1. Оптимальными по Парето являются стратегии, когда все выбирают 0 и выигрывают n-1, или когда i-й игрок выбирает 1,а остальные – 0; при этом i-й получает n, а остальные – n-2.
№12. Биматричная игра
Число игроков = 2, множества стратегий конечны. Функции выигрыша = две матрицы. Один игрок выбирает номер строки матриц, другой номер столбца.
Пример: Пусть. fxij=fx(xi,yj) – выигрыш игрока х, если он играет по xi ,а y по yj .
-
fx
y1
y2
miny
fy
y1
y2
maxy
x1
5
1
1
x1
3
3
x2
2
6
2
x2
4
5
x3
1
4
1
x3
8
2
maxx
=2
minx
3
2
=3
максиминные стратегии существуют всегда:
xопт=argmax{min fx(xi,yj)} = x2 yопт=argmax{min fy(xi,yj)} = y1
x i yj yj xi
оптимальны по Парето только совокупные стратегии {( x2 ,y2), (x3 ,y1)}:
в правом верхнем квадранте от них нет других точек.
Точки с максимальными координатами fx и fy всегда оптимальны по Парето.
Н эш. Рассмотрим условные оптимумы:
xопт(y) = argmaxx fx(x,y), yопт(x) = argmax y fy(x,y). Представим эти функции в виде двудольного орграфа. Оптимуму по Нэшу соответствует неориентированное ребро.
Таких может не быть. У нас – это ребра {( x1 ,y1), (x2 ,y2)} .
Заметим, что оптимумы по Нэшу и по Парето не совпали.
Def: Играантагонистическая, если увеличение выигрыша одного из игроков ведет к уменьшению выигрыша другого (интересы противоречивы). Если fx(x,y)+fy(x,y)=const, то игра – с постоянной суммой (в т.ч. с нулевой).
Лемма 1: Пусть x [ f1(x) f2(x) ], x1=arg max f1, x2=arg min f2.
max f1 (x)= f1 (x1) f2 (x1) max f2 (x), min f1 (x) f1 (x2) f2 (x2)= min f2 (x).
Лемма 2: Пусть f1 (x) + f2 (x)=0, т.е. f2 (x) = f1 (x) x.
max f2 (x)=max {f1 (x)}=min f1 arg max f2=arg min f1.
№13. Матричные игры.
Игра двух лиц с конечными множествами стратегий и нулевой суммой, когда f1+f2=0, задается одной матрицей. Пусть Z* - множество всех совокупных стратегий, оптимальных по Нэшу; Zопт – множество оптимумов по максимину.
Оптимальными по Парето являются все совокупные стратегии.
Zопт , т.е оптимум по максимину существует всегда.
Z* Zопт.= Z*, т.е. оптимум по Нэшу может не существовать, но если он существует, то совпадает с оптимумом по максимину.
Лемма 3: Пусть , v1 ≤ v2 f.
Доказательство: Имеем и по лемме 1
Числа v1 и v2 называются нижним и верхним значениями игры.
Теорема: Утверждения Z* , v1=v2 и Z* = Zопт эквивалентны, т.е. матричная игра имеет решение по Нэшу тогда и только тогда, когда v1=v2. При этом оптимумы по максимину и по Нэшу совпадают.
Доказательство. 1) Пусть (x*,y*) Z*, т.е. т.е. v2< v1. Но по лемме 3 v1< v2 , v2 = v1 и все неравенства суть равенства и , т.е. Z* Zопт.
2) Пусть v1=v2 и , . Тогда , т.е. для всех x и y. Полагая сначала x=xопт, а потом y=yопт, получим Zопт Z*, т.е. любое решение по максимину оптимально по Нэшу Z* .
5 |
4 |
3 |
3 |
6 |
1 |
2 |
1 |
0 |
5 |
1 |
0 |
6 |
5 |
3 |
|
|
y1 |
y2 |
y3 |
miny |
x1 |
3 |
6 |
2 |
-6 |
x2 |
1 |
4 |
3 |
-3 |
maxx |
3 |
4 |
2 |
|
цикл x2 y2 x3 y1 x2, но x1 y3. p=(0,1/2,1/2), q=(2/5,3/5,0)?
Пример2: xопт=x2, yопт=y3 , v1 = -3 ≠ 2= v2.
решения в чистых стратегиях нет, его нужно искать в смешанных стратегиях.
Д
P1
Pn
Игра в смешанных стратегиях.
Пусть {fij} матрица игры размера nm, т.е. fij=f(xi,yj) – выигрыш игрока x, если он играет по стратегии xi, а его соперник по стратегии yj. Смешанными стратегиями игроков назовем векторы p и q, задающие распределение вероятностей на множествах чистых стратегий игроков, т.е. pi, qj0, pi=qj=1. Разобьем один интервал [0,1] на n отрезков с длинами p1,…,pn, а другой - на m отрезков с длинами q1,…,qm . Датчиком равномерного распределения - функцией СлЧис() разыграем две случайных точки. Попадание в iый отрезок первого интервала (с вероятностью pi) соответствует выбору стратегии xi, в jый отрезок второго интервала (с вероятностью qj) - выбору стратегии yj. Свой выбор соперники осуществляют независимо друг от друга.
Посчитаем математическое ожидание выигрыша первого игрока:
Определим и . Тогда
,
.
С ведение матричной игры к ЛП
Заметим, что . v v*=min Aj Aj Тогда
Нахождение v1 является задачей линейного программирования, т.к. ограничения
и линейны относительно переменных v и pi. Кроме того, задачей ЛП, двойственной к предыдущей, является нахождение v2: .
Лемма 4: Матричная игра всегда имеет решение в смешанных стратегиях.
Т.к. значения функционалов в прямой и двойственной задачах ЛП совпадают, то в смешанных стратегиях v1=v2, игра имеет решение по Нэшу.
Е сли pопт найдена (например, графоаналитическим методом), то qопт находят по теореме о доп. нежесткости: pi(Bi(q)2)=0, qj(Aj(p)1)=0.
Графоаналитический метод решения для игр 2n и n2
Пример: |
q1 |
q2 |
q3 |
min |
|
формула |
p1: 0 1 |
|
p 1 |
3 |
6 |
2 |
6 |
A1(p)=3p1-1p2 A2(p)=-6p1+4p2 A3(p)=2p1-3p2 |
1 4 3 |
3 6 2 |
|
p 2 |
1 |
4 |
3 |
3 |
||||
max |
3 |
4 |
2 |
v1 < v2 |
максимум нижней огибающей лежит на пересечении прямых А2 и А3,
т.е. 6p1+4p2=2p13p2 8p1=7p2. Но p1+p2=1 pопт= (7/15, 8/15). Проверим:
A1(pопт) = 13/15 > 2/3 = A2(pопт) = A3(pопт) нижняя огибающая в окрестности pопт в самом деле сформирована прямыми А2(p) и А3(p). Производная огибающей меняет в точке pопт знак с + на - : A3'(pопт) = 5, а A2'(pопт) = 10 pопт является точкой max. Цена игры = A2(pопт) = – 2/3. Для нахождения qопт графоаналитический метод неприменим: функции Bi(q) и их верхнюю огибающую сложно нарисовать (в равенстве q1+q2+q3=1 две переменные свободны). Воспользуемся ТДН: pi·[Bi(q) v2] = 0 = qj·[Aj(p) v1]. A1(pопт) > v1 q1 = 0, но p1, p2 > 0 -6q2 +2q3 = B1(q) = v2 = B2 (q) = 4q2 – 3q3. 5q3 = 10 q2, но q2+q3 =1, qопт = (0, 1/3, 2/3) и v2 = B1(qопт) = – 2/3.
Замечание: Если матрица игры кососимметрична (т.е. квадратная и ƒij=ƒji), то игроки равносильны и их оптимальные стратегии совпадают.
!!! При решении игр размера 2n алгоритмом Меджидо не нужно предварительно удалять доминируемые строки и столбцы (это требует O(n2) операций, а они удаляются алгоритмом автоматически), I–= для p, I+= для q, интервал [u1,u2] = [0,1] сразу.
Пример М3. v1v2 Решаем в смешанных стратегиях.
Пример: |
Y1 |
Y2 |
Y3 |
Y4 |
min |
X1 |
7 |
3 |
6 |
5 |
3 |
X2 |
2 |
4 |
8 |
3 |
2 |
X3 |
4 |
1 |
5 |
4 |
1 |
max |
7 |
4 |
8 |
5 |
|
Y3 > Y2 отбрасываем Y3 (больший проигрыш хуже)
A1(p)=7p1+2p2 , Из графика получаем A4= A2,
A2(p)=3p1+4p2, 5p1+3p2=3p1+4p2 2p1=p2 , p1+p2 = 1
A4(p)=5p1+3p2. p1= 1/3 , p2= 2/3.
v=A4(p)=5p1+3p2= 5+6=11/3. A1(p)=7p1+2p2 = v. Все прямые пересекаются в точке.
Ищем q опт по ТДН: p1, p2>0 B1(q)=v=B2(q) 7q1+3q2+5q4=2q1+4q2+3q4 q1+q2+q4 =1 q2 =5q1 +2q4 6q1 +3q4 = 1. q4 = 1/3 - 2q1 , q2=5q1 +2(1/3-2q1) = 2/3+q1. qопт= (q1 , 2/3+q1 , 0, 1/3-2q1) 0 q1 [0, 1/6]
П ример М4: Задача проверки. Можно ли отбросить Y1, полагая q1 =0?
|
Y1 |
Y2 |
Y3 |
Bi (q) |
X1 |
3 |
5 |
7 |
B1=5q2+7q3 |
X2 |
2 |
4 |
8 |
B2=4q2+8q3 |
X3 |
1 |
6 |
2 |
B3=6q2+2q3. |
X4 |
8 |
2 |
1 |
B4=2q2+q3. |
B(q) - верхняя огибающая семейства прямых Вi., qопт- точка минимума функции B, в ней B3=B1
5q2+7q3 = 6q2+2q3 или q2=5q3. Но q2+q3 =1,
q2=5/6 , q3 = 1/6. qопт =(0, 5/6, 1/6), v = 32/6.
B 2(q) < v p2=p4=0 5p1+6p3 = 7p1+2p3, pопт=(2/3,0,1/3, 0 ).
Но A1(p) = 7/3 < v по ТДН это не решение игры отбросить Y1 нельзя.
Эта игра легко решается в EXCEL командами Сервис+Поиск решения при следующих ограничениях:
В качестве параметра
выбираем тип модели – линейная.
pопт=(3/4,0,0, 1/4), qопт=(3/8, 5/8, 0), v = 4 1/4 .
Бесконечные антагонистические игры со счетным числом стратегий.
J\I |
y1 |
y2 |
y3 |
… |
x1 |
0 |
-1 |
-1 |
… |
x2 |
1 |
0 |
-1 |
… |
x3 |
1 |
1 |
0 |
… |
… |
… |
… |
… |
0 |
Иначе возможны следующие «плохие» случаи.
Случай 1: . Члены ряда равномерно ограничены, в чистых стратегиях существуют maxmin и minmax, но .
Перейдем к смешанным стратегиям: , npk 0.
монотонно убывает по j и стремится к –1.
Т.о. не существует, но .
J\I |
y1 |
y2 |
y3 |
… |
x1 |
0 |
-1 |
-2 |
… |
x2 |
1 |
0 |
-1 |
… |
x3 |
2 |
1 |
0 |
… |
… |
… |
… |
… |
0 |
Случай 2: . Члены ряда не ограничены, поэтому в чистых стратегиях maxmin и minmax не существуют, как и supinf и infsup. Если p = (½, ¼, 0, ⅛, 0, 0, 0, 1/16, …), т.е. pi = {2-(k+1) при i = 2k
и 0 при i ≠ 2k}, то вообще не имеет смысла.
.
№14. Игра на квадрате.
Игра с нулевой суммой, f(x,y)функция выигрыша первого игрока; x,y[0,1].
Чтобы существовали 1 и 2, достаточно, чтобы были выполннены условия:
1) f непрерывна; 2) f строго вогнута? по x, строго выпукла? по y.
Теорема: При выполнении условий 1-2 существует решение в чистых стратегиях.
Доказательство: Определим непрерывные (докажите!) функции .
Пусть x* неподвижная точка их непрерывной! суперпозиции, т.е. ((x*))=x*.
Обозначим y*=(x*) (y*)=x* и y* неподвижная точка функции ((y)).
П окажем, что f(x,y*)f(x*,y*)f(x*,y):
(x*,y*) седловая точка (ситуация равновесия), оптимальная стратегия.
Пример: f(x,y)= -2x2+y2+3xy-x-2y. Теорема применима. Найдем функции и .
Сначала найдем точки абсолютных max и min и проверим условие «[0,1]?».
∂f/∂x = -4x+3y-1=0 xабс = 3y-1/4 [-¼,+½] при y[0,1].
А
(y)=
0
при
y[0,⅓)
,
(x)=
2-3x/2
при
x[0,⅔]
3y-1/4
при
y[⅓,1]
0
при
x(⅔,1]
Предположим, что y* = ψ(x*)=0 х>⅔, но х*= (y*) = (0) = 0. Противоречие. Предположим, что х*= (y*)=0 y<⅓, но y* = ψ(x*) = ψ (0) = 1. Противоречие. Нужно брать функции и не по этим веткам.
х* = (y*) = (3y*-1)/4 при y⅓, но y* = ψ(x*) = (2-3x*)/2; получаем 17x*=4 x*=4/17 y*=1-3/2* 4/17=11/17. Получили решение игры ( 4/17, 11/17).
№15. Позиционные игры.
Def: Под позиционной игрой n лиц понимается:
ориентированное дерево Г с выделенным корнем А (Аначальная позиция, невисячие вершины промежуточные позиции, а висячиезаключительные);
для висячих вершин заданы nмерные векторы выигрышей игроков;
задано разбиение невисячих вершин на n+1 подмножество очередности хода Si, и в каждой вершине vSi ход делает игрок с номером i (0 означает, что ход делается случайно);
для позиций из S0 заданы распределения вероятностей на исходящих дугах;
задано разбиение Si (i0) на информационные подмножества Sij (Si= Sij), причем позиции одного информационного подмножества имеют одинаковое количество дочерних позиций; а материнские позиции находятся в разных информационных подмножествах с дочерними;
для каждой позиции sSij существует нумерация дочерних позиций, и ход игрока состоит в выборе номера дочерней позиции (даже не зная самой позиции, выбор будет однозначным).
Def: Игра называется игрой с полной информацией, если каждое информационное подмножество состоит из одной позиции, а случайный ход может быть сделан только из корня.
Пример игры с полной информацией. Одномастка.
Есть два игрока, стол и колода из 2n пронумерованных карт. Случайно карты раздаются поровну между игроками и определяется ХОДЯЩИЙ игрок. Игроки знают свои карты знают карты соперника, т.е. игра идет “в открытую”. ХОДЯЩИЙ выбирает и кладет на стол одну из своих карт, а соперник ОТВЕЧАЕТ своей. Хозяин старшей карты стола получает очко и право ХОДА, карты стола удаляются из игры. Цель игры – набрать максимум очков.
Каждой карте припишем индекс – разность числа своих и чужих карт; старших или равных этой карте. Пусть – вектор индексов карт ХОДЯЩЕГО, – вектор соперника. При оптимальной игре индексы, как правило, сохраняются. Правила редукции:
при ОТВЕТЕ рассматриваем только два варианта: бить (самой младшей бьющей картой–если есть) или отдать (самую младшую), причем если после взятия хозяин старшей карты не меняется, то ответ отдать отбрасываем;
при ХОДЕ отбрасываем мажорируемые по Парето карты (если их индекс не меньше & они младше), ход с одиночки (если это не самая младшая карта ХОДЯЩЕГО) и ход с туза (если остались другие варианты ХОДА). Двойные стрелки отмечают лучший ход. Жирные цифры помечают карты игроков, ? – варианты хода, * - ХОД, цифры внизу – последовательность ходов в игре без вариантов.
На этом построение дерева можно закончить. Число висячих вершин равно 4. (6!)2 ≈500 000.
На дереве игры для S1 мы использовали процедуру отсечений.
Сколько вообще может быть таких отсечений? Что такое - отсечение?
Объем дерева игры = mn. Пусть есть кто-то, кто подсказывает вариант игры, тогда получим рекуррентное соотношение для трудоемкости:
Tnсп=Tn1+(m1)Tn2; Tnсп=O(n(m+1)/2) для сокращенного перебора;
Tпп=mTn1=m2Tn2=…=mn для полного перебора.
Пример: n=10, m=7. Полный перебор требует 107, а с α–β отсечениями 104 операций.
Если цена игры одинакова при двух вариантах хода, надо учитывать, что соперник может сыграть неверно. Поэтому выбирается ход, максимально обладающий "ловушечными" свойствами. Антиловушечный метод игроки избегают ситуации, в которых сами могут сделать ошибку.
Игрок |
Оптимальная игра игроков |
Игра с ловушками |
Игра с антиловушками |
"+" |
max |
max |
M(мат.ожидание) |
"" |
min |
M |
min |
Способы игры:
Интересные позиции:
+0110000111 – старшая единица активна (должна взять очко) ход с нее плох – ее побьют.
+0110001011 – оба хода верные, но ход с младшей лучше – это «антиловушка».
+0110000101011011 – ход со старшей (активной) единицы плох – ей отдадут, но промежуточные карты уменьшат свой индекс и число активных карт уменьшится.
+011000111001 – просто интересная позиция. Верный розыгрыш – ход со старшей, бить, старшая (ловушка), отдать, старшая (ловушка), бить.
+110010110100, 100011001110, 1001011010, 1000111010, 0110011010, 10010101, 01100101.
Стратегии позиционной игры.
Def: Стратегия это правило однозначного выбора хода в любой возможной позиции.
В терминах дерева игры стратегия iого игрока это поддерево, в котором в позициях с ходом iого игрока есть только одна дочерняя, а в позициях с ходом других игроков все дочерние из дерева Г. Число стратегий число различных таких поддеревьев дерева игры.
П равило подсчета числа стратегий:
в позициях со своим ходом числа стратегий суммируются,
а в позициях с ходом соперника - перемножаются.
Пример: Посчитаем число стратегий в игре «крестики - нолики» размера 3*3.
S9 – число стратегий игрока, делающего первый ход.
= 9 ветвей, их нужно суммировать. Затем ходит соперник умножаем.
S9=9*S78, S7=7* S56, S5=5*S34, S3=3*S12, S1=1
S9=9*(7*S56)8=9*78*S56*8=9*78*56*8*S34*6*8=9*78*56*8*34*6*8*12*4*6*8
Теорема: Любая позиционная игра с полной информацией при сведении ее к матричной игре имеет седловую точку (т.е. решение в чистых стратегиях).
Практически это никогда не делается, т.к. число стратегий очень большое.
№16. Коалиционные игры.
При числе игроков больше двух задаются функции выигрыша всех игроков. Для игры трех лиц используем обозначения без индексов: xX, yY, zZ fx(x,y,z), fy(x,y,z), fz(x,y,z).: Пусть - максиминные стратегии игроков (при этом каждый игрок считает, что он в одиночку играет против всех остальных). Если игроки Y и X образуют коалицию и согласовывают все свои действия, их рассматривают как одного игрока со стратегиями w=(x,y)W=X Y и функцией выигрыша fw(x,w) = fy(x,y,z) + fz(x,y,z). Максимальные выигрыши, на которые могут рассчитывать игроки y и z, играя в одиночку, и их коалиция, таковы:
, ,
Лемма 1. а) , б) .
Пусть . Для max .
Лемма 2. а) , б) .
Сложив два очевидных неравенства и , получим . Теперь применим лемму 1а. Для max аналогично.
Лемма 3. , .
Лемма 4. .
Сложив два неравенства и , получим . Лемма 2б здесь неприменима, т.к. в ней стоит знак «меньше». Однако первое слагаемое справа не зависит от z, а второе от y. Дважды применив леммы 1б и 3, получим утверждение леммы 4.
Теорема. В коалицию вступать выгоднее, чем играть против всех: υw ≥ υy + υz.
Имеем fw(x,w) = fy(x,y,z) + fz(x,y,z). Взяв от суммы сначала min по x (лемма 2а), а затем max по y, z (леммы 1б и 4), получим утверждение теоремы.
Всего в игре n лиц существует 2n коалиций. Пусть SN={1, 2,…, n}. Рассмотрим игру двух коалиций S и N\S. Выигрыш коалиции S определим так: . Легко показать, что .
Def: Говорят, что коалиционная игра задана в редуцированной форме, если задана произвольная функция : 2N, обладающая свойствами:
1) ()=0; 2) если S1S2=, то (S1+S2)(S1)+(S2).
Def: Коалиционная игра существенна, если (N)>({i}).
Если игра несущественна, то создавать коалиции не имеет смысла.
Def. Игра называется простой, если выигрыш любой коалиции равен 0 или 1.
Игрок i называется болваном, если, присоединяясь к любой коалиции S, он ничего ей не приносит (т.е. v(S) = v(S \ {i})). Очевидно, что его вес i()=0.
Def: Коалиционная игра имеет постоянную сумму, если (S)+ (N\S)=C SN.
Пример К1. Есть 3 игрока, ({i})=2 i, ({1,2})=({1,3})=({2,3})=2, ({1,2,3})=(0)=0. Это игрa с нулевой суммой.