МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ АВТОНОМНАЯ НЕКОММЕРЧЕСКАЯ ОБРАЗОВАТЕЛЬНАЯ ОРГАНИЗАЦИЯ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ « ИНДУСТРИАЛЬНЫЙ ИНСТИТУТ » Кафедра математических и естественнонаучных дисциплин РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ Математическая логика и теория алгоритмов УТВЕРЖДАЮ: Проректор по научно – методической работе__________________М.В.Кузнецова (подпись, расшифровка подписи) «_29__»__августа___2013 г. РАССМОТРЕНО: на заседании кафедры математических и естественнонаучных дисциплин Заведующий кафедрой математических и естественнонаучных дисциплин __________________Т.Ю.Ходаковская (подпись, расшифровка подписи) протокол №__1__от «_29_» августа 2013г. Специальности: 230105.65 «Программное обеспечение вычислительной техники и автоматизированных систем» Форма обучения очно-заочная Курск – 2013 Рабочая учебная программа по дисциплине «Математическая логика и теория алгоритмов » разработана в соответствии с Федеральным государственным образовательным стандартом высшего профессионального образования и учебным планом, рекомендациями и ПрООП ВПО по направлению 230105.65 «Программное обеспечение вычислительной техники и автоматизированных систем» Рабочая программа утверждена на заседании кафедры математических и естественнонаучных дисциплин протокол № 1 от «29» августа 2013 г. Заведующий кафедрой математических и естественнонаучных дисциплин _________________ Т.Ю. Ходаковская Содержание с. 4.2 5 5.1 5.2 5.3 6 6.1 Цели и задачи дисциплины Место дисциплины в учебном процессе Организационно-методические данные дисциплины Содержание дисциплины Выписка из ГОС ВПО «Требования к обязательному минимуму содержания основной образовательной программы» по дисциплине Разделы дисциплины, их содержание и виды занятий Тематический план изучения дисциплины Лекции Лабораторные работы Самостоятельное изучение разделов дисциплины Учебно-методическое обеспечение дисциплины Рекомендуемая литература 6.1.1 6.1.2 6.2 6.2.1 6.2.3 6.2.4 7 7.1 Основная литература Дополнительная литература Средства обеспечения освоения дисциплины Методические указания и материалы по видам занятий Контрольные вопросы для самоподготовки Критерии оценки знаний, умений и навыков Материально-техническое обеспечение дисциплины Учебно-лабораторное оборудование 1 2 3 4 4.1 1 Цели и задачи курса Целью дисциплины является изучение и освоение методов математической логики и теории алгоритмов, наиболее применяемых при проектировании автоматизированных систем и вычислительной техники. Формирование практических навыков разработки и анализа алгоритмов над объектами. В результате изучения дисциплины студент должен: - знать: - основные понятия математической логики и теории алгоритмов, - формальный язык логики, - методы логического вывода и оценки сложности алгоритмов. - уметь: - использовать язык математической логики для представления знаний о предметных областях, - доказывать логическое следование формул с использованием метода резолюций, - определять временную и емкостную сложность алгоритмов. - иметь навыки: - формального доказательства логического следования и оценки сложности алгоритмов. - иметь представление - об основных направлениях использования аппарата математической логики в задачах практической информатики. 2 Место дисциплины в учебном процессе Дисциплина относится к циклу общепрофессиональных дисциплин федеральному компоненту ООП. Изучение данной дисциплины базируется на следующих дисциплинах: и - математический анализ; - вычислительная математика; - программирование; - дискретная математика. Основные положения дисциплины должны быть использованы в дальнейшем при изучении следующих дисциплин: - математическая статистика и случайные процессы; - программирование на языках высокого уровня; - методы и средства защиты компьютерной информации. Кроме того знания и навыки, полученные при изучении данной дисциплины, используются при выполнении курсовых работ и расчетно-графических заданий по специальным дисциплинам и дипломном проектировании. 3 Организационно-методические данные дисциплины Вид работы 4 семестр Всего 100 34 100 34 Лекции (Л) Практические работы (ЛР) 17 17 17 17 Самостоятельная работа 66 66 Общая трудоемкость Аудиторная работа Вид итогового контроля экзамен 4 Содержание дисциплины 4.1 Выписка из ГОС ВПО «Требования к обязательному минимуму содержания основной образовательной программы» по дисциплине «Математическая логика и теория алгоритмов»: Логика высказываний; логика предикатов; исчисления; непротиворечивость; полнота; синтаксис и семантика языка логики предикатов. Клаузальная форма. Метод резолюций в логике предикатов. Принцип логического программирования. Темпоральные логики; нечеткая и модальные логики; нечеткая арифметика; алгоритмическая логика Ч. Хоара. Логика высказываний. Логическое следование, принцип дедукции. Метод резолюций. Аксиоматические системы, формальный вывод. Метатеория формальных систем. Понятие алгоритмической системы. Рекурсивные функции. Формализация понятия алгоритма; Машина Тьюринга. Тезис Черча; Алгоритмически неразрешимые проблемы. Меры сложности алгоритмов. Легко и трудноразрешимые задачи. Классы задач Р и NP. NP - полные задачи. Понятие сложности вычислений; эффективные алгоритмы. Основы нечеткой логики. Элементы алгоритмической логики. 4.2 Содержание дисциплины № разд ела 1 Таблица 3 – Разделы дисциплины, изучаемые в 4 семестре Количество часов Аудиторная Наименование разделов и их содержание работа Всего Л ПЗ ЛР Логика высказываний. 21 3 2 Внеауд. работа СР 16 Язык логики высказываний. Интерпретация формул. Общезначимость, выполнимость, противоречивость. Методы анализа выполнимости и общезначимости формул. Семантическое дерево, тривиальный алгоритм, алгоритм Квайна, алгоритм редукции, алгебраический подход. Алгоритм приведения формул в КНФ. Базовый алгоритм проверки общезначимости КНФ, модификация Девиса и Патнема. 2 Логический вывод в логике высказываний 12 1 2 9 23 4 6 13 Логическое следование, проблема дедукции. Принцип дедукции. Метод резолюций в логике высказываний, стратегии метода резолюций. 3 Логика предикатов Синтаксис и семантика языка логики предикатов. Предваренная, сколемовская и клаузальная формы. Алгоритм получения клаузальной формы. Метод резолюций в логике предикатов. Теорема Робинсона. Подстановка, композиция подстановок, унификатор. Алгоритм унификации. Хорновские дизъюнкты. Принцип логического программирования. 4 5 6 Формальные системы Понятие формальной системы, формальный вывод. Исчисление высказываний как формальная система. Теорема дедукции, связь выводимости и истинности формул в логике высказываний. Исчисление предикатов как формальная система. Метатеория формальных систем: непротиворечивость, полнота, разрешимость. Алгоритмические системы Понятие алгоритмической системы. Частично-рекурсивные функции, тезис Черча. Машины Тьюринга, тезис Тьюринга. Рекурсивные и рекурсивно-перечислимые множества и языки. Алгоритмически разрешимые и неразрешимые задачи. Проблема остановки, метод сведения Сложность алгоритмов Меры сложности алгоритмов. Временная и емкостная сложность. Асимптотическая сложность, порядок сложности, сложность в среднем и в худшем случае. Легко- и трудноразрешимые задачи. Недетерминированная машина Тьюринга. Языки и задачи. Классы задач P и NP. NPполные задачи. Примеры NP-полных задач. Полиномиальная сводимость и трансформируемость. Теорема Кука о NPполноте проблемы выполнимости формул логики высказываний. Итого: 5 Тематический план изучения дисциплины 5.1 Лекции 8 2 6 18 3 4 11 18 4 3 11 100 17 17 66 № лекции Тема Кол-во часов 1 № раздела 2 3 4 1 1 Язык логики высказываний. Интерпретация формул. Общезначимость, выполнимость, противоречивость. Методы анализа выполнимости и общезначимости формул. 3 2 1 Семантическое дерево, тривиальный алгоритм, алгоритм Квайна, алгоритм редукции, алгебраический подход. 3 1 Алгоритм приведения формул в КНФ. Базовый алгоритм проверки общезначимости КНФ, модификация Девиса и Патнема. 4 2 Логическое следование, проблема дедукции. Принцип дедукции. Метод резолюций в логике высказываний, стратегии метода резолюций. 1 5 3 Синтаксис и семантика языка логики предикатов. Предваренная, сколемовская и клаузальная формы. Алгоритм получения клаузальной формы. 4 6 3 Метод резолюций в логике предикатов. Теорема Робинсона. 7 3 Подстановка, композиция подстановок, унификатор. Алгоритм унификации. 8 3 Хорновские дизъюнкты. Принцип логического программирования. 9 4 Понятие формальной системы, формальный вывод. Исчисление высказываний как формальная система. Теорема дедукции, связь выводимости и истинности формул в логике высказываний. 10 4 Исчисление предикатов как формальная система. Метатеория формальных систем: непротиворечивость, полнота, разрешимость. 11 5 Понятие алгоритмической системы. Частично-рекурсивные функции, тезис Черча. 2 3 № лекции Тема 12 № раздела 5 Кол-во часов 13 5 Алгоритмически разрешимые и неразрешимые задачи. Проблема остановки, метод сведения 14 6 Меры сложности алгоритмов. Временная и емкостная сложность. Асимптотическая сложность, порядок сложности, сложность в среднем и в худшем случае. 15 6 Легко- и трудноразрешимые задачи. Недетерминированная машина Тьюринга. Языки и задачи. 16 6 Машины Тьюринга, тезис Тьюринга. Рекурсивные и рекурсивно-перечислимые множества и языки. 4 Классы задач P и NP. NP-полные задачи. Примеры NPполных задач. Полиномиальная сводимость и трансформируемость. 17 Теорема Кука о NP-полноте. Проблемы выполнимости формул логики высказываний. 6 5.2 Лабораторные работы № № занят раз-дела ия 1 2 Тема Кол-во часов 3 4 Основы логики высказываний 1 1 2 2 3 3 Язык логики предикатов 2 4 3 Преобразование формул логики предикатов в клаузальную форму. 2 5 3 6 5 Алгоритм Маркова 2 7 5 Машина Тьюринга 2 8 6 Оценка сложности алгоритмов 3 Метод резолюций в логике высказываний Метод резолюций в логике предикатов. Унификация 2 2 2 5.4 Самостоятельное изучение разделов дисциплины № раздела Вопросы, выносимые на самостоятельное изучение 1 2 1-6 Реализация теории математической логики в языке программирования ПРОЛОГ. 6 Учебно-методическое обеспечение дисциплины 6.1 Рекомендуемая литература 6.1.1 Основная литература Ершов, Ю.Л. Математическая Палютин. - CПб.: Лань, 2005. - 336 с логика: учеб. пособие / Ю.Л. Ершов, Е.А. Игошин, В.И. Математическая логика и теория алгоритмов: учеб. пособие для вузов / В. И. Игошин. - М. : Академия, 2004. - 448 с. Стенюшкина, В.А. Математическая логика и теория алгоритмов: учеб. пособие для вузов / В.А. Стенюшкина. - Оренбург : ОГУ, 2004. - 106 с 6.1.2 Дополнительная литература Н.Я. Виленкин. Комбинаторика. – М: Наука, 1987. 6.2.1 Методические указания и материалы по видам занятий 6.2.1.1 Методические указания к лабораторным занятиям Методические указания к проведению практических занятий. Разработка кафедры. 6.2.3 Контрольные вопросы к экзамену 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. Принципы построения: .алфавит теории, множество форму; теории, аксиомы теории, правила вывода. 31. Понятие вывода формулы. 32. Теоремы теории. 33. Интуитивное понятие алгоритма. 34. Уточненное понятие алгоритма. 35. Рекурсивные функции, 36. Машина Тьюринга, 37. Нормальные алгоритмы Маркова. 38. Команда машины Тьюринга, 39. Программа машины Тьюринга, 40. Конфигурация машины Тьюринга. 41. Синтез машин Тьюринга. 42. Основной код набора. 43. Частичные числовые функции. 44. Вычислимые функции. 45. Тезис Тьюринга. 46. Простейшие функции. 47. Операция суперпозиции. 48. Операция примитивной рекурсии. 49. Примитивно-рекурсивные функции. 50. Операция минимизации. 51. Частично-рекурсивные функции. 52. Общерекурсивные функции. 53. Тезис Черча. 54. Принцип нормализации Маркова. 55. Понятие алгоритмической неразрешимости. 56. Самоприменимые алгоритмы. 57. Классические методы решения задач. 58. Классификация задач по степени сложности. 59. Понятие сложности алгоритма. 60. Полиномиальные алгоритмы (Р). 61. Экспоненциальные алгоритмы (Е). 62. Недетерминированные полиномиальные задачи (NP). 63. NP-сложные задачи. 64. Теорема Куна. 65. Класс NP-полных задач. 6.2.4 Критерии оценки знаний, умений и навыков Итоговый контроль по дисциплине. Изучение всего материала завершается экзаменом. Допуском студента до экзамена является зачтенная практическая часть и самостоятельная работа по курсу. Экзамен проводится в устной (по билетам), тестовой или иной форме утвержденной на кафедре. Критерии оценивания студентов на экзамене следующие: Оценка «отлично» ставится в случае, когда студент глубоко и прочно усвоил весь программный материал, исчерпывающе, последовательно, грамотно и логически стройно его излагает, не затрудняется с ответом при видоизменении задания, свободно справляется с задачами и практическими заданиями, правильно обосновывает принятые решения, умеет самостоятельно обобщать и излагать материал, не допуская ошибок. Оценка «хорошо» ставится студенту, который твердо знает программный материал, грамотно и по существу излагает его, не допускает существенных неточностей в ответе не вопросы, может правильно применять теоретические положения и владеет необходимыми умениями и навыками при выполнении практических заданий. Оценка «удовлетворительно» ставится студенту, который освоил только основной материал, но не знает отдельных деталей, допускает неточности, недостаточно правильные формулировки, не знает последовательности в изложении программного материала и испытывает затруднения в выполнении практических заданий. Оценка «неудовлетворительно» ставится студенту, который не знает отдельных разделов программного материала, допускает существенные ошибки, с большими затруднениями выполняет практические задания, задачи. 7 Материально-техническое обеспечение дисциплины 7.1 Учебно-лабораторное оборудование Практические занятия проводятся в компьютерных классах кафедры.