
- •Курс лекций
- •По дискретной математике
- •(2 Семестр)
- •(Для студентов специальности «Прикладная математика», «Компьютерные системы и сети»)
- •Комбинаторика.
- •§1. Правила комбинаторики. Основные комбинаторные формулы.
- •Размещения.
- •Перестановки.
- •Сочетания.
- •§2. Свойства сочетаний. Бином Ньютона.
- •§3. Числа Фибоначчи. Рекуррентные соотношения.
- •§3. Производящие функции.
- •Теория графов. Введение
- •§1. Основные понятия и определения теории графов.
- •§2. Задачи, послужившие основой теории графов.
- •1. Задача о кенигсбергских мостах.
- •2. Задача о четырех красках.
- •§3. Алгоритмические задачи.
- •1. Задачи о кратчайших путях.
- •Алгоритм решения.
- •Обоснование алгоритма.
- •2. Алгоритм построения Эйлерова цикла.
- •Обоснование алгоритма.
- •3. Потоки на транспортных сетях.
- •Алгоритм Форда - Фалкерсона для нахождения потока наибольшей величины.
- •Обоснование алгоритма.
- •§4. Цикломатическое число графа. Деревья.
- •§5. Эйлерова характеристика. Плоские графы.
- •§6. Теорема о пяти красках.
- •Оценка хроматического числа плоского графа.
- •§7. Графы правильных многогранников.
- •Теория конечных автоматов Введение.
- •§1. Определение автомата Мили. Автомат Мура.
- •§2. Покрытие и эквивалентность. Морфизмы.
- •§3. Эквивалентные состояния автоматов.
- •§4. Процедура минимизации конечных автоматов.
- •§5. Машина Тьюринга.
- •§6. Не полностью описанные автоматы.
- •Алгоритмы и рекурсивные функции. Введение.
- •§1. Основные понятия и определения.
- •§2. Примитивно рекурсивные функции.
- •§3. Частично рекурсивные функции.
- •§4. Машины Тьюринга.
- •Список литературы.
- •2 Семестр
Обоснование алгоритма.
Пусть мы находимся
в некоторой вершине
.
В исходном графе
степень вершины
—
четное число, поэтому после зачеркивания
ребер, по которым мы приходили и уходили
из вершины
,
ее степень — нечетна. Следовательно,
существует, по крайней мере, одно
незачеркнутое ребро, инцидентное вершине
.
Если это ребро — единственное, инцидентное
вершине
,
то оно, в силу замечания в5°
алгоритма, не может быть «перешейком»,
и по нему можно покинуть вершину
.
Пусть ребер,
инцидентных вершине
—
нечетное число, большее единицы. Докажем,
что среди них хотя бы одно ребро не
является перешейком. Допустим противное:
все ребра, инцидентные вершине
—
перешейки. Удалим одно из этих ребер,
такое, чтобы вершина
и
оказались в разных компонентах связности.
Такое ребро существует, так как в
противном случае вершины
и
были бы связаны более чем одной простой
цепью. Это означало бы, что существует
простой цикл, содержащий вершины
и
.
Но ребра, входящие в простой цикл, не
могут быть перешейками.
Рассмотрим
компоненту связности
,
содержащую вершину
(и не содержащую вершину
).
В графе
степени всех вершин, в том числе и вершины
—
четные числа. Следовательно, в графе
существует эйлеров цикл. Ребра, входящие
в цикл, не могут быть перешейками.
Итак, наше допущение
ведет к противоречию. Более того, мы
убедились, что среди ребер, инцидентных
вершине
в графе, полученном из графа
удалением пройденных ребер, лишь одно
может быть перешейком.
Таким образом,
доказано, что невозможность выполнить
предписания алгоритма может возникнуть
только в вершине
,
если попасть в нее, по крайней мере, во
второй раз. В отличие от других вершин
степень вершины
при
-м
попадании в нее
— четна. Если эта степень равна нулю,
алгоритм перестает работать.
Докажем, что в этом
случае эйлеров цикл уже построен. В
самом деле, в силу правила 3°
любое ребро может войти в цикл
не более одного раза. В силу правил 4°,
5° — пройдены все ребра. Действительно,
непройденные ребра определяют в графе
компоненты связности. Если эти компоненты
можно связать с вершиной
цепью из более чем одного зачеркнутого
ребра, то среди этих ребер наверняка
одно — перешеек; если одним ребром, то
была возможность выбора ребра, не
ведущего в вершину
.
3. Потоки на транспортных сетях.
1. Основная задача теории транспортных сетей.
Определение
1: Транспортная
сеть
есть совокупность двух объектов:
1.
Связного графа
,
обладающего свойствами:
1°) в графе
отсутствуют петли,
2°) в графе
существует одна и только одна вершина
такая, что множество
,
3°) в графе
существует одна и только одна вершина
,
такая, что множество
.
2.
Целочисленной неотрицательной функции
,
заданной на множестве
дуг графа
.
Вершина
называетсявходом
сети,
вершина
—
выходом.
Значение функции
на дуге
называетсяпропускной
способностью
дуги.
Определение
2: Пусть
— множество дуг, заходящих в вершину
,a
— множество дуг, выходящих из вершины
.
Целочисленная неотрицательная функция
,
заданная на множестве
дуг графа
,
называетсяпотоком,
если она удовлетворяет следующим
свойствам:
1)
,
2) .
Термины, входящие в определения 1 и 2, наводят на мысль, что при рассуждениях относительно транспортных сетей очень удобно представлять, что по дугам транспортной сети движется некоторая несжимаемая «жидкость». Дуги могут пропускать «жидкость» только в одном направлении и в количестве, не превышающем их пропускной способности. Свойство 1) определения 2 можно понимать как закон сохранения количества жидкости. Вся жидкость, движущаяся по транспортной сети, вытекает из входа сети и стекает в выход. Сколько жидкости поступает из входа сети, столько же стекает в выход, так как из свойства 1) определения 2 следует равенство:
.
Определение
3: Величина
называетсявеличиной
потока
и обозначается
.
Задача.
На данной транспортной сети
построить поток наибольшей величины.
Прежде чем изложить
алгоритм решения задачи, введем еще два
термина. Дуга
называетсянасыщенной,
если
.
Поток
называетсяполным,
если каждый путь из вершины
в вершину
содержит хотя бы одну насыщенную дугу.