- •Введение
- •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. Нормальный алгоритм Маркова
3.11. Контрольные задания
Задание. Дана равносильность f=g.
1.Проверить справедливость равносильности с помощью таблиц истинности.
2.Доказать равносильность с помощью эквивалентных преобразований.
3.Реализовать
функцию f в классическом базисе {
}
и базисе шефферов-
ского типа {
}.
4. Для функции f выписать по таблице истинности СДНФ.
5.С помощью эквивалентных преобразований доказать равносильность СДНФ функции f и функции g.
Варианты заданий.
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
f=
4. Элементы теории графов
4.1. История возникновения
Основоположником теории графов считают Леонарда Эйлера (1707 - 1783 гг.), решившего задачу о кенигсбергских мостах. В 18 - м веке г. Кенигсберг был расположен на обоих берегах и двух островах реки Преголя. Острова между собой и с берегами были связаны семью мостами (рис.4.1). Жители города любили размышлять над проблемой: можно ли, выйдя из дома, вернуться обратно, пройдя по каждому мосту только один раз?
Для решения задачи Л.Эйлер обозначил каждый остров, и оба берега реки маленькими кружками (вершинами) - x1, x2, x3, x4, а каждый мост - линией (ребром). Получился "граф" (рис.4.2).
Л.Эйлер обобщил задачу, которая на языке теории графов формулируется следующим образом: существует ли в графе цикл, содержащий все ребра (эйлеров цикл)?
Критерий, позволяющий решать задачи подобного класса, доказанный Эйлером, имеет следующий вид.
Эйлеров цикл в графе существует тогда и только тогда, когда степени всех его вершин четны.
То есть для существования эйлерова цикла в каждую вершину должно "заходить" четное число ребер. Как видно из рис.4.2 не все вершины графа удовлетворяют этому условию, поэтому данная задача не имеет решения.
Считается, что с задачи о кенигсбергских мостах началась теория графов.
Следует отметить, что всегда следует стараться обобщить задачу и искать решение не для частного случая, а для всего класса подобных задач. Нередко это бывает гораздо легче сделать.
4.2. Основные понятия
Граф состоит из множества вершин X и множества ребер U. Вершины обычно обозначают кружками, ребра - прямыми линиями, а сам граф - буквой G.
Если у графа n
вершин и m ребер, то он обозначается
G(X,U), X = {x1, x2, ... , xn } = {xi }, i = 1, n;
U
= {u1, u2, ... , um } = {uj },
j = 1,m.
Рис. 4.1. Парк в городе
Кенигсберге, 1736 г.
x1
x2 x3
x4
Рис. 4.2. Граф к задаче
о кенигсбергских мостах
x1 u1 x2
G
u5 u4 u2
x4 u3 x3
Рис.4.3. Определение графа
Для графа, изображенного на рис.4.3:
X = {x1, x2, x3, x4} = {xi}, i = 1,4;
U = {u1, u2, u3, u4, u5} = {uj}, j = 1,5 = {(x1, x2), (x2, x3), (x3, x4), (x4, x2), (x1, x4)}.
Следует отметить, что в определении графа не указывается, как он изображен на плоскости, а дается лишь совокупность связей между вершинами. Поэтому изображенные на рис.4.4 графы G1,G2 и G3 представляют один и тот же граф.
x1
x1
x2 G2
x1 x2
G1
G3
x2
Рис.4.4. Изображение графа на плоскости
Ребро графа соединяет всегда две вершины, которые называются смежными. Так для ребра u3 (рис.4.3) смежными являются вершины x3 и x4. Ребро же u3 является инцидентным как вершине x3, так и вершине x4.
Степенью вершины xi (deg xi) графа G называется число ребер, инцидентных xi, i = 1, n.
Для графа на рис.4.3 deg x1 = 2, deg x2 = 3.
Теорема Эйлера. Сумма степеней вершин графа G равна удвоенному числу его ребер.
deg
xi = 2 m
Доказательство теоремы основано на инцидентности каждого ребра двум вершинам графа.
Два графа называются изоморфными, если они равны с точностью до переобозначения вершин и ребер.
y1
y2
H
y4
y3
Рис.4.5. Изоморфизм графов
Граф G из примера 4.3 и граф H (рис.4.5) изоморфны, что следует из переобозначения вершин:
y1 x2,
y2 x3, y3 x4,
y4 x1.
Граф с кратными ребрами называется мультиграфом (рис.4.6). Если же допускаются петли, то получаем псевдограф (рис.4.7).
Рис.4.6. Мультиграф Рис.4.7. Псевдограф
Граф H называется подграфом графа G, если все его вершины и ребра принадлежат G, H G (рис.4.8).
x2
H
x4
x3
Рис.4.8. Подграф
Граф H является подграфом графа G, изображенного на рис.4.3.
Граф G называется полным, если каждая пара его вершин смежная. Полный граф из n вершин обозначается Kn . На рис.4.9 изображены полные графы для
n = 1, 2, 3, 4, 5.
K3
K4 K5
K1
K2
Рис.4.9. Полные графы
Граф G называется двудольным, если множество его вершин X можно разбить на два подмножества X1 и X2, X = X1 X2, X1 X2 = таким образом, что каждое ребро графа G соединяет вершины из разных множеств (рис.4.10). Один из изображенных на этом рисунке графов – K3,3 называется полным трех вершинным двудольным графом.
G
G = K3, 3
Рис.4.10. Двудольные графы
Граф G называется планарным, если его можно изобразить на плоскости без пересечений ребер.
Граф K4 (рис.4.9) является планарным. Одна из его плоских укладок изображена на рис.4.11.
K4
Рис.4.11. Плоская укладка графа K4
Графы K5 и K3, 3 являются не планарными, то есть их нельзя уложить на плоскости без пересечений ребер. Не планарность графа K3, 3 лежит в основе известной задачи М.Гарднера.
Даны три дома и три колодца. Спрашивается, можно ли от каждого дома к каждому колодцу протоптать тропинки, чтобы они не пересекались?
Оказывается, что это невозможно. На рис.4.12 показана одна из таких попыток.
Рис.4.12. Укладка на плоскости графа K3, 3
Удивительные свойства плоских графов видны на примере следующей задачи.
Пусть на плоскости дано изображение плоского графа G. Перенумеруем его вершины и снова изобразим их на плоскости произвольным образом. Спрашивается, можно ли соединить новое расположение вершин ребрами таким образом, чтобы граф G оставался плоским?
Оказывается это возможно. Плоский граф инвариантен относительно размещения на плоскости его вершин (рис.4.13).
2
y
y
1
3 5
3
2
6 1
4
6 5
4
0 x 0 x
Рис. 4.13. Инвариантность плоского графа относительно
расположения на плоскости его вершин
Маршрутом в графе G называется чередующаяся последовательность смежных вершин и ребер.
Маршрут называется цепью, если все его ребра различны.
Маршрут называется простой цепью, если все его вершины (а, следовательно, и ребра) различны.
Если в цепи начальная вершина совпадает с конечной, то она называется циклом.
Если в простой цепи начальная вершина совпадает с конечной, то она называется простым циклом.
x1 x2 x3
G
x5 x4
Рис.4.14. Граф G
Для графа G на рис. 4.14:
x1 x2 x3 x2 x5 - маршрут
x2 x5 x3 x2 x1 - цепь
x2 x5 x3 x4 - простая цепь
x2 x5 x3 x4 x5 x1 x2 - цикл
x2 x5 x4 x3 x2 - простой цикл
Граф называется ориентированным (орграфом), если каждому его ребру приписано направление (рис.4.15).
Любая пара смежных вершин называется дугой. Пусть дуга связывает x с y (рис.4.15).
Полу степенью исхода od(x) называется число вершин, смежных из x.
Полу степенью захода id(y) называется число вершин, смежных к y.
На рис.4.15 od(x5) = 1, id(x2) = 2.
x5 x1 x2
G x y
x4 x3
Рис.4.15. Ориентированный граф
Ориентированным маршрутом в орграфе G называется чередующаяся последовательность смежных вершин и дуг, которая начинается и оканчивается вершиной.
Маршрут, в котором все вершины различны, называется путем.
Если путь имеет начальную вершину, совпадающую с конечной, то он называется контуром.
Для графа G на рис.4.15:
x1 x2 x3 x4 x2 x3 x4 x5 - ориентированный маршрут
x1 x2 x3 x4 x5 - путь
x4 x2 x3 x4 - контур
Длина маршрута (цепи, простой цепи, цикла, простого цикла, ориентированного маршрута, пути, контура) d равна числу входящих в него ребер (дуг).
Для графа G на рис.4.14:
d(x1 x2 x3 x4 x5) = 4
Для графа G на рис.4.15:
d(x4 x2 x3 x4) = 3
Расширим понятие
графа. Поставим в соответствие каждому
ребру графа G неотрицательное число wj
> 0, j = 1, m.
Тогда определение графа будет выглядеть следующим образом:
G(X,U,W), X = {xi},
i = 1, n;
U = {uj},
j = 1, m; W = {wj}, j = 1, m;
X =n, U=m, W = m.
Граф G(X,U,W) называется взвешенным.
x2
4
x4
5
G 3 6
2
x1
2
x3
Рис.4.16. Взвешенный граф
Для графа, изображенного на рис.4.16:
X = {x1, x2, x3, x4};
U={(x1, x2), (x1, x3), (x1, x4), (x2, x3), (x2, x4), (x3, x4)};
W = {3, 2, 2, 5, 4, 6}.
