Document 752804

advertisement
1 Цели и задачи дисциплины
1.1.
Цель преподавания дисциплины
Целью преподавания дисциплины является выработка у докторантов
понимания принципов и концепций, на которых зиждется разработка
алгоритмов, вооружение их знаниями и умениями, достаточными для
проектирования и реализации задач с использованием быстрых и
эффективных современных алгоритмов.
1.2.
Задачи изучения дисциплины
В результате изучения дисциплины докторанты должны получить
представление о способах построения и анализа эффективных алгоритмов,
изучить методы разработки программного обеспечения и стратегии их
использования, научиться оценивать сложность алгоритмов и ее
зависимость от выбранной структуры данных.
1.3.
Пререквизиты
Для успешного освоения курса «Анализ и исследование алгоритмов»
необходимо изучение следующих дисциплин: «Дискретная математика»,
«Программирование
на
алгоритмических
языках»,
«Технология
программирования».
1.4.
Постреквизиты
Знания, полученные при изучении этой дисциплины, необходимы
разработчикам программного обеспечения вычислительных систем,
программных средств компьютеров, всем специалистам
в области
информатики, вычислительной техники и программного обеспечения.
2 Система оценки знаний
Для обеспечения систематического и регулярного контроля за учебной
работой докторантов в течение семестра в КазНТУ применяется рейтинговый
контроль знаний.
Суммарный итоговый рейтинг дисциплины равен 100 процентам.
Итоговым контролем по данной дисциплине является устный экзамен по
экзаменационным билетам, каждый из которых содержит три вопроса.
В течение семестра проводятся 2 рубежных тестовых контроля (на
восьмой и пятнадцатой неделях). В текущий контроль оценки знаний
докторантов входит выполнение 4-х практических работ и 2-х семестровых
заданий для самостоятельной работы. Сроки сдачи текущего контроля
приведены в календарном графике учебного процесса (таблица 1).
Таблица 1
Календарный график сдачи всех видов контроля
по дисциплине «Анализ и исследование алгоритмов»
Недели
1 2 3 4 5 6 7
8 9 10 11 12 13 14
Недельное
количество 0 0
контроля
Вид
контроля
1
ЛР
1
0
1
СР1
0
1
1
Л
РК1
Р2
0
0
1
1
Л С
Р3 Р2
0
15
1
1
ЛР4
РК
2
Виды контроля: СР - самостоятельная работа, ЛР – лабораторная работа,
РК- рубежный контроль
Каждый вид текущего контроля (Тi) оценивается в баллах
(процентах). Максимальное процентное содержание каждого текущего
контроля соответствует 100 %.
Баллы в процентах за каждую самостоятельную работу
подсчитываются в соответствии с таблицей 2.
Таблица 2
Инструмент измерения
выполнения видов контроля СРМ
№ Качество выполнения работ
Диапазон
оценки
1 Не выполнено
0%
2 Выполнено
0-50%
3 Самостоятельная систематизация материала
0-10%
4 Выполнение требуемого объема и в указанный срок
0-5%
5 Использование дополнительной научной литературы 0-5%
6 Уникальность выполненного задания
0-10%
7 Защита СРС
0-20%
Итого:
0-100%
Оценка каждого из двух рубежных контролей формируется в
соответствии с таблицей 3.
Таблица 3
Инструмент измерения рубежного контроля
№ Качество выполнения работ
Диапазон
оценки
0%
Не выполнено
Отсутствие на рубежном контроле без уважительных
причин
2 Качество усвоения учебного материала (критерии
0-100%
оценки разрабатывает преподаватель )
Оценка каждого из двух семестровых рейтингов докторанта
складывается из оценок текущего и рубежного контроля.
Подсчет первого рейтинга (P1) проводится на 8-й неделе, включает
оценки текущей успеваемости и первого рубежного контроля и определяется
по формуле:
1
n
P1 
T
i 1
i
 РК1
n 1
%,
где P1- первый рейтинг, PK1 - первый рубежный контроль, Тi - текущий
контроль, n - количество текущих контролей 1 рейтинга (для данной
дисциплины n=1).
Подсчет второго рейтинга (Р2) подводится на 15-й неделе, включает
оценки текущей успеваемости и второго рубежного контроля и определяется
по формуле:
m
P2 
T
i 1
i
 РК 2
m 1
%,
где Р2- второй рейтинг, РК2 - второй рубежный контроль, Ti - текущий
контроль, m - количество текущих контролей 2 рейтинга (для данной
дисциплины m=1)..
Семестровая оценка по дисциплине определяется по формуле
C
P1  P2
* 0,6%
2
.
Докторант считается допущенным к экзамену, если его семестровая
оценка больше или равна 30%.
Максимальное процентное содержание итогового контроля
(устного экзамена) соответствует 100%. Правила формирования
экзаменационного балла отражены в таблице 4.
Таблица 4
Инструмент измерения итогового контроля при устном опросе
(экзамен по билетам, в билете 3 вопроса)
№ Качество выполнения работ
Диапазон
оценки
1 Не выполнено
0%
Отсутствие на экзамене без уважительных причин
2 Оценка знаний по каждому вопросу
0-30%
3 Оценка дополнительных вопросов
0-10%
Итого:
0-100%
Итоговая оценка (И) в процентах по дисциплине определяется так:
И=С+Э * 0,4 %.
Итоговая оценка определяется только в случае получения на экзамене
не менее 50%.
Соответствие процентной оценки буквенному эквиваленту и
традиционной оценке определяется по шкале (таблица 5).
Таблица
5
Оценка знаний магистрантов
Оценка
Буквенный
В процентах %
В баллах
эквивалент
Отлично
А
95-100
4
А90-94
3,67
Хорошо
В+
85-89
3,33
В
80-84
3,0
В75-79
2,67
Удовлетворительно
С+
70-74
2,33
С
65-69
2,0
С60-64
1,67
D+
55-59
1,33
D
50-54
1,0
Неудовлетворительно
F
0-49
0
3. Содержание дисциплины
Изучение дисциплины «Анализ и исследование алгоритмов»
предполагает обязательные лекционные (2 кредита) занятия, лабораторные (1
кредит) занятия, а также самостоятельную работу докторантов (СРД и
СРДП). Такие комплексные занятия обеспечивают усвоение курса,
способствуют приобретению студентами фундаментальных систематических
знаний.
Тематический план дисциплины с указанием наименований тем и
количества академических часов по всем видам занятий (по темам) приведен
в таблице 6.
Таблица 6
Распределение часов по видам занятий
Наименование темы
Практические
Лекции /
СРДП СРД
семинарские
1
2
3
4
5
Анализ алгоритмов, построение
2
1
3
3
алгоритмов
Математические основы анализа
2
1
3
3
алгоритмов
Сортировка с помощью кучи
2
1
3
3
Быстрая сортировка
2
1
3
3
Сортировка за линейное время
2
1
3
3
1
2
3
5
5
Структуры данных. Элементарные
2
1
3
3
структуры данных
Хеш – таблицы
2
1
3
3
Двоичные деревья поиска
2
1
3
3
Динамическое программирование
2
1
3
3
Жадные алгоритмы
2
1
3
3
Алгоритмы на графах
2
1
3
3
Сортирующие сети
2
1
3
3
Алгоритмы поиска подстрок
2
1
3
3
Алгоритмы параллельных вычислений
2
1
3
3
NP – полные задачи
2
1
3
3
Всего часов
30
15
45
45
3.1. Лекционные занятия и их содержание
№ Наименование темы
1
1
2
Анализ алгоритмов,
построение
алгоритмов
2
Математические
основы анализа
алгоритмов
План и содержание лекций
3
Классификация алгоритмов на основе
функции трудоемкости. Методика
анализа основных алгоритмических
конструкций.
Скорость роста функций, рекуррентные
соотношения, множества,
комбинаторика.
Объём,
час
4
2
2
3
Сортировка с
помощью кучи
4
Быстрая сортировка
5
Сортировка за
линейное время
6
Структуры данных.
Элементарные
структуры данных
Хеш – таблицы
7
8
Двоичные деревья
поиска
9
Динамическое
программирование
10 Жадные алгоритмы
11 Алгоритмы на графах
12 Сортирующие сети
13 Алгоритмы поиска
подстрок
14 Алгоритмы
параллельных
вычислений
15 NP – полные задачи
Построение кучи, алгоритм сортировки
с помощью кучи, очереди с
приоритетами
Работа быстрой сортировки,
вероятностные алгоритмы быстрой
сортировки, анализ.
Нижние оценки для сортировки.
Цифровая сортировка. Сортировка
вычерпыванием.
Стеки и очереди. Связанные списки.
Представление корневых деревьев.
2
Прямая адресация. Хеш-таблицы, хешфункции. Открытая адресация.
Поиск в двоичном дереве, добавление и
удаление элементов. Случайные
двоичные деревья поиска.
Решение оптимизационных задач с
помощью динамического
программирования.
Задача о выборе заявок. Коды
Хаффмена. Теоретические основы
жадных алгоритмов.
Алгоритмы обхода в глубину и по
уровням. Алгоритм поиска
минимального остовного дерева.
Алгоритм поиска кратчайшего пути.
Сети компараторов. Битонический
сортировщик. Сортирующая сеть.
Алгоритмы Рабина – Карпа, Кнута –
Мориса – Пратта, Бойера – Мура.
Категории компьютерных систем.
Параллельные архитектуры, принципы
анализа параллельных алгоритмов.
Типичные NP задачи: раскраска графа,
раскладка по ящикам, упаковка
рюкзака, задача о планировании работ.
2
Всего часов
2
2
2
2
2
2
2
2
2
2
2
30
3.2 Практические занятия и их содержание
№
Наименование темы
Содержание
1
2
3
Объём,
час
4
1. Сравнительный
анализ алгоритмов
сортировки
2. Задача о расписании
3. Нахождение
максимального
потока
4. Приближенные
алгоритмы
Всего часов
Реализация алгоритмов быстрой
сортировки и их анализ
3
Использование жадного алгоритма при
решении задачи составления расписания
Реализация и сравнительный анализ
алгоритмов Форда – Фалкерсона,
«проталкивания предпотока», « поднять-ив начало»
Задача о вершинном покрытии, задача
коммивояжера, задача о покрытии
множествами.
4
4
4
15
3.3. Самостоятельная работа докторантов
Одной из основных целей кредитной системы обучения является
обеспечение более высокого качественного уровня самостоятельной работы
докторантов. Самостоятельная работа докторантов, проводимая под
руководством преподавателя (СРДП) составляет шестую часть всей
самостоятельной работы.
Общее количество часов самостоятельной работы докторантов по
курсу «Анализ и исследование алгоритмов» составляет 270 часов за семестр,
из них 45 часов отводится под СРДП (ауд.).
Содержание самостоятельной работы докторантов под руководством
преподавателя (СРДП) и самостоятельной работы докторантов без
преподавателя (СРД) отражено в таблице.
Планы СРДП и СРД
№
СРДП
СРД
недели
1
2
3
1-2
Разбор примеров анализа
Посещение
библиотеки,
трудоемкости алгоритмов.
приобретение необходимой
литературы.
Изучение
трудоемкости рекурсивной
реализации алгоритмов.
3-4
Машина Тьюринга,
Оценка
ресурсной
алгоритмически
эффективности алгоритмов.
неразрешимые проблемы.
Сложностные классы задач.
5-6
Сравнительный анализ
Выполнение СР1 (Реализация
сортировок вставками,
алгоритма
пирамидальной
пузырьковой, Шелла,
сортировки).
слиянием.
7-8
9-10
11-12
13-14
15
Выполнение
заданий
первого
тестового
рубежного контроля
Приближенный
алгоритм
решения
задачи
коммивояжера.
Изучение структур данных
для представления графов.
Подготовка
к
первому
рубежному контролю
Динамическое
матриц.
умножение
Выполнение СР2 (Реализация
алгоритмов
Дейкстры
–
Прима и Краскала).
Реализация
алгоритма Изучение
параллельных
параллельной сортировки.
численных алгоритмов.
Выполнение заданий
Подготовка
ко
второму
второго тестового
рубежному контролю
рубежного контроля
Таблица 7
График проведения занятий
№
Дата
Время
Наименование тем
1
2
3
4
Лекции
Анализ алгоритмов, построение алгоритмов
Математические основы анализа алгоритмов
Сортировка с помощью кучи
Быстрая сортировка
Сортировка за линейное время
Структуры данных. Элементарные структуры
данных
Хеш – таблицы
Двоичные деревья поиска
Динамическое программирование
Жадные алгоритмы
Алгоритмы на графах
Сортирующие сети
Алгоритмы поиска подстрок
Алгоритмы параллельных вычислений
NP – полные задачи
Практические занятия
Сравнительный анализ алгоритмов
сортировки
Задача о расписании
Нахождение максимального потока
Приближенные алгоритмы.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
4 Список литературы
Список основной литературы.
1. Т. Кормен, Ч. Лейзерсон, Р. Риверст. Алгоритмы: построение и анализ - М.,
МЦНМО, 2001
2. Дж. Макконел. Основы современных алгоритмов - М., Техносфера, 2004
3. Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы - М.,
Вильямс, 2001
4. В.Н. Касьянов, В.А. Евстигнеев. Графы в программировании – Спб, БХВПетербург, 2003
5. Роберт Сэджвик Фундаментальные алгоритмы на С++ - К. Диасофт, 2001
Список дополнительной литературы.
5. Кнут Д. Искусство программирования для ЭВМ (в 3-х томах) – М., Мир,
1978
6. Рейнгольц Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы, Теория и
практика – М., Мир, 1980
7. Верещагин Н.К., Шень А. Лекции по математической логике и теории
алгоритмов. Часть 3. Вычислительные алгоритмы – М., МЦНМО, 1999
8. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных
алгоритмов – М., Мир, 1979
9. Гэри М., Джонсон Д. Вычислительные машины и трудно решаемые задачи
– М., Мир, 1982
Содержание
1. Цели и задачи дисциплины………………………………….........................3
2. Система оценки знаний………………………………………………………3
3. Содержание дисциплины……………………………………………………..6
4. Список литературы…………………………………………………………...11
Download