- •Введение
- •1. Элементы теории множеств
- •1.1.Понятие множества.
- •1.2. Способы задания множеств.
- •1.3. Свойства множеств.
- •1.4. Конечные и бесконечные множества.
- •1.5. Подмножества.
- •1.6. Множество как абстракция.
- •1.7. Операции над множествами.
- •1.8.Декартово произведение множеств
- •1.9. Контрольные задания
- •2. Отношения
- •2.1. Общие положения
- •2.2. Задание отношений.
- •2.3. Виды отношений.
- •2.3.1. Рефлективность.
- •2.3.2. Симметричность.
- •2.3.3. Транзитивность.
- •2.4. Отношение эквивалентности
- •2.5. Функция.
- •2.6. Отношение как базовое понятие в реляционных
- •2.7. Контрольные задания
- •3. Элементы алгебры логики
- •3.1. Силлогизмы Аристотеля.
- •3.2. Высказывания.
- •3.3. Исчисление высказываний и
- •3.4. Функции алгебры логики
- •3.5. Равносильности алгебры логики
- •3.6. Одна логическая задача
- •3.7. Реализация функций в элементных базисах
- •3.9. Совершенная конъюнктивная нормальная форма
- •3.10. Реализация операции суммирования в компьютере
- •3.11. Контрольные задания
- •4. Элементы теории графов
- •4.1. История возникновения
- •4.2. Основные понятия
- •4.3. Матрицы графа
- •4.4. Деревья
- •4.5. Раскраска
- •5. Элементы теории алгоритмов
- •5.1. Интуитивное понятие алгоритма
- •5.2. Свойства алгоритмов
- •5.3. Вычислительные и комбинаторные алгоритмы
- •5.5. Асимптотические оценки сложности алгоритма
- •Порядки сложности алгоритма
- •5.6. Комбинаторный взрыв
- •6. Полиномиальные алгоритмы
- •6.1. Построение минимального остовного дерева.
- •6.1.1. Жадный алгоритм
- •6.1.2. Алгоритм Прима
- •6.2. Контрольные задания
- •7. Эвристические алгоритмы
- •7.1. Алгоритм последовательной раскраски
- •7.2. Контрольные задания
- •8. Сетевое планирование
- •8.1. Основные понятия
- •8.2 Параметры сетевого планирования
- •8.3. Вычисление параметров сетевого графика
- •8.4. Контрольные задания
- •9. Элементы абстрактной теории автоматов
- •9.1. Определение абстрактного автомата
- •9.2. Методы задания автоматов
- •9.3. Связь между моделями Мили и Мура.
- •9.4.1. Преобразование автомата Мура в автомат Мили
- •9.4.2. Преобразование автомата Мили в автомат Мура
- •9.5. Контрольные задания
- •10. Уточнение понятия алгоритма
- •10.1. Машина Тьюринга
- •Для каждого алгоритма u из класса к1 существует равносильный ему алгоритм l из класса к2.
- •10.2. Нормальный алгоритм Маркова
6.1.2. Алгоритм Прима
Пометить все вершины графа G невыбранными. Выбрать произвольную вершину и пометить ее выбранной.
Проверить, остались ли невыбранные вершины. Если да, то перейти к п.3, иначе – к п.6.
Найти ребро u=(x, y) c минимальным весом между выбранной вершиной х и невыбранной вершиной у.
Пометить вершину у как выбранную.
Присоединить ребро u к дереву Т. Перейти к п.2.
Конец алгоритма.
Пример. Дан взвешенный граф G (рис.6.3). На рисунке показан пошаговый процесс построения минимального остовного дерева по алгоритму Прима.
G 7 12
3 4 8 1 9
5 6
Т
1
.
3
3
5
Т
2. 7
3 4 3 4
5
7 Т
3.
3 4 8 3 4
6 6
Т
4
.
7
3
1
4 8 9 3 4 1
6 6
5.
12 Т
3 4 1 9 3 4 1 9
6 6
Рис. 6.3. Построение минимального остовного дерева по алгоритму
Прима.
Пунктиром обозначены ребра, не принадлежащие дереву Т. Они инцидентны невыбранным вершинам, среди которых на следующем шаге алгоритма ищется выбранная. В результате получится тот же граф, что и при работе по жадному алгоритму.
Алгоритм Прима принадлежит классу полиномиальных алгоритмов. Его асимптотическая оценка сложности F=O(m2) . Это означает, что при программной реализации алгоритма возможна обработка графов с числом ребер m до нескольких сотен.
К задаче построения минимального остовного дерева сводятся многие практические задачи. Например, задача о связывании дорогами ряда населенных пунктов, так, чтобы из любого пункта можно было попасть в любой другой. Аналогичная задача о связывании населенных пунктов сетью трубопроводов. Правда, в реальной жизни на абстрактную формулировку задачи нахождения минимального остовного дерева обычно накладывается ряд ограничений, вынуждающих при выборе решения идти на компромиссы.
6.2. Контрольные задания
Дан взвешенный граф G. Построить минимальные остовные деревья жадным алгоритмом и алгоритмом Прима.
В
ариант
1
В
ариант
2
В
ариант
3
Вариант 4
В
ариант
5
В
ариант
6
В
ариант
7
В
ариант
8
В
ариант
9
В
ариант
10
Вариант 11
Вариант 12
Вариант 13
В
ариант
14
Вариант 15
В
1
1
2
2
2
3
3
3
4
5
5
5
6
7
1
1
1
2
2
2
3
3
3
4
4
4
5
5
6
6
7
8
ариант
16
Вариант 17
4
Вариант 18
Вариант 19
Вариант 20
2
3
4
Вариант 21
Вариант 22
Вариант 23
В
ариант
24
Вариант 25
В
ариант
26
В
ариант
27
Вариант 28
Вариант 29
Вариант 30
