МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное образовательное учреждение высшего профессионального образования «Чувашский государственный университет имени И.Н.Ульянова» Факультет дизайна и компьютерных технологий «УТВЕРЖДАЮ» Проректор по учебной работе ______________ А.Ю. Александров «______»______________ 20__ г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Математическая логика и теория алгоритмов» Направление подготовки 231000 Программная инженерия Профиль подготовки Разработка программно-информационных систем Квалификация (степень) выпускника Бакалавр Форма обучения очная Чебоксары 2011 Рабочая программа основана на требованиях Федерального государственного стандарта высшего профессионального образования по направлению подготовки 231000 Программная инженерия, утвержденного Приказом Минобрнауки 09.11.2009 г. № 542. Составители: старший преподаватель Кузнецова Н.А. _______________ старший преподаватель Мытникова Е.А. ______________ Рабочая программа рассмотрена и одобрена на заседании обеспечивающей кафедры – компьютерных технологий (протокол № _____ от ___________2010 г.). Зав. кафедрой: профессор Желтов В.П. ___________________ Рабочая программа согласована с Методической комиссией выпускающего факультета Дизайна и компьютерных технологий. Председатель комиссии, декан: профессор Желтов В.П. ___________________ СОГЛАСОВАНО: Зам. начальника УМУ: доцент Харитонов М.Ю. __________________ 1. Цели освоения дисциплины Целью освоения дисциплины является ознакомление студентов с теоретическими и алгоритмическими основами базовых разделов математической логики и теории алгоритмов. В результате изучения дисциплины студенты должны: - получить знания об основах логики высказываний, логики предикатов, нечеткой логики и теории алгоритмов; - знать и уметь использовать теоретические основы и прикладные средства математической логики и теории алгоритмов; - иметь представление о тенденциях и перспективах развития инструментальных средств математической логики и теории алгоритмов. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина входит в базовую часть математического и естественнонаучного цикла образовательной программы бакалавра. Студент должен иметь начальные сведения о математике в объеме школьного. Дисциплина является предшествующей для изучения дисциплин «Нечеткая логика», «Введение в алгоритмы», «Системы искусственного интеллекта», «Логическое и функциональное программирование». 3. Компетенции обучающегося, формируемые в результате освоения дисциплины Процесс изучения дисциплины направлен на формирование следующих компетенций: научно-исследовательская деятельность: - способность к формализации в своей предметной области с учетом ограничений используемых методов исследования (ПК-2); - готовность к использованию методов и инструментальных средств исследования объектов профессиональной деятельности (ПК-3); - умение готовить презентации, оформлять научно-технические отчеты по результатам выполненной работы, публиковать результаты исследований в виде статей и докладов на научнотехнических конференциях (ПК-5); аналитическая деятельность: - способность формализовать предметную область программного проекта и разработать спецификации для компонентов программного продукта (ПК-6). В результате освоения дисциплины студент должен: Знать: основные понятия математической логики: формальной теории, исчисления; структуру исчислений высказываний и предикатов 1-го порядка; основные понятия теории алгоритмов: интуитивная концепция алгоритма, уточнения понятия алгоритма (машины Тьюринга и нормальные алгоритмы Маркова), понятия вычислимости, разрешимости; основные неразрешимые массовые проблемы; Уметь: доказывать формулы в исчислении высказываний и предикатов 1-го порядка; составлять программы машин Тьюринга и схемы нормальных алгоритмов для решения простых вычислительных задач; 4. Структура и содержание дисциплины 4.1. Структура дисциплины Общая трудоемкость дисциплины составляет 6 зачетных единиц, 216 часа. 1 2 3 4 Введение. Логика высказываний. Логика предикатов. Варианты логики Алгоритмы и вычислимость … Итого Неделя семестра Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Раздел дисциплины Лекции Практ. зан. Лабор. зан. КСР * СРС ** 2 10 10 19 2 10 10 20 2 4 4 19 2 8 8 20 32 32 2 78 Всего 216 Из ауд. зан. в интер. форме Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) экзамен * Контроль самостоятельной работы: аудиторные занятия для проверки самостоятельной работы студентов, приема зачета, проведения текущих консультаций. ** Самостоятельная работа студента, включая курсовой проект, курсовую работу, расчетно-графические работы. 4.2. Содержание лекционных занятий Введение. – 1 час. 1. Логика высказываний - 9 часов. 1.1. Высказывания и логические операции над ними – 1 час. Логика, ее задачи. Высказывание и его логическое значение. Логические операции над высказываниями: отрицание, дизъюнкция, конъюнкция, импликация, эквивалентность и их таблицы истинности. 1.2. Формулы логики высказываний и их классификация – 1 час. Пропозициональные переменные. Индуктивное определение формулы логики высказываний. Подформулы. Составное высказывание и его логическое значение. Классификация формул логики высказываний: выполнимые и опровержимые формулы, тавтологии и противоречия. 1.3. Общезначимые формулы – 1 час. Основные общезначимые формулы. Проверка общезначимости. Тавтологии, выражающие свойства логических операций. Правила получения тавтологий: заключения и подстановки. 1.4. Логическое следование формул (отношение логического следования формул) – 1 час. Логическое следование формул логики высказываний, проверка его выполнения с помощью таблицы истинности. Признак логического следствия. 1.5. Равносильность формул (отношение равносильности) – 1 час. Равносильные формулы, проверка равносильности двух формул с помощью таблицы истинности. Признак равносильности формул. Основные равносильности логики высказываний. Лемма о равносильной замене. Равносильные преобразования формул. 1.6. Нормальные формы для формул алгебры высказываний – 1 час. Конъюнктивные и дизъюнктивные одночлены, дизъюнктивные и конъюнктивные нормальные формы. Совершенные нормальные формы и алгоритмы их нахождения. Теорема о единственности совершенных нормальных форм. 1.7. Формализованное исчисление высказываний – 1 час. Формальные теории. Построение формализованного исчисления высказываний: алфавит, формулы, аксиомы, правила вывода. Вывод формулы из гипотез. Теоремы. 1.8. Теорема о дедукции - 1 час. Теорема о дедукции и следствия из нее. Применение теоремы о дедукции. 1.9. Полнота, непротиворечивость и разрешимость исчисления высказываний - 1 час. Полнота, непротиворечивость и разрешимость аксиоматических теорий. Полнота формализованного исчисления высказываний. Теорема об общезначимости всех доказуемых формул в исчислении высказываний. Теорема о доказуемости всех тавтологий в логике высказываний. Теорема о полноте исчисления высказываний. Непротиворечивость исчисления высказываний, теорема о непротиворечивости. Разрешимость исчисления высказываний, теорема о разрешимости. 2. Логика предикатов – 10 часов. 2.1. Предикаты – 2 часа. Предикаты и предметы. Множество истинности предиката. Классификация предикатов: тожественно истинные, тождественно ложные, выполнимые и опровержимые. Равносильность предикатов. Следствие предиката. Теоремы о равносильности, следствии предикатов. 2.2. Логические и кванторные операции над предикатами - 2 часа. Логические операции над предикатами: отрицание, конъюнкция, дизъюнкция, импликация и эквивалентность и теоремы о множествах истинности полученных предикатов. Кванторные операции: квантор всеобщности и квантор существования. Эквивалентность экзистенциального высказывания дизъюнкции, универсального – конъюнкции высказываний. Свободные и связанные вхождения переменных. 2.3. Формулы логики предикатов и их классификация - 2 часа. Предметные и предикатные переменные. Индуктивное определение формулы логики предикатов. Атомарные и составные формулы, подформулы. Интерпретация предикатных формул. Классификация формул: выполнимые, опровержимые, тождественно истинные и тождественно ложные. Основные тавтологии логики предикатов. 2.4. Равносильность и логическое следование формул логики предикатов – 2 часа. Равносильные формулы. Приведенная и предваренная формы для формул логики предикатов. Теоремы о их существовании для каждой формулы логики предикатов. Логическое следствие формулы. 2.5. Формализованное исчисление предикатов 1-го порядка – 2 часа. Формализованное исчисление высказываний: алфавит, формулы, система аксиом, правила вывода. Формулы, выводимые из гипотез, теоремы. Теорема о дедукции. Теоремы о непротиворечивости, полноте и неразрешимости исчисления предикатов. 3. Варианты логики – 4 часа. 3.1. Классическая логика и клаузальная логика – 1 час. Классическая логика. Клаузальная форма записи. Преобразование предложений из стандартной формы в клаузальную. 3.2. Логическое программирование. Клаузы Хорна и метод резолюций – 1,5 часа. Логическое программирование. Клауза Хорна. Правило резолюций. Сущность метода резолюций. 3.3. Модальная логика – 0,5 часа. Модальности, модальные операторы. Основные законы модальной логики. Варианты модальной логики. 3.4. Нечеткая логика – 0,5 часа. Четкие и нечеткие множества. Операции над нечеткими множествами. Нечеткая логика. 3.5. Темпоральная логика - 0,5 часа Моменты времени, точечные события, аксиомы, правила вывода. Описание ситуаций. 4. Алгоритмы и вычислимость – 8 часов. 4.1. Задачи и алгоритмы – 2 часа. Массовая проблема и индивидуальная задача. Неформальное определение алгоритма. Свойства алгоритма. Различные подходы к формализации понятия алгоритма. 4.2. Машина Тьюринга – 2 часа. Неформальное описание машины Тьюринга. Внешний алфавит, алфавит состояний, функциональная схема, принцип работы. Вычислимые по Тьюрингу функции, основная гипотеза теории алгоритмов. 4.3. Рекурсивные функции – 2 часа. Описание класса рекурсивных функций: базисные функции (нуль-функция, функция следования и функция-проектор), операторы суперпозиции, примитивной рекурсии и минимизации. Примитивно-рекурсивные и частично-рекурсивные функции. Тезис Черча. 4.4. Нормальные алгоритмы Маркова – 1 час. Алфавит, слова, простые и заключительные формулы. Подстановки и нормальные алгоритмы Маркова. Нормально вычислимые функции, принцип нормализации Маркова. Совпадение классов частично рекурсивных, нормально вычислимых и вычислимых по Тьюрингу функций. 4.5. Алгоритмически неразрешимые проблемы – 1 час. Алгоритмически неразрешимые проблемы. Нумерация алгоритмов, машин Тьюринга. Проблемы распознавания самоприменимости и применимости. Проблема остановки. 10я проблема Гильберта. Проблема определения общерекурсивности алгоритма. Проблема эквивалентности алгоритмов. 4.4. Содержание лабораторных занятий Логика высказываний. – 10 часов. 1. Определение значения истинности высказываний. Построение составных высказываний. – 2 часа. 2. Упрощение систем высказываний. Правильные и неправильные рассуждения. Логические задачи. – 4 часа. 3. Доказательство теорем. Применение теоремы о дедукции. – 4 часа. Логика предикатов. – 10 часов. 4. Записи на языке логики предикатов. Множества истинности предикатов. – 4 часа. 5. Равносильные преобразования формул логики предикатов. Логическое следование формул логики предикатов. – 4часа. 6. Правильные и неправильные рассуждения в логике предикатов. – 2 часа. Варианты логики. – 4 часа. 7. Метод резолюций в логике предикатов. – 4 часа. Алгоритмы и вычислимость. – 8 часов. 8. Построение выводов из аксиом и гипотез. Теорема о дедукции. – 2 часа. Применение машин Тьюринга к словам. Конструирование машин Тьюринга. – 2 часа. Рекурсивные функции. – 2 часа. Применение нормальных алгоритмов к словам. Нормально вычислимые функции. – 2 часа. 5. Образовательные технологии В процессе изучения дисциплины используются: -раздаточный материал для изучения лекционного материала; -учебный материал в электронном виде; -контрольные программы по курсу для подготовки к сдаче семестровой аттестации и экзамена; -программное обеспечение в соответствии с содержанием дисциплины; 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины. 6.1. Перечень заданий для самостоятельной работы и проведения текущего контроля. Варианты тестовых заданий. Вариант 1. 1. Какое из следующих равенств с множествами А и В является ложным: 1) A B B A ; 2)(А В) С=А (В С); 3) Если A B , то А В= А; 4)А Ø= А. 2. Дизъюнкцией высказываний А и В (обозначение АВ, читается: А или В) называется высказывание: 1) истинное тогда, когда истинно хотя бы одно из высказываний А и В, и ложное, если и А и В ложны 2) ложное в случае, если А истинно, а В ложно, и истинное в остальных случаях 3) истинное тогда, когда истинны оба высказывания А и В, и ложное в остальных случаях 4) истинное тогда, когда оба высказывания А и В либо истинны, либо ложны, и ложное если одно из высказываний А, В истинно, а другое ложно 3. Квантор общности обозначается символом: 1)¬; 2)^; 3) ; 4) 4. Информационная ленты, считывающая и записывающая головка и управляющее устройство – это состав машины: 1)Черча; 2)Маркова; 3)Паскаля; 4)Тьюринга 5. Оператор минимизации обозначается: 1) Jn,m ; 2) (x); 3) y; 4)R(g(n) ; h(n+2)) 21.Пусть g(х)=Ci(х)=0; h(х;у;f (х; у)) = J3,2=y. Пользуясь схемой примитивной рекурсии найти f(3): 1)0; 2)1; 3)2; 4)5 Вариант 2. 1. Какое из следующих равенств с множествами А и В является ложным: 1) A B B A ; 2)(А В) С=А (В С); 3)Если A B , то А В= В; 4)А Ø= Ø; ___ ___ ___ ___ 2. Формула A V B B V A представляет собой закон: 1)идемпотентности 2)коммутативности 3)ассоциативности 4)тавтологии 3. Неразрешимость проблемы разрешения для множества всех истинных предложений логики предикатов установил: 1)Черч; 2) Марков; 3) Паскаль; 4) Тьюринг 4. Функция следования обозначается: 1) Jn,m ; 2) (x); 3) y; 4)R(g(n) ; h(n+2)) 5. Пусть g(x)=J1,1=x; h (х; у; f (х; у)) = (J3,3) = f (x; у) + 1 Пользуясь схемой примитивной рекурсии найти f(3;6): 1)3; 2)6; 3)9; 4)12 Вариант 3. 1 . Какое из следующих равенств с множествами А и В является ложным: 1) A B B A ; 2) (А В) С=А (В С); 3) Если A B , то А В= А; 4)А Ø= Ø 2. Какое из следующих свойств логических операций является неверным: 1) ( А) (А); 2) ( (АВ)) (АВ); 3)( (АВ)) (АВ); 4) ((АВ)С) (А(ВС)) 3. К числу элементарных операций не относят операцию: 1)константы; 2)суперпозиции; 3)рекурсии; 4)минимизации 4. Пусть g(x) = I1,1 = x; h (х; у; f (х; у)) = -1 (J3,3) = f (x; у) – 1 Пользуясь схемой примитивной рекурсии найти f(6;3): 1)3; 2)6; 3)9; 4)12 6.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. Алгоритмически неразрешимые проблемы 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Игошин В.И. Математическая логика и теория алгоритмов: учеб. пособие для студ. высш. учеб. заведений / В.И. Игошин. – 2-е изд., стер. - М.: Академия, 2008. – 448 с. 2. Игошин В.И. Задачи и упражнения по математической логике и теории алгоритмов: Учеб. Пособие для вузов / В.И. Игошин. – М.: Академия, 2005. – 304с. 3. Анкудинов Г.И., Анкудинов И.Г., Петухов О.А. Математическая логика и теория алгоритмов: Учеб. пособие.– 2-е изд. − СПб.: СЗТУ, 2003. - 104 c. 4. Гамова Н. Математическая логика и теория алгоритмов. Саратов; Изд-во СГУ, 1999.-76с. 5. Гуц А.К. Математическая логика и теория алгоритмов: Учебное пособие. – Омск: Издательство Наследие. Диалог-Сибирь, 2003. – 108с. 6. Ершов Ю.Л., Палютин Е.А. Математическая логика. Учебное пособие. - СПб.: Лань, 2004. -336 с. 7. Ковальский Р. Логика в решении проблем. - М.: Наука, 1990. - 280 с. 8. Колмогоров А.Н., Драгалин А.Г. Математическая логика. Изд. 3-е, стереотипное. – М.: КомКнига, 2006. 240 с. 9. Ульянов М.В., Шептунов М.В. Математическая логика и теория алгоритмов, часть 1: Математическая логика. – М.: МГАПИ, 2003. – 47 с. 10. Ульянов М.В., Шептунов М.В. Математическая логика и теория алгоритмов, часть 2: Теория алгоритмов. – М.: МГАПИ, 2003. – 80 с. б) дополнительная литература: 1. Мощенский С.С. Лекции по математической логике. М.: Наука, 1970 2. Судоплатов С.В., Овчинникова Е.В. Математическая логика и теория алгоритмов. Учебник. М.: Инфра-М, 2004. -224 с. 3. Эдельман С.Л. Математическая логика: Учебное пособие для институтов / С.Л. Эдельман. – М.: Высшая школа, 1975. – 176с. 4. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. – М.: Мир, 1982. – 416с. 5. Лорьер Ж.-Л. Системы искусственного интеллекта. - М.: Мир, 1991. - 568 с. 6. Матросов В.Л. Теория алгоритмов. - М.: Прометей, 1989. 7. Тей А. и др. Логический подход к искусственному интеллекту: от классической логики к логическому программированию. - М.: Мир, 1990. - 432 с. 8. Успенский В.А. Машина Поста. - М.: Наука, 1988. 9. Успенский В.А., Семенов А.Л. Теория алгоритмов: основные открытия и приложения. М.: Наука, 1987. 10. Марков А.А., Нагорный Н.М. Теория алгоритмов. М.: Наука, 1984. 11. Мендельсон Э. Введение в математическую логику. М.: Наука, 1984. 320с в) программное обеспечение и Интернет-ресурсы необязательно: - среда логического программирования (Prolog и пр.) 8. Материально-техническое обеспечение дисциплины Для обеспечения данной дисциплины необходимо: лекционная аудитория, соответствующая действующим санитарным и противопожарным нормам. Возможно провести одно практическое занятие на компьютере для ознакомления с одним из языков логического программирования (более подробно изучение логического программирования предусмотрено на следующих курсах).