Рабочая учебная программа для специальности

Вид материалаРабочая учебная программа

Содержание


Рабочая учебная программа дисциплины
Часов по темам и видам учебных занятий
Содержание курса
Тема 4. Поиск.
Рекомендуемая литература
Дополнительная литература
Примерный перечень вопросов к зачету
Подобный материал:
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Филиал федерального государственного бюджетного образовательного учреждения

высшего профессионального образования

«Астраханский государственный университет»

в г. Знаменске Астраханской области


«УТВЕРЖДАЮ»

Директор филиала ФГБОУ ВПО АГУ

в г. Знаменске Астраханской области

__________________В.Н.Крамаренко


Дисциплина блока общие математические и естественно-научные дисциплины

(название блока учебного плана)


Кафедра математики и информатики

(название кафедры)


Анализ комбинаторных алгоритмов

(дисциплина)

Рабочая учебная программа


для специальности

230201.65 Информационные системы и технологии (Знаменск)

(название специальности/ей)


2 курс

(номер курса)


Автор- составитель:

Лобейко В.И.

e-mail:

znamensk@aspu.ru

Анализ комбинаторных алгоритмов

(название дисциплины)


Рабочая учебная программа


Автор составитель д.т.н. профессор, Лобейко В.И.

(звание, ФИО)


Ответственный редактор

Зав. кафедрой математики и информатики, д.т.н. профессор, Лобейко В.И.

(звание, ФИО)


Рабочая учебная программа обсужден

на заседании кафедры математики и информатики

Протокол № __1_ от __30.08_2010 г.


РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА ДИСЦИПЛИНЫ


Основная практическая причина для анализа алгоритмов - необходимость получения оценок или границ для объема памяти или времени работы (и прочих ресурсов машины и пользователя), которые потребуются алгоритму для успешной обработки данных. Анализ полезен при проектировании программы чтобы исключить появление неработоспособных по памяти или времени систем, выявить узкие места в программе, сравнении разных алгоритмов решения одной задачи, для выявления более эффективных алгоритмов и замены устаревших.

Курс «Анализ комбинаторных алгоритмов» ставит своей целью изучение студентами важнейших разделов комбинаторного анализа и теории алгоритмов, методов оценивания эффективности алгоритмов и обоснования их корректности.

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


РАСПРЕДЕЛЕНИЕ

ЧАСОВ ПО ТЕМАМ И ВИДАМ УЧЕБНЫХ ЗАНЯТИЙ




Наименование тем

Количество аудиторных часов

Всего



в том числе по видам учебных занятий


Лекции

Практические,

семинарские

занятия

Лабораторные

занятия

Самостоятельная работа


1

2




4

5

6


Тема 1. Введение.

Тема 2. Комбинаторные объекты.


Тема 3. Сортировка.


Тема 4. Поиск.


2


4


2


10








2


4


2


10




Итого аудиторных часов

18







18




Количество часов самостоятельной работы студентов

72













Всего часов

90












СОДЕРЖАНИЕ КУРСА



Тема 1. Введение.

Постановка проблемы. Примеры. Классы алгоритмов.


Тема 2. Комбинаторные объекты.

Представление комбинаторных объектов. Массивы. Основы оценки. Ссылки и указатели. Линейные списки. Стеки и очереди. Деревья. Бинарные деревья. Прохождение дерева.


Тема 3. Сортировка

Сортировка. Внутренняя сортировка: вставка, обменная сортировка, выбор, распределяющая сортировка. Внешняя сортировка.


Тема 4. Поиск.

Исчерпывающий поиск. Поиск с возвращением: общий алгоритм, усовершенствования, оценка сложности выполнения, способы программирования. Методы решета: нерекурсивное модульное решето, решето, отбраковывающее изоморфные объекты. Быстрый поиск. Последовательный поиск. Логарифмический поиск в статических таблицах: бинарный поиск, оптимальные деревья бинарного поиска, цифровой поиск. Логарифмический поиск в динамических таблицах. Методы вычисления адреса: хеширование и его варианты, хеш-функции.


РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА



ОСНОВНАЯ
  1. Асанов, М.О. Дискретная математика: графы, матроиды, алгоритмы : учеб. пособ. / М. О. Асанов, Баранский, В.А., Расин, В.В. - 2-е изд. ; испр. и доп. - СПб. : Лань, 2010. - 368 с.
  2. Ахо А., Хопкрофт Дж., Ульман Э. Структуры данных и алгоритмы. 2007.
  3. Кнут Д. Искусство программирования для ЭВМ. Том 1-3. 2008.
  4. Мальцев, И.А. Линейная алгебра : учеб. пособ. / И. А. Мальцев. - 2-е изд. ; испр. и доп. - СПб. : Лань, 2010. - 384 с.
  5. Проскуряков, И.В. Сборник задач по линейной алгебре : учеб. пособие / И. В. Проскуряков. - 13-е изд. ; стер. - СПб. : Лань, 2010. - 480 с.
  6. Руководства и задания к лабораторным работам (//fileserver\Учебные материалы\230101-Вычислительные машины, комплексы, системы и сети\II курс\Анализ комбинаторных алгоритмов)
  7. Демонстрационные программы (//fileserver\Учебные материалы\230101-Вычислительные машины, комплексы, системы и сети\II курс\Анализ комбинаторных алгоритмов)


ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА
  1. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи
  2. Рейнгольд Э. и др. Комбинаторные алгоритмы: теория и практика


ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ВОПРОСОВ К ЗАЧЕТУ


1. Основные понятия теории графов. Теорема об эквивалентности различных

определений дерева.

2. Путь в лабиринте с минимальным числом изгибов.

3. Задача о минимальном остове. Основная лемма и ее следствия.

4. Реализация алгоритма Борувки-Краскла.

5. Реализация алгоритма Ярника-Прима-Дейкстры.

6. Задача о кратчайшем пути в сети. Алгоритм Форда-Беллмана.

7. Задача о кратчайшем пути в сети с неотрицательными весами. Алгоритм Дейкстры.

8. Задача о кратчайшем пути в бесконтурной сети.

9. Сетевое планирование.

10. Пути между всеми парами вершин. Алгоритм Флойда.

11. Динамическое программирование. Распределительная задача.

12. Потоки в сетях. Теорема о существовании максимального потока. Основные леммы.

13. Теорема Форда-Фалкерсона.

14. Алгоритм Форда-Фалкерсона.

15. Задача о потоке в сети с ограничениями снизу.

16. Задача о потоке минимальной стоимости. Транспортная задача.

17. Критерий µ-оптимальности потока.

18. Прямой алгоритм построения потока минимальной стоимости.

19. Двойственный алгоритм построения потока минимальной стоимости.

20. Паросочетания в двудольных графах. Теорема Бержа. Связь понятий паросочетания и

потока в соответствующей цепи. Модификация алгоритма Форда-Фалкерсона для

построения наибольшего паросочетания.

21. Алгоритм Хопкрофта-Карпа. Основные процедуры этого алгоритма.

22. Оценка сложности алгоритма Хопкрофта-Карпа.

23. Задача о полном паросочетании. Алгоритм Куна.

24. Задача о назначениях. Основные леммы.

25. Венгерский алгоритм решения задачи о назначениях.

26. Задача о разбиении на наименьшее число паросочетаний. Теорема Мендельсона-

Далмеджа и алгоритм разбиения на наименьшее число паросочетаний.

27. Задача составления учебного расписания.

28. Задача коммивояжера. Алгоритмы с гарантированной оценкой точности.

29. Метод ветвей и границ, схема для задачи коммивояжера.

30. Моделирование отжига.

ПРОГРАММНЫЕ ПРОДУКТЫ

  • Borland Pascal
  • Borland Turbo C++
  • Microsoft Visual C++
  • Borland С Builder
  • Borland Delphi