Приложение 3 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Национальный исследовательский университет Новосибирский государственный университет Механико-математический факультет УТВЕРЖДАЮ _______________________ «_____»__________________201__ г. Рабочая программа дисциплины Дискретные Экстремальные Задачи Направление подготовки Error! Reference source not found. Профиль подготовки Error! Reference source not found. Квалификация (степень) выпускника Бакалавр Форма обучения Очная Новосибирск 2010 Аннотация рабочей программы Дисциплина «Error! Reference source not found.» является частью математического цикла ООП по направлению подготовки «Error! Reference source not found.», профиль «Error! Reference source not found.». Дисциплина реализуется на Механико-математическом факультете Национального исследовательского университета Новосибирский государственный университет кафедрой Программирования ММФ НИУ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с объектноориентированным программированием и проектированием, а также с проблематикой организации взаимодействия человека и машины посредством графического интерфейса и организации больших структурированных хранилищ информации. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, практические занятия, контрольная работа, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольной работы, промежуточный контроль в форме зачета. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2,5 зачетных единиц, 92 академических часа. Программой дисциплины предусмотрены 34 часов лекционных и 18 часов практических занятий, а также 36 часов самостоятельной работы студентов. Остальное время – контроль в форме контрольной и зачета. 2 1. Цели освоения дисциплины (Указываются цели освоения дисциплины (или модуля), соотнесенные с общими целями ООП ВПО). Курс ставит своей целью усвоение студентами понятий, связанных с построением и анализом алгоритмов решения задач дискретной (комбинаторной) оптимизации. Комбинаторная оптимизация – молодая и активно развивающаяся область дискретной математики, сформировавшаяся, как научное направление, в последние 50 лет. Курс «Дискретные экстремальные задачи» рассказывает об основных идеях, теоретических результатах и алгоритмах в комбинаторной оптимизации. Кроме того, в курс включены необходимые сведения из теории графов, линейного и целочисленного программирования и теории сложности. 2. Место дисциплины в структуре ООП бакалавриата (Дается описание логической и содержательно-методической взаимосвязи с другими частями ООП (дисциплинами, модулями, практиками). Указываются требования к «входным» знаниям, умениям и готовностям обучающегося, необходимым при освоении данной дисциплины и приобретенным в результате освоения предшествующих дисциплин (модулей).) Дисциплина «Error! Reference source not found.» является частью математического цикла ООП по направлению подготовки «Error! Reference source not found.», профиль «Error! Reference source not found.». Дисциплина «Дискретные Экстремальные Задачи» опирается на следующие дисциплины данной ООП: Математическая логика (Машина Тьюринга, Тезис Черча); Методы оптимизации (линейное программирование, симплекс-метод); Исследование операций (динамическое программирование); Теория графов. Результаты освоения дисциплины «Error! Reference source not found.» используются в следующих дисциплинах данной ООП: Матеметические методы принятия решений; 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Error! Reference source not found.»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: знать основные понятия объектно-ориентированного программирования и проектирования, требования к организации пользовательских интерфейсов и хранилищ данных; уметь анализировать базовую информацию о явлениях окружающего мира и строить их объектно-ориентированные модели, разрабатывать адекватные средства человеко-машинного взаимодействия (пользовательские интерфейсы), анализировать информацию, необходимую для проектирования и реализации хранилищ данных; владеть навыками решения задач, встречающихся в проектировании, реализации и сопровождения программных проектов. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2,5 зачетные единицы, 92 часа. Лекция Практическое занятие Самост. работа 7 1 2 0 2 1.2 Графы и орграфы. Основные понятия. Вершинное покрытие, независимое множество, клика. Цепи и циклы. Критерий связности. Деревья и леса. Характеризация деревьев. Разрезы. Лемма Минти. Сильно связные орграфы. Топологический порядок. 1.3 Алгоритмы сканирования и обхода. Алгоритм сканирования графа. Алгебраические представления графов. Матрица инцидентности. Матрица смежности. Лист смежности. Поиск в глубину. Поиск в ширину. Эйлеров граф. Алгоритм Эйлера. Теорема Кенига. . 1.4 Остовные деревья. Задача «Минимальное остовное дерево». Задача «Максимальный взвешенный лес». Эквивалентность задач. Алгоритм Краскала. Алгоритм Прима. Задача «Максимальный взвешенный ориентированный лес». Задача «Минимальное остовное ориентированное дерево». Задача «Минимальное остовное корневое ориентированное дерево». Ориентированный лес и циклы. Алгоритм Эдмондса. 7 2 2 0 2 7 3 2 0 2 7 4 2 0 2 1.5 Решение задач по темам: Графы и орграфы, Алгоритмы сканирования и обхода, Остовные деревья. 1.6 Кратчайшие пути. Задача «Кратчайший путь». Принцип оптимальности Белмана. Алгоритм Дейкстры. Алгоритм МураБеллмана-Форда. Допустимый потенциал. Задача «Все Пары Кратчайших путей». Алгоритм Флойда-Уоршелла. Задача «Минимальный усредненный Цикл». Теорема Карпа. 1.7 Потоки в сетях. Задача «Максимальный Поток». Остаточный граф. Увеличивающий путь. Алгоритм Форда-Фалкерсона. Характеризация максимального потока. Теорема о максимальном потоке и минимальном разрезе. Теорема о Декомпозиции Потока. 1.8 Потоки в сетях. Первая Теорема Менгера. Вторая Теорема Менгера. Характеризация k-связных графов. Задача «Ориентированные ребернонепересекающиеся пути». Алгоритм Эдмондса-Карпа. Алгоритм Проталкивания Предпотока. Алгоритм Голдберга-Тарьяна. 1.9 Паросочетания в двудольных графах. Задача «Максимальное Паросочетание». Теорема Холла. Теорема Фробениуса о бракосочетаниях. Паросочетание и увеличивающий путь. Матрица Татта. Вероятностный алгоритм Ловаша. 1.10 Решение задач по темам: Кратчайшие пути, Потоки в сетях, Паросочетания в 7 5 0 2 2 7 6 2 0 2 7 7 2 0 2 7 8 2 0 2 7 9 2 0 2 7 10 0 2 2 Раздел дисциплины 4 Зачет Неделя семестра 1.1 Введение. Примеры задач комбинаторной оптимизации. Понятие алгоритма. Алгоритм перебора с возвратом. Время работы алгоритма. Полиномиальный алгоритм. Алгоритм сортировки слиянием. № п/п Контр. работа Семестр Виды учебной работы, включая самостоятельную работу студентов и трудоемкость Формы текущего контроля (в часах) успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) двудольных графах. 1.11 Паросочетания в произвольных графах. Фактор-критические графы. Условие Татта. Теорема Татта. Формула Бержа-Татта. Нечетная декомпозиция. Характеризация фактор-критических графов. 1.12 M-чередующаяся декомпозиция. Алгоритм построения M-чередующейся декомпозиции. Нечетные циклы. Цветки. Лемма о стягивании цветков. Чередующийся лес. 1.13 Алгоритм построения паросочетания в произвольном графе. Процедура «Прирост». Процедура «Увеличение». Процедура «Стягивание». Цветочный лес. Алгоритм Эдмондса построения паросочетания. 1.14 Матроиды. Независимая система. Циклы, базы, ранг, замыкание. Задача «Максимизация независимой системы». Задача «Минимизация независимой системы». Понятие матроид. Примеры матроидов. Теорема Эдмондса-Радо. 1.15 Решение задач по темам: Паросочетания в произвольных графах, M-чередующаяся декомпозиция, Алгоритм построения паросочетания в произвольном графе, Матроиды. 1.10 2.1 NP-полнота. Алфавит. Язык. Машина Тьюринга. Тезис Черча. Задачи распознования. Класс P. Класс NP. Рандомизированный алгоритм. Недетерминированный алгоритм. 2.2 NP-полнота. Полиномиальная сводимость. Задача «Выполнимость». Теорема Кука. Задача «3-Выполнимость». 2.3 NP-полнота. Основные NP-полные задачи. Задача «Независимое множество». Задача «Вершинное покрытие». Задача «Клика». Задача «Гамильтонов цикл». Задача «Разбиение». Задача «3-Разбиение» 2.4 Решение задач по теме NP-полнота. 3.1 Приближенные алгоритмы. Задача оптимизации. NP-трудные задачи. Подходы к решению NP-трудных задач. Приближенный алгоритм. Полиномиальная приближенная схема. Вполне полиномиальная приближенная схема. 2приближенный алгоритмом для задачи «Вершинное покрытие наименьшей мощности». 3.2 Комбинаторные приближенные алгоритмы. Задача «Покрытие». Алгоритм Хватала. Задача «Вершинное покрытие». Уровневый алгоритм для задачи «Вершинное покрытие». Задача «Кратчайшая суперстрока». Алгоритм Ли. 3.3 Комбинаторные приближенные алгоритмы. Задачи с метрикой. Задача Штейнера. Метрическая задача Штейнера. Алгоритм MST. Задача Коммивояжера. Неаппроксимируемость задачи Коммивояжера. Метрическая задача Коммивояжера. Алгоритм КристофидисаСердюкова. Метрическая задача o k центрах. Алгоритм Хошбаум-Шмойса для задачи o k центрах. 3.4 Комбинаторные приближенные алгоритмы. Метрическая задача o взвешенных k центрах. Алгоритм ХошбаумШмойса для задачи o взвешенных k центрах. 4-приближенный алгоритм для задачи «Кратчайшая суперстрока». 3.5 Решение задач по теме Комбинаторные приближенные алгоритмы. 3.6 Приближенные схемы. Подходы к 7 11 2 0 2 7 12 2 0 2 7 13 2 0 2 7 14 2 0 2 7 15 0 2 2 7 8 16 1 2 2 0 2 2 8 2 2 0 2 8 3 2 0 2 8 8 4 5 0 2 2 0 2 2 8 6 2 0 2 8 7 2 0 2 8 8 2 0 2 8 9 0 2 2 8 10 2 0 2 5 2 контрольная, см. п. 6 построению приближенных схем. Упрощение исходного примера. Разбиение пространства решений. Структурирование работы точного алгоритма. Приближенные схемы для задачи минимизации длины расписания работ на двух параллельных машинах. 3.7 Приближенные схемы. Задача oб 8 упаковке. Алгоритм «Первый подходящий». Неаппроксимируемость задачи об упаковке. Асимптотическая приближенная схема. Алгоритм Фернандес де ла Вега-Луекера. Задача минимизации длины расписания работ на параллельных машинах. Алгоритм Грэхэма. Приближенные схемы для задачи минимизации длины расписания работ на параллельных машинах. 3.8 Приближенные схемы. Цеховые задачи 8 теории расписаний. Полиномиальная приближенная схема для цеховой задачи открытого типа. 3.9 Приближенные алгоритмы на основе 8 линейного программирования. Задача линейного программирования. Задача минимизации длины расписания работ на параллельных разнородных машинах. Алгоритм Ленстры-Шмойса-Тардаш. 3.10 Приближенные алгоритмы на основе 8 линейного программирования. Алгоритм «Округление ЛП-релаксации» для задачи «Покрытие». Прямая и двойственная задачи. Прямо-двойственный алгоритм для задачи «Покрытие». Задача «Максимальная выполнимость» Вероятностный алгоритм Джонсона. Дерандомизация. Алгоритм ГоемансаВильямсона. 3.11 Решение задач по теме. Приближенные 8 схемы. Приближенные алгоритмы на основе линейного программирования. 3.12 8 8 11 2 0 2 12 2 0 2 13 2 0 2 14 2 0 2 15 0 2 2 2 2 2 16 64 4 16 17 48 контрольная, см. п. 6 2 Экзамен 2 (Наиболее распространенные виды/формы организации учебного процесса: лекция/мастер-класс, лабораторная работа, практическая занятие, семинар/коллоквиум, самостоятельная работа студента, консультации/тьюторство, курсовое проектирование, производственная практика, научно-исследовательская работа, выпускная квалификационная работа). 5. Образовательные технологии (Указываются образовательные технологии, используемые при реализации различных видов учебной работы. Наиболее распространенные виды/формы образовательных технологий: традиционные лекционно-семинарские системы обучения, информационные технологии (обучение в электронной образовательной среде), работа в команде, casestudy (анализ реальных проблемных ситуаций и поиск решений), ролевая игра, проблемное изучение, контекстное изучение, обучение на основе опыта, индивидуальное обучение, междисциплинарное обучение, опережающая самостоятельная работа. В соответствии с требованиями ФГОС ВПО по направлению подготовки реализация компетентностного подхода должна предусматривать широкое использование в учебном процессе активных и интерактивных форм проведения занятий (компьютерных симуляций, деловых и ролевых игр, разбор конкретных ситуаций, психологические и иные тренинги) в сочетании с внеаудиторной работой с целью формирования и развития профессиональных навыков обучающихся. В рамках учебных курсов должны быть предусмотрены встречи с представителями российских и зарубежных компаний, государственных и общественных организаций, мастер-классы экспертов и 6 специалистов. Удельный вес занятий, проводимых в интерактивных формах, определяется главной целью (миссией) программы, особенностью контингента обучающихся и содержанием конкретных дисциплин, и в целом в учебном процессе они должны составлять не менее 30% аудиторных занятий (определяется требованиями ФГОС с учетом специфики ООП). Занятия лекционного типа для соответствующих групп студентов не могут составлять более 50% аудиторных занятий (определяется соответствующим ФГОС)). 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины (Приводятся виды самостоятельной работы обучающегося, порядок их выполнения и контроля, дается учебно-методическое обеспечение (возможно в виде ссылок) самостоятельной работы по отдельным разделам дисциплины. Указываются темы эссе, рефератов, курсовых работ и др. Приводятся контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины.) 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Korte B., Vygen J., Combinatorial Optimization: theory and algorithms, (Algorithms and Combinatorics 21), Springer-Verlag, Berlin, 2008. 2. V. Vazirani, Approximation Algorithms, Springer-Verlag, Berlin, 2003. 3. Р. Дистель, Теория графов, Издательство Института Математики, Новосибирск, 2002. б) дополнительная литература: 1. М.Гэри, Д.Джонсон, Вычислительные машины и труднорешаемые задачи, Мир, 1982. 2. Х. Пападимитриу, К. Стайглиц, Комбинаторная оптимизация: Алгоритмы и сложность, Мир, 1984. 3. Handbook of Combinatorial optimization (Vol 3) D.-Z. Du and P.M.Pardalos (Eds): Kluwer Academic Publishers, 1998. в) программное обеспечение и Интернет-ресурсы: Кононов А.В. Слайды курса «Дискретные экстремальные задачи». – url: http://www.math.nsc.ru/LBRT/k5/dep. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и ПрООП ВПО по направлению «Error! Reference source not found.» и профилю подготовки «Error! Reference source not found.». Автор: Кононов Александр Вениаминович к.ф.-м.н., доцент, с.н.с. ИМ СО РАН 7 Рецензент (ы) Программа одобрена на заседании (Наименование уполномоченного органа вуза (УМК, НМС, Ученый совет) от ___________ года, протокол № ________ 8 9