
- •Математические модели информационных процессов и управления
- •212030, Г. Могилев, пр. Мира, 43
- •Задание 1 Множества. Алгебра множеств.
- •Законы для объединения и пересечения:
- •Законы для дополнений:
- •Законы для разностей множеств:
- •Список использованных источников
- •Задание 2 Кортежи и операции над ними.
- •Список использованных источников
- •Задание 3 Комбинаторные формулы.
- •Список использованных источников
- •Задание 4 Логические операции. Основные законы.
- •1.1 Составные высказывания
- •1.2. Простейшие связки
- •1.3. Другие связки
- •1.4. Основные законы, определяющие свойства введенных логических операций
- •Список использованных источников
- •Задание 5 Алгебра высказываний.
- •1.1 Логические отношения
- •1.2 Варианты импликации
- •1.3 Пример вывода логического заключения
- •Список использованных источников
- •Задание 6 Булевы функции. Многочлены Жегалкина.
- •1.1 Свойства элементарных булевых функций
- •1.2 Дизъюнктивные и конъюнктивные нормальные формы алгебры высказываний
- •1.3 Совершенная дизъюнктивная и совершенная конъюнктивная нормальные формы
- •1.4 Многочлены Жегалкина
- •Список использованных источников
- •Задание 7 Минимизация булевых функций.
- •1.1 Метод карт Карно
- •1.2 Метод Петрика
- •Список использованных источников
- •Задание 8 Логика предикатов.
- •1.1 Предикаты
- •1.2. Применение предикатов в алгебре
- •1.3. Булева алгебра предикатов
- •1.4. Кванторы
- •1.5. Формулы логики предикатов
- •Список использованных источников
- •Задание 9 Приведение формул логики предикатов к сколемовской нормальной форме.
- •1.2 Приведенные и нормальные формы в логике предикатов
- •Список использованных источников
- •Задание 10 Логический вывод.
- •1.1 Исчисление предикатов
- •1.2 Автоматическое доказательство теорем.
- •Список использованных источников
- •Задание 11 Способы задания графов.
- •1.1 Аналитический способ задания графов
- •1.4. Графическое представление бинарного отношения
- •Множеств а и в
- •1.5 Части графа
- •1.8 Операции над графами
- •Список использованных источников
- •Задание 12 Решение задач оптимизации на графах.
- •1.1 Алгоритм поиска кратчайшего пути
- •1.2. Алгоритмы поиска всех кратчайших путей
- •1.3 Алгоритм нахождения максимального потока на сети (алгоритм Форда -Фалкерсона)
- •1)Построим начальный поток.
- •Список использованных источников
1.3 Алгоритм нахождения максимального потока на сети (алгоритм Форда -Фалкерсона)
Рассмотрим алгоритм Форда-Фалкерсона на следующем примере.
Пример 1. На заданной сети указаны пропускные способности ребер. Предполагается, что пропускные способности в обоих направлениях одинаковы. Требуется:
1) сформировать на сети поток максимальной мощности, направленный из истока I в сток S;
2) выписать ребра, образующие на сети разрез минимальной пропускной способности (рис. 4).
Рисунок 4 - Исходная сеть
Решение.
Построим матрицу пропускных способностей сети ( M1 ),с элементами С(eij) :
1 2 3 4 5 6 7 8 9 10
0 2 9 3 5 0 0 0 0 0
2 0 0 0 4 0 0 7 0 0
9 0 0 8 0 5 4 0 0 0
3 0 8 0 0 0 6 0 0 0
5 4 0 0 0 0 8 1 0 6
0 0 5 0 0 0 3 0 2 0
М1 = 7 0 0 4 6 8 0 0 0 9 4
8 0 7 0 0 1 0 0 0 0 5
9 0 0 0 0 0 2 9 0 0 8
10 0 0 0 0 6 0 4 5 8 0
Сформируем начальный поток 0, состоящий из суммы потоков по следующим путям, и найдем пропускные способности путей:
1 = (1, 2, 8, 10), ( 1 ) = 2;
2 = (1, 5, 10), ( 2 ) = 5;
3 = (1, 4, 7, 10), ( 3 ) = 3;
4 = (1, 3, 6, 19), ( 4 ) = 2.
Т.о. пропускная способность потока 0 равна:
0 = ( 1 )+ ( 2 )+ ( 3 )+ ( 4 ) = 12
Величина потока каждого ребра выглядят так:
(e12) = 2; (e15) = 5; (e14) = 3; (e13) = 2;
(e28) = 2; (e510) = 5; (e47) = 3; (e36) = 2;
(e810) = 2; (e69) = 2;
(e910) = 2;
Составим теперь матрицу построенного потока M2 c элементами (eij):
1 2 3 4 5 6 7 8 9 10
0 2 2 3 5 0 0 0 0 0
2 -2 0 0 0 0 0 0 2 0 0
3 -2 0 0 0 0 2 0 0 0 0
4 -3 0 0 0 0 0 3 0 0 0
5 -5 0 0 0 0 0 0 0 0 5
6 0 0 -2 0 0 0 0 0 2 0
7 0 0 0 -3 0 0 0 0 0 3
8 0 -2 0 0 0 0 0 0 0 2
9 0 0 0 0 0 -2 0 0 0 2
10 0 0 0 0 -5 0 -3 -2 -2 0
Далее строим матрицу М3 = М1 - М2 = { C(eij) - (eij) }:
1 2 3 4 5 6 7 8 9 10
1
0 0 7 0 0 0 0 0 0 0
2 4 0 0 0 4 0 0 5 0 0
3 11 0 0 8 0 3 4 0 0 0
4 6 0 8 0 0 0 3 0 0 0
5 10 4 0 0 0 0 8 1 0 1
6 0 0 7 0 0 0 3 0 0 0
7 0 0 4 9 8 0 0 0 9 1
8 0 9 0 0 1 0 0 0 0 3
9 0 0 0 0 0 4 9 0 0 6
10 0 0 0 0 11 0 7 7 10 0
В соответствии с данным алгоритмом составляем максимальный поток:
1)Построим начальный поток.
2)Составляем по ненасыщенному пути А={1,2,3,4,5,6,7,8,9,10}, где 1I и 10S,в сответствии с п.2 алгоритма построения по теореме Форда-Фалкерсона,сток попал в количество ребер по ненасыщенному пути.
3)Выделим путь из истока в сток, состоящий из ненасыщенных ребер 5=(1,2,3,4,5,6,7,8,9,10).
Далее строим матрицу М3 = М1 - М2 = { C(eij) - (eij) }:
1 2 3 4 5 6 7 8 9 10
1
0 0 7 0 0 0 0 0 0 0
2 4 0 0 0 4 0 0 5 0 0
3 11 0 0 8 0 3 4 0 0 0
4 6 0 8 0 0 0 3 0 0 0
5 10 4 0 0 0 0 8 1 0 1
6 0 0 7 0 0 0 3 0 0 0
7 0 0 4 9 8 0 0 0 9 1
8 0 9 0 0 1 0 0 0 0 3
9 0 0 0 0 0 4 9 0 0 6
10 0 0 0 0 11 0 7 7 10 0
поток:
1//3 4 =(1, 3, 4, 7)=1
3//4,6,7
4//7
7//5,9,10
M4:
1 2 3 4 5 6 7 8 9 10
1
0 0 1
0
0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0
3 -1 0 0 1 0 0 0 0 0 0
4 0 0 -1 0 0 0 1 0 0 0
5 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 -1 0 0 0 0 0 1
8 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 -1 0 0 0
M5=M3-M4
1 2 3 4 5 6 7 8 9 10
1
0 0 6
0
0 0 0 0 0 0
2 4 0 0 0 4 0 0 5 0 0
3 12 0 0 7 0 3 4 0 0 0
4 6 0 9 0 0 0 2 0 0 0
5 10 4 0 0 0 0 8 1 0 1
6 0 0 7 0 0 0 3 0 0 0
7 0 0 4 10 8 0 0 0 9 0
8 0 9 0 0 1 0 0 0 0 3
9 0 0 0 0 0 4 9 0 0 6
10 0 0 0 0 11 0 8 7 10 0
1//3 5 = (1,3,4,7,5)=1
3//4,6,7
4//7
7//5,9
5//2,8,10
M6: 1 2 3 4 5 6 7 8 9 10
1
0 0 1 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0
3 -1 0 0 1 0 0 0 0 0 0
4 0 0 -1 0 0 0 1 0 0 0
5 0 0 0 0 0 0 -1 0 0 1
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 -1 1 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 -1 0 0 0 0 0
M7=M5-M6
1 2 3 4 5 6 7 8 9 10
1
0 0 5 0 0 0 0 0 0 0
2 4 0 0 0 4 0 0 5 0 0
3 13 0 0 6 0 3 4 0 0 0
4 6 0 10 0 0 0 1 0 0 0
5 10 4 0 0 0 0 9 1 0 0
6 0 0 7 0 0 0 3 0 0 0
7 0 0 4 11 7 0 0 0 9 0
8 0 9 0 0 1 0 0 0 0 3
9 0 0 0 0 0 4 9 0 0 6
10 0 0 0 0 12 0 8 7 10 0
1//3 6 = (1,3,4,7,9,8)=1
3//4,6,7
4//7
7//5,9
9//8
8//2,10
M8 1 2 3 4 5 6 7 8 9 10
1
0 0 1 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0
3 -1 0 0 1 0 0 0 0 0 0
4 0 0 -1 0 0 0 1 0 0 0
5 0 0 0 0 0 0 -1 0 0 0
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 -1 1 0 0 0 0 0
8 0 0 0 0 0 0 0 0 -1 1
9 0 0 0 0 0 0 0 1 0 0
10 0 0 0 0 0 0 0 -1 0 0
M9=M7-M8
1 2 3 4 5 6 7 8 9 10
1
0 0 4 0 0 0 0 0 0 0
2 4 0 0 0 4 0 0 5 0 0
3 14 0 0 5 0 3 4 0 0 0
4 6 0 11 0 0 0 0 0 0 0
5 10 4 0 0 0 0 10 1 0 0
6 0 0 7 0 0 0 3 0 0 0
7 0 0 4 12 6 0 0 0 9 0
8 0 9 0 0 1 0 0 0 1 2
9 0 0 0 0 0 4 9 -1 0 6
10 0 0 0 0 12 0 8 8 10 0
1//3 7 = (1,3,6,7,5,2,8)=2
3//4,6,7
6//7
7//5,9
5//2,8
2//8
8//9,10
M10 1 2 3 4 5 6 7 8 9 10
1
0 0 2 0 0 0 0 0 0 0
2 0 0 0 0 -2 0 0 2 0 0
3 -2 0 0 2 0 0 0 0 0 0
4 0 0 -2 0 0 0 0 0 0 0
5 0 2 0 0 0 0 -2 0 0 0
6 0 0 0 0 0 0 2 0 0 0
7 0 0 0 0 2 -2 0 0 0 0
8 0 -2 0 0 0 0 0 0 0 2
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 -2 0 0
M11=M9-M10
1 2 3 4 5 6 7 8 9 10
1
0 0 2
0
0 0 0 0 0 0
2 4 0 0 0 6 0 0 3 0 0
3 16 0 0 3 0 3 4 0 0 0
4 6 0 13 0 0 0 0 0 0 0
5 10 2 0 0 0 0 12 1 0 0
6 0 0 7 0 0 0 1 0 0 0
7 0 0 4 12 4 2 0 0 9 0
8 0 11 0 0 1 0 0 0 1 0
9 0 0 0 0 0 4 9 -1 0 6
10 0 0 0 0 12 0 8 10 10 0
1//3 8 = (1,3,6,7,5,2,8,9)=1
3//4,6,7
6//7
7//5,6,9
5//2,8
2//8
8//9
9//10
M12 1 2 3 4 5 6 7 8 9 10
1
0 0 1
0
0 0 0 0 0 0
2 0 0 0 0 -1 0 0 1 0 0
3 -1 0 0 1 0 0 0 0 0 0
4 0 0 -1 0 0 0 0 0 0 0
5 0 1 0 0 0 0 -1 0 0 0
6 0 0 0 0 0 0 1 0 0 0
7 0 0 0 0 1 -1 0 0 0 0
8 0 -1 0 0 0 0 0 0 1 0
9 0 0 0 0 0 0 0 -1 0 1
10 0 0 0 0 0 0 0 0 -1 0
M13=M11-M12
1 2 3 4 5 6 7 8 9 10
1
0 0 1
0
0 0 0 0 0 0
2 4 0 0 0 7 0 0 2 0 0
3 17 0 0 2 0 3 4 0 0 0
4 6 0 14 0 0 0 0 0 0 0
5 10 1 0 0 0 0 13 1 0 0
6 0 0 7 0 0 0 1 0 0 0
7 0 0 4 12 3 3 0 0 9 0
8 0 12 0 0 1 0 0 0 0 0
9 0 0 0 0 0 4 9 0 0 5
10 0 0 0 0 12 0 8 10 11 0
1//3 8 = (1,3,6,7,9)=1
3//4,6,7
6//7
7//9
9//10
M14 1 2 3 4 5 6 7 8 9 10
1
0 0 1
0
0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0
3 -1 0 0 1 0 0 0 0 0 0
4 0 0 -1 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 1 0 0 0
7 0 0 0 0 0 -1 0 0 1 0
8 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 -1 0 0 1
10 0 0 0 0 0 0 0 0 -1 0
M15=M13-M14
1 2 3 4 5 6 7 8 9 10
1
0 0 0
0
0 0 0 0 0 0
2 4 0 0 0 7 0 0 2 0 0
3 18 0 0 1 0 3 4 0 0 0
4 6 0 15 0 0 0 0 0 0 0
5 10 1 0 0 0 0 13 1 0 0
6 0 0 7 0 0 0 -1 0 0 0
7 0 0 4 12 3 4 0 0 8 0
8 0 12 0 0 1 0 0 0 0 0
9 0 0 0 0 0 4 10 0 0 4
10 0 0 0 0 12 0 8 10 11 0
A={1}
B={2,3,4,5,6,7,8,9,10}
∑φ(µi)=5+2+3+2+1+1+2+1+1+1=19
Построим разрез на транспортной сети (рис. 5)
A/B={(1;2),(1;5),(1;4),(1;3)}
Рис.
5 - Исходнаятранспортная сеть
Считаем пропускную способность разреза (выделен красным цветом на рис. 5):
R(A\B)=2+5+3+9=19
Таким образом, согласно теореме Форда-Фалкерсона построен максимальный поток, равный минимальной пропускной способности разреза сети.
Задания для выполнения работы
Используйте алгоритм Дейкстры для поиска кратчайших путей, ведущих из вершины 1 в каждую другую вершину, на графе, изображенном на рис. 6.
Предположим, что после выполнения упражнения 1 вы обнаруживаете, что при расчетах считали отсутствующей дугу (4,2) длины 1. Можно ли при этом воспользоваться уже полученными результатами или необходимо вновь в полном объеме провести вычисления по алгоритму Дейкстры?
Рис.
6
Используя алгоритм Флойда, найдите кратчайшие пути между всеми вершинами графа, изображенного на рис. 6.
Используя алгоритм Данцига, найдите кратчайшие пути между всеми парами вершин графа, изображенного на рис. 6. Сравните полученные результаты с результатами выполнения предыдущего упражнения.
Используя обобщенный алгоритм Флойда, найдите первые три кратчайшие пути между всеми парами вершин на графе, изображенном на рис. 6. Выполните то же самое, используя обобщенный алгоритм Данцига.
Предположим, что перед вами стоит задача найти кратчайшие маршруты полетов между всевозможными парами аэропортов Европы. При этом необходимо учесть, что из-за отсутствия возможности получения въездной визы аэропорты некоторых стран могут быть закрыты для тех или иных пассажиров. Выберите наиболее эффективный способ решения данной задачи.
Влияет ли выбор нумерации вершин графа на эффективность алгоритма Флойда, алгоритма Данцига, алгоритма двойного поиска? Если влияет, то почему?
В графе, изображенном на рис. 6, найдите три первые кратчайшие пути между вершиной 1 и всеми остальными вершинами.
Покажите, что некоторая неоптимальная строка оценок может остаться неизменной в одной простой итерации алгоритма двойного поиска, однако уже в следующей простой итерации такая строка оценок обязательно изменится.
Предположим, что обобщенный алгоритм Флойда был использован для получения длин трех наилучших путей между всеми парами вершин в задаче поиска узких мест. Как полученные результаты могут быть использованы для поиска самих путей?
Какие значения следует присваивать компонентам вектора
при решении задачи о путях с усилениями?
Пусть скорости перекачки нефти между различными емкостями нефтеперерабатывающего завода задаются следующей таблицей:
-
Емкость
А
Б
В
Г
А
0,00
0,13
0,14
0,15
Б
0,08
0,00
0,13
0,08
В
0,17
0,12
0,00
0,18
Г
0,10
0,06
0,13
0,00
Найдите два наилучших способа перекачки нефти из емкости А в емкость Г.
Предположим, что после выполнения всех вычислений по алгоритму двойного поиска вы обнаруживаете, что одна из длин дуг была задана неверно. При каких условиях часть полученных результатов может быть оставлена без изменений?
Фармацевтический фирма планирует разработать в течение двенадцати месяцев новый препарат, который мог бы конкурировать с препаратом, недавно выпущенным главными конкурентами данной фирмы.
Разработка нового препарата осуществляется в четыре этапа, которые могут быть пройдены в медленном, нормальном или быстром темпе. Различные темпы прохождения этапов соответствуют различным уровням затрат времени и средств, которые задаются следующей таблицей (в таблице первая цифра — длительность в месяцах, вторая цифра — затраты в тыс. долл.):
|
Этап |
Теоретические исследования |
Лабораторные эксперементы |
Одобрение правительства |
Сбыт |
Темп | |||||
|
| ||||
Медленный |
|
5, 5 |
3, 6 |
6, 1 |
5, 8 |
Нормальный |
|
4, 7 |
2, 8 |
4, 1 |
4,10 |
Быстрый |
|
2, 10 |
1, 12 |
2, 3 |
3, 15 |
Найдите наилучший для фирмы способ разработки за двенадцать месяцев нового препарата при условии, что затраты фирмы не превысят 25 тыс. долл. Найдите второй наилучший способ достижения той же цели.
Управляющий гостиницей должен забронировать номера для новобрачных на следующий месяц. Он получил определенное количество заявок на бронирование с различными датами приезда и отъезда. Каждое возможное бронирование номеров дает гостинице определенный доход, зависящий от того, кем являются клиенты (студенты, служащие, персонал авиакомпаний и т. д.). Каким образом в данном случае использовать алгоритм Дейкстры для выработки расписания бронирования номеров, приносящего гостинице максимальный доход? (Указание. Представьте каждую заявку на бронирование номера дугой, соединяющей вершины, соответствующие датам приезда и отъезда; в соответствующем графе будут отсутствовать контуры, и потому к нему может быть применен алгоритм Дейкстры.)
Индивидуальные задания для выполнения самостоятельной работы
Задачи 1 – 25 (номера заданий соответственно 61 – 85). На заданной сети указаны пропускные способности ребер. Предполагается, что пропускные способности в обоих направлениях одинаковы. Требуется:
1) сформировать на сети поток максимальной мощности, направленный из истока I в сток S;
2) выписать ребра, образующие на сети разрез минимальной пропускной способности: