- •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)).
4.6. Задачи проектирования сетей технического обслуживания.
Сети состоят из ненадежного оборудования, размещенного в разных пунктах. Где держать ремонтников? Сосредоточим их в центрах технического обслуживания, решив задачу о P-медиане. При этом капитальные затраты уменьшатся, но возрастут транспортные расходы и время на переезды. А сломанный прибор «ждет», пока до него доберутся п адает коэффициент готовности системы. Приехавшая бригада, помимо ремонта может проверять для профилактики и работоспособные приборы в этом пункте, т.е. возникает задача коммивояжера: как быстрее объехать все пункты. Для определения числа ремонтных бригад используем модели СМО, а в сложных ситуациях - имитационные модели.
Казалось бы, сеть нужно строить в виде МОД. Но чтобы сеть была надежней (из-за непредвиденных ситуаций), она должна быть многосвязной. Граф назовем реберно-k-связным, если при удалении k ребер, он остается связным, но существует k+1 ребро, удаление которых нарушает связность. Для определения реберной связности графа решим задачу о максимальном потоке с единичными пропускными способностями ребер.
ОСНОВНАЯ ЛИТЕРАТУРА
Вентцель Е.С. Исследование операций: задачи, принципы, методология. -М.: Наука, 1980.
Оуэн Г. Теория игр.-М.: Мир, 1971. 230 с.
Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. –М.: 1985
Препарата Ф., Шеймос М. Вычислительная геометрия: Введение. .-М.: Мир, 1989.
Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. –М.: 1987.
Адельсон-Вельский Г.М., Донской Е.А., Карзанов А.В. Потоковые алгоритмы. .-М.: Наука, 1975.
Кристофидес Н. Теория графов. Алгоритмический подход.-М.: Мир, 1978.
Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. .-М.: МЦНМО, 2001.
Поддерюгин В.Д. Алгоритм определения реберной связности графа. – Сб. «Вопросы кибернетики. Труды семинара по комбинаторной математике (Москва, 1971)». М., «Советское радио», 1973.
Адельсон-Вельский Георгий Максимович, Донской Ефим Абрамович, Карзанов Александр Викторович.
Дополнительные материалы, не вошедшие в основную часть пособия.
П ример 3:
Э тап 1: ОЧИСТКА слоя 2. ОЧИСТКА слоя 1.
Осталась цепочка
minПСВ=4, F=4
Э тап 2:
k=7; f=minПСВ=3; F=7
k =2; f=3, F=10, вхПСВ(4)-4=5 k=4; f=1, F=11, выхПСВ(1)-4=6 f=6, F=17
Э тап 3: ОЧИСТКА слоев 4 и 3:
k=7, f=1; F=18
k =3, f=2; F=20 f=2, F=22
Э тап 4:
f=1, F=23
Э тап 5:
Максимальный поток F(X) = 23 и минимальный разрез (R)=23. По ребру (2,4) на этапе 2 течет поток f24 = 3, а на этапе 4 навстречу – f42 = 1.
3.5. Алгоритм Тарьяна (для планарных графов мод строится за o(n)).
NKS |
BV |
i |
Соседи |
I |
3,2 |
1 |
2 3 |
I |
1 |
2 |
1 3 5 4 |
I |
1 |
3 |
1 2 5 6 |
II |
7 |
4 |
2 5 7 |
III |
8,6 |
5 |
2 4 7 8 6 3 |
III |
5 |
6 |
5 8 9 3 10 |
II |
4 |
7 |
4 5 8 10 |
III |
5 |
8 |
7 10 9 6 5 |
IV |
10 |
9 |
8 10 6 |
IV |
9 |
10 |
6 9 8 7 |
тоже планарный
Этап 1. Этап 2.
На каждом шаге число операций ≈ числу дуг=2R<6n
Формируем списки соседей всех вершин.
Для всех вершин находим ближайшую вершину BV и строим симметричное замыкание BV: если BV(i)=j и BV(j) ≠ i, то в BV(j) добавляем i. В замыкании будет не более (n-1) неориен.ребра.
Поиском сначала вширь по массиву BV выделяем компоненты связности. I: 1,2,3 II: 4,7 III: 5,8,6 IV: 9,10
Трудоемкость этой части = числу ребер в симметрическом замыкании < 2n.
ОЧИСТКА. Формируем ребра макрографа в виде списков соседних компонент связности. Если в списке соседей очередной вершины i встретится вершина j из другой компоненты k, то запишем в список соседних макровершин блок k/d (i, j), где d – длина кратчайшего из ребер между вершинами компонент.
Список соседних макровершин до очистки |
|
Список соседей после очистки |
||||||||
I |
_III_ , |
_II_ , |
_III_ |
|
|
|
I |
_II_ , |
_III_ |
|
7(2,5) |
4(2,4) |
3(3,5) |
|
|
|
4(2,4) |
3(3,5) |
|
||
II |
__I_ , |
_III_ , |
_III_ , |
_III_ , |
__IV_ |
|
II |
__I_ , |
_III_ , |
__IV_ |
4(2,4) |
7(4,5) |
6(7,5) |
5(7,8) |
6(7,10) |
|
4(2,4) |
5(7,8) |
6(7,10) |
||
III |
__I__ , |
__II_ , |
_IV_ , |
__IV_ |
|
|
III |
__I__ , |
__II_ , |
_IV_ |
3(3,5) |
5(7,8) |
6(8,9) |
4(8,10) |
|
|
3(3,5) |
5(7,8) |
4(8,10) |
||
IV |
__II_ , |
__III__ |
|
|
|
|
IV |
__II_ , |
__III__ |
|
6(7,10) |
4(8,10) |
|
|
|
|
6(7,10) |
4(8,10) |
|
Метод фиктивных розыгрышей.
П редположим, что игроки уже сыграли N раз, причем игрок x kix раз выбрал свою iю стратегию, а игрок y kjy раз выбрал свою jю стратегию. kix= kjy=N.
Как играть в N+1 раз? В этой ситуации игрок x считает, что y играет по смешанной стратегии q=(k1y/N, k2y/N,…, kmy/N). Тогда математическое ожидание выигрыша 1ого игрока при условии, что он выберет стратегию i, равно
. Поэтому игрок x выберет свою чистую стратегию . Аналогично, игрок y выберет свою чистую стратегию .
Пример: |
Y1 |
Y2 |
Y3 |
min |
Начиная с максиминных стратегий x1 и y2, повторяем в цикле: , [N+1]*Aj(p) = N*Aj(p) + f i*j , [N+1]*Bi(q) = N*Bi(q) + f i*j |
X 1 |
3 |
5 |
7 |
3 |
|
X2 |
2 |
4 |
8 |
2 |
|
X3 |
1 |
6 |
2 |
1 |
|
X 4 |
8 |
2 |
1 |
1 |
|
max |
8 |
6 |
8 |
|
Добавляем в текущие суммы таблицы строку I* и столбец j* матрицы fij.
NA1(p) |
NA2(p) |
NA3(p) |
Xi* |
Yj* |
NB1(q) |
NB2(q) |
NB3(q) |
NB4(q) |
3 y1 |
5 |
7 |
X1 |
Y2 |
5 |
4 |
6 x3 |
2 |
+1 =4y1 |
+6 =11 |
+2 =9 |
X3 |
Y1 |
+3 =8 |
+2 =6 |
+1 =7 |
+8 =10x4 |
+8 =12 |
+2 =13 |
+1 =10y3 |
X4 |
Y1 |
+3 =11 |
+2 =8 |
+1 =8 |
+8 =18x4 |
+8 =20 |
+2 =15 |
+1 =11y3 |
X4 |
Y3 |
+7 =18 |
+8 =16 |
+2 =10 |
+1 =19x4 |
+8 =28 |
+2 =17 |
+1 =12y3 |
X4 |
Y3 |
+7 =25x1 |
+8 =24 |
+2 =12 |
+1 =20 |
+3 =31 |
+5 =22 |
+7 =19y3 |
X1 |
Y3 |
+7 =32x1 |
+8 =32 |
+2 =14 |
+1 =21 |
+3 =34 |
+5 =27 |
+7 =26y3 |
X1 |
Y3 |
+7 =39 |
+8 =40x2 |
+2 =16 |
+1 =22 |
+2 =36 |
+4 31y2 |
+8 =34 |
X2 |
Y3 |
+7 =46 |
+8 =48x2 |
+2 =18 |
+1 =23 |
|
|
|
X2 |
Y2 |
|
|
|
|
Посчитаем кратности и относительные частоты стратегий игроков за 9 шагов:
ky =(2, 2, 5) ; kx =(3, 2, 1, 3). p9опт=(3/9, 2/9, 1/9, 3/9), q9опт=(2/9, 2/9, 5/9).
Теорема (РобинсонаМонро) о методе фиктивных розыгрышей:
Рассмотрим последовательности частотных векторов: pN={pNi}={kix/N}, qN={qNj}={kjy/N}. Все предельные точки этих последовательностей являются оптимальными стратегиями: pNp*, qNq*.
(pN)(qN)0, где (pN)оптимальный выигрыш второго игрока при условии, что первый играет по стратегии pN, (qN) оптимальный выигрыш первого игрока при условии, что второй играет по стратегии qN.
Номера страниц для печати по 2 страницы на листе (все 56 страниц).
1 ,56,3,54,5,52,7,50,9,48,11,46,13,44,15,42,17,40,19,38,21,36,23,34,25,32,27,30
2,55,4,53,6,51,8,49,10,47,12,45,14,43,16,41,18,39,20,37,22,35,24,33,26,31,28,29
Номера страниц для печати по 2 страницы на листе (только 52 страницы).
1,52,3,50,5,48,7,46,9,44,11,42,13,40,15,38,17,36,19,34,21,32,23,30,25,28
2,51,4,49,6,47,8,45,10,43,12,41,14,39,16,37,18,35,20,33,22,31,24,29,26,27
Рисунок, который я не могу удалить
№18. Лингвистическая задача, использующая изоморфизм графов.
Дано множество слов языка суахили L = {kibuzi, mbuzi, mgeni, mtu, jitu, jito} и множество их переводов на русский язык R = {великан, человек, большая река, козочка, коза, гость}. Перевести на русский язык отдельно каждое слово языка суахили.
Решение. В се русские переводы можно представить в виде пар повторяющихся имен объектов (человек, коза, гость, река) и их размеров (большой, маленький, средний): великан = большой человек, козочка = маленькая коза, коза = средняя коза. Нарисуем граф множества русских слов из R. В нем различны степени вершин, соответствующих размерам. Выделим повторяющиеся части в словах языка суахили: buzi повторяется с ki и m, с m еще встречаются geni и tu, с tu – ji, с ji – to. Естественно предположить, что это морфемы языка, имеющие самостоятельное значение.
Нарисуем граф множества морфем языка суахили.
В каждом слове языка суахили одна морфема принадлежит трехэлементному множеству {ji, m, ki}, а вторая четырехэлементному множеству {to, tu, geni, buzi}. {ji, m, ki} – размеры, а {to, tu, geni, buzi} - объекты.
Р азмеры различаются по числу повторений, значит ki = маленький, m = средний, а ji = большой. Размер ki встречается только в слове kibuzi, а маленькой в русском тексте бывает только коза, значит buzi = коза. Средний размер m встречается кроме козы в повторяющемся 1 раз слове geni=гость и 2 раза слове tu=человек. В графах осталось по одному неопознанному слову. Значит to=река.
Решить задачу можно проще. Оба графа – деревья, содержащие по одной вершине степени 3: m=средний, причем все 3 поддерева являются цепочками из различного числа элементов.