URSS.ru Магазин научной книги
Обложка Макаровских Т.А. Комбинаторика и теория графов Обложка Макаровских Т.А. Комбинаторика и теория графов
Id: 320762
606 руб. 549 р.

Комбинаторика и теория графов Изд. 4, испр.

2024. 200 с.
Белая офсетная бумага
Внимание: АКЦИЯ! Только по 08.12.24!

Аннотация

Настоящее пособие написано на основе курса лекций «Комбинаторика и теория графов», читаемого автором студентам специальностей «Прикладная информатика в экономике» и «Математические методы в экономике» Южно-Уральского государственного университета. Одна из главных задач курса — обучение студентов методам мышления, характерным для дискретной математики, основным понятиям комбинаторики и теории графов, а также развитие навыков алгоритмического... (Подробнее)


Содержание
top
ВВЕДЕНИЕ6
1. МНОЖЕСТВА И ОПЕРАЦИИ НАД НИМИ9
1.1. Множества9
1.2. Способы задания множеств10
1.3. Операции над множествами11
1.4. Свойства операций над множествами14
Задачи15
2. МЕТОД МАТЕМАТИЧЕСКОЙ ИНДУКЦИИ18
Задачи21
3. ОСНОВНЫЕ ПРИНЦИПЫ КОМБИНАТОРИКИ22
3.1. Правило произведения22
3.2. Правило сложения22
Задачи25
4. РАЗМЕЩЕНИЯ, ПЕРЕСТАНОВКИ, СОЧЕТАНИЯ29
4.1. Выборки и размещения29
4.2. Сочетания30
4.3. Перестановки с повторениями32
4.4. Полиномиальная формула33
Задачи35
5. КОМБИНАТОРНЫЕ ТОЖДЕСТВА38
Задачи42
6. ФОРМИРОВАНИЕ ПЕРЕСТАНОВОК И СОЧЕТАНИЙ43
6.1. Перестановки43
6.2. Сочетания45
6.3. Размещения без повторений46
6.4. Сочетания с повторениями47
Задачи48
7. ПРИНЦИП ВКЛЮЧЕНИЯ-ИСКЛЮЧЕНИЯ49
Задачи52
8. ВВЕДЕНИЕ В ТЕОРИЮ ГРАФОВ ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ54
8.1. Основные определения58
8.2. Лемма о рукопожатиях65
8.3. Вершинная и реберная связность66
Задачи69
9. СПОСОБЫ ПРЕДСТАВЛЕНИЯ ГРАФОВ И МЕТОДЫ ПРОСМОТРА ВЕРШИН73
9.1. Матрица инцидентности73
9.2. Матрица смежности74
9.3. Списки смежности75
9.4. Поиск в глубину76
9.5. Поиск в ширину78
Задачи79
10. ДЕРЕВЬЯ И ЛЕСА82
10.1. Числовые параметры, характеризующие ориентированное дерево85
10.2. Бинарные деревья85
10.3. Сортировка86
10.4. Бинарные деревья поиска88
10.5. Остовные деревья89
10.6. Матричная формула Кирхгофа95
Задачи97
11. ЭЙЛЕРОВЫ И ГАМИЛЬТОНОВЫ ГРАФЫ103
11.1. Эйлеровы графы и задача о Кенигсбергских мостах103
11.2. Гамильтоновы графы и задача коммивояжера108
11.3. Связь между эйлеровыми и гамильтоновыми циклами114
Задачи114
12. ДВУДОЛЬНЫЕ ГРАФЫ И ПАРОСОЧЕТАНИЯ117
12.1. Двудольные графы117
12.2. Паросочетания118
12.3. Задача о назначениях121
Задачи130
13. УКЛАДКИ ГРАФОВ134
13.1. Свойства планарных графов136
13.2. Формула Эйлера137
13.3. Критерий планарности графа139
13.4. Алгоритм укладки графа на плоскости140
Задачи143
14. НАХОЖДЕНИЕ КРАТЧАЙШИХ ПУТЕЙ В ГРАФЕ145
Задачи149
15. ЗАДАЧИ СЕТЕВОГО ПЛАНИРОВАНИЯ153
15.1. Правила построения сетевых графиков154
15.2. Метод критического пути155
15.3. Управление проектами с неопределенным временем выполнения работ158
15.4. Оптимизация сетевого графика161
15.5. Общие замечания162
Задачи163
16. ПОТОКИ В СЕТЯХ166
16.1. Алгоритм Форда и Фалкерсона167
16.2. Метод блокирующих потоков172
Задачи177
17. РАСКРАСКА ГРАФОВ180
17.1. Точный алгоритм раскрашивания185
17.2. Приближенный алгоритм последовательного раскрашивания186
17.3. Улучшенный алгоритм последовательного раскрашивания187
17.4. Клики и независимые множества190
Задачи192
ОТВЕТЫ195
ЛИТЕРАТУРА197

Введение
top
Дискретность – понятие, противоположное непрерывности. Традиционно к дискретной математике относят такие области знаний как комбинаторика, теория чисел, общая алгебра, математическая логика, комбинаторный анализ, теория графов, теория кодирования, целочисленное программирование, теория автоматов и пр. Список областей знаний, являющихся разделами дискретной математики можно продолжать и продолжать. Вообще, дискретная математика всегда была очень динамичной областью, т.к. она непосредственно связана с различными прикладными науками.

Наиболее значимой областью применения методов дискретной математики является область компьютерных технологий. Это объясняется необходимостью создания и эксплуатации электронных вычислительных машин, средств передачи и обработки информации, автоматизированных систем управления и проектирования. С момента появления компьютера и начала использования вычислительной техники для решения разнообразных задач получила развитие системная область знаний математики, связанная с программированием. При всех своих огромных возможностях компьютер может работать только с конечным множеством объектов, причем на этом множестве должно быть определено отношение порядка. Потребности программирования определяют развитие «стыка» информатики и математики. Это область знаний не исчерпывается дискретной математикой, однако она является характерной, основополагающей.

Многие задачи экономики и математического моделирования также непосредственно связаны с дискретной математикой. Например, к числу этих задач относятся задачи оптимизации: задача о назначениях, задача о максимальном потоке, сетевое планирование и многие другие.

Дискретная математика и примыкающие к ней дисциплины изучаются во всех университетах, где осуществляется подготовка специалистов в областях программирования, математики, экономики, а также по техническим и гуманитарным дисциплинам.

В настоящее время имеется масса доступной литературы, покрывающей многие разделы дискретной математики, в том числе иностранные издания [1]-[3], переиздания известних учебников Яблонского С.В. [4], задачника Гаврилова Г.П. и Сапоженко А.А. [5], лекций команды математиков из Минска [6], книги Зыкова А.А. [7] и многочисленных пособий от авторов из российских университетов, например, [8]–[16]. Список авторских учебников достаточно обширен, поскольку в зависимости от направления подготовки студентов, содержания сопутствующих курсов, требований работодателей меняется и теоретическое наполнение данного курса. Так, студенты математических специальностей каждый раздел курса изучают в рамках отдельных дисциплин. Программистам необходимо сделать упор на роль дискретной математики в современных компьютерных технологиях, вооружить их методами, применяемыми для решения широкого круга задач, научить на примерах классических задач представлять выполнение алгоритма по шагам. Особое внимание при обучении программистов и специалистов в области информатики уделяется и вопросу практической реализации на компьютере, в частности, для задач большой размерности. Что касается экономистов и специалистов по статистике, тут ключевыми разделами являются комбинаторика и теория графов и также необходимо уделить внимание компьютерной реализации рассмотренных алгоритмов.

Данное учебное пособие основано на лекционных курсах «Комбинаторика и теория графов» и «Дискретная математика» который автор преподает студентам специальностей «Прикладная информатика в экономике» и «Математические методы в экономике» (2005–2011), «Прикладная математика и информатика» (2011–2015), «Фундаментальная инфрматика и информационные технологии» (с 2011) Южно-Уральского государственного университета. Одна из главных задач этого курса – обучение студентов методам мышления, характерным для дискретной математики, основным понятиям комбинаторики и теории графов. Поскольку указанные специальности предполагают умение эффективно решать задачи с помощью компьютера, также была поставлена цель развить у студентов навыки алгоритмического мышления на примерах решения задач из разных разделов дискретной математики.

Пособие охватывает следующие разделы дискретной математики: основы теории множеств, комбинаторику и теорию графов. Из основных разделов отсутствуют общая алгебра, теория алгоритмов, арифметика, математическая логика. Это объясняется тем, что данные разделы студенты изучают в рамках других курсов. Пособие ориентировано на семестровый лекционный курс. Книга также может составить основу разделов курсов, примыкающих к дискретной математике (информатика, алгоритмизация, структуры данных).

Учебное пособие состоит из 17 глав.

Первая глава содержит материал из элементарной теории множеств, необходимый для чтения последующих глав.

Во второй главе кратко изложен метод математической индукции, который является одним из основных методов доказательства в дискретной математике.

В главах 3 – 7 рассмотрены основные принципы комбинаторики, алгоритмы формирования выборок, размещений и сочетаний. Отдельное внимание уделено технике доказательства комбинаторных тождеств.

В этих (а также некоторых других) главах существенно использованы материалы книги [13]. Эвнин А.Ю. (24 сентября 1960 – 19 ноября 2020), автор талантливых книг [11, 13, 15, 16] был моим преподавателем по курсу «Дискретная математика» в 1998 году, поэтому сложно было написать о многом иными словами. Он умел излагать материал настолько понятно и красиво, что даже самые сложные моменты курса становились доступными к осмыслению многими студентами.

Главы 8 – 9 посвящены введению в теорию графов, приведены основные понятия теории графов и рассмотрены принципы представления графов на компьютере.

В главе 10 приведены определения деревьев и приведены прикладные задачи, математической моделью которых является дерево. Рассмотрен частный случай – бинарные деревья, и их применение на практике. Описаны основные способы обхода бинарных деревьев. Проанализирована одна из классических задач теории графов – построение минимального остова. Для решения этой задачи приведено два алгоритма.

Глава 11 посвящена двум старейшим задачам теории графов: поиску эйлеровых и гамильтоновых циклов.

В главе 12 рассмотрены двудольные графы и их применение при решении практических задач: поиск максимального паросочетания, решение задачи о назначениях.

Глава 13 знакомит с укладкой графов на плоскости. Приведены критерии планарности графа, а также алгоритм построения плоской укладки, если таковая существует.

Главы 14 – 16 посвящены решению прикладных задач, в которых необходимо применить объекты теории графов: поиск кратчайшего пути, решение задач сетевого планирования и задачи о максимальном потоке.

В 17 главе рассмотрены вопросы раскраски графов и приведены точный и приближенные алгоритмы решения этой задачи.

О некоторых других применениях теории графов, не классических для данного курса алгоритмах можно прочитать в моей монографии [18].

В конце каждой главы приведены задачи различного уровня сложности, в том числе и связанные с разработкой алгоритмов и программ. Студенту предлагается самостоятельно решить предложенные задачи без использования уже имеющихся библиотек. Непосредственно вопросы программирования подробно рассматриваются в книгах [18–23]. Отдельно выделим книгу [19], в которой реализация и анализ алгоритмов рассмотрены наиболее подробно и на высоком профессиональном уровне.

Автор благодарит профессора Уфимского государственного авиационного технического университета Бронштейна Ефима Михайловича и доцента Южно-Уральского государственного университета Эвнина Александра Юрьевича за критические замечания и предложения.


Об авторе
top
photoМакаровских Татьяна Анатольевна
Доктор физико-математических наук, доцент, профессор кафедры «Системное программирование» Южно-Уральского государственного университета. В 2003 г. с отличием окончила ЮУрГУ по специальности «Прикладная математика». В 2006 г. защитила кандидатскую диссертацию по специальности «Теоретические основы информатики» в Вычислительном центре имени А. А. Дородницына РАН. В 2020 г. защитила докторскую диссертацию по той же специальности в ЮУрГУ. Является автором более 100 научных публикаций, 7 учебных пособий, монографии «Маршруты-покрытия специального вида в графах: Теоретические основы и применение в ресурсосберегающих технологиях» (М.: URSS), а также более 10 зарегистрированных программ для ЭВМ.