- •Курс лекций
- •По дискретной математике
- •(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: Величина называетсявеличиной потока и обозначается.
Задача. На данной транспортной сети построить поток наибольшей величины.
Прежде чем изложить алгоритм решения задачи, введем еще два термина. Дуга называетсянасыщенной, если . Потокназываетсяполным, если каждый путь из вершины в вершинусодержит хотя бы одну насыщенную дугу.