Программа учебного курса АЛГОРИТМЫ НА ГРАФАХ специальная дисциплина в рамках стандарта по направлению подготовки инженер...
6 downloads
200 Views
122KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Программа учебного курса АЛГОРИТМЫ НА ГРАФАХ специальная дисциплина в рамках стандарта по направлению подготовки инженера 654600 «Информатика и вычислительная техника» I.
Организационно-методический раздел.
1.1.Цели и задачи курса Цель курса – обучение основам современной теории графов и сравнительный анализ алгоритмов, используемых при решении задач на графах. Задачи курса - обзор основных понятий теории графов, исследование различных типов объектов и подструктур в графах. - рассмотрение ряда классических задач на графах и сетях, описание алгоритмов их решения, анализ трудоемкости алгоритмов. 1.2.Требования к уровню освоения содержания курса По окончании изучения указанной дисциплины студент должен иметь представление - об основных понятиях и методах, используемых в современной теории графов - о многообразии задач, возникающих на графах и сетях, и алгоритмах их решения - об особенностях применения алгоритмов при решении прикладных и теоретических задач - о взаимосвязи между различными разделами теории графов знать - основные типы объектов и структур, изучаемых теорией графов - различные свойства графов и связанных с ними объектов в рамках предлагаемого курса - типовые методы, используемые при работе с графами, орграфами, мультиграфами и сетями - постановки наиболее известных задач на графах и сетях и эффективные алгоритмы их решения уметь - формулировать прикладные и теоретические задачи на языке графов и сетей, осуществлять подбор эффективных алгоритмов для их решения - разработать программную реализацию выбранного алгоритма, произвести отладку программы и интерпретировать результаты ее работы - применять полученные теоретические знания для доказательства различных свойств графов и связанных с ними объектов
1.3.Формы контроля Итоговый контроль. Для контроля усвоения дисциплины учебным планом предусмотрены зачет и экзамен. Текущий контроль. В течение семестра выполняются 2 вида индивидуальных семестровых заданий, носящих как теоретический, так и прикладной характер. Выполнение указанных заданий является обязательным для всех студентов. Результаты текущего контроля служат основанием для выставления оценок в ведомость контрольной недели на факультете. 2. Содержание дисциплины. 2.1.Новизна и актуальность курса Концентрируя внимание на алгоритмическом подходе к задачам теории графов, учебный курс раскрывает органическую взаимосвязь между различными типами структур на графах и сетях, проявляющуюся в единстве алгоритмических моделей, применяемых для исследования этих структур. 2.2.Тематический план курса (распределение часов). Наименование разделов и тем Лекции Раздел 1. История развития теории графов Раздел 2. Основные понятия. Классификация типов графов. Раздел 3. Простейшие алгоритмы на графах и сетях Раздел 4. Связность и факторизации. Обходы графов Раздел 5. Планарность и раскраски Раздел 6. Перечисление и кодирование графов. Вопросы алгоритмической слоложности Итого по курсу:
Количество ЛабораторСеминар ные работы ы
часов Самостоятельная работа
2
Всего часов 2
10
2
4
16
14
8
16
38
10
4
8
22
12
2
6
20
6
2
4
12
54
18
38
110
2.3.Содержание отдельных разделов и тем. А) Теоретическая часть 1. История развития теории графов. Возникновение понятия графа. Графы как модели при решении задач. Задача Эйлера о кенигсбергских мостах. Задача Гамильтона. Исследования деревьев Кирхгофом и Кэли. Мультиграфы, ориентированные графы и сети. Алгоритмы на графах и сетях. Современное состояние развития теории графов. 2. Основные понятия. Классификация типов графов.
Основные определения и обозначения, связанные с графами, орграфами и мультиграфами. Способы задания графов. Матрицы смежности и инцидентности, их свойства. Изоморфизм графов. Двудольные графы. Критерий двудольности графа. Леса и деревья. Эквивалентные определения дерева. Корневые и остовные деревья. Бинарные деревья. Хранение и поиск информации в бинарных деревьях. Добавление и удаление элементов. Деревья, сбалансированные по высоте (AVL-деревья) и по весу. Точки сочленения, мосты и блоки графа. Вершинная и реберная связность. Характеризация двусвязных графов. Взаимное расположение двух блоков в графе. Дерево блоков и точек сочленения. Независимые множества вершин и ребер графа. Вершинные и реберные покрытия, факторы и паросочетания. Числовые параметры, связанные с независимостью и покрытиями, их свойства. Теорема Галлаи. 3. Простейшие алгоритмы на графах и сетях. Поиск по графу в ширину и глубину. Дерево поиска. Связь поиска в ширину с нахождением кратчайших цепей. Модифицированный алгоритм поиска в глубину. Поиск блоков в связном графе. Нахождение минимального остова: алгоритмы Примы и Краскала. Кратчайшие пути во взвешенных орграфах. Алгоритмы Дейкстры и ФлойдаУоршелла. Сети и потоки в сетях. Задача о максимальном потоке. Остаточные сети, дополняющие пути и разрезы. Теорема и обобщенный алгоритм Форда-Фалкерсона. Анализ работы алгоритма в случае целых и рациональных пропускных способностей. Случай иррациональных пропускных способностей. Пример Форда и Фалкерсона. Метод кратчайших путей. 4. Связность и факторизации. Обходы графов Наборы непересекающихся цепей, соединяющих два подмножества вершин графа (орграфа). Вершинная и реберная теоремы Менгера. Критерии вершинной и реберной kсвязности графов (теорема Уитни). Обходы графов. Эйлеровы и гамильтоновы графы. Теорема Эйлера и алгоритм Флери. Достаточные условия гамильтоновости. Теоремы Дирака и Оре. Гамильтоновы циклы и задача коммивояжера. Наибольшие паросочетания и чередующиеся цепи. Характеризация наибольших паросочетаний в терминах чередующиеся цепей. Паросочетания, покрывающие долю двудольного графа. Связь с системами различных представителей и теоремой Холла. Теоремы Кенига о числе реберной независимости двудольного графа и (0,1)-матрицах. Алгоритм поиска наибольшего паросочетания и наименьшего вершинного покрытия в двудольном графе. Задача о назначениях. Критерий Татта существования 1-фактора в произвольном графе. Теоремы Петерсена о 2-факторах. 5. Планарность и раскраски. Плоские и планарные графы. Нормальные карты и эйлеровы многогранники. Формула Эйлера и ее следствия. Критерий планарности Понтрягина-Куратовского. Алгоритм укладки графа на плоскости. Понятие геометрически двойственного графа. Раскраски вершин графов. Простейшие оценки хроматического числа. Теорема Брукса. Хроматические полиномы, их свойства. Нерешенные задачи о хроматических полиномах. Раскраски планарных графов и карт. Теорема о четырех красках. Доказательство теоремы о пяти красках. Вопросы 3-раскрашиваемости планарных графов. Теоремы Грецша и Грюнбаума. Реберные раскраски графов и мультиграфов. Теоремы Визинга и Шэннона. Хроматический индекс двудольного графа. Интервальные раскраски. Связь с задачами теории расписаний. Предписанные раскраски. Теорема Томассена о предписанной 5-раскрашиваемости плоских графов. 6. Перечисление и кодирование графов. Вопросы алгоритмической сложности.
Перечисление и кодирование графов. Проблема изоморфизма. Кодирование деревьев. Код Прюфера. Теорема Кэли о числе помеченных деревьев. Классы труднорешаемых задач на графах. Классы P, NP и NPC. Связь между задачами “Клика” и “Выполнимость”. NP-полнота задач “Изоморфный подграф”, “Независимость’’, “Вершинное покрытие’’, “Гамильтонов цикл”, “Гамильтонова цепь”, “3-раскрашиваемость”. Б) Практические занятия по курсу не предусмотрены. 2.1.Перечень примерных контрольных вопросов и заданий для самостоятельной работы – см. раздел 3.2 (вопросы для подготовки к экзамену). 3. Учебно-методическое обеспечение дисциплины 3.1. 3.2. Образцы вопросов для подготовки к экзамену Раздел 1. 1) Исторический путь развития теории графов. Исследования Эйлера, Кирхгофа и Кэли. Задача Гамильтона. Современное состояние теории графов. 2) Графы как модели при решении задач. Наиболее распространенные задачи на графах и сетях, алгоритмы их решения. Раздел 2 1) Основные определения и обозначения, связанные с графами. Лемма о рукопожатиях. 2) Способы задания графов и орграфов. Теорема о числе маршрутов, соединяющих две вершины графа. 3) Двудольные графы. Критерий двудольности графа. 4) Леса и деревья. Теорема об эквивалентных определениях дерева. Корневые деревья. Раздел 3. 1) Поиск по графу в глубину и ширину. Использование поиска в ширину для нахождения кратчайших цепей. 2) Алгоритм поиска блоков в связном графе. 3) Алгоритм Примы поиска минимального остова. 4) Кратчайшие пути во взвешенных орграфах. Алгоритм Дейкстры. 5) Задача о максимальном потоке. Метод кратчайших путей. Раздел 4. 1) Вершинная теорема Менгера. 2) Понятия эйлеровых цикла и цепи. Критерий эйлеровости графа. Алгоритм Флери. 3) Теорема о паросочетании, покрывающем долю двудольного графа, ее следствия. Связь с системами различных представителей и теоремой Холла. 4) Теоремы Кенига о числе реберной независимости двудольного графа и (0,1)матрицах. 5) Понятие r-фактора. Критерий Татта существования 1-фактора (доказательство необходимости). Теоремы Петерсена о 2-факторах. Раздел 5. 1) Верхняя оценка для числа ребер планарного графа. Максимальные планарные графы. 2) Критерий планарности Понтрягина-Куратовского.
3) Раскраски вершин графов. Простейшие оценки хроматического числа. Хроматическое число k-вырожденного графа. 4) Теорема Брукса. 5) Реберные раскраски графов и мультиграфов. Хроматический индексе двудольного графа. Раздел 6. 1) Кодирование деревьев. Код Прюфера. Теорема Кэли о числе помеченных деревьев. 2) Классы P, NP и NPC. Полиномиальная сводимость задач. Связь между задачами “Клика” и “Выполнимость”. 3) NP-полные задачи на графах. NP-полнота задач “Независимость’’, “Вершинное покрытие’’, “Гамильтонов цикл”, “Гамильтонова цепь”, “3-раскрашиваемость”. 3.3.Список основной и дополнительной литературы 1. Емеличев В. А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. Лекции по теории графов - М.: Наука, 1990. 2. Харари Ф. Теория графов - М.: Мир, 1973. 3. Косточка А. В. Дискретная математика. Часть 2 - Новосибирск: НГУ, 2001. 4. Кормен Т., Лейзерсон Ч., Ривест Р. - Алгоритмы: построение и анализ // М.: МЦНМО, 2001. 5. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. - М.: Мир, 1985. 6. Кристофидес Н. Теория графов. Алгоритмический подход. – М.: Мир, 1978. 7. Дистель Р. Теория графов. – Новосибирск: Издательство Института математики СО РАН, 2002.
Программу подготовил: к.ф.-м.н.
Глебов А.Н.
Программа утверждена на заседании Ученого совета факультета информационных технологий Новосибирского государственного университета 18 декабря 2003 г., протокол заседания №16. Декан ФИТ НГУ, д.ф.-м.н.
М.М.Лаврентьев