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

advertisement
РОССИЙСКАЯ ФЕДЕРАЦИЯ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
«УТВЕРЖДАЮ»:
Проректор по учебной работе
_______________________ /Волосникова Л.М./
__________ _____________ 2013 г.
ДОПОЛНИТЕЛЬНЫЕ ГЛАВЫ ДИСКРЕТНОЙ МАТЕМАТИКИ
Учебно-методический комплекс.
Рабочая программа для студентов направления
010500.68 Математическое обеспечение и администрирование информационных систем.
Магистерская программа «Высокопроизводительные вычислительные системы»
(очная форма обучения)
«ПОДГОТОВЛЕНО К ИЗДАНИЮ»:
Автор работы ___________________________/Зайцева С.С./
«______»___________2013_г.
Рассмотрено на заседании кафедры программного обеспечения __.__.2013, протокол №___
Соответствует требованиям к содержанию, структуре и оформлению.
«РЕКОМЕНДОВАНО К ЭЛЕКТРОННОМУ ИЗДАНИЮ»:
Объем _12_стр.
Зав.кафедрой ____________________________/Захарова И.Г./
«______»___________ 2012_ г.
Рассмотрено на заседании УМК Института математики, естественных наук и
информационных технологий __.__.2013, протокол № ______
Соответствует ФГОС ВПО и учебному плану образовательной программы.
«СОГЛАСОВАНО»:
Председатель УМК ________________________/Глухих И.Н./
«______»_____________2013_ г.
«СОГЛАСОВАНО»:
Директор ИБЦ____________________________/Еманов А.Г./
«______»_____________2013_ г.
«СОГЛАСОВАНО»:
Зав. методическим отделом УМУ_____________/Федорова С.А./
«______»_____________2013_ г.
РОССИЙСКАЯ ФЕДЕРАЦИЯ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНСТИТУТ МАТЕМАТИКИ, ЕСТЕСТВЕННЫХ НАУК и
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Зайцева С.С.
ДОПОЛНИТЕЛЬНЫЕ ГЛАВЫ ДИСКРЕТНОЙ МАТЕМАТИКИ
Учебно-методический комплекс.
Рабочая программа для студентов направления
010500.68 Математическое обеспечение и администрирование информационных систем.
Магистерская программа «Высокопроизводительные вычислительные системы»
(очная форма обучения)
Тюменский государственный университет
2013
ЗАЙЦЕВА С.С. ДОПОЛНИТЕЛЬНЫЕ ГЛАВЫ ДИСКРЕТНОЙ
МАТЕМАТИКИ. Учебно-методический комплекс. Рабочая программа для
студентов направления 010500.68 Математическое обеспечение и
администрирование информационных систем. Магистерская программа
«Высокопроизводительные вычислительные системы» (очная форма
обучения). Тюмень, 2013, 12 стр.
Рабочая программа составлена в соответствии с требованиями ФГОС
ВПО с учетом рекомендаций и ПрООП ВПО по направлению подготовки.
Рабочая программа дисциплины опубликована на сайте ТюмГУ:
Дополнительные главы дискретной математики [электронный ресурс] /
Режим доступа: http://www.umk3.utmn.ru., свободный.
Рекомендовано к изданию кафедрой программного обеспечения.
Утверждено проректором по учебной работе Тюменского государственного
университета.
ОТВЕТСТВЕННЫЙ РЕДАКТОР: Захарова И.Г., д.п.н., профессор.
© Тюменский государственный университет, 2013.
© Зайцева С.С., 2013.
1.Пояснительная записка.
1.1. Цели и задачи дисциплины
Дисциплина «Дополнительные главы дискретной математики» посвящена
построению математических моделей практических задач; изучению классических
алгоритмов
порождения
комбинаторных
объектов,
алгоритмов
решения
оптимизационных задач на графах и сетях, базовых алгоритмов криптографии и теории
конечных автоматов.
Цель
дисциплины: применение различных приемов программирования;
построение новых, модификация и комбинация известных алгоритмов для решения
конкретных задач; оценка эффективности указанных алгоритмов.
Задачи дисциплины:
 дать навыки постановки и решения задач оптимизации на графах, порождения
комбинаторных объектов, базовых алгоритмов криптографии и теории
конечных автоматов;
 научить выбору адекватных алгоритмов для решения вышеуказанных задач;
 отработать умения по программной реализации алгоритмов на персональном
компьютере.
 развить способности осуществления междисциплинарных исследований;
 обеспечить развитие исследовательской компетентности обучающихся.
1.2. Место дисциплины в структуре
направления
010500.68
Математическое
информационных систем.
основной образовательной программы
обеспечение
и
администрирование
Дисциплина «Дополнительные главы дискретной математики» относится к
базовой части профессионального цикла (М.2) федерального государственного
образовательного стандарта высшего профессионального образования направления
010500.68 Математическое обеспечение и администрирование информационных систем. В
соответствии с учебным планом образовательной программы изучение данной
дисциплины предусмотрено в 1 семестре и логически взаимосвязано с предшествующими
дисциплинами. Дисциплина «Дополнительные главы дискретной математики» опирается
на материалы таких дисциплин как «Дискретная математика», «Алгебра», «Основы
программирования», «Объектно-ориентированное и визуальное программирование», а
также опыт поисково-исследовательской деятельности обучающихся, расширяя
представления о сущности научно-исследовательской деятельности, методах получения
современного научного знания.
1.3. Компетенции выпускника, формируемые в результате освоения данной
дисциплины.
В результате освоения дисциплины «Дополнительные главы дискретной математики»
выпускник должен обладать следующими общенаучными (ОК) и профессиональными
компетенциями (ПК):
способность применять знания на практике (ОК-5);
определение общих форм, закономерностей, инструментальных средств для
данной дисциплины (ПК-1);
 способность передавать результат проведенных физико-математических и
прикладных исследований в виде конкретных рекомендаций, выраженных в
терминах предметной области изучавшегося явления (ПК-5).
В результате освоения дисциплины студент должен:


Знать: основную проблематику актуальных исследований в области дискретной
математики, основные алгоритмы исследовательского поиска, перспективы применения
основных алгоритмов дискретной математики.
Уметь: выявить и поставить проблему, применять алгоритмический аппарат для
решения прикладных задач, работать с различными источниками информации,
представлять результаты исследований.
Владеть: навыками применения языков программирования и средств дискретной
математики, умением интерпретировать результаты исследований.
2. Структура и трудоемкость дисциплины.
Семестр 1. Форма промежуточной аттестации экзамен. Общая трудоемкость
дисциплины составляет 3 зачетных единицы – 108 часов.
3. Тематический план.
7
8
1
Сем
Итого часов по теме
1
Лекции
2
3
4
5
6
Модуль 1. Задачи оптимизации на графах и сетях
Машинное представление 1
2
2
графов и сетей.
Неделя семестра
СРС
Виды учебной работы
и СРС (в часах)
Лаб
№ Тема
Из них в
интерактивной форме
Таблица 1.
9
Формы
контроля
10
6
10
1
лабораторная
работа
2
Задачи о кратчайших 2-3
расстояниях на графах.
4
4
3
11
1
лабораторная
работа
3
Задача поиска
максимального потока в
сети
2
2
3
7
1
Контрольная
работа
8
8
12
28
3
4
Итого
Модуль 2. Комбинаторика и криптография
4
Алгоритмы порождения 5-6
комбинаторных объектов.
4
4
4
12
1
лабораторная
работа
5
Коды с минимальной 7-9
избыточностью
6
6
4
16
1
лабораторная
работа
6
Коды с
ошибок
6
6
4
16
1
Контрольная
работа
16
16
12
44
3
исправлением 1012
Итого
Модуль 3. Конечные автоматы
7
Алгоритмы порождения 13недетерминированных и 14
детерминированных
конечных автоматов
4
4
4
12
1
лабораторная
работа
8
Алгоритмы порождения 15двусторонних магазинных 16
автоматов
4
4
4
12
1
лабораторная
работа
9
Распознавание
образов, 17задаваемых регулярными 18
выражениями
4
4
4
12
2
Контрольная
работа
Итого
12
12
12
36
4
Всего за семестр
36
36
36
108
10
Из них в интерактивной
форме
5
5
экзамен
Таблица 2.
Планирование самостоятельной работы студентов
№
1
2
3
4
5
6
7
Модули и темы
Машинное
представление
графов и сетей.
Задачи
о
кратчайших
расстояниях на графах.
Задача поиска
максимального потока в сети
Алгоритмы
порождения
комбинаторных объектов.
Коды
с
минимальной
избыточностью
Коды
с
ошибок
исправлением
Алгоритмы
порождения
недетерминированных
и
детерминированных
конечных автоматов
Виды СРС
обязательные
дополнит.
Выполнение
Работа с
заданий
литературой,
лабораторных источниками
работ
Интернет
Выполнение
Работа с
заданий
литературой,
лабораторных источниками
работ
Интернет
Выполнение
Работа с
заданий
литературой,
лабораторных источниками
работ
Интернет
Выполнение
Работа с
заданий
литературой,
лабораторных источниками
работ
Интернет
Выполнение
Работа с
заданий
литературой,
лабораторных источниками
работ
Интернет
Выполнение
Работа с
заданий
литературой,
лабораторных источниками
работ
Интернет
Выполнение
Работа с
заданий
литературой,
лабораторных источниками
работ
Интернет
Неделя
семестра
Объем
часов
1
6
2-3
3
4
3
5-6
4
7-9
4
10-12
4
13-14
4
8
9
Алгоритмы
двусторонних
автоматов
порождения
магазинных
Распознавание
образов,
задаваемых
регулярными
выражениями
Выполнение
заданий
лабораторных
работ
Выполнение
заданий
лабораторных
работ
Итого за семестр
Работа с
литературой,
источниками 15-16
Интернет
Работа с
литературой,
источниками 17-18
Интернет
4
4
36
4. Разделы дисциплины и междисциплинарные связи с обеспечиваемыми
(последующими) дисциплинами
№
п/
п
1
2
3
5.
Наименование обеспечиваемых (последующих)
дисциплин
Производственная практика
Научно-исследовательская работа
Выполнение ВКР
Темы дисциплины необходимые
для
изучения
обеспечиваемых
(последующих) дисциплин
1
2 3 4 5 6 7 8
9
+ +
+ + + + + +
+
+ +
+ + + + + +
+
+ +
+ + + + + +
+
Содержание дисциплины.
1. Машинное представление графов и сетей. Матрицы графов. Списки смежности.
Структура Вирта.
2. Задачи о кратчайших расстояниях на графах. Минимальный покрывающий остов.
Безопасное ребро. Алгоритм Прима. Алгоритм Краскала. Задача Штейнера. Дерево
кратчайших расстояний. Релаксация. Случай неотрицательных весов. Алгоритм
Дейкстры. Задача построения матрицы кратчайших расстояний. Алгоритм ФлойдаУоршалла.
3. Задача поиска максимального потока в сети. Основные понятия и результаты. Разрез
в сети, пропускная способность разреза, f -дополняющая цепь, теорема Форда –
Фалкерсона. Алгоритм Форда – Фалкерсона.
4. Алгоритмы порождения комбинаторных объектов. Алгоритмы порождения
перестановок (лексикографический, вектор инверсий, транспозиция смежных
элементов). Алгоритмы порождения подмножеств. Коды Грея. Генерирование разбиений
множеств и чисел.
5. Коды с минимальной избыточностью. Избыточность кодирования. Коды Хаффмена. Кодовое
дерево. Теорема о кодовом дереве. Упорядоченное дерево Хаффмена. Адаптивный алгоритм
Хаффмена с упорядоченным деревом.
6. Коды с исправлением ошибок. Помехоустойчивое кодирование. Основная теорема Шеннона
о кодировании для канала с помехами. Кратность ошибки. Понятие о кодовом расстоянии.
Связь корректирующей способности кода с кодовым расстоянием. Минимальное кодовое
расстояние для обнаружения ошибки и для исправления ошибки. Линейный код.
Порождающая матрица. Код Хэмминга.
7. Алгоритмы порождения недетерминированных и детерминированных конечных автоматов.
8. Алгоритмы
порождения
двусторонних
магазинных
автоматов.
Двусторонний
детерминированный магазинный автомат (2ДМА). Конфигурация автомата. Терминальная
конфигурация. Алгоритм моделирования 2ДМА.
9. Распознавание образов, задаваемых регулярными выражениями. Задача распознавания
подцепочек. Машина идентификации цепочек. Функция отказов. Алгоритм вычисления
функции отказов.
Планы семинарских занятий.
Семинарские занятия учебным планом не предусмотрены
7.
Темы лабораторных работ.
1. Машинное представление графов и сетей. Реализовать класс на основе структуры Вирта.
Реализовать методы: добавление и удаление вершины, добавление и удаление ребра.
6.
2. Задачи о кратчайших расстояниях на графах. На основе класса для структуры Вирта
реализовать алгоритмы поиска минимального покрывающего остова, дерева кратчайших
расстояний, матрицы кратчайших расстояний.
3. Задача поиска максимального потока в сети. На основе класса для структуры Вирта
реализовать алгоритм Форда-Фалкерсона для поиска максимального потока.
4. Алгоритмы порождения комбинаторных объектов (лексикографический, вектор инверсий,
транспозиция смежных элементов). Алгоритмы порождения подмножеств. Генерирование
разбиений множеств и чисел.
5. Коды с минимальной избыточностью. Реализовать адаптивный алгоритм Хаффмена с
упорядоченным деревом.
6. Коды с исправлением ошибок. Реализовать алгоритм порождения кода Хэмминга.
7. Алгоритмы порождения недетерминированных и детерминированных конечных автоматов.
Реализовать алгоритмы порождения НКА и ДКА. Реализовать алгоритм минимизации конечного
автомата.
8. Алгоритмы порождения двусторонних магазинных автоматов.
моделирования 2ДМА, допускающий некоторый язык.
Реализовать алгоритм
9. Распознавание образов, задаваемых регулярными выражениями. Реализовать автомат,
допускающий некоторое регулярное выражение. С помощью алгоритма построения ДКА для I*y
построить машину для цепочки y.
8.
Примерная тематика курсовых работ (если они предусмотрены учебным планом ООП).
Курсовая работа по дисциплине учебным планом не предусмотрена.
Учебно-методическое обеспечение самостоятельной работы студентов.
Оценочные средства для текущего контроля успеваемости, промежуточной
аттестации по итогам освоения дисциплины.
Контроль качества подготовки осуществляется путем проверки теоретических знаний и
практических навыков с использованием
a) Текущей аттестации:
проверка промежуточных контрольных работ и прием лабораторных работ;
b) Промежуточной аттестации:
тестирование (письменное или компьютерное) по разделам дисциплины;
экзамен в конце 1 семестра (к экзамену допускаются студенты после сдачи всех
лабораторных работ, решения всех задач контрольных работ и выполнения
самостоятельной работы).
Текущий и промежуточный контроль освоения и усвоения материала дисциплины
осуществляется в рамках рейтинговой (100-бальной) системы оценок.
9.
9.1. Примерные варианты контрольных работ:
Пример контрольной работы по теме: «Задача поиска максимального потока в сети»:
1. Реализовать граф как класс на основе структуры Вирта.
2. Составить список всех увеличивающих поток цепей.
3. Найти величину максимального потока.
4. Найти минимальный разрез, который разделяет s и t. Насыщает ли максимальный
поток все дуги этого разреза?
Пример контрольной работы по теме: «Коды с исправлением ошибок»:
1. Выяснить, является ли слово Р в алфавите {0,1,2} кодом сообщения в
кодировании, задаваемом схемой:
1  10
2  12

 :  3  012
 4  101

5  2100
Если да, то выяснить, является ли Р кодом ровно одного сообщения:
Р=10120121012100;
2. Для кода С найти слово минимальной длины, декодируемое неоднозначно:
С={10, 01, 12, 012, 2100, 12011, 12010};
3. По каналу связи передавалось кодовое слово, построенное по методу Хэмминга
для сообщения ~ . После передачи по каналу связи, искажающему слово не
~
более чем в одном разряде, Было получено слово  . Восстановить исходное
~
сообщение:  =(1001110);
Пример контрольной работы по теме: «Распознавание образов, задаваемых регулярными
выражениями»:
1. Постройте НКА, допускающий регулярное множество *+a(b+ca)*c
2. Пусть x=a1a2…an- данная цепочка и  - регулярное выражение. Модифицируйте
алгоритм моделирования недетерминированного конечного автомата так, чтобы
он находил наименьшее число k, а по нему наименьшее j, такое, что a jaj+1…ak
принадлежит множеству, представленному выражением .
3. С помощью алгоритма построения ДКА для I*y постройте машину для цепочки
y, равной abcabcab.
9.2. Вопросы к экзамену
1. Представление графов с помощью матриц. Основные недостатки.
11.
Представление графов с помощью списков смежности. Описание типа.
Представление графов с помощью ортогональных списков смежности.
Описание типа.
Представление графов с помощью структуры Вирта. Описание типа.
Алгоритм Прима построения минимального остовного дерева.
Построение минимального остовного дерева (общая схема). Теорема о
безопасном ребре.
Релаксация. Алгоритм Дейкстры для задачи построения дерева кратчайших
путей.
Задача о построении дерева кратчайших путей. Представление кратчайших
путей.
Кратчайшие пути для всех пар вершин. Алгоритм Флойда-Уоршалла.
Задача о максимальном потоке в сети. Теорема о максимальном потоке и
минимальном разрезе. Алгоритм метода Форда-Фалкерсона.
Конечные автоматы и регулярные выражения. Алфавит. Язык.
12.
Теорема о свойствах НКА. Алгоритм моделирования НКА.
13.
Детерминированный конечный автомат. Алгоритм моделирования ДКА.
14.
Двусторонний магазинный автомат. Алгоритм моделирования 2ДМА.
15.
Основная теорема кодирования (теорема Шеннона). Обратная теорема о
кодировании при наличии помех.
16.
Алгоритм Хаффмана.
17.
Арифметическое кодирование.
18.
Модели помех и описание помех. Расстояние Хэмминга. Вес двоичного слова.
19.
Матричное кодирование.
20.
Совершенный код Хэмминга.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Алгоритмы порождения перестановок (лексикографический, вектор инверсий,
транспозиция смежных элементов).
22. Алгоритмы порождения подмножеств. Коды Грея.
23. Генерирование разбиений множеств и чисел.
21.
10. Образовательные технологии.
Для реализации компетентностного подхода используются как традиционные формы
и методы обучения, так и интерактивные формы (круглый стол, взаиморецензированиие),
направленные на формирование у магистрантов навыков коллективной работы, умения
анализировать, синтезировать, готовить публикации и доклады по результатам НИР и
презентовать их.
11. Учебно-методическое и информационное обеспечение дисциплины.
11.1. Основная литература:
1. Зайцева Светлана Сергеевна. Дискретная математика: учеб. пособие/ С. С.
Зайцева, А. А. Виноградова; Тюм. гос. ун-т. - Тюмень: Изд-во ТюмГУ, 2011. 160 с.
2. Новиков Федор Александрович. Дискретная математика для программистов:
учеб. пособие для студ. вузов, обуч. по напр. подгот. дипломир. спец.
"Информатика и вычисл. техника"/ Ф. А. Новиков. - 3-е изд.. - Санкт-Петербург:
ПИТЕР, 2009. - 384 с.: ил.
11.2. Дополнительная литература:
1. Липский В. Комбинаторика для программистов, -М.: Мир, 1988.
2. Асанов М. О. Дискретная оптимизация . -Екатеринбург: УралHАУКА, 1998.
3.
Кормен Т. и др. Алгоритмы: построение и анализ -М.: МЦМНО, 2001.
4.
Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных
алгоритмов. -М.: Мир, 1979.
12. Технические средства и материально-техническое обеспечение дисциплины:
Для чтения лекций используется аудитория, оборудованная мультимедиа проектором и
персональным компьютером. Для выполнения лабораторных работ необходимы классы
персональных компьютеров с набором базового программного обеспечения
разработчика - системы программирования на языках Borland Delphi, С/С++.
Дополнения и изменения к рабочей программе на 201 / 201 учебный год
В рабочую программу вносятся следующие изменения:
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
Рабочая программа пересмотрена и одобрена на заседании кафедры программного
обеспечения_______________ 201 г.
Заведующий кафедрой ___________________/___________________/
Download