МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Саратовский государственный университет имени Н.Г.Чернышевского» Балашовский институт (филиал) УТВЕРЖДАЮ Директор БИ СГУ доцент А.В.Шатилова ___________________________ "__" __________________20__ г. РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ Теория алгоритмов Направление подготовки 050100 «Педагогическое образование» Профиль подготовки «Информатика» Квалификация (степень) выпускника Бакалавр Форма обучения очная Балашов 2011 Содержание: 1. Цели освоения учебной дисциплины 3 2. 3. Место учебной дисциплины в структуре ООП бакалавриата Компетенции обучающегося, формируемые в результате освоения дисциплины Структура и содержание учебной дисциплины Образовательные технологии Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Учебно-методическое и информационное обеспечение дисциплины Материально-техническое обеспечение дисциплины 3 3 4. 5. 6. 7 8 5 7 7 14 15 1. Цели освоения дисциплины Целями освоения дисциплины «Теория алгоритмов» являются: формирование систематизированных знаний в области информатики; формирование алгоритмического мышления; 2.Место дисциплины в структуре ООП бакалавриата Дисциплина относится к вариативной части профессионального цикла (Б3.В.15). Для освоения указанной дисциплины студент должен овладеть компетенциями, знаниями и умениями, сформированными в результате освоения основных дисциплин, входящих в вариативную часть профессионального цикла, таких как «Программирование», «Математическая логика», «Практикум по решению задач на ЭВМ», «Теоретические основы информатики», «Математическая логика» а также дисциплины «Информационные технологии» базовой части математического и естественнонаучного цикла. В ходе изучения дисциплины происходит обобщение знаний, полученных при освоении указанных курсов, показывается взаимосвязь и взаимовлияние различных дисциплин, реализуется профессиональная направленность образовательного процесса. Изучение дисциплины «Теория алгоритмов» предшествует и необходимо для изучения дисциплин вариативной части профессионального цикла «Высокоуровневые методы информатики и программирования», «Объектно-ориентированное программирование». 3. Компетенции обучающегося, формируемые в результате освоения дисциплины (модуля) «Теория алгоритмов» Процесс изучения дисциплины «Теория алгоритмов» направлен на формирование следующих компетенций: владеет культурой мышления, способен к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения (ОК-1); готов применять знания теоретической информатики, фундаментальной и прикладной математики для анализа и синтеза информационных систем и процессов (СК-1); способен использовать математический аппарат, методологию программирования и современные компьютерные технологии для решения практических задач получения, хранения, обработки и передачи информации (СК-2); владеет современными формализованными математическими, информационно-логическими и логико-семантическими моделями и методами представления, сбора и обработки информации (СК-3); способен реализовывать аналитические и технологические решении в области программного обеспечения и компьютерной обработки информации (СК-4). В результате освоения дисциплины обучающийся должен: Знать: сущность алгоритма и его свойства; вычислимость в интуитивном смысле; понятия перечислимых и разрешимых множеств; современные подходы к уточнению понятия алгоритма; сущность алгоритмически неразрешимых проблем; Основы теории NP-полноты. Уметь: применять машины Тьюринга; составлять программы для машины Тьюринга; составлять программы для машины Поста; составлять схему нормального алгоритма Маркова; доказывать рекурсивность функций. Владеть: приемами построения алгоритмов; навыками работы с программными средствами моделирования машин Тьюринга; различными средствами коммуникации; способами совершенствования профессиональных знаний и умений путем использования образовательной среды БИСГУ. 4. Структура и содержание дисциплины (модуля) «Теория алгоритмов» Общая трудоемкость дисциплины составляет 4 зачетные единицы, 108 часа, из них: - по очной форме обучения 54 часа аудиторной работы (18 часов лекций и 34 часов практических занятий), 56 часа самостоятельной работы, дисциплина изучается в 6 семестре, ее освоение заканчивается экзаменом. № п/ п Раздел дисциплины Се мес тр Нед еля Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Интуитивное представление об алгоритме Вычислимые функции. Разрешимые и неразрешимые, перечислимые и неперечислимые множества Уточнение интуитивного понятия алгоритма с помощью машины Тьюринга. Нормальные алгоритмы Маркова 6 Л 7-9 2 6 10 2 2 6 Отчет по пр 1(4 н) 6 11- 4 13 6 10 Отчет по пр 1(5-7 н) 6 14 2 6 6 6 Рекурсивные функции 6 15- 2 16 6 8 7 Машины Поста. 6 Эквивалентность различных подходов к уточнению понятия алгоритма. Алгоритмически 6 неразрешимые проблемы 17 2 4 6 Отчет по пр 1(8-10 н) Отчет по пр 1(11-13 н) КР (13 н) Отчет по пр 1(15-16 н) 18 2 2 6 1 2 3 4 5 8 ПЗ 6 ЛР СРС КР 8 Формы текущего контроля успеваемости (по неделям семестра) Формы промежуточно й аттестации (по семестрам) Отчет по пр 1(1-3н) Отчет по пр 1(17 н) 9 Основы теории NPполноты 10 19 2 2 18 34 6 6 Итого 0 Отчет по пр 1(18 н) Экзамен (20) 56 СОДЕРЖАНИЕ КУРСА Интуитивное представление об алгоритме. Интуитивное понятие алгоритма. Свойства алгоритма. Способы представления алгоритмов. Схема алгоритма. Алгоритмические конструкции. Примеры алгоритмов. Вычислимые функции. Разрешимые и неразрешимые, перечислимые и неперечислимые множества. Вычислимые функции. Разрешимые (рекурсивные) и рекурсивно перечислимые множества. Признак Поста о разрешимости данного множества. Теорема о существовании перечислимого, но неразрешимого множество натуральных чисел. Уточнение интуитивного понятия алгоритма с помощью машины Тьюринга. Задание машины Тьюринга. Работа машины Тьюринга. Конструирование машин Тьюринга. Тезис Тьюринга. Имитация машины Тьюринга на компьютере фон Неймана и имитация компьютера фон Неймана на машине Тьюринга. Проблема очень больших ленточных алфавитов. Сравнение времени работы компьютеров и машин Тьюринга. Нормальные алгоритмы Маркова. Нормальные алгоритмы Маркова, их свойства и области применимости. Схема алгоритма Маркова. Конструирование алгоритмов Маркова. Принцип нормализации Маркова. Рекурсивные функции. Примитивно рекурсивные функции, примеры. Класс примитивно рекурсивных функций и его замкнутость. Операторы суперпозиции, примитивной рекурсии и минимизации. Частично рекурсивные, общерекурсивные функции. Уточнение интуитивного понятия алгоритма на основе частично рекурсивных функций. Соотношение между классами примитивно рекурсивных, частично рекурсивных и общерекурсивных функций. Тезис Черча. Несовпадение классов примитивно рекурсивных и вычислимых функций. Построение примера вычислимой, но не примитивно рекурсивной функции (функция Аккермана). Машины Поста. Эквивалентность различных подходов к уточнению понятия алгоритма. Задание машины Поста. Работа машины Поста. Конструирование машин Поста. Эквивалентность различных подходов к уточнению понятия алгоритма. Алгоритмически неразрешимые проблемы. Неразрешимость проблемы остановки универсальной машины Тьюринга. Неразрешимость проблемы распознавания самоприменимости машины Тьюринга. Сводимость одной алгоритмически неразрешимой проблемы к другой. Примеры алгоритмически неразрешимых проблем в различных разделах математики и информатики (проблема тождества слов для групп, проблема изоморфизма для групп, 10-я проблема Гильберта, теорема Райса о нетривиальном свойстве вычислимых функций, проблема определения общерекурсивности алгоритмов и др.). Основы теории NP-полноты. Применение NP-полноты для анализа сложности проблем. Проблема выполнимости булевых формул, NP-полнота которой основывается на непосредственном сведении к ней языка любой недетерминированной машины Тьюринга с полиномиальным временем. 5. Образовательные технологии Технологии поддерживающего обучения (традиционного обучения): Объяснительно-иллюстративное обучение; Технология модульного обучения (Системный поход, синергетический подход, деятельностный подход, индивидуализация обучения); Технологии развивающего обучения: Технология проблемного обучения; Технология проектного обучения. Для обеспечения доступности обучения инвалидам и лицам с ограниченными возможностями здоровья учебные материалы могут быть адаптированы с учетом особых потребностей: в печатных материалах укрупнен шрифт, произведена замена текста аудиозаписью, использованы звуковые средства воспроизведения информации. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Оценочные средства составляются преподавателем самостоятельно при ежегодном обновлении банка средств. Количество вариантов заданий зависит от числа обучающихся. а) оценочные средства для текущего контроля успеваемости Контрольная работа ДЕМОНСТРАЦИОННЫЙ ВАРИАНТ Вариант 1 1. Дана машин Тьюринга: q1 a → q2 R, q1 b→ R, q1 0→ q6 L, q2 a → q3 c R, q2 b → q4 c R, q3 a → a R, q3 b → q4 a R, q3 0 → q5 a L, q4 a → q3 b R, q4 b → b R, q4 0 → q5 b L, q5 b → L, q5 c → q1 a R, q6 a → L, q6 b → L, q6 c → a L, q6 0 → q0 R. Применить машину Тьюринга из задания к следующим начальным конфигурациям и определить заключительные конфигурации: A) bbaba B) abbbaab C) abaaba 2. Составить программу машины Тьюринга, вычисляющей функцию a 4, a 4 f (a) 0, a 4 3. Докажите, что одноместная функция f(x) принадлежит классу примитивно рекурсивных функций: f(x) = 2∙x + 1 4. Построить нормальный алгоритм Маркова для вычисления функции f(x) = x – 1 в восьмеричной системе счисления. Вариант 2 1. Дана машин Тьюринга: q1 0 → q5 R, q2 a→ R, q2 b→ R, q2 0 → q3 1 R, q2 1 → R, q3 a → L, q3 b → L, q3 c → q5 R, q3 0 → q0, q3 1 → L, q4 a → 0 L, q4 b → 0 L, q4 c → 0 L, q4 0 → R, q4 1 → q0 L, q5 a → q2 c R, q5 b → R, q5 0 → q3 L, q5 1 → q4 L. Применить машину Тьюринга к следующим начальным конфигурациям и определить заключительные конфигурации: A) 0aaaaa B) 0aaababa C) 0bbbbb 2. Составить программу машины Тьюринга, вычисляющей функцию a 3, a 3 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) А. М. Тьюринг 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 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. Подготовка докладов по вопросам, предложенным для самостоятельного изучения в теоретической части практических занятий. Подготовка ведется к каждому практическому и лабораторному занятию. Методические рекомендации: подготовка ведется с использованием текста лекции по соответствующей теме, с использованием учебников и учебных пособий, указанных в списке литературы. 2. Подготовка рефератов: Методические рекомендации: Реферат, как форма самостоятельной научной работы студентов, - это краткий обзор максимального количества доступных публикаций по заданной теме, с элементами сопоставительного анализа данных материалов и с последующими выводами. При проведении обзора должна проводиться и исследовательская работа, но объем ее ограничен, так как анализируются уже сделанные предыдущими исследователями выводы и в связи с небольшим объемом данной формы работы. Преподаватель рекомендует литературу, которая может быть использована для написания реферата. 1. 2. 3. 4. Тематика рефератов: Формальные грамматики. Классификация Хомского. Грамматики типа 2 и их использование при построении трансляторов. Понятие неоднозначности в теории грамматик. Привести примеры неоднозначных грамматик и неоднозначного вывода в них. Алгоритмические проблемы в теории грамматик. Основная идея доказательства существования универсальной машины Тьюринга и блок-схема ее построения. 5. Общая схема доказательства эквивалентности машин Тьюринга и рекурсивных функций. 6. Сравнение сложности вычислений на одноленточной и многоленточной машинах Тьюринга на примере распознавания палиндромов в двухбуквенном алфавите. 3. Подготовка к экзамену: Методические рекомендации: Этот вид самостоятельной работы наиболее сложный и ответственный. Начинать подготовку к зачету нужно заблаговременно, до начала сессии. Одно из главных правил – представлять себе общую логику предмета, что достигается проработкой планов лекций, составлении опорных конспектов, схем, таблиц. В конце семестра повторять пройденный материал в строгом соответствии с учебной программой, примерным перечнем учебных вопросов, выносящихся на зачет и содержащихся в данной программе. Использовать конспект лекций и литературу, рекомендованную преподавателем. Обратить особое внимание на темы учебных занятий, пропущенных студентом по разным причинам. При необходимости обратиться за консультацией и методической помощью к преподавателю. 7. Учебно-методическое и дисциплины «Теория алгоритмов». информационное обеспечение а) основная литература: 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 8. Материально-техническое обеспечение дисциплины (модуля) 1. Стандартно оборудованная лекционная аудитория № 35 для проведения интерактивных лекций: видеопроектор, интерактивная доска, компьютер, обычная доска, пластиковая доска; 2. Компьютерные классы (аудитории №№ 24, 25); Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и Примерной ООП ВПО по направлению 050100 «Педагогическое образование» и профилю подготовки «Информатика». Автор: старший преподаватель кафедры физики и информационных технологий Ерофеев А.Н. Программа одобрена на заседании кафедры физики и информационных технологий от «29» августа 2011 года, протокол № 7. Подписи: Автор программы ________________________________ст.пр. Ерофеев А.Н. Зав. кафедрой физики и информационных технологий ______________ к.ф.-м.н., доц. Кузнецов О. А. Декан факультета МЭИ_______________________к.п.н., доц. Кертанова В.В. (факультет, где разрабатывалась программа) Декан факультета МЭИ _______________________к.п.н., доц. Кертанова В.В. (факультет, где реализуется программа)