
- •Универсальное множество: Универсальное множество (универсум) — множество, содержащее все мыслимые объекты. Упорядоченное множество — множество, на котором задано отношение порядка.
- •Множество. Способы задания множеств (перечислением или списком, порождающей процедурой, описанием характеристического свойства). Привести примеры.
- •Объединение более чем двух множеств. Пусть дано семейство множеств Тогда его объединением называется множество, состоящее из всех элементов всех множеств семейства:
- •Алгебра множеств. Законы алгебры множеств. Доказать один из законов алгебры множеств.
- •Множество. Мощность множества. Нахождение мощности объединения множеств (для двух множеств, для трех множеств, для n-множеств). Привести пример.
- •Векторы. Прямое произведение множеств. Мощности прямого произведения множеств.
- •Отношения. Основные понятия отношений (отношения; унарные, бинарные, n-местные отношения)
- •Отношения. Бинарные отношения. Основные понятия (определение, обозначения, область определения, область значений, способы задания бинарных отношений). Привести примеры.
- •Способы задания бинарных отношений
- •Отношения. Свойства бинарных отношений (рефлексивность, антирефлексивность, симметричность, антисимметричность, транзитивность). Привести примеры.
- •Переключательные (булевы) функции. Происхождение булевых функций.
- •Булевы функции от одного аргумента. (Определение. Все булевы функции от одного аргумента).
- •Булевы функции от двух аргументов (Определение булевой функции двух аргументов, тождественный ноль, тождественная единица, конъюнкция, штрих Шеффера, дизъюнкция, стрелка Пирса (функция Вебба)).
- •Свойства дизъюнкции, конъюнкции и отрицания (теорема 4.3).
- •Свойства эквиваленции, импликации и отрицания (теорема 4.4).
- •Выражение одних булевых функций через другие (теорема 4.5).
- •Булевы функции от n аргументов (определение, равенство булевых функций, суперпозиция булевых функций). Булевы функции от n переменных
- •Булевы функции и формулы алгебры высказываний.
- •Нормальные формы булевых функций.
- •Применение булевых функций к релейно-контактной схеме. Две основные задачи теории релейно-контактных схем.
- •Релейно-контактные схемы в эвм. Двоичный полусумматор. Одноразрядный двоичный сумматор.
- •Графы. Основные понятия и определения (вершины, ребра, петли, кратность ребра, псевдограф, мультиграф, граф, орграф, неориентированный граф). Привести примеры.
- •Графы. Матричное задание графов. Матрица смежности, матрица инцидентности. Привести примеры.
- •Графы. Свойства матрицы смежности и инцидентности. Утверждение о числе всех путей (маршрутов) длины k из одной вершины в другую. Утверждение о наличие хотя бы одного контура.
- •Графы. Связность. Компоненты связности. (Достижимость вершины, связный (сильно связный орграф) граф, слабо связанный, несвязанный, компонента связности (сильной связности)). Привести примеры.
- •Графы. Матрицы связности. Утверждение о матрицах связности, матрицы достижимости, матрицы сильной связности.
- •Графы. Поиск путей (маршрутов) с минимальным числом дуг (ребер). Алгоритм фронта волны.
- •Графы. Минимальные пути (маршруты) в нагруженных орграфах (графах). Алгоритм Форда-Беллмана.
Графы. Минимальные пути (маршруты) в нагруженных орграфах (графах). Алгоритм Форда-Беллмана.
Определение. Назовём
орграф
нагруженным,
если на множестве дуг
определена
некоторая функция
,
которую часто называют весовой функцией.
Тем
самым и нагруженном орграфе
каждой
дуге
поставлено
в соответствие некоторое действительное
число
.
Значение
будем
называть длиной
дуги
.
Для
любого пути
нагруженного
орграфа
обозначим
через
сумму
длин входящих в
дуг,
при этом каждая дуга учитывается столько
раз, сколько она входит в путь.
Величину
будем
называть длиной
пути
в
нагруженном орграфе
.
Ранее так называлось количество дуг в
пути
.
В связи с этим заметим, что если длины
дуг выбраны равными 1, то
выражает
введенную ранее длину пути
в
ненагруженном орграфе. Следовательно,
любой ненагруженный орграф можно считать
нагруженным с длинами дуг, равными 1.
Аналогично определяется и нагруженный
граф, а также длина маршрута в нем.
Определение. Путь
в нагруженном орграфе
из
вершины
в
вершину
,
где
,
называется минимальным,
если он имеет минимальную длину среди
всех путей орграфа
из
в
.
Аналогично определяется и минимальный
маршрут в нагруженном графе
.
Рассмотрим теперь задачу поиска минимальных путей (маршрутов) в нагруженном орграфе (графе). При этом для определенности рассуждения будем проводить для орграфа (для графа они аналогичны).
Пусть
-
нагруженный орграф,
,
.
Введем величины
,
где
,
...,
,
,
,...
Для каждых фиксированных
и
величина
равна
длине минимального пути среди путем
из
в
,
содержащих не более
дуг;
если же таких путей нет, то
=
.
Кроме того, если произвольную
вершину
считать
путем из
в
нулевой
длины, то величины
можно
ввести также и для
,
при этом
(1)
Введем
также в рассмотрение квадратную
матрицу
порядка
с
элементами
которую будем называть матрицей длин дуг нагруженного орграфа .
Следующее утверждение дает простые формулы для вычисления величин .
Утверждение.
.
Используя
данное утверждение, нетрудно описать
алгоритм нахождения таблицы значений
величин
(будем
записывать её в виде матрицы, где
-
номер строки,
-
номер столбца). Действительно,
используя рекуррентные
соотношения (2), (3) и исходя из (1),
последовательно определяем набор
величин
((
)-й
столбец матрицы), начиная с
,
а затем шаг за шагом увеличиваем
значение
до
любой необходимой величины.
Алгоритм
Форда – Беллмана нахождения минимального
пути в нагруженном орграфе
из
в
Шаг
1. Пусть
мы уже составили таблицу величин
.
Если
не
достижима из
(предполагаем,
что все величины
конечны).
В этом случае работа алгоритма
заканчивается.
Шаг
2. Пусть
.
Тогда число
выражает
длинны любого минимального пути из
в
в
нагруженном орграфе
.
Определим минимальное число
,
при котором выполняется равенство
.
По определению чисел
получим,
что
-
минимальное число дуг в пути среди всех
минимальных путей из
в
в
нагруженном орграфе
.
Шаг
3.
Последовательно определяем номера
такие
что
. . . . . . (4)
Из
(4) с учётом того, что
,
имеем
,
откуда, используя (1), получаем
(5)
Складывая равенства (4) и учитывая (5), имеем
т.е.
-
искомый минимальный путь из
в
в
нагруженном орграфе
.
Заметим, что в этом пути ровно
дуг
Следовательно, мы определили путь с
минимальным числом дуг среди всех
минимальных путей из
в
в
нагруженном орграфе
.
Замечание.
Номера
,
удовлетворяющие (4) вообще говоря, могут
быть выделены неоднозначно. Эта
неоднозначность соответствует случаям,
когда существует несколько различных
путей из
в
с
минимальным числом дуг среди минимальных,
путей из
в
в
нагруженном орграфе
.
Замечание.
Алгоритм можно модифицировать, с
тем чтобы определить минимальный путь
из
в
заданную вершину
среди
путей из
в
,
содержащих не более
дуг,
где
-
заданное число,
.
Для этого в алгоритме вместо
следует
воспользоваться
.
Пример 83.
Определить минимальный путь из v1 в v6 в нагруженном орграфе D, изображенном на рисунке 35.
Решение.
С
оставим
матрицу C(D) длин
дуг нагруженного орграфа D(табл.
68). Справа от матрицы C(D) припишем
шесть столбцов, которые будем определять,
используя рекуррентное соотношение
(2) и исходя из (1).
Величина
выражает
длину минимального пути из v1 в v6 в
нагруженном орграфе D.
Найдем минимальное число
,
при котором выполняется равенство
.
Получаем, что k1
= 4. Таким
образом, минимальное число дуг в пути
среди всех минимальных путей из v1 в v6 в
нагруженном графе D равняется
4. Определим теперь последовательность
номеров i1, i2, i3, i4, i5, где i1
= 6,
удовлетворяющих (4) (для этого используем
формулу (2)).
Таблица 68
|
v1 |
v2 |
v3 |
v4 |
v5 |
v6 |
|
|
|
|
|
|
|
v1 |
Ґ |
Ґ |
5 |
5 |
2 |
12 |
|
0 |
0 |
0 |
0 |
0 |
0 |
v2 |
Ґ |
Ґ |
Ґ |
Ґ |
Ґ |
2 |
|
Ґ |
Ґ |
7 |
5 |
5 |
5 |
v3 |
Ґ |
2 |
Ґ |
Ґ |
Ґ |
Ґ |
|
Ґ |
5 |
3 |
3 |
3 |
3 |
v4 |
Ґ |
2 |
Ґ |
Ґ |
Ґ |
Ґ |
|
Ґ |
5 |
4 |
4 |
4 |
4 |
v5 |
Ґ |
Ґ |
1 |
2 |
Ґ |
Ґ |
|
Ґ |
2 |
2 |
2 |
2 |
2 |
v6 |
Ґ |
Ґ |
Ґ |
Ґ |
Ґ |
Ґ |
|
Ґ |
12 |
12 |
9 |
7 |
7 |
Получаем, что в качестве такой последовательности надо взять номера 6, 2, 3, 5, 1, так как
Тогда v1v5v3v2v6 – искомый минимальный путь из v1 в v6 в нагруженном орграфе D, причем он содержит минимальное число дуг среди всех возможных минимальных путей из v1 в v6 .
Алгоритм Форда-Беллмана нахождения минимального пути в нагруженном ориентированном графе D из vнач в vкон.( vнач ≠ vкон)
записываем
в виде матрицы, i-
строка, k-столбец.
1) Составляем
таблицу
, i=1,…,n, k=0,…,n-1.
Если
,
то пути из vнач в vкон нет.
Конец алгоритма.
2) Если
то
это число выражает длину любого
минимального пути из vнач в vкон. Найдем
минимальное k11,
при котором
.
По определению
получим,
что k1-
минимальное число дуг в пути среди всех
минимальных путей из vнач в vкон.
3) Затем
определяем номера i2,…,
такие,
что
,
,
,
то есть, восстанавливаем по составленной таблице и матрице стоимости искомый минимальный путь из vнач в vкон.
Экзамен проводиться письменно.
Предлагаемые практические задания на экзамене составлены в соответствии с теоретическими вопросами. На экзамене можно иметь с собой калькулятор.