- •Оглавление
- •Глава 1. Алгебраические системы 17
- •Глава 2. Элементы комбинаторики 88
- •Глава 3. Основы теории графов 101
- •Глава 4. Основы математической логики 169
- •4.1.1.4. Эквивалентные преобразования формул 179
- •4.1.4. Выполнить подстановку: 247
- •Глава 5. Основы теории алгоритмов 252
- •Глава 6. Конечные автоматы 289
- •Введение
- •Глава 1. Алгебраические системы
- •1.1 Множества
- •1.1.1. Четкие множества
- •1.1.2. Нечеткие множества
- •1.2. Соответствия, отображения и функции
- •1.2.1. Четкие отображения и функции
- •1.2.2. Нечеткие отображения
- •1.3. Отношение
- •1.3.1. Четкие отношения
- •1.3.2. Нечеткое отношение
- •1.4. Элементы общей алгебры
- •1.5. Булева алгебра
- •1.5.1. Булевы операции
- •1.5.2. Законы булевой алгебры
- •1.5.3. Формула булевой функции
- •1.5.4. Описание булевой функции
- •1.5.5. Суперпозиция булевых функций
- •1.5.6. Свойства булевых функций
- •1.5.6.1. Самодвойственные булевы функции
- •1.5.6.2. Монотонные булевы функции
- •1.5.6.3. Линейные булевы функции
- •1.5.6.4. Функции, сохраняющие “0”
- •1.5.6.5. Функции, сохраняющие “1”
- •1.5.6.6. Функционально полные системы
- •1.5.7. Разложение булевых функции
- •1.5.7.1. Днф булевой функции
- •1.5.7.2. Кнф булевой функции
- •Алгоритм преобразования формулы к скнф:
- •1.5.8. Минимизация булевых функций.
- •1.5.8.1.Минимизация днф булевой функции
- •1.5.8.2. Минимизация кнф булевой функции
- •1.6. Алгебра четких множеств
- •1.6.1. Операции над множествами
- •1.6.2. Законы алгебры множеств
- •1.6.3. Эквивалентные преобразования формул
- •1.6.4. Композиция отображений и отношений
- •1.6.5. Поиск неизвестного множества
- •1.7. Алгебра нечетких множеств
- •1.7.1. Операции над нечеткими множествами
- •1.7.2. Композиция нечетких отображений
- •1.7.3. Композиция нечетких отношений
- •1.7.4. Свойства нечетких отношений
- •Вопросы и задачи
- •Глава 2. Элементы комбинаторики
- •2.1. Размещение из n элементов по k
- •2.2. Перестановка элементов
- •2.3 Сочетание из n элементов по k
- •2.4. Разбиение множества
- •2. 5 Правила комбинаторики
- •Вопросы и задачи
- •Глава 3. Основы теории графов
- •3.1. Граф и его характеристики
- •3.2. Описание графа
- •3. 3. Числа графа
- •3.4. Операции над графами
- •3.4.1. Унарные операции
- •3.4.1.1 Поиск дополнительного графа
- •3.4.1.2. Введение и удаление вершин графа
- •3.4.1.3. Стягивание вершин графа
- •3.4.1.4. Введение и удаление ребер графа
- •3.4.1.5. Поиск плотности и неплотности графа
- •3.4.1.6. Поиск числа компонент связности графа
- •3.4.1.7. Поиск устойчивости графа
- •3.4.1.8. Поиск цикломатического числа графа
- •3.4.1.9. Поиск хроматического числа графа
- •3.4.2. Бинарные операции
- •3.4.2.1. Объединение графов
- •3.4.2.2. Пересечение графов
- •3.4.2.3. Композиция графов
- •3.4.2.4. Соединение графов
- •3.4.2.5. Прямое произведение графов
- •3.4.2.6. Изоморфизм графов
- •3.5. Некоторые алгоритмы на графах
- •3.5.1. Построение покрывающего остова
- •3.5.2. Построение остова минимального веса
- •3.5.3. Поиск кратчайших путей в сети.
- •3.5.4. Поиск максимального потока в сети
- •3.5.5. Метод критического пути в управлении
- •3.6. Нечеткие графы
- •Вопросы и задачи
- •Глава 4. Основы математической логики
- •4.1. Логика высказываний
- •4.1.1. Алгебра высказываний
- •4.1.1.1. Логические операции
- •4.1.1.2. Правила записи сложных формул.
- •4.1.1.3. Законы алгебры высказываний
- •4.1.1.4. Эквивалентные преобразования формул
- •4.1.1.5. Нормальные формы формул
- •4.1.2. Исчисление высказываний
- •4.1.2.1. Интерпретация формул
- •4.1.2.2. Аксиомы и правила введения и удаления логических связок
- •4.1.2.3. Метод дедуктивного вывода
- •4.1.2.4. Принцип резолюции
- •4. 2. Логика предикатов
- •4.2.1. Алгебра предикатов
- •4.2.1.1. Законы алгебры предикатов
- •4.2.1.2. Предваренная нормальная форма формулы
- •4.2.1.3 Сколемовская стандартная форма формулы
- •4. 2. 2. Исчисление предикатов
- •4.2.2.1. Правила подстановки
- •4.2.2.2. Правила введения и удаления кванторов
- •4.2.2.3. Правила заключения
- •4.2.2.4. Метод дедуктивного вывода
- •4.2.2.5. Принцип резолюции
- •4.2.2.6. Логическое программирование
- •4.3. Логика реляционная
- •4.3.1 Реляционная алгебра
- •4.3.1.1. Унарные операции
- •4.3.1.2. Бинарные операции
- •4.3.1.3. Правила реляционной алгебры
- •4.3.2. Реляционное исчисление
- •4.3.3. Языки реляционной логики
- •4.4. Нечеткая логика
- •4.4.1. Нечеткое исчисление
- •4.4.2. Экспертные системы
- •Вопросы и задачи
- •Глава 5. Основы теории алгоритмов
- •5.1. Рекурсивные функции
- •5.1.1. Базовые функции
- •5.1.2. Элементарные операции
- •5.2. Машина Тьюринга
- •5.2.1. Описание машины Тьюринга
- •5.2.2. Примеры машин Тьюринга
- •5.2.3. Композиция машин Тьюринга
- •5.3. Нормальные алгоритмы Маркова
- •5.4 Сложность вычислений
- •Вопросы и задачи
- •Глава 6. Конечные автоматы
- •6.1. Абстрактный автомат
- •6.1.1. Типы конечных автоматов
- •6.1.2. Описание автоматов
- •6.1.3. Автоматное моделирование алгоритмов
- •6.1.3.1. Автомат Мили - модель управляющего автомата
- •6.1.3.2. Автомат Мура - модель управляющего автомата
- •6.1.3.3. Микропрограммный автомат
- •6.1.4. Эквивалентность автоматов
- •6.1.5. Эквивалентность внутренних состояний автомата
- •6.1.5.1. Детерминированный автомат
- •6.1.5.2. Недетерминированный автомат
- •6.2. Структурный автомат
- •6.2.1. Произведение автоматов
- •6.2.1.1. Последовательное соединение автоматов
- •6.2.1.2. Параллельное соединение автоматов
- •Обратная связь автоматов
- •6.2.3. Сумма автоматов
- •6.2.4. Структурный автомат и кодирование
- •6.3. Логическое проектирование автоматов
- •6.3.1. Кодирование алфавитов автомата
- •6.3.2. Автоматы без “памяти”.
- •6.3.2.1. Формирование оператора
- •6.3.2.2. Формирование системы операторов
- •Логическая схема комбинационного автомата
- •6.3.3. Автоматы с “памятью”
- •6.3.3.1. Формирование оператора
- •6.3.3.2. Формирование оператора
- •.3.3.3. Логическая схема автомата с “памятью”
- •Вопросы и задачи
- •Литература
- •Предметный указатель
3.5.3. Поиск кратчайших путей в сети.
Подобные задачи возникают при выборе маршрутов в вычислительных сетях и транспортных системах. В вычислительных сетях решение подобных задач определяет состав и структуру сетевых протоколов для обслуживания движения пакетов информации. По данным о загрузке каналов, направлении и протяженности вычисляется наиболее оптимальный маршрут прохождения пакета информации. При нахождении такого пути к пакету добавляется заголовок, в котором указывают перечень узлов для перехода от вершины хi к вершине хj или очередную вершину перехода. В транспортных системах решение подобных задач определяет наиболее экономный по стоимости или по времени маршрут движения транспортной единицы.
Каждая вершина в таком графе используется только один раз (простой маршрут), а длина кратчайшего пути определится суммой весов ребер на переходе i,j=(хi;...хk;...хj):
Li,j=m,n lm,n, где im, nj, mn.
Для поиска кратчайших путей существует несколько алгоритмов. Алгоритмы Форда-Беллмана и Дейкстра позволяют найти кратчайшие пути от заданной вершины графа до любой другой. В результате этих вычислений формируется древовидный остов с корнем в заданной вершине.
Алгоритмы Флойда и Данцига позволяют искать кратчайшие пути между любой парой вершин сети.
В основе всех алгоритмов лежит операция сравнения двух простых маршрутов.
На рис. 3.27 показаны два простых маршрута, соединяющих вершины хi и хj. Выбор крат- чайшего пути между вершинами
есть результат сравнения длин двух маршрутов, т.е.
Li,j=min{li,j; (li,p+ lp,j)}.
Если существует несколько вершин, смежных с вершинами хi и хj следует выполнять процедуру последовательно, сравнивая длины маршрутов для каждой вершины.
Для того, чтобы определять по алгоритму Флойда. кратчайшие путь и переходы между вершинами xi и xj, необходимо использовать две матрицы: матрицу кратчайших путей ║l(n;n)║ и матрицу кратчайших переходов ║(n;n)║, которые позволяют сравнивать различные маршруты через базовую вершину xp.
Вершина хp в матрице кратчайших путей называется базовой, а строка и столбец матрицы ║lp║ - базовыми (выделены в матрице штриховкой), если она позволяет сравнивать кратчайшие пути между любой парой вершин xi и xj, смежных с вершиной хp. Базовая вершина
позволяет найти путь из вершины xi в вершину xj через вершину xp по формуле lij=(lip+ lpj), представить этот результат для сравнения с имеющимся значением lij и выбрать наименьшее значение.
lp |
x0 |
.. |
xi |
.. |
xp |
.. |
xj |
|
p |
x0 |
.. |
xi |
.. |
xp |
.. |
xj |
x0 |
0 |
.. |
l0i |
.. |
l0p |
.. |
l0j |
|
x0 |
x0 |
.. |
xi |
.. |
xp |
.. |
xj |
... |
... |
0 |
... |
.. |
... |
.. |
... |
|
... |
x0 |
.. |
xi |
.. |
xp |
.. |
xj |
xi |
li0 |
.. |
0 |
.. |
lip |
.. |
lij |
|
xi |
x0 |
.. |
xi |
.. |
xp |
.. |
xj |
... |
... |
.. |
... |
0 |
... |
.. |
... |
|
... |
x0 |
.. |
xi |
.. |
xp |
.. |
xj |
xp |
lp0 |
.. |
lpi |
.. |
0 |
.. |
lpj |
|
xp |
x0 |
.. |
xi |
.. |
xp |
.. |
xj |
... |
... |
.. |
... |
.. |
... |
0 |
... |
|
... |
x0 |
.. |
xi |
.. |
xp |
.. |
xj |
xj |
ljo |
.. |
lji |
.. |
ljp |
.. |
0 |
|
xj |
x0 |
.. |
xi |
.. |
xp |
.. |
xj |
Если в качестве базовой, использовать последовательно все вершины, начиная с х0, то за p=(n-1) шагов итерации можно найти кратчайшие пути между любой парой вершин. Для p=0 матрица ║l0║ есть матрица весов графа.
Для p=0 элементы матрицы 0 есть концевые вершины перехода из хi в хj. Поэтому в каждом столбце хj матрицы 0 указана вершина хj. На p-м шаге итерации происходит замена вершины перехода вершиной кратчайшего перехода по формулам:
а) если (li,p+ lp,j)pli,jp, то i,j (p+1) = i,j p=хj;
b) если (li,p+ lp,j)p<li,jp, то i,j (p+1)=хp.
Следовательно, для анализа n-вершинного графа необходимо последовательно построить (n-1) матриц.
Алгоритм Флойда:
шаг 1: составить матрицу весов ║lp║ и матрицу переходов ║p║ для p=0, где p – шаг итерации;
шаг 2: определить вершину p базовой и выделить базовые строки и столбец;
шаг 3: вычеркнуть строки и столбцы, базовые элементы которых имеют значение , т.к. (li,p+) и (+ lp,j) всегда больше конечного значения li,j;
шаг 4: сравнить каждый невычеркнутый элемент lijp с суммой (li,p+ lp,j)p для формирования значений li,j и i,j на очередном шаге итерации:
a) если (li,p+ lp,j)p<li,jp, то li,jp+1=(li,p+ lp,j)p, а i,j (p+1)=p;
b) если (li,p+ lp,j)p>li,jp, то li,jp+1=li,jp; i,j (p+1)= i,j p.
шаг 5: если p<n, то принять p=p+1 и вернуться к шагу 4, иначе конец.
Пример: Найти кратчайшие пути на графе (см. рис. 3.28).
Ниже таблицами показан процесс вычисления от p=0 до p=7
l0 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
0 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x0 |
0 |
9 |
∞ |
3 |
∞ |
∞ |
∞ |
∞ |
|
x0 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x1 |
9 |
0 |
2 |
∞ |
7 |
∞ |
∞ |
∞ |
|
x1 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x2 |
∞ |
2 |
0 |
2 |
4 |
8 |
6 |
∞ |
|
x2 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x3 |
3 |
∞ |
2 |
0 |
∞ |
∞ |
5 |
∞ |
|
x3 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x4 |
∞ |
7 |
4 |
∞ |
0 |
10 |
∞ |
9 |
|
x4 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x5 |
∞ |
∞ |
8 |
∞ |
10 |
0 |
7 |
12 |
|
x5 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x6 |
∞ |
∞ |
6 |
5 |
∞ |
7 |
0 |
10 |
|
x6 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x7 |
∞ |
∞ |
∞ |
∞ |
9 |
12 |
10 |
0 |
|
x7 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l1 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
1 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x0 |
0 |
9 |
∞ |
3 |
∞ |
∞ |
∞ |
∞ |
|
x0 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x1 |
9 |
0 |
2 |
12 |
7 |
∞ |
∞ |
∞ |
|
x1 |
x0 |
x1 |
x2 |
x0 |
x4 |
x5 |
x6 |
x7 |
x2 |
∞ |
2 |
0 |
2 |
4 |
8 |
6 |
∞ |
|
x2 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x3 |
3 |
12 |
2 |
0 |
∞ |
∞ |
5 |
∞ |
|
x3 |
x0 |
x0 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x4 |
∞ |
7 |
4 |
∞ |
0 |
10 |
∞ |
9 |
|
x4 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x5 |
∞ |
∞ |
8 |
∞ |
10 |
0 |
7 |
12 |
|
x5 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x6 |
∞ |
∞ |
6 |
5 |
∞ |
7 |
0 |
10 |
|
x6 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x7 |
∞ |
∞ |
∞ |
∞ |
9 |
12 |
10 |
0 |
|
x7 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
l2 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
2 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x0 |
0 |
9 |
11 |
3 |
16 |
∞ |
∞ |
∞ |
|
x0 |
x0 |
x1 |
x1 |
x3 |
x1 |
x5 |
x6 |
x7 |
x1 |
9 |
0 |
2 |
12 |
7 |
∞ |
∞ |
∞ |
|
x1 |
x0 |
x1 |
x2 |
x0 |
x4 |
x5 |
x6 |
x7 |
x2 |
11 |
2 |
0 |
2 |
4 |
8 |
6 |
∞ |
|
x2 |
x1 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x3 |
3 |
12 |
2 |
0 |
19 |
∞ |
5 |
∞ |
|
x3 |
x0 |
x0 |
x2 |
x3 |
x1 |
x5 |
x6 |
x7 |
x4 |
16 |
7 |
4 |
19 |
0 |
10 |
∞ |
9 |
|
x4 |
x1 |
x1 |
x2 |
x1 |
x4 |
x5 |
x6 |
x7 |
x5 |
∞ |
∞ |
8 |
∞ |
10 |
0 |
7 |
12 |
|
x5 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x6 |
∞ |
∞ |
6 |
5 |
∞ |
7 |
0 |
10 |
|
x6 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x7 |
∞ |
∞ |
∞ |
∞ |
9 |
12 |
10 |
0 |
|
x7 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l3 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
3 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x0 |
0 |
9 |
11 |
3 |
15 |
19 |
17 |
∞ |
|
x0 |
x0 |
x1 |
x1 |
x3 |
x2 |
x2 |
x2 |
x7 |
x1 |
9 |
0 |
2 |
4 |
6 |
10 |
8 |
∞ |
|
x1 |
x0 |
x1 |
x2 |
x2 |
x2 |
x2 |
x2 |
x7 |
x2 |
11 |
2 |
0 |
2 |
4 |
8 |
6 |
∞ |
|
x2 |
x1 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x3 |
3 |
4 |
2 |
0 |
6 |
10 |
5 |
∞ |
|
x3 |
x0 |
x2 |
x2 |
x3 |
x2 |
x2 |
x6 |
x7 |
x4 |
15 |
6 |
4 |
6 |
0 |
10 |
10 |
9 |
|
x4 |
x2 |
x2 |
x2 |
x2 |
x4 |
x5 |
x2 |
x7 |
x5 |
19 |
10 |
8 |
10 |
10 |
0 |
7 |
12 |
|
x5 |
x2 |
x2 |
x2 |
x2 |
x4 |
x5 |
x6 |
x7 |
x6 |
17 |
8 |
6 |
5 |
10 |
7 |
0 |
10 |
|
x6 |
x2 |
x2 |
x2 |
x3 |
x2 |
x5 |
x6 |
x7 |
x7 |
∞ |
∞ |
∞ |
∞ |
9 |
12 |
10 |
0 |
|
x7 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l4 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
4 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x0 |
0 |
7 |
5 |
3 |
9 |
13 |
8 |
∞ |
|
x0 |
x0 |
x3 |
x3 |
x3 |
x3 |
x3 |
x3 |
x7 |
x1 |
7 |
0 |
2 |
4 |
6 |
10 |
8 |
∞ |
|
x1 |
x3 |
x1 |
x2 |
x2 |
x2 |
x2 |
x2 |
x7 |
x2 |
5 |
2 |
0 |
2 |
4 |
8 |
6 |
∞ |
|
x2 |
x3 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x3 |
3 |
4 |
2 |
0 |
6 |
10 |
5 |
∞ |
|
x3 |
x0 |
x2 |
x2 |
x3 |
x2 |
x2 |
x6 |
x7 |
x4 |
9 |
6 |
4 |
6 |
0 |
10 |
10 |
9 |
|
x4 |
x3 |
x2 |
x2 |
x2 |
x4 |
x5 |
x2 |
x7 |
x5 |
13 |
10 |
8 |
10 |
10 |
0 |
7 |
12 |
|
x5 |
x3 |
x2 |
x2 |
x2 |
x4 |
x5 |
x6 |
x7 |
x6 |
8 |
8 |
6 |
5 |
10 |
7 |
0 |
10 |
|
x6 |
x3 |
x2 |
x2 |
x3 |
x2 |
x5 |
x6 |
x7 |
x7 |
∞ |
∞ |
∞ |
∞ |
9 |
12 |
10 |
0 |
|
x7 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l5 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
5 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x0 |
0 |
7 |
5 |
3 |
9 |
13 |
8 |
18 |
|
x0 |
x0 |
x3 |
x3 |
x3 |
x3 |
x3 |
x3 |
x4 |
x1 |
7 |
0 |
2 |
4 |
6 |
10 |
8 |
15 |
|
x1 |
x3 |
x1 |
x2 |
x2 |
x2 |
x2 |
x2 |
x4 |
x2 |
5 |
2 |
0 |
2 |
4 |
8 |
6 |
13 |
|
x2 |
x3 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x4 |
x3 |
3 |
4 |
2 |
0 |
6 |
10 |
5 |
15 |
|
x3 |
x0 |
x2 |
x2 |
x3 |
x2 |
x2 |
x6 |
x4 |
x4 |
9 |
6 |
4 |
6 |
0 |
10 |
10 |
9 |
|
x4 |
x3 |
x2 |
x2 |
x2 |
x4 |
x5 |
X2 |
x7 |
x5 |
13 |
10 |
8 |
10 |
10 |
0 |
7 |
12 |
|
x5 |
x3 |
x2 |
x2 |
x2 |
x4 |
x5 |
x6 |
x7 |
x6 |
8 |
8 |
6 |
5 |
10 |
7 |
0 |
10 |
|
x6 |
x3 |
x2 |
x2 |
x3 |
x2 |
x5 |
x6 |
x7 |
x7 |
18 |
15 |
13 |
15 |
9 |
12 |
10 |
0 |
|
x7 |
x4 |
x4 |
x4 |
x4 |
x4 |
x5 |
x6 |
x7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l6 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
6 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x0 |
0 |
7 |
5 |
3 |
9 |
13 |
8 |
18 |
|
x0 |
x0 |
x3 |
x3 |
x3 |
x3 |
x3 |
x3 |
x4 |
x1 |
7 |
0 |
2 |
4 |
6 |
10 |
8 |
15 |
|
x1 |
x3 |
x1 |
x2 |
x2 |
x2 |
x2 |
x2 |
x4 |
x2 |
5 |
2 |
0 |
2 |
4 |
8 |
6 |
13 |
|
x2 |
x3 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x4 |
x3 |
3 |
4 |
2 |
0 |
6 |
10 |
5 |
15 |
|
x3 |
x0 |
x2 |
x2 |
x3 |
x2 |
x2 |
x6 |
x4 |
x4 |
9 |
6 |
4 |
6 |
0 |
10 |
10 |
9 |
|
x4 |
x3 |
x2 |
x2 |
x2 |
x4 |
x5 |
x2 |
x7 |
x5 |
13 |
10 |
8 |
10 |
10 |
0 |
7 |
12 |
|
x5 |
x3 |
x2 |
x2 |
x2 |
x4 |
x5 |
x6 |
x7 |
x6 |
8 |
8 |
6 |
5 |
10 |
7 |
0 |
10 |
|
x6 |
x3 |
x2 |
x2 |
x3 |
x2 |
x5 |
x6 |
x7 |
x7 |
18 |
15 |
13 |
15 |
9 |
12 |
10 |
0 |
|
x7 |
x4 |
x4 |
x4 |
x4 |
x4 |
x5 |
x6 |
x7 |
l7 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
|
7 |
x0 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x0 |
0 |
7 |
5 |
3 |
9 |
13 |
8 |
18 |
|
x0 |
x0 |
x3 |
x3 |
x3 |
x3 |
x3 |
x3 |
x4 |
x1 |
7 |
0 |
2 |
4 |
6 |
10 |
8 |
15 |
|
x1 |
x3 |
x1 |
x2 |
x2 |
x2 |
x2 |
x2 |
x4 |
x2 |
5 |
2 |
0 |
2 |
4 |
8 |
6 |
13 |
|
x2 |
x3 |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x4 |
x3 |
3 |
4 |
2 |
0 |
6 |
10 |
5 |
15 |
|
x3 |
x0 |
x2 |
x2 |
x3 |
x2 |
x2 |
x6 |
x4 |
x4 |
9 |
6 |
4 |
6 |
0 |
10 |
10 |
9 |
|
x4 |
x3 |
x2 |
x2 |
x2 |
x4 |
x5 |
x2 |
x7 |
x5 |
13 |
10 |
8 |
10 |
10 |
0 |
7 |
12 |
|
x5 |
x3 |
x2 |
x2 |
x2 |
x4 |
x5 |
x6 |
x7 |
x6 |
8 |
8 |
6 |
5 |
10 |
7 |
0 |
10 |
|
x6 |
x3 |
x2 |
x2 |
x3 |
x2 |
x5 |
x6 |
x7 |
x7 |
18 |
15 |
13 |
15 |
9 |
12 |
10 |
0 |
|
x7 |
x4 |
x4 |
x4 |
x4 |
x4 |
x5 |
x6 |
x7 |
По матрицам ||l7|| и ||i,j7|| можно найти длину кратчайшего перехода между любой парой вершин исходного графа.
Например, между вершинами х0 и х7 длина кратчайшего пути равна 18, а переход 07=(х0, х3, х2, х4, х7), между вершинами х1 и х6 длина кратчайшего пути равна 8, а переход 16=(х1, х2, х6) и т.д.
При решении практических задач возникает необходимость поиска нескольких путей, частично - упорядоченных по возрастанию относительно кратчайшего. Такие задачи возникают при временной загруженности канала на определенном участке или неисправности узла. Для решения подобных задач разработаны обобщенные алгоритмы Флойда.