МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФГБОУ ВПО «Саратовский государственный университет имени Н.Г. Чернышевского» Балашовский институт (филиал) УТВЕРЖДАЮ: Директор БИ СГУ доцент А.В. Шатилова _________________ «10» ноября 2014 г. Рабочая программа дисциплины Теория алгоритмов Направление подготовки 440305 «Педагогическое образование» Профиль подготовки «Математика и информатика» Квалификация (степень) выпускника Бакалавр Форма обучения очная Балашов 2014 СОДЕРЖ АНИЕ С О Д Е Р Ж А Н И Е ............................................................................................... 2 1. Цели освоения дисциплины ............................................................................... 3 2.Место дисциплины в структуре ООП бакалавриата ........................................ 3 3.Компетенции обучающегося, формируемые в результате освоения дисциплины.............................................................................................................. 3 4. Содержание и структура дисциплины .............................................................. 4 4.1. Объем дисциплины ....................................................................................... 4 4.2. Содержание дисциплины ............................................................................. 4 4.3. Структура дисциплины ................................................................................ 5 5. Образовательные технологии, применяемые при освоении дисциплины .... 6 Информационные технологии, используемые при осуществлении образовательного процесса по дисциплине ...................................................... 6 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины ....................................................... 7 Самостоятельная работа студентов по дисциплине ......................................... 7 Оценочные средства для текущего контроля успеваемости и промежуточной аттестации по дисциплине ...................................................... 7 7. Данные для учета успеваемости студентов в БАРС ...................................... 11 8. Учебно-методическое и информационное обеспечение дисциплины ........ 13 Литература по курсу .......................................................................................... 13 Основная литература: ........................................................................................ 13 Дополнительная литература: ............................................................................ 13 Интернет-ресурсы .............................................................................................. 13 9. Материально-техническое обеспечение дисциплины ................................... 14 2 1. Цели освоения дисциплины Целями освоения дисциплины «Теория алгоритмов» являются: формирование систематизированных знаний в области информатики; формирование алгоритмического мышления; 2.Место дисциплины в структуре ООП бакалавриата Дисциплина относится квариативной части профессионального цикла (Б3.В.16). Для освоения указанной дисциплины студент должен овладеть компетенциями, знаниями и умениями, сформированными в результате освоения основных дисциплин, входящих в вариативную часть профессионального цикла, таких как «Введение в линейное программирование», «Математическая логика» базовой части математического и естественнонаучного цикла. В ходе изучения дисциплины происходит обобщение знаний, полученных при освоении указанных курсов, показывается взаимосвязь и взаимовлияние различных дисциплин, реализуется профессиональная направленность образовательного процесса. Изучение дисциплины «Теория алгоритмов» предшествует и необходимо для изучения дисциплин вариативной части профессионального цикла дисциплин. 3.Компетенции обучающегося, формируемые в результате освоения дисциплины Процесс изучения дисциплины «Теория алгоритмов» направлен на формирование следующих компетенций: Выпускник должен обладать следующими общекультурными компетенциями (ОК): готовностью использовать основные методы, способы и средства получения, хранения, переработки информации, готовностью работать с компьютером как средством управления информацией (ОК-8). Выпускник должен обладать следующими специальными компетенциями (СК): в области математики и информатики: способностью ориентироваться в основных фактах, идеях и методах математики и информатики, использовать научный язык, методологию программирования, современные компьютерные технологии, применять знания при решении практических задач (СК-1). Планируемые результаты обучения по дисциплине В результате освоения дисциплины обучающийся должен: Знать: сущность алгоритма и его свойства; вычислимость в интуитивномсмысле; понятия перечислимых и разрешимых множеств; современные подходы к уточнению понятия алгоритма; сущность алгоритмически неразрешимых проблем; Основы теории NP-полноты. Уметь: применять машины Тьюринга; составлять программы для машиныТьюринга; 3 составлять программы для машины Поста; составлять схему нормального алгоритма Маркова; доказывать рекурсивность функций. Владеть: приемами построения алгоритмов; навыками работы с программными средствами моделирования машин Тьюринга; различными средствами коммуникации; способами совершенствования профессиональных знаний и умений путем использования образовательной среды БИСГУ. 4. Содержание и структура дисциплины 4.1. Объем дисциплины Общая трудоемкость дисциплины составляет 4 зачетные единицы, 144 часа, из них: – по очной форме обучения: 72 часа аудиторной работы (36 часа лекций и 36 часа практических занятий), 45 часов самостоятельной работы. Дисциплина изучается в 6 семестре, ее освоение заканчивается экзаменом (27 часов). 4.2. Содержание дисциплины Интуитивное представление об алгоритме. Интуитивное понятие алгоритма. Свойства алгоритма. Способы представления алгоритмов. Схема алгоритма. Алгоритмические конструкции. Примеры алгоритмов. Вычислимые функции. Разрешимые и неразрешимые, перечислимые и неперечислимые множества. Вычислимые функции. Разрешимые (рекурсивные) и рекурсивно перечислимые множества. Признак Поста о разрешимости данного множества. Теорема о существовании перечислимого, но неразрешимого множество натуральных чисел. Уточнение интуитивного понятия алгоритма с помощью машины Тьюринга. Задание машины Тьюринга. Работамашины Тьюринга. Конструирование машин Тьюринга. Тезис Тьюринга. Имитация машины Тьюринга на компьютере фон Неймана и имитация компьютера фон Неймана на машине Тьюринга. Проблема очень больших ленточных алфавитов. Сравнение времени работы компьютеров и машин Тьюринга. Нормальные алгоритмы Маркова. Нормальные алгоритмыМаркова, их свойства и области применимости. Схема алгоритма Маркова.Конструирование алгоритмовМаркова. Принцип нормализации Маркова. Рекурсивные функции. Примитивно рекурсивные функции, примеры. Класс примитивно рекурсивных функций и его замкнутость. Операторы суперпозиции, примитивной рекурсии и минимизации. Частично рекурсивные, общерекурсивные функции.Уточнение интуитивного понятия алгоритма на основе частично рекурсивных функций. Соотношение между классами примитивно рекурсивных, частично рекурсивных и общерекурсивных функций. Тезис Черча. Несовпадение классов примитивно рекурсивных и вычислимых 4 функций. Построение примера вычислимой, но не примитивно рекурсивной функции (функция Аккермана). Машины Поста. Эквивалентность различных подходов к уточнению понятия алгоритма. Задание машины Поста.Работамашины Поста. Конструирование машин Поста. Эквивалентность различных подходов к уточнению понятия алгоритма. Алгоритмически неразрешимые проблемы. Неразрешимость проблемы остановки универсальной машины Тьюринга. Неразрешимость проблемы распознавания самоприменимости машины Тьюринга.Сводимость одной алгоритмически неразрешимой проблемы к другой. Примеры алгоритмически неразрешимых проблем в различных разделах математики и информатики (проблема тождества слов для групп, проблема изоморфизма для групп, 10-я проблема Гильберта, теорема Райса о нетривиальном свойстве вычислимых функций, проблема определения общерекурсивности алгоритмов и др.). Основы теории NP-полноты. Применение NP-полноты для анализа сложности проблем. Проблема выполнимости булевых формул, NP-полнота которой основывается на непосредственном сведении к ней языка любой недетерминированной машины Тьюринга с полиномиальным временем. 4.3. Структура дисциплины № п/ п 1 2 3 4 Раздел дисциплины Се мес тр Интуитивное 6 представление об алгоритме Вычислимые 6 функции. Разрешимые и неразрешимые, перечислимые и неперечислимые множества Уточнение 6 интуитивного понятия алгоритма с Нед еля Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) ЛР СРС 4 Формы текущего контроля успеваемости (по неделям семестра) Формы промежуточно й аттестации (по семестрам) 1-2 Л 4 ПЗ 4 3-4 2 4 5 Отчет по пр 1(4 н) 5-7 4 6 6 Отчет пр1(5-7 н) Отчет по 1(1-3н) пр по 5 5 6 помощью машины Тьюринга. Нормальные 6 алгоритмы Маркова Рекурсивные 6 функции Машины Поста. 6 Эквивалентность различных подходов к уточнению понятия алгоритма. 8 Алгоритмически 6 неразрешимые проблемы 9 Основы теории NPполноты 10 6 Итого 7 Отчет по 1(8-10 н) Отчет по 1(11-13 н) (13 н) Отчет по 1(15-16 н) пр 8-9 4 4 6 1011 4 4 6 1214 2 6 6 1516 4 4 6 Отчет по 1(17 н) пр 1718 12 4 6 Отчет по 1(18 н) экзамен пр 36 36 45 пр КР пр 5. Образовательные технологии, применяемые при освоении дисциплины Рекомендуемые образовательные технологии: лекции, практические занятия, самостоятельная работа студентов. Технологии поддерживающего обучения (традиционного обучения): Объяснительно-иллюстративное обучение; Технология модульного обучения (Системный поход, синергетический подход, деятельностный подход, индивидуализация обучения); Технологии развивающего обучения: Технология проблемного обучения; Технология проектного обучения. Информационные технологии, используемые при осуществлении образовательного процесса по дисциплине Использование информационных ресурсов, доступных в информационнотелекоммуникационной сети Интернет (см. перечень ресурсов в п. 8 настоящей программы). Создание электронных документов (компьютерных презентаций, видеофайлов, плейкастов и т. п.) по изучаемым темам и электронных коллекций. Для обеспечения доступности обучения инвалидам и лицам с ограниченными возможностями здоровья учебные материалы могут быть адаптированы с учетом особых потребностей: в печатных материалах укрупнен шрифт, произведена замена текста аудиозаписью, использованы звуковые средства воспроизведения информации. 6 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Самостоятельная работа студентов по дисциплине К самостоятельной работе студентов относится: детальная проработка лекций, учебной литературы, самостоятельное доказательство указанных преподавателем теорем, составление отдельных алгоритмов и программ, выполнение домашних и индивидуальных расчетных заданий, подготовка к лабораторным работам, оформление отчетов по лабораторным работам, выполнение контрольных работ. Оценочные средства для текущего контроля успеваемости и промежуточной аттестации по дисциплине Оценочные средства составляются преподавателем самостоятельно при ежегодном обновлении банка средств. Количество вариантов заданий зависит от числа обучающихся. а) оценочные средства для текущего контроля успеваемости Контрольная работа ДЕМОНСТРАЦИОННЫЙ ВАРИАНТ Вариант 1 1. Дана машин Тьюринга: q1a → q2R, q1b→ R, q1 0→ q6 L, q2a → q3cR, q2b → q4cR, q3a → aR, q3b → q4aR, q3 0 → q5aL, q4a → q3bR, q4b → bR, q4 0 → q5bL, q5b → L, q5c → q1aR, q6a → L, q6b → L, q6c → aL, q6 0 → q0R. Применить машину Тьюринга из задания к следующим начальным конфигурациям и определить заключительные конфигурации: A) bbaba B) abbbaab C) abaaba a 4, a 4 2. Составить программу машины Тьюринга, вычисляющей функцию f (a) 0, a 4 3. Докажите, что одноместная функция f(x) принадлежит классу примитивно рекурсивных функций: f(x) = 2∙x + 1 4. Построить нормальный алгоритм Маркова для вычисления функции f(x) = x – 1 в восьмеричной системе счисления. Вариант 2 1. Дана машин Тьюринга: q1 0 → q5R, q2a→ R, q2 b→ R, q2 0 → q3 1 R, q2 1 → R, q3a → L, q3b → L, q3c → q5R, q3 0 → q0, q3 1 → L, q4a → 0 L, q4b → 0 L, q4c → 0 L, q4 0 → R, q4 1 → q0L, q5a → q2cR, q5b → R, q5 0 → q3L, q5 1 → q4L. Применить машину Тьюринга к следующим начальным конфигурациям и определить заключительные конфигурации: 7 A) 0aaaaa B) 0aaababa C) 0bbbbb a 3, a 3 2. Составить программу машины Тьюринга, вычисляющей функцию f (a) 0, a 3 3. Докажите, что одноместная функция f(x) принадлежит классу примитивно рекурсивных функций: f(x) = x + 5 4. Построить нормальный алгоритм Маркова для вычисления функции f(x) = x – 1 в пятеричной системе счисления. б) оценочные средства для промежуточной аттестации Промежуточная аттестация проходит в форме теста, тесты разрабатываются по каждому разделу дисциплины. Демо-версия вопросов теста 1. Множество, для которого существует алгоритм, позволяющий определить, принадлежит ли некоторый элемент данному множеству, называется a) перечислимым b) разрешимым c) конечным d) бесконечным 2. Команда для машины Поста записывается в следующем формате (n – номер текущей команды, m – номер следующей команды, k – указание о выполняемом действии): a) k n m b) n m k c) m k n d) n k m 3. Информация, хранящаяся на ленте машины Тьюринга, закодирована знаками a) двоичного алфавита b) внутреннего алфавита c) внешнего алфавита d) латинского алфавита 4. В нормальном алгоритме Маркова дана система подстановок в алфавите A={a, b, c}: cb>abc, bac->ac, cab->b. Преобразуйте с помощью этой системы слово bcabacab a) ccb b) cab c) cbc d) ab 5. Открытие того, что алгоритмы и исчисления имеют формальные задания, и что эти формальные задания (точнее, некоторые их записи) сами могут служить объектами алгоритмических и исчислительных преобразований, сделал a) А. Черч b) А. А. Марков c) Э. Пост d) А. М. Тьюринг 8 6. Неразрешимость проблемы разрешения для логики предикатов первого порядка установил a) Э. Пост b) А. Чёрч c) А. А. Марков d) Ю. В. Матиясевич 7. Проблема определения по двум произвольным заданным алгоритмам, будут ли они выдавать одинаковые выходные результаты на любых исходных данных, называется a) проблема останова b) проблема тотальности c) проблема эквивалентности алгоритмов d) десятая проблема Гильберта 8. Следствием теоремы о неподвижной точке НЕ является следующее утверждение a) можно найти алгоритм, который бы по каждой программе давал другую (не эквивалентную ей) b) для любых двух версий компилятора существует программа, одинаково работающая в обеих версиях c) существует программа, печатающая (на любом входе) свой собственный текст d) существует программа, печатающая (на любом входе) свой собственный текст в обратном порядке 9. Синонимом понятия “исчисление” является a) алгоритмическая система b) вычислительная модель c) дедуктивная система d) алгоритмическая модель 10. Грамматика с фразовой структурой – это формальный объект <T, N, S, P>, где T является a) множеством правил вывода b) алфавитом терминальных символов c) алфавитом нетерминальных символов d) начальным нетерминалом 11. Уравнение сложности некоторого алгоритма f(N)=4N2+2N+N. Сложность этого алгоритма по порядку величины O(f(N)) равна а) О(4N2) b) O(2N) c) О(N2) d) O(N) 12. В каком из списков общие функции оценки сложности алгоритмов расположены в порядке возрастания сложности характеризуемых ими алгоритмов алгоритма? a) f(N) = C, f(N) = N, f(N) = N! b) f(N) = log(log(N)), f(N)=CN, f(N) = N c) f(N) = CN, f(N) = N&#61655;log(N), f(N) = log(N) d) f(N) = N!, f(N) = log(N), f(N)=N 13. Ученый, который определил класс NP и высказал гипотезу P<>NP a) A. Cobham 9 b) S. A. Cook c) J. Edmonds d) R. M. Karp 14. Нормальные алгоритмы Маркова послужили основой для появления и развития методологии a) структурного программирования b) логического программирования c) функционального программирования d) императивного программирования в) оценочные средства для итоговой аттестации Вопросы к зачету 1. Интуитивное представление об алгоритме. 2. Схема алгоритма. Алгоритмические конструкции. Примеры алгоритмов. 3. Вычислимые функции. Разрешимые и неразрешимые, перечислимые и неперечислимыемножества. 4. Необходимость уточнения понятия алгоритма. 5. Машины Тьюринга. 6. Имитация машины Тьюринга на компьютере фон Неймана и имитация компьютера фон Неймана на машине Тьюринга. Проблема очень больших ленточных алфавитов. Сравнение времени работы компьютеров и машин Тьюринга. 7. Конструирование машин Тьюринга. 8. Тезис Тьюринга. 9. Нормальные алгоритмы Маркова. 10. Построениенормальных алгоритмов Маркова. 11. Принцип нормализации Маркова. 12. Рекурсивные функции. 13. Построение рекурсивных функций. 14. Несовпадение классов примитивно рекурсивных и вычислимых функций. Построение примера вычислимой, но не примитивно рекурсивной функции (функция Аккермана). 15. Тезис Черча. 16. Машины Поста. 17. Конструирование машин Поста. 18. Эквивалентность различных подходов к уточнению понятия алгоритма. 19. Алгоритмически неразрешимые проблемы. Пример невычислимой функции. 20. Неразрешимость проблемы распознавания самоприменимости машины Тьюринга. 21. Примеры алгоритмически неразрешимых проблем в различных разделах математики и информатики (проблема тождества слов для групп, проблема изоморфизма для групп, 10-я проблема Гильберта, теорема Райса о нетривиальном свойстве вычислимых функций, проблема определения общерекурсивности алгоритмов и др.). 22. Сводимость одной алгоритмически неразрешимой проблемы к другой. 23. Основы теории NP-полноты. г) учебно-методическое обеспечение самостоятельной работы студентов 1. Подготовка докладов по вопросам, предложенным для самостоятельного изучения в теоретической части практических занятий. Подготовка ведется к каждому практическому и лабораторному занятию. 10 Методические рекомендации: подготовка ведется с использованием текста лекции по соответствующей теме, с использованием учебников и учебных пособий, указанных в списке литературы. 2. Подготовка рефератов: Методические рекомендации: Реферат, как форма самостоятельной научной работы студентов, - это краткий обзор максимального количества доступных публикаций по заданной теме, с элементами сопоставительного анализа данных материалов и с последующими выводами. При проведении обзора должна проводиться и исследовательская работа, но объем ее ограничен, так как анализируются уже сделанные предыдущими исследователями выводы и в связи с небольшим объемом данной формы работы.Преподаватель рекомендует литературу, которая может быть использована для написания реферата. 1. 2. 3. 4. 5. 6. Тематика рефератов: Формальные грамматики. Классификация Хомского. Грамматики типа 2 и их использование при построении трансляторов. Понятие неоднозначности в теории грамматик. Привести примеры неоднозначных грамматик и неоднозначного вывода в них. Алгоритмические проблемы в теории грамматик. Основная идея доказательства существования универсальной машины Тьюринга и блок-схема ее построения. Общая схема доказательства эквивалентности машин Тьюринга и рекурсивных функций. Сравнение сложности вычислений на одноленточной и многоленточной машинах Тьюринга на примере распознавания палиндромов в двухбуквенном алфавите. 3. Подготовка к экзамену: Методические рекомендации: Этот вид самостоятельной работы наиболее сложный и ответственный. Начинать подготовку к зачету нужно заблаговременно, до начала сессии. Одно из главных правил – представлять себе общую логику предмета, что достигается проработкой планов лекций, составлении опорных конспектов, схем, таблиц. В конце семестра повторять пройденный материал в строгом соответствии с учебной программой, примерным перечнем учебных вопросов, выносящихся на зачет и содержащихся в данной программе. Использовать конспект лекций и литературу, рекомендованную преподавателем. Обратить особое внимание на темы учебных занятий, пропущенных студентом по разным причинам. При необходимости обратиться за консультацией и методической помощью к преподавателю. 7. Данные для учета успеваемости студентов в БАРС Очная форма обучения Таблица максимальных баллов по видам учебной деятельности 1 2 3 4 5 6 Автоматизиро Другие виды Лабораторн Практическ Самостоятел Лекции ванное учебной ые занятия ие занятия ьная работа тестирование деятельности 10 40 10 0 0 7 8 Промежуточ ная Итого аттестация 40 100 11 Программа оценивания учебной деятельности студента Лекции Посещаемость, опрос, активность и др.за один семестр –10 баллов. Лабораторные занятия Не предусмотрены. Практические занятия Посещаемость, опрос, активность и др. за один семестр –40 баллов. Самостоятельная работа В качестве самостоятельной работе предлагается решение задач по разделам дисциплины – 10 баллов. Автоматизированное тестирование Автоматизированное тестированиене предусмотрено. Другие виды Дополнительные не предусмотрено. Промежуточная аттестация При определении разброса баллов при аттестации преподаватель может воспользоваться следующим примером ранжирования: 31-40 баллов – ответ на «отлично» 15-30 баллов – ответ на «хорошо» 6-14 баллов – ответ на «удовлетворительно» 0-5 баллов – неудовлетворительный ответ. Таким образом, максимально возможная сумма баллов за все виды учебной деятельности студента за один семестр по дисциплине «Теория вероятностей и математическая статистика» составляет 100 баллов. Таблица 2. Пример пересчета полученной студентом суммы баллов по дисциплине «Теория вероятностей и математическая статистика» в оценку (экзамен): 90-100 баллов «отлично» 75-89 баллов «хорошо» 60-74 балла «удовлетворительно» меньше 60 баллов «неудовлетворительно» 12 8. Учебно-методическое и информационное обеспечение дисциплины Литература по курсу Основная литература: 1. Глухов М. М.,Шишков А. Б. Математическая логика. Дискретные функции. Теория алгоритмов: Учебное пособие.-СПб.: Издательство"Лань", 2012.-416 с.- Режим доступа: http://e.lanbook.com/view/book/4041/ Дополнительная литература: 1. Глухов М. М., Козлитин О. А., Шапошников В. А., Шишков А. Б. Задачи и упражнения по математической логике, дискретным функциям и теории алгоритмов: Учебное пособие. 1-е изд. [Текст] / Глухов М. М., Козлитин О. А., Шапошников В. А., Шишков А. Б. - СПб. : Издательство «Лань», 2008. - 112 с.Режим доступа:http://e.lanbook.com/view/book/112/ Интернет-ресурсы 1. Эмулятор машины Тьюринга http://kpolyakov.narod.ru/prog/turing.htm Программное обеспечение 1. Программное обеспечение компьютеров: MSOffice или ОреnOffice, TurboPascal; 2. Пакет MathCad. 3. Codebloks 13 9. Материально-техническое обеспечение дисциплины 1. Стандартно оборудованная лекционная аудитория № 35 для проведения интерактивных лекций: видеопроектор, интерактивная доска, компьютер, обычная доска, пластиковая доска; 2. Компьютерные классы (аудитории №№ 24, 25); Рабочая программа дисциплины «Теория алгоритмов» составлена в соответствии с требованиями ФГОС ВО по направлению подготовки 050100 «Педагогическое образование» и профилю подготовки «Математика» (квалификация (степень) «бакалавр») и требованиями приказа Министерства образования и науки РФ № 1367 от 19.12.2013 г. о порядке организации и осуществления образовательной деятельности по образовательным программам высшего образования – программам бакалавриата, программам специалитета, программам магистратуры. Программа разработана в 2014 г. (одобрена на заседании кафедры физики и информационных технологий, протокол № 2 от «16» октября 2014 года). Автор: ст.преподаватель Ерофеев А.Н. Зав. кафедрой физики и информационных технологий канд. пед. наук, доцент Сухорукова Е.В. Декан факультета математики, экономии и информатики канд. пед. наук, доцент Кертанова В. В. 14