«УТВЕРЖДАЮ» - Факультет информационных технологий

advertisement
Программа курса
«Методы дискретного анализа в информатике».
I. Организационно-методический раздел.
1.1. Данный курс реализуется в рамках направления 552800 "Информатика и
вычислительная техника" и относится к вузовской компоненте раздела "специальные
дисциплины" государственного стандарта.
Основной целью освоения дисциплины является изучение теоретического материала и
основных алгоритмов в двух разделах дискретного анализа - комбинаторике и теории
графов.
Для достижения поставленной цели выделяются задачи курса по освоению методов
комбинаторики и теории графов и применении их в программировании.
1.2.По окончании изучения указанной дисциплины студент должен
– иметь представление об основных комбинаторных объектах;
– знать основы комбинаторики и теории графов;
– уметь применять методы комбинаторики и теории графов для описания и
обоснования важнейших алгоритмов над объектами дискретной математики.
1.4. Для контроля усвоения дисциплины учебным планом предусмотрены 2 зачета,
дифзачет и экзамен. Для текущего контроля предусмотрены 2 контрольные работы,
коллоквиум и решение задач по индивидуальным заданиям.
2. Содержание дисциплины.
2.1. Настоящий курс является продолжением основного курса "Методы дискретной
математики", читаемого студентам ФИТ НГУ во втором и третьем семестрах. В нем
продолжено изучение двух основных разделов дискретной математики: теории графов
и комбинаторики. Наряду с теоретическими знаниями дается описание важнейших
алгоритмов над объектами дискретной математики. Новизной курса является
объединение этих двух направлений. Освещаемые разделы отсутствуют в других
курсах.
2.2.Тематический план курса (распределение часов).
Количество
часов
Наименование разделов
Лаборатор Самостояте
и тем
Лекци Семина ль-ная
и
ры
ные
работа
работы
Теория графов
36
36
Комбинаторика
32
32
Итого по курсу:
68
68
Всег
о
Часо
в
72
64
136
2.3.Содержание отдельных разделов и тем.
Теория графов.
Графы. Основные определения. Операции над графами. Представление графов в
ЭВМ. Алгоритм поиска в ширину. Алгоритм поиска в глубину с внешней памятью.
Алгоритм поиска в глубину без внешней памяти. Дерево поиска и обратные дуги.
Алгоритм поиска в глубину для ориентированных графов.
Связность. Оценки числа ребер графа порядка n с k компонентами связности.
Алгоритм поиска всех компонент связности. Характеризация точек сочленения.
Характеризация мостов. Характеризация двусвязных графов. Алгоритм нахождения точек
сочленения и блоков. bc-деревья.
Связность в орграфах. Топологическая сортировка. Алгоритм определения сильно
связных компонент орграфа. Граф конденсации. Транзитивное замыкание. Матрица
достижимости. Алгоритм Уоршала. Поиск кратчайших путей. Алгоритм Флойда.
Циклы и разрезы. Векторные пространства циклов и коциклов. Размерность и
ортогональность этих пространств. Алгоритм отыскания фундаментального множества
циклов. Алгоритм порождения всех контуров орграфа.
Вершинная независимость. Оценки числа вершинной независимости. Алгоритм
построения всех максимальных независимых множеств.
Реберная независимость. Паросочетания в двудольных графах. Теорема
Фробениуса. Эквивалентность теорем Кенига, Холла и Фробениуса. Алгоритм
построения паросочетаний в двудольных графах: венгерский метод. Алгоритм Эдмондса
построения наибольшего паросочетания в произвольном графе.
Теория потоков. Теорема Форда-Фалкерсона о максимальном потоке и
минимальном разрезе. Связь с теоремой Менгера. Алгоритм Форда-Фалкерсона.
Алгоритм Эдмондса и Карпа. Алгоритм Диница.
Комбинаторика.
Алгоритм порождения перестановок в лексикографическом порядке. Векторы
инверсий. Вложенные циклы. Порождение перестановок в порядке минимального
изменения. Алгоритмы порождения подмножеств конечного множества. Коды Грея.
<m,n>-нумерации. Алгоритмы порождения k-подмножеств. Код Грея для k-подмножеств.
Композиции целых чисел. Алгоритмы порождения разбиений целых чисел.
Некоторые классические символьные последовательности и способы их задания.
Последовательность Туэ-Морса. Последовательность Аршона. Подслова и фрагменты.
Последовательности де Брёйна. Универсальные слова. Рекуррентные конструкции слов.
Фрактальные конструкции.
Слова с запрещенными подсловами. Блокирующие множества слов и достоверные
свойства символьных последовательностей. Критерий блокируемости. Алгоритмы
распознавания блокируемости. Теорема Ван дер Вардена.
Комбинаторная сложность слов. Функции роста языка подслов. Графы де Брёйна и
их свойства. Графы подслов. Задача о сборке слов. Аддитивная сложность символьных
последовательностей. Суффиксная сложность и различные ее модификации. Алгоритмы
вычисления сложностных характеристик символьных последовательностей.
3. Учебно-методическое обеспечение дисциплины
3.2.Образцы вопросов для подготовки к экзамену.
Вопросы для подготовки к экзамену соответствуют содержанию разделов и тем.
3.3. Список основной и дополнительной литературы.
1. Г.П. Гаврилов, А.А. Сапоженко, Задачи и упражнения по курсу дискретной
математики, Наука, 1992.
2. В.А. Евстигнеев, Л.С. Мельников, Задачи и упражнения по теории графов и
комбинаторике, Новосибирский государственный университет, 1981.
3. В.А. Емеличев, О.И. Мельников, В.И. Сарванов, Р.И. Тышкевич, Лекции по теории
графов, Наука, 1990.
4. Н. Кристофидерс, Теория графов: алгоритмический подход, Мир, 1978.
5. Ф.А. Новиков, Дискретная математика для программистов, Издательский дом
"Питер", 2001.
6. Х. Пападимитриу, К. Стайглиц, Комбинаторная оптимизация. Алгоритмы и
сложность. М.: Мир, 1985.
7. Э. Рейнгольд, Ю. Нивергельд, Н. Део, Комбинаторные алгоритмы, теория и практика,
Мир, 1980.
8. Ф. Харари, Теория графов, Мир,1973.
Программу подготовил:
к.ф.-м.н.
Пережогин А.Л.
Программа утверждена на заседании Ученого совета факультета информационных
технологий Новосибирского государственного университета 18 декабря 2003 г., протокол
заседания №16.
Декан ФИТ НГУ,
д.ф.-м.н.
М.М.Лаврентьев
Download