СТО АлтГТУ 15.62.1.0521 - 2011 СТАНДАРТ ОРГАНИЗАЦИИ Система качества АлтГТУ Образовательный стандарт высшего профессионального образования АлтГТУ ОБРАЗОВАТЕЛЬНЫЙ СТАНДАРТ УЧЕБНОЙ ДИСЦИПЛИНЫ «МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ» для направления 090900 «Информационная безопасность», код дисциплины Б2.В8 для направления 230100 «Информатика и вычислительная техника», код дисциплины Б2.В7 ФГБОУ ВПО «Алтайский государственный технический университет им. И.И. Ползунова» СТО АлтГТУ 15.62.1.0521 - 2011 Предисловие 1) РАЗРАБОТАН кафедрой прикладной математики ФГБОУ ВПО «Алтайский государственный технический университет им. И. И. Ползунова»; 2) Стандарт дисциплины разработан на основании ФГОС ВПО направления подготовки 090900 Информационная безопасность (квалификация (степень) "бакалавр"), утвержденного 28 октября 2009 г. (регистрационный номер 496) и ФГОС ВПО направления подготовки 230100 Информатика и вычислительная техника (квалификация (степень) "бакалавр"), утвержденного 09 ноября 2009 г. (регистрационный номер 553); 3) Стандарт дисциплины «Математическая логика и теория алгоритмов» по своему назначению, структуре и содержанию полностью соответствует требованиям УМКД. 4) ВВЕДЕН ВПЕРВЫЕ. II СТО АлтГТУ 15.62.1.0521 - 2011 Содержание 1 2 2.1 2.2 2.3 2.4 2.5 3 3.1 3.1.1 3.1.2 3.1.3 Область применения…………………………………………………… Общие сведения о дисциплине. Паспорт дисциплины…………….... Выписка из рабочего учебного плана ООП………………………….. Цели и задачи дисциплины……………………………………………. Место дисциплины в структуре ООП направления (специальности) Требования к результатам освоения дисциплины…………………… Объем и виды занятий по дисциплине……………………………….. Рабочая программа дисциплины……………………………………… Содержание дисциплины……………………………………………… Тематический план дисциплины……………………………………… Учебно-методическое и информационное обеспечение дисциплины Формы и содержание текущей и промежуточной аттестации по дисциплине……………………………………………………………... 1 1 1 2 3 3 5 6 6 6 12 13 3.1.4 3.2 3.2.1 3.2.2 Учебно-методические карты дисциплины…………………………… Условия реализации дисциплины……………………………………. Методические рекомендации студентам по изучению дисциплины Организация самостоятельной работы студента (СРС) по дисциплине…………………………………………………………………… … Методические рекомендации преподавателю дисциплины………… Образовательные технологии…………………………………………. Особенности преподавания дисциплины Материально-техническое обеспечение дисциплины………………. Лист согласования рабочей программы……………………………… Приложение А Методические указания по выполнению лабораторных работ……………………………………………………………….. Приложение Б Методические указания по выполнению расчетного задания Приложение В Тесты текущего контроля знаний по дисциплине…. Приложение Г Тесты промежуточного контроля знаний по дисциплине……………………………………………………………………. Приложение Д Памятка для студентов направления 090900 «Информационная безопасность» по изучению дисциплины…………… Приложение Е Памятка для студентов направления 230100 «Информатика и вычислительная техника» по изучению дисциплины………………………………………………………………………... 14 15 15 16 3.2.3 3.2.4 3.2.5 3.2.6 3.3 16 17 17 17 18 20 47 51 56 58 63 III СТО АлтГТУ 15.62.1.0521 - 2011 СТАНДАРТ ОРГАНИЗАЦИИ Система качества АлтГТУ Образовательный стандарт высшего профессионального образования АлтГТУ ОБРАЗОВАТЕЛЬНЫЙ СТАНДАРТ УЧЕБНОЙ ДИСЦИПЛИНЫ МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ Введён впервые УТВЕРЖДАЮ Начальник УМУ _________________________Щербаков Н.П. (подпись) ( Ф.И.О.) Дата__________________ (число, месяц, год) 1 Область применения 1.1 Стандарт дисциплины устанавливает общие требования к содержанию, структуре, объему дисциплины «Математическая логика и теория алгоритмов» и условиям ее реализации в АлтГТУ. 1.2 Действие стандарта распространяется: на студентов, обучающихся по направлению 090900 «Информационная безопасность» (квалификация "бакалавр") очной формы обучения; на студентов, обучающихся по направлению 230100 «Информатика и вычислительная техника» (квалификация "бакалавр") очной формы обучения; на преподавателей и сотрудников структурных подразделений, задействованных в образовательном процессе по дисциплине. 2 Общие сведения о дисциплине. Паспорт дисциплины 2.1 Выписка из рабочего учебного плана ООП ООП 090900 «Информационная безопасность» Математический и естественнонаучный цикл. Вариативная часть № п/п 8 1 СТО АлтГТУ 15.62.1.0521 - 2011 Зачет – 4 семестр Расчетное задание – 4 семестр Трудоемкость – 3 зачетные единицы Всего часов – 108 Из них без СРС в период сессий – 108 часов Аудиторные – 51 час из них лекции – 17 часов лабораторные работы – 17 часов практические занятий – 17 часов СРС в семестре – 57 часов в период сессий – 0 часов Кафедра ПМ Компетенции: ОК-8,11,12; ПК-1 Часов в интерактивной форме - 0 ООП 230100 «Информатика и вычислительная техника» Математический и естественнонаучный цикл. Вариативная часть № п/п 7 Зачет – 4 семестр Трудоемкость – 3 зачетные единицы Всего часов – 108 Из них без СРС в период сессий – 108 часов Аудиторные – 51 час из них лекции – 17 часов лабораторные работы – 17 часов практические занятий – 17 часов СРС в семестре – 57 часов в период сессий – 0 часов Кафедра ПМ Компетенции: ОК-1,10 Часов в интерактивной форме - 17 2.2 Цели и задачи освоения дисциплины Дисциплина «Математическая логика и теория алгоритмов» предназначена для изучения основ теории логических исчислений, теории алгоритмов и теории сложности. Цели и задачи освоения дисциплины: получение базовых знаний и навыков, позволяющих выполнять теоретическое обоснование качества алгоритмов и их свойств с точки зрения их формального представления, изучить методы исчисления высказываний и предикатов и аксиоматическую теорию, способствовать развитию логического и абстрактного мышления студентов. 2 СТО АлтГТУ 15.62.1.0521 - 2011 2.3 Место дисциплины в структуре ООП направлений Дисциплина «Математическая логика и теория алгоритмов» относится к вариативной части математического и естественнонаучного цикла дисциплин. Дисциплина изучается в 4 семестре 2 курса. Для освоения предлагаемого материала требуются базовые знания, умения и навыки по дисциплинам направлений 090900 и 230100 «Математика», «Дискретная математика», «Информатика», «Введение в математику». Для направления 090900 дополнительными базовыми дисциплинами для дисциплины «Математическая логика и теория алгоритмов» являются «Языки программирования», «Технологии и методы программирования», «Аппаратные средства вычислительной техники». Для направления 230100 дополнительными базовыми дисциплинами для дисциплины «Математическая логика и теория алгоритмов» являются «Программирование», ««ЭВМ и периферийные устройства». Приобретенные знания, умения и навыки используются затем при изучении следующих дисциплин направлений: направление 090900 – «Основы моделирования»; направление 230100 – «Теория формальных языков и компиляторов», «Теория автоматов», «Логический вывод и логическое программирование». 2.4 Требования к результатам освоения дисциплины В результате изучения дисциплины студенты должны обладать знаниями, умениями и навыками, приведенными в таблице 2.1 для направления 090900 и в таблице 2.2 для направления 230100. Таблица 2.1 Номер/индекс компетенции по ФГОС ВПО Содержание компетенции В результате изучения дисциплины обучающиеся должны: знать уметь владеть ОК-8 способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения, владеть культурой мышления - предмет и задачи основных разделов математической логики и теории алгоритмов ОК-11 способность к саморазвитию, самореализации, приобретению новых знаний, повышению своей квалификации и мастерства - существующие информационные и образовательные ресурсы и технологии - формализовать предложенную проблему и предложить пути ее решения; - формулировать, устно и письменно, важнейшие положения основных разделов математики и естественных наук, пояснять их примерами - использовать для повышения профессиональной квалификации существующие информационные ресурсы и техническую документацию; - использовать программные и аппаратные средства персонального компьютера для приобретения новых знаний - культурой мышления, способностью к обобщению, анализу и восприятию информации - навыками использования поисковых систем, ресурсов сети Интернет, технической документации, в том числе и на иностранных языках; 3 СТО АлтГТУ 15.62.1.0521 - 2011 ОК-12 способность критически оценивать свои достоинства и недостатки, определять пути и выбрать средства развития достоинств и устранения недостатков - методы и средства познания и самопознания - применять методы и средства познания для интеллектуального развития, повышения культурного уровня, профессионального роста ПК-1 способностью использовать основные естественнонаучные законы, применять математический аппарат в профессиональной деятельности, выявлять сущность проблем, возникающих в ходе профессиональной деятельности - основные понятия и методы математической логики и теории алгоритмов; - методы разработки эффективных алгоритмов решения прикладных задач - использовать математические методы для решения прикладных задач; - читать техническую литературу по своей специальности, использующую математический аппарат. - способностью к переоценке накопленного опыта, анализу своих возможностей, готовностью приобретать новые знания - навыками самостоятельной, индивидуальной работы, способностью принимать решения в рамках своей профессиональной компетенции - техникой основных математических действий, преобразований и вычислений; - методами количественного анализа процессов обработки, поиска и передачи информации Таблица 2.2 Номер/индекс компетенции по ФГОС ВПО Содержание компетенции В результате изучения дисциплины обучающиеся должны: знать уметь владеть ОК-1 Владеет культурой мышления, способен к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения - предмет и задачи основных разделов математической логики и теории алгоритмов ОК-10 Использует основные законы естественнонаучных дисциплин в профессиональной деятельности, применяет методы математического анализа и моделирования, теоретического и экспериментального исследования - основные понятия и методы фундаментальных разделов математики, необходимые для разработки компонентов информационных систем; - основные понятия и методы математической логики и теории алгоритмов - формализовать предложенную проблему и предложить пути ее решения; - формулировать, устно и письменно, важнейшие положения основных разделов математики и естественных наук, пояснять их примерами - использовать математические методы для решения прикладных задач; - читать техническую литературу по своей специальности, использующую математический аппарат - культурой мышления, способностью к обобщению, анализу и восприятию информации - техникой основных математических действий, преобразований и вычислений - методами количественного анализа процессов обработки, поиска и передачи информации 4 СТО АлтГТУ 15.62.1.0521 - 2011 2.5 Объем и виды занятий по дисциплине Паспорт дисциплины Кафедра __прикладной математики__________________________________________ (наименование кафедры, обеспечивающей преподавание дисциплины) Дисциплина шифр Б.2.В.8 (направление 090900) Б.2.В.7 (направление 230100 ) (математический и естественно-научный цикл) «Математическая логика и теория алгоритмов»__________________________________ (шифр с указанием цикла подготовки, наименование дисциплины) Статус дисциплины ___вариативная____________________________________________ (базовая, вариативная, вариативная по выбору, факультативная) Направления 090900 Информационная безопасность (квалификация (степень) "бакалавр")________ (код и наименование направления или специальности) 230100 Информатика и вычислительная техника (квалификация (степень) "бакалавр")_ (код и наименование направления или специальности) Профили направления 230100: Вычислительные машины, комплексы, системы и сети Системы автоматизированного проектирования (наименование профиля) Форма обучения_____очная________________________________________________ (очная, очно - заочная, заочная) Объем дисциплины______108_______________________________________________ (общий объем дисциплины, час.) Общая трудоёмкость дисциплины __3___ зачётных единицы Распределение по видам занятий для направления 090900: Семестр Всего 4 108 Учебные занятия (час.) Аудиторные ПрактиВсего Лабора- ческие Лекаудиторные занятия ции торных работы (семинары) 51 17 17 17 СРС 57 Наличие курсо- Форма вых проектов итоговой (КП), курсовых аттестаработ (КР), рас- ции (зачетных заданий чёт, эк(РЗ) замен) 1 РЗ зачет Распределение по видам занятий для направления 230100: Семестр Всего 4 108 Учебные занятия (час.) Аудиторные ПрактиВсего Лабора- ческие Лекаудиторные занятия ции торных работы (семинары) 51 17 17 17 СРС 57 Наличие курсо- Форма вых проектов итоговой (КП), курсовых аттестаработ (КР), рас- ции (зачетных заданий чёт, эк(РЗ) замен) - зачет 5 СТО АлтГТУ 15.62.1.0521 - 2011 3 Рабочая программа дисциплины 3.1 Содержание дисциплины 3.1.1 Тематический план дисциплины Лекционный материал дополнительная [4-7] (17 часов) Литература основная [1-3] и Модуль 1. Частично-рекурсивные функции как формальная модель алгоритма (4 часа) [1-4] 1.1. Неформальное понятие алгоритма. Свойства алгоритма. 1.2. Примитивно рекурсивные функции. Простейшие функции, оператор суперпозиции, оператор примитивной рекурсии. Вычисление функций, заданных при помощи оператора примитивной рекурсии. 1.3. Частично рекурсивные функции. Оператор минимизации. Ограниченный оператор минимизации. Быстро растущие функции. Функция Аккермана, диагональная функция Аккермана. В-мажорируемость примитивно рекурсивных функций. Частично рекурсивные функции. Тезис Черча. Модуль 2. Машина Тьюринга как формальная модель алгоритма. Тезис Тьюринга. (2 часа) [1-4] 2.1. Определение машины Тьюринга. Конфигурация, непосредственный переход конфигурации в конфигурацию, процесс переработки цепочек. Способы задания машины Тьюринга. 2.2. Функции, вычислимые по Тьюрингу. 2.3. Композиция, суперпозиция, разветвление, повторение вычислимых функций. Модуль 3. Нормальный алгоритм Маркова как формальная модель алгоритма. Эквивалентность алгоритмических моделей. Разрешимость алгоритмических проблем (2 часа) [1-3] 3.1. Определение алгоритма Маркова. Эквивалентность алгоритмических моделей. 3.2. Геделевская нумерация объектов. Неразрешимость проблем остановки, переводимости. Теорема Райса. Модуль 4. Теория вычислительной алгоритмов (4 часа) [1-3] сложности. Разработка эффективных 4.1. Размер задачи. Понятия сложности как функции размера задачи. Легко и трудноразрешимые задачи. Порядок сложности. Классы сложности, P, NP и NP-полные проблемы. Примеры NP-полных проблем. Теорема Кука. Методы полного перебора. Оценка временной сложности программы для ЭВМ. 6 СТО АлтГТУ 15.62.1.0521 - 2011 4.2. Разработка эффективных алгоритмов. Методы уменьшения временной сложности алгоритмов. Динамическое программирование. Методы отсечения. Модуль 5. Логика высказываний и предикатов. Современные логические теории. (5 часов) [1-7] 5.1 Классическое исчисление высказываний. Формулы алгебры высказываний. Логическое следование формул. Правила логических умозаключений. Система аксиом и правила вывода. Теорема о дедукции для исчисления высказываний. Полнота и непротиворечивость в исчислении высказываний. 5.2 Операции над предикатами. Формулы логики предикатов. Тавтологии логики предикатов. Равносильные преобразования формул и логическое следование формул логики предикатов. Нормальная форма Сколема записи формулы логики предикатов. Формализованное исчисление предикатов. Аксиомы и правила вывода. Теорема о дедукции. Метод резолюций. 5.3 Современные логические теории. Нечеткая логика. Практические занятия (17 часов) Литература основная [1-3] и дополнительная [4-7]. 1. Примитивно-рекурсивные функции. (2 часа) [1-4] 2. Обычный и ограниченный операторы минимизации. Частично-рекурсивные функции (2 часа) [1-4] 3. Машины Тьюринга. (2 часа) [1-4] 4. Алгоритмы Маркова. (2 часа) [1-3] 5. Разработка рекурсивных алгоритмов. (2 часа) [1-3] 6. Оценка временной сложности программ. (2 часа) [1-3] 7. Логический вывод. Правила вывода. Преобразования формул логики высказываний и предикатов. (5 часов) [1-7]. Лабораторные работы (17 часов) Литература основная [1-3] и дополнительная [4-7]. 1. Доказательство примитивной рекурсивности функции. Написание программы вычисления значения функции в заданной точке, соответствующее доказательству (2 часа) [1-4] 2. Использование ограниченного оператора минимизации при доказательстве примитивной рекурсивности функций. Доказательство частичной рекурсивности функции. (2 часа) [1-4] 3. Разработка машины Тьюринга (4 часа) [1-4] 4. Разработка алгоритма Маркова (2 часа) [1-3] 5. Рекурсивное программирование и оценка временной сложности алгоритма (4 часа) [1-3] 6. Правила вывода. Преобразования формул логики высказываний и предикатов. (3 часа) [1-7] 7 СТО АлтГТУ 15.62.1.0521 - 2011 Последовательное изучение предложенного материала и самостоятельная работа студента над заданиями лабораторных работ позволит освоить теоретический материал и соответствующие профессиональные и общекультурные компетенции в полной мере. Самостоятельная работа включает в себя (57 час): Для направления 090900 «Информационная безопасность»: I. II. III. Подготовка к защите лабораторных работ - 17 часов Выполнение расчетного задания - 17 часов Подготовка к контрольным опросам – 23 часа Для направления 230100 «Информатика и вычислительная техника»: I. II. Подготовка к защите лабораторных работ - 34 часа Подготовка к контрольным опросам - 23 часа Методические указания по выполнению лабораторных работ приведены в Приложении А, рекомендации по организации их выполнения – в п. 3.2. Расчетное задание (17 часов) Литература основная [1-3] и дополнительная [4-7] Цель расчетного задания: закрепление на практике знаний и навыков, полученных в ходе изучения лекционного материала и выполнения лабораторных работ, а также освоение дополнительного материала. Тематика расчетного задания предусматривает: 1. Разработку и программную реализацию алгоритма решения NP-полной задачи; 2. Вычисление временной сложности как функции размера задачи. Этапы выполнения расчетного задания: 1. Изучение учебной и дополнительной литературы по теме работы (2 часа); 2. Разработка алгоритма для решения задачи (5 часов); 3. Написание, отладка и тестирование программы, реализующей предложенный алгоритм (7 часов); 4. Оформление результатов работы и ее защиту (3 часа). По проделанной работе должны быть представлены оформленный в соответствии с существующим стандартом отчет и работоспособный программный продукт. 8 СТО АлтГТУ 15.62.1.0521 - 2011 Пояснительная записка к расчетному заданию должна содержать: 1. Титульный лист 2. Содержание 3. Введение 4. Формализованную постановку задачи (0,5-1 стр); 5. Доказательство NP-полноты задачи; 6. Разработанный алгоритм ее решения в виде укрупненной блок-схемы или словесного описания; 7. Описание функций, реализующих предложенный алгоритм; 8. Результаты тестирования программы (в том числе, экранные формы в виде рисунков); 9. Оценку временной сложности программы; 10. Заключение (0,5-1 стр). 11. Список использованных источников литературы. Карта компетенций дисциплины приведена в таблицах 3.1 и 3.2 соответственно для направлений 090900 и 230100, компонентный состав дисциплины приведен в таблице 3.3. Таблица 3.1 - Наименование компетенций дисциплины для направления 090900 Код компетенции ОК-8 ОК-11 ОК-12 ПК-1 Формулировка компетенции способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения, владеть культурой мышления способность к саморазвитию, самореализации, приобретению новых знаний, повышению своей квалификации и мастерства способность критически оценивать свои достоинства и недостатки, определять пути и выбрать средства развития достоинств и устранения недостатков способность использовать основные естественнонаучные законы, применять математический аппарат в профессиональной деятельности, выявлять сущность проблем, возникающих в ходе профессиональной деятельности Таблица 3.2 - Наименование компетенций дисциплины для направления 230100 Код компетенции Формулировка компетенции ОК-1 Владеет культурой мышления, способен к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения Использует основные законы естественнонаучных дисциплин в профессиональной деятельности, применяет методы математического анализа и моделирования, теоретического и экс- ОК-10 9 СТО АлтГТУ 15.62.1.0521 - 2011 периментального исследования Таблица 3.3 - Компонентный состав дисциплины Модуль дисциплины (раздел, тема) Модуль 1 Модуль 2 Модуль 3 Результаты освоения дисциплины Технологии формирования компетенций Средства и технологии оценки Объем в ЗЕТ Знает: - свойства алгоритма; - способы доказательства примитивной и частичной рекурсивности функций; - тезис Черча Умеет: - доказывать принадлежность функции к классу ПРФ или ЧРФ; - разрабатывать программу вычисления значения ПРФ или ЧРФ в соответствии с доказательством Владеет: - навыками использования формальных методов доказательства принадлежности функции к классу ПРФ или ЧРФ; - навыками разработки рекурсивной и нерекурсивной программ вычисления значения функции, заданной оператором примитивной рекурсии; - навыками оформления и представления результатов решения задачи Знает: - способы задания машины Тьюринга; - понятие вычислимости по Тьюрингу; - способы синтеза машин Тьюринга при вычислении композиции, суперпозиции, разветвления и повторения вычислимых функций Умеет: - осуществлять синтез машины Тьюринга, выполняющей правильную переработку цепочек; - осуществлять синтез машины Тьюринга, вычисляющей заданную функцию Владеет: - навыками синтеза машин Тьюринга; - навыками оформления и представления результатов решения задачи Лекции Практические занятия Самостоятельная работа Контрольный опрос 0,5 Практические занятия Лабораторные работы Самостоятельная работа Выполнение лабораторной работы Контрольный опрос Защита лабораторной работы Лекции Практические занятия Самостоятельная работа Контрольный опрос Практические занятия Лабораторные работы Самостоятельная работа Контрольный опрос Защита лабораторной работы Выполнение лабораторной работы Защита лабораторной работы Знает: - понятие алгоритма Маркова; - эквивалентность алгоритмических моделей; - правила геделевской нумерации объектов; - неразрешимые проблемы теории алгоритмов Лекции Практические занятия Самостоятельная работа Контрольный опрос Защита лабораторной работы 0,5 0,5 10 СТО АлтГТУ 15.62.1.0521 - 2011 Умеет: - разрабатывать алгоритмы Маркова Владеет: - навыками разработки алгоритмов Маркова ; - навыками оформления и представления результатов решения задачи Модуль 4 Модуль 5 Знает: - понятие размера задачи; - классы сложности, P, NP, NPполные проблемы; - методы разработки эффективных алгоритмов решения прикладных задач Умеет: - разрабатывать эффективные алгоритмы решения задач; - оценивать временную сложность решения задачи и класс задачи; - использовать методы уменьшения временной сложности алгоритмов для решения задачи; Владеет: - навыками разработки эффективных алгоритмов решения задачи; - навыками оценки временной сложности алгоритмов; - навыками оформления и представления результатов решения задачи Знает: - понятие формулы при исчислении высказываний и предикатов; - тавтологии логики высказываний и предикатов; - понятие выводимости; - теоремы о дедукции исчисления высказываний и предикатов; - метод резолюций; - современные логические теории. Умеет: - выполнять равносильные преобразования формул логики высказываний и предикатов; - использовать правила вывода; - преобразовывать формулу логики предикатов к нормальной форме Сколема Владеет: - навыками выполнения преобразований формул логики высказываний Лабораторные работы Практические занятия Самостоятельная работа Выполнение лабораторной работы Контрольный опрос Защита лабораторной работы Лекции Практические занятия Самостоятельная работа Контрольный опрос Практические занятия Лабораторные работы Самостоятельная работа Контрольный опрос Защита лабораторной работы Выполнение лабораторных работ Выполнение расчетного задания (090900) Защита лабораторной работы Защита расчетного задания (090900) Лекции Практические занятия Самостоятельная работа Контрольный опрос Практические занятия Лабораторные работы Самостоятельная работа Контрольный опрос Защита лабораторной работы Выполнение лабораторной работы Защита лабораторной работы Защита расчетно- Защита лабораторной работы 0,5 1 11 СТО АлтГТУ 15.62.1.0521 - 2011 и предикатов; - навыками осуществления логических выводов; - навыками оформления результатов решения задачи Выполнение расчетного задания го задания (090900) Матрица распределения компетенций по разделам и темам дисциплины (направление 090900 «Информационная безопасность» № темы/раздела Кол-во Формируемые Примечание учебной дисчасов компетенции циплины Модуль 1 Модуль 2 Модуль 3 Модуль 4 Модуль 5 4 2 2 4 5 ОК-8, ОК-11, ОК-12, ПК-1 ОК-8, ОК-11, ОК-12, ПК-1 ОК-8, ОК-11, ОК-12, ПК-1 ОК-8, ОК-11, ОК-12, ПК-1 ОК-8, ОК-11, ОК-12, ПК-1 - Матрица распределения компетенций по разделам и темам дисциплины (направление 230100 «Информатика и вычислительная техника» № темы/раздела Кол-во Формируемые Примечание учебной дисчасов компетенции циплины Модуль 1 Модуль 2 Модуль 3 Модуль 4 Модуль 5 4 2 2 4 5 ОК-1, ОК-10 ОК-1, ОК-10 ОК-1, ОК-10 ОК-1, ОК-10 ОК-1, ОК-10 - 3.1.2 Учебно-методическое и информационное обеспечение дисциплины Основная литература 1 Игошин, В. И. Математическая логика и теория алгоритмов: учеб. пособие /В. И. Игошин.-М.: Академия, 2008. – 448 с. - 25 экз. 2 Крючкова, Е.Н. Математическая логика и теория алгоритмов: учебное пособие / Е.Н. Крючкова. – Барнаул, изд-во АлтГТУ, 2010. - Режим доступа: http//elib.alstu.ru, свободный 3 Судоплатов, С.В. Математическая логика и теория алгоритмов: учебник /С. В. Судоплатов, Е. В. Овчинникова.-Новосибирск: НГТУ, 2010.- 255 с. - 2 экз. Дополнительная литература 4 Соболева, Т.С. Дискретная математика: [учеб. для вузов по специальностям "Информатика и вычисл. техника", "Информ. системы", "Информ. безопасность"] /Т. С. Соболева, А. В. Чечкин ; под ред. А. В. Чечкина.-М.: Академия, 2006. - 254 с. – 11 экз. 5 Лавров, И.А. Математическая логика : [учеб. пособие для вузов по техн. и естеств.науч. специальностям] / И. А. Лавров ; под ред. Л. Л. Максимовой. - М. : Академия, 2006. – 239 с. – 11 экз. 12 СТО АлтГТУ 15.62.1.0521 - 2011 6 Успенский В.А. Вводный курс математической логики: [учеб. пособие] /В. А. Успенский , Н. К. Верещагин, В. Е. Плиско.-М.: ФИЗМАТЛИТ, 2007125 с. – 3 экз. 7 Мендельсон Эллиот. Введение в математическую логику: переводное издание /Э. Мендельсон; пер. с англ. Ф. А. Кабакова .-М.: Наука, 1984. - 319 с. – 14 экз. Программное обеспечение и Интернет-ресурсы Необходимое программное обеспечение: - операционная система Windows; - Microsoft Visual Studio 2008 (2010); - программы automat.exe, markov.exe или другие интерпретаторы правил машин Тьюринга и алгоритмов Маркова ; - текстовый редактор MS Word или OpenOffice Writer; Рекомендуемые сайты: 1. www.intuit.ru 2. www.window.edu.ru 5. Электронная библиотека: http//elib.alstu.ru/ Учебно-методические материалы и пособия для студентов, используемые при изучении дисциплины: 1. Методические указания к выполнению лабораторных работ изложены в Приложении A настоящего стандарта. 2. Методические указания к выполнению расчетного задания изложены в приложении Б настоящего стандарта. 3.1.3 Формы и содержание текущей и промежуточной аттестации по дисциплине Форма текущей аттестации –контрольные опросы (вес 0,5 для направления 230100, вес 0,5 для направления 090900) и защита лабораторных работ (вес 0,5 для направления 230100, вес 0,4 для направления 090900). Для направления 090900 предусмотрена защита расчетного задания (вес 0,1). Форма промежуточной аттестации – зачет (веса не имеет). При семестровом рейтинге, большем или равным 25 баллам, зачет выставляется с рейтингом, равным семестровому рейтингу, при условии сдачи контрольных точек по всем модулям. При семестровом рейтинге, меньшем 25 баллов, для получения зачета студент должен защитить лабораторные работы и ответить на контрольные вопросы преподавателя по не сданным в семестре модулям. Для повышения рейтинга студенту может быть предложено ответить на 2 теоретических вопроса и решить одну задачу (см. приложение Г). Содержание текущей и промежуточной аттестации раскрывается в комплекте контролирующих материалов, предназначенных для проверки соответствия уровня подготовки по дисциплине требованиям ФГОС ВПО. Контролирующие материалы по дисциплине приведены в Приложениях В, Г настоящего стандарта и содержат соответственно: – вопросы для текущего контроля знаний по дисциплине; – вопросы и примеры тестов для промежуточного контроля знаний по дисциплине. Оценка индивидуальной деятельности студентов по дисциплине складывается из отдельных видов работ: выполнение и защита лабораторных работ (вес 0,5 для 230100, вес 0,4 для 090900), подготовка к контрольным опросам (вес 0,5). Максимальное число 13 СТО АлтГТУ 15.62.1.0521 - 2011 баллов за контрольный опрос, защиту лабораторной работы и расчетного задания составляет 100 баллов. 14 СТО АлтГТУ 15.62.1.0521 - 2011 3.1.4 Учебно-методические карты дисциплины для направления _090900 Информационная безопасность (квалификация "бакалавр")______________________________________________________________ (код и наименование направления или специальности) на ___4____семестр График аудиторных занятий, СРС, текущих и промежуточной аттестаций Наименование вида работ Лекции Лабораторные работы Практические занятия 1 Экзамен Зачет 1 2 3 1 Расчетное задание (РЗ) Другие виды СРС Подготовка к защите лабораторных работ Подготовка к контрольным опросам Контрольный опрос (КО) Защита лабораторной работы (ЗР) Другие виды аттестации (защита РЗ) 1 Номер недели 4 5 6 7 8 9 10 1 Аудиторные занятия _51_ час. 2 3 4 2 3 3 4 2 1 4 12 4 5 - 17 5 6 6 7 7 7 5 ЗЗ 3 5 3 4 ЗЗ КО ЗЗ КО 3 Формы текущей аттестации 0,1 0,1 0,1 0,1 0,1 0,05 0,1 0,1 - ЗЗ КО 16 6 ЗЗ ЗЗ 15 5 ЗЗ КО 14 5 2 ЗЗ КО 13 5 2 Самостоятельная работа студентов __57__ час. 1 2 0,05 - 3 11 0,05 - - - - 0,05 - - - - - - - - 0,1- 4 Формы промежуточной аттестации Не предусмотрен На 17 неделе, веса не имеет 15 СТО АлтГТУ 15.62.1.0521 - 2011 для направления _230100 Информатика и вычислительная техника (квалификация "бакалавр")______________________________________________________________ (код и наименование направления или специальности) на ___4____семестр График аудиторных занятий, СРС, текущих и промежуточной аттестаций Наименование вида работ Лекции Лабораторные работы Практические занятия Другие виды СРС Подготовка к защите лабораторных работ Подготовка к контрольным опросам Контрольный опрос (КО) Защита лабораторной работы (ЗР) Экзамен Зачет 1 1 Номер недели 4 5 6 7 8 9 10 1 Аудиторные занятия _51_ час. 2 3 4 2 3 3 4 1 2 2 1 3 1 11 12 15 16 17 5 6 5 6 6 7 7 7 ЗЗ КО ЗЗ КО 3 Формы текущей аттестации 0,1 0,1 0,1 0,1 0,1 0,05 0,15 0,1 4 5 5 2 Самостоятельная работа студентов __57__ час. ЗЗ ЗЗ КО ЗЗ ЗЗ ЗЗ КО КО 0,05 14 5 3 4 13 0,1 0,05 5 4 Формы промежуточной аттестации Не предусмотрен На 17 неделе, веса не имеет 3.2 Условия освоения и реализации дисциплины 3.2.1 Методические рекомендации студентам по изучению дисциплины Самостоятельная работа студентов (СРС) заключается в изучении теоретического материала в виде лекций и дополнительных источников (как из списка рекомендуемой литературы настоящего стандарта, так и самостоятельно найденных в интернет при одобрении преподавателем ), а также в подготовке к контрольным опросам и к защите лабораторных работ. Для студентов направления 090900 СРС включает также выполнение и защиту расчетного задания. Для наилучшего усвоения теоретического материала и получения навыков самостоятельной работы выполнение лабораторных работ следует начинать сразу же после прочтения лекции и проведения практического занятия по соответствующей теме. При работе необходимо консультироваться с преподавателем По каждой теме лабораторной работы студент может выполнять задания, различающиеся по уровню сложности (низкий, обычный). Уровень сложности выполняемых заданий влияет на рейтинг защиты работы. При выполнении студентом по лабораторной работе задания с низким уровнем сложности рейтинг защиты не может превышать 40 баллов. При подготовке к защите лабораторных работ рекомендуется изучать лекционный материал и материал, рассмотренный на практических занятиях, относящийся к изучаемой теме. 16 СТО АлтГТУ 15.62.1.0521 - 2011 Памятки студенту по изучению дисциплины «Математическая логика и теория алгоритмов» приведены в Приложении Д (направление 090900) и в Приложении Е (направление 230100). 3.2.2 Организация самостоятельной работы студента (СРС) по дисциплине Выполнение лабораторных работ и расчетного задания осуществляется студентом самостоятельно (в компьютерных лабораториях факультета или в домашних условиях). Компьютерные классы обеспечены необходимыми средствами вычислительной техники, на которых установлено требующееся программное обеспечение. Список необходимого программного обеспечения и рекомендуемой литературы описан в пункте 3.1.2 настоящего стандарта. Предусмотрены регулярные консультации (не реже 1 раза в неделю) по текущим изучаемым модулям и выполнению расчетного задания. Контроль за выполнением лабораторных работ и расчетного задания являются обязательным элементом организации учебного процесса по дисциплине. Для выполнения лабораторных работ разработан комплект заданий. 3.2.3 Методические рекомендации преподавателю дисциплины В начале семестра студентам дается презентация курса устно и письменно (в виде силлабуса). При этом освещается список тем, которые будут рассматриваться во время курса, решаются организационные вопросы (деление на подгруппы, организация занятий на лабораторных работах, рекомендации по выбору литературы и т. д.). Лекционный материал рекомендуется представлять в виде пронумерованных и озаглавленных модулей в четком соответствии с рабочей программой. В начале лекции необходимо дать название изучаемой темы, обозначить круг изучаемых вопросов, а затем перейти к более подробному рассмотрению теоретического и практического материала. На примерах следует разобрать технологии доказательства примитивной и частичной рекурсивности функций, синтеза машин Тьюринга, алгоритмов Маркова, разработки эффективных алгоритмов, практической оценки временной сложности программ, основы логики высказываний и предикатов, используя при этом режим непосредственного общения со студентами (диалог, дискуссия, режим мозгового штурма). Также следует ответить на возникшие в ходе выполнения работы вопросы. На практических занятиях проводятся письменные контрольные работы продолжительностью 15-20 минут по соответствующим модулям. Кроме того, на практических занятиях осуществляется коллективное решение типовых задач. На лабораторных работах студенты должны выполнять индивидуальные задания (модули 1-4 - на компьютере), сдавать и защищать выполненные работы. Рекомендуется засчитывать защиту лабораторных работ по модулю студентам, которые имеют рейтинг контрольного опроса по модулю, больший или равный 50 баллам. В этом случае рейтинг защиты лабораторной работы принимается равным рейтингу контрольного опроса. Если студент желает повысить рейтинг защиты лабораторной работы, то ему предоставляется такая возможность, но окончательным рейтингом является в этом случае рейтинг защиты. Сдача работы включает в себя следующие этапы (для конкретной работы могут присутствовать не все этапы): - доказательство утверждения относительно некоторого объекта математической логики и теории алгоритмов; - демонстрация работоспособности программы на компьютере; - сдача письменного отчета по лабораторной работе; 17 СТО АлтГТУ 15.62.1.0521 - 2011 - устно-письменная защита и(или) тестирование как по конкретной лабораторной работе, так и по всей теме, которой работа посвящена. Методические указания к выполнению расчетного задания изложены в Приложении Б настоящего стандарта. Зачет принимается на 17 неделе семестра, к нему допускаются студенты, сдавшие все контрольные точки. Если семестровый рейтинг студента больше или равен 25 баллам, этот рейтинг является рейтингом зачета и выставляется в ведомость и зачетную книжку. Если семестровый рейтинг менее 25 баллов, то студент должен защитить лабораторные работы и ответить на вопросы преподавателя, охватывающие материал из не сданных в семестре модулей. Повышение рейтинга зачета, большего или равного 25 баллов, допускается не более чем на 10 баллов, при этом студент должен письменно ответить на два теоретических вопроса и решить задачу 3.2.4 Образовательные технологии Образовательные технологии, наряду с классическими формами проведения лекций и лабораторных работ, предусматривают применение следующих инновационных методов обучения: - модульно-рейтинговая система квалиметрии учебной деятельности студентов; - лекции, практические занятия и защиты лабораторных работ проводятся в интерактивном режиме и носят информационно-развивающий характер (дискуссия, диалог, коллективное решение проблем, метод аналогий, метод контрольного изложения, предусматривающий заранее запланированные ошибки), (17 часов, в интерактивной форме); - использование компьютерного оборудования при чтении лекционного материала, выполнении лабораторных работ, расчетного задания; личностно-ориентированный метод проблемного обучения, предусматривающий постановку для каждого студента индивидуального задания по каждой лабораторным работе и по расчетному заданию (задания к лабораторной работе и к расчетному заданию могут иметь несколько уровней сложности); - при выполнении лабораторных работ, расчетного задания, а также при СРС предусмотрен поисково-исследовательский метод обучения (самостоятельный поиск дополнительной информации, исследование и анализ различных способов решения проблем). 3.2.5 Особенности преподавания дисциплины Особенностью преподавания дисциплины является обязательность коллективного решения задач, дискуссии, диалога и метода аналогий на практических занятиях, необходимость постоянного консультирования преподавателя при выполнении лабораторных работ, связанных с доказательством утверждений об объектах математической логики и теории алгоритмов. Это способствует ускорению формирования у студентов навыков, формирующих требуемые компетенции. 3.2.6 Материально-техническое обеспечение дисциплины Для изучения дисциплины студенту требуется персональный компьютер с установленным на него программным обеспечением, приведенным в п.3.1.2. Для работы с электронными источниками информации необходимы текстовый процессор Word, Adobe Reader, Opera. В АлтГТУ занятия проводятся на базе лаборатории микроЭВМ, компьютерного класса кафедры ВСИБ, лекционной мультимедийной аудитории. 18 СТО АлтГТУ 15.62.1.0521 - 2011 3.3 Лист согласования рабочей программы Направление 090900 «Информационная безопасность» Наименование дисциплин, изучение которых опирается на данную дисциплину 1 Основы моделирования Ведущая кафедра 2 ВСИБ Предложения об изменении рабочей программы 3 Нет Подпись заведующего кафедрой 4 Направление 230100 «Информатика и вычислительная техника» Наименование дисциплин, изучение которых опирается на данную дисциплину 1 Теория формальных языков и компиляторов Теория автоматов Логический вывод и логическое программирование Ведущая кафедра 2 ВСИБ Предложения об изменении рабочей программы 3 Нет ВСИБ Нет САПР Нет Подпись заведующего кафедрой 4 19 СТО АлтГТУ 15.62.1.0521 - 2011 Разработчик: Профессор подпись Л.И.Сучкова_____ инициалы и фамилия Заведующий кафедрой прикладной математики____________________________________________________ _____________________________________ ____________________ С.А. Кантор_____ подпись инициалы и фамилия Декан факультета информационных технологий подпись Г.Н. Кобелев_____ инициалы и фамилия подпись С.А. Федоровых__ инициалы и фамилия Начальник ОМКО АлтГТУ 20 СТО АлтГТУ 15.62.1.0521 - 2011 ПРИЛОЖЕНИЕ А МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ ПО ДИСЦИПЛИНЕ "МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ" А.1 Общие сведения о лабораторном практикуме А.1.1 Цель лабораторного практикума Лабораторный практикум по дисциплине «Математическая логика и теория алгоритмов» служит для практического закрепления теоретических навыков, полученных в ходе изучения лекционного материала и материала практических занятий и формирования необходимых компетенций. Цели выполнения лабораторных работ: - закрепление теоретических знаний по дисциплине и применение этих знаний при решении поставленных задач (доказательство принадлежности функции классу, построение машины Тьюринга и алгоритма Маркова, разработка эффективной функции и написание программы, выполнение логического вывода, доказательство эквивалентности высказываний); - развитие навыков выполнения самостоятельной работы, а также ее оформления и представления результатов проделанной работы. А.1.2 Организация лабораторного практикума Для посещения лабораторных занятий студенческая группа делится на подгруппы, посещающие занятия в отведенные для них часы. Это позволяет использовать индивидуальный подход к обучению, отвечать на возникшие вопросы и способствует лучшему усвоению материала. На каждую лабораторную работу выдается общее задание, соответствующее изучаемому теоретическому материалу, и индивидуальный вариант задания. Задания выдаются по мере изучения материала и для модулей 1-4 предполагают разработку алгоритма и создание программного продукта. Модуль 5 предполагает выполнение доказательства эквивалентности формул исчисления высказываний и предикатов. Информация о темах лабораторных работ дана ниже в разделе 2. Студент должен в соответствии с темой выполнить задание и оформить отчет о проделанной работе (см. раздел 3). Для каждой лабораторной работы предусмотрены сроки ее выполнения и защиты. Каждая работа оценивается по стобалльной шкале. В случае выполнения и/или защиты работы после установленного срока, оценка может быть снижена. Для каждой лабораторной работы необходимо: - продемонстрировать работу программного продукта или модели алгоритма на тестере, - представить доказательство или расчеты, если это требуется по заданию; - представить отчет о выполнении лабораторной работы, - пройти устную (ответы на вопросы преподавателя) и/или письменную защиту. По всем темам лабораторных работ студент может выполнять задания, различающиеся по уровню сложности. Уровень сложности выполняемых заданий влияет на рейтинг защиты работы. При выполнении студентом по лабораторной работе задания с 21 СТО АлтГТУ 15.62.1.0521 - 2011 низким уровнем сложности максимальный рейтинг защиты не может превышать 40 баллов. А.1.3 Разработка программного продукта Требования, предъявляемые к программному продукту и модели алгоритма: - программа или модель должна быть работоспособной; - программа или модель должна полностью правильно решать поставленную задачу; - программа должны быть документирована. А.2 Темы и задания к лабораторным работам Лабораторная работа № 1. Доказательство примитивной рекурсивности функции. Написание программы вычисления значения функции в заданной точке, соответствующей доказательству. Цели и задачи работы: изучение способов доказательства примитивной рекурсивности, разработка простейшей рекурсивной программы. Теоретические сведения о работе и пример программы приведены в конспекте лекций, литературе [1-3]. Описание используемых средств для выполнения работы : операционная система Windows ХР/7, Visual Studio 2008-2010. Методика выполнения работы: 1. Изучить способы доказательства примитивной рекурсивности функций. 2. Доказать примитивную рекурсивность функции с использованием оператора суперпозиции и примитивной рекурсии (задание 1). 3. Написать рекурсивную и нерекурсивную программу вычисления значения функции f, полученной оператором примитивной рекурсии R над функциями g и h (задание 2). 4. Отладить и протестировать программы. 5. Продемонстрировать преподавателю работу программ. Требования к отчету: Отчет по лабораторной должен содержать титульный лист, доказательства примитивной рекурсивности и тексты рекурсивной и нерекурсивной программ. Защита лабораторной, помимо теоретических вопросов, включает выполнение практического задания по доказательству примитивной рекурсивности функции, предложенной преподавателем. Индивидуальные задания: А. Задания с обычным уровнем сложности № 1. y 1) (x i i) i 0 2) g(x) = x+1 h (x, y, t) = xt+y. 22 СТО АлтГТУ 15.62.1.0521 - 2011 № 2. 1) x x x Количество повторений X равно Y+1. 2) g (x, y, z) = (x+z)y h (x, y, z, t, v) = (v+z)(x+2yt). № 3. 1) x x y x 1 x 2) g(x, y) = x+y . 1 h(x, y, z, t) = (t+x)(x+y). № 4. 1) 2 x 3 4 3 2) g(x, y, z) = (2x+y)z h(x, y, z, t, v) = vz(x+y). № 5. y i 1) (2 j ) i 0 j 0 2) g(x, y) = 2x h(x, y, z, t) = 2t(x+y). № 6. 2 1) x 1 x x y4 2) g(x) = x . 2 h(x, y, t) = xy+2t. № 7. y 1) x 2i max( x 1, y) i 0 2) g(x, y) = y+1 h(x, y, z, t) = tx. № 8. 1) ( x 1) x 1 x 1 Количество повторений - Y+1. 2) g(x) = 2x+1 h(x, y, t) = (t+1)(x+y). 23 СТО АлтГТУ 15.62.1.0521 - 2011 № 9. 1) ( x 3) 3 x 2 x 1 2) g(x) = 2x h(x, y, t) = t+2xy. № 10. y 1) (x i i) i 0 2) g(x, y t) = x+t+2 h (x, y, z, t, v) = (v+2x)(t+xy). № 11. 1) a x y 1 x 2 x 1 2) g(x) = x+2 h(x, y, t) = t+xy+1. № 12. 1) min( x y,2 2 2y y ) 2) g(x) = x+2 h(x, y, t) = (t+1)(x+y). № 13. 1) ( x 1) x 2 3 2 2) g(x, y) = x+y h(x, y, z, t) = tx+yz. № 14. 1) ( x! y) ( z y! x ) ( z y ! 1 ) ( z y!) 2) g(x, y, z) = x+2y+z h(x, y, z, t, v) = vx+yt. № 15. 1) ( x t a) (x t) ( x t a 1) 2) g(x, y) = y!+x! h(x, y, t, v) = v+2x+yt. № 16. 1) ( x y )! z! ( x y )!1 ( x y )! 24 СТО АлтГТУ 15.62.1.0521 - 2011 2) g(x,y,z)=x+z+2 h(x,y,z,t,v)=(v+1)(t+xy) № 17. 1) xy x y i 1 x i 0 2) g(x,y)=2x+3y h(x,y,z,t)=(t+z+1)(x+y) № 18. 1) x! max( x, y ) x!1 x! 2) g(x,y)=xy h(x,y,z,t)=2t+x+3yz № 19. 1) 2 x 1 (xi i x ) i 0 2) g(x)=x!+1 h(x,y,z)=xmin(z+y,x) № 20. 1) x 2 y 3 y 1 2) g(x,y,z)=2x+3y+z h(x,y,z,t,v)=x+2y+z+t+2v Б. Задания с низким уровнем сложности № 21. 1) 2x+y; 2) g (x, y, z) = x+y+z h(x, y, z, t,v) = (v+1)(x+z). № 22. 1) max{x,y}+1; 2) g(x, y) = x+y h (x, y, z, t) = tx. № 23. 1) min{x,y}; 2) g(x) = 2x h (x, y, t) = t+x. № 24. y 1) x i ; i 0 25 СТО АлтГТУ 15.62.1.0521 - 2011 2) g(x, y, z) = (x+y)z h (x, y, z, t, v) = (v+x)(y+z). № 25. 1) xxy; 2) g(x, y) = 2x+3y h(x, y, z, t) = (t+1)(x+y). № 26. y 1) 2 x i i 0 2) g(x) = 3x h(x, y, t) = (2x+3t)y. № 27. 1( x+y)! 2) g(x, y, z) = x+z+2 h(x, y, z, t, v) = (v+1)(t+xy). № 28. 1) min(2x+1, y) 2) g(x) = 3x+1 h(x, y, t) = (3xy+t)(t+1). № 29. 1) max {yx, xy} 2) g(x, t) = xt+1 h (x, y, t, z) = (zx+yt)x. № 30. y 1 1) x 2i i 0 2) g(x, y) = y+x h (x, y, z, t) = t(x+y). Лабораторная работа № 2. Ограниченный оператор минимизации. Доказательство ПРФ и ЧРФ. Цели и задачи работы: изучение способов доказательства примитивной рекурсивности с использованием теорем о сумме(произведении) ПРФ и ограниченного оператора минимизации, изучение доказательства ЧРФ, разработка программы, реализующей вычисление функции, ПР которой доказана с применением ограниченного оператора. Теоретические сведения о работе приведены в конспекте лекций, литературе [13]. Описание используемых средств для выполнения работы : операционная система Windows ХР/7, Visual Studio 2008-2010. Методика выполнения работы: 1. Изучить ограниченный оператор минимизации, доказательство частичной рекурсивности функций. 26 СТО АлтГТУ 15.62.1.0521 - 2011 2. Доказать примитивную рекурсивность функции с использованием либо ограниченного оператора минимизации, либо теорем о сумме (произведении) ПРФ. (задания 1,2). 3. Доказать ЧРФ (задание 3). 4. Написать программу вычисления значения функции, ПР которой доказана с использованием ограниченного оператора минимизации. 5. Отладить и протестировать программу. 6. Продемонстрировать преподавателю работу программ. Требования к отчету: Отчет по лабораторной должен содержать титульный лист, доказательства примитивной и частичной рекурсивности функций и текст программы. Защита лабораторной, помимо теоретических вопросов, включает выполнение практического задания по доказательству примитивной или частичной рекурсивности функции, предложенной преподавателем. Индивидуальные задания: А. Задания с обычным уровнем сложности № 1. 1) Простое число с номером x. x y . x 1 3) log 2 ( x y ). 2) № 2. 1) log 2 x y 3. 2) Число простых чисел, не превосходящих x. 3) x y. № 3. 1) Наименьшее общее кратное x и y. 2) 3) log 2 x 1 . C xy C zx 5 y , где C x 1 при y x. № 4. 1) Число ненулевых цифр в десятичном представлении числа x, стоящих на нечетных позициях. 2) log 3 x 2 1. 3) x . y 2 № 5. 1) Число ненулевых цифр в троичном представлении числа x. 27 СТО АлтГТУ 15.62.1.0521 - 2011 x! . log 20 x 1 1 2) x y . 2 xy 3 3) № 6. 1) Наибольший простой делитель числа x. 2) x 1 y x . 3) log3 x . x 2y № 7. x . y 1) 2) Наименьшее общее кратное x2 + 1 и 2y + x. 3) x lg x. № 8. 1) Число цифр “3” в пятом представлении числа x. 2) n x 1 !. 3) log 2 x 4 . xy № 9. 1) x x 2 x y 2 x 1. 2) Наибольший общий делитель чисел x2 + y и y2 + x 3) log 2 x. № 10. 1) x 2 . 2) Число простых чисел, не превосходящих x2 + y2. 3) x log3 xy. y № 11. y 1) x 1 z . 2) Наименьшее общее кратное чисел x, x2, y, x + y. y 3) log x y . 28 СТО АлтГТУ 15.62.1.0521 - 2011 № 12. 1) sg xy x y x . 2) Наибольший общий делитель чисел x + y, x2y и xy2. x3 y 3) . 2 x z № 13. 1) log3 xy 4 . 2) Число простых делителей числа xy 3) 3 x y . x. . № 14. x x. y 1 1) 2) Простое число с номером x. 3) x x. y 1 № 15. 1) sg 3 log3 x 2 . 2) Минимальное простое число, принадлежащее отрезку [x, y]. 3) 3 log 3 x 2 . № 16. x 2 log x ! y y 1 1) 2) Число единиц в двоичном представлении числа x. x y 3) lg x lg . № 17. 1) x y lg i . i 1 2) Количество ненулевых знаков в десятичном представлении числа x. x y 3) lg . i 1 i № 18. 3 x . 1) x y . 29 СТО АлтГТУ 15.62.1.0521 - 2011 2) Наибольший простой делитель числа x. 3) xy . x 1) № 19. lg1 x . . 2) Наименьшее общее кратное чисел x, y и z. 3) x 2. № 20. 1) Доказать ПРФ 2 log 2 x z yz 1 x . . 2) Максимальное четное число на отрезке [x; y]. log 2 x 2 z . 3) z 1 y x №21. C xy x y 1) f x , y x 2 y 3 x y. 2) Количество цифр 5 в восьмеричном представлении числа x. 1 y x. 3) C x y3 x2 № 22. 1) Число простых чисел, не превосходящих заданное x. 0 , где t t . x x y 1 3) log 2 x log 3 xy. 2) x № 23. 1) Наибольшее простое число, не превосходящее x. 2) x 3 . 3) x y . log x y 30 СТО АлтГТУ 15.62.1.0521 - 2011 № 24. 3) № 25. 1) log2 x 10 . 2) Число простых делителей числа x. x . y 1 10 log 2 x 1) 2 x y z . y 3 x . z 2) Количество четных цифр в десятичном представлении x, стоящих на нечетных позициях. 10log 2 x x 3) y 3 . 2 z x yz Б. Задания с низким уровнем сложности № 26. 1) lg4 x . 2) Наименьшее общее кратное чисел x и y. 3) № 27. xy . z 1) sg x y x . 2) Сумма делителей числа x. 3) x. № 28. 1) Наибольший общий делитель чисел x и y. x y 2) xy 2 x 2 . y 3) C x log 3 x log 2 y . № 29. 2 2 1) sg x y 2. 2) Число простых делителей xy + 1. 3) lg1 x . № 30. 1) Сумма делителей числа x. 31 СТО АлтГТУ 15.62.1.0521 - 2011 log 2 x 2 . log 3 x 3 4 2) xy . x 3) № 31. 1) 3 lg x 1 . 2) Число простых чисел, не превосходящих заданное x. 3) xy 1 . x y № 32. x 2 lg x 1) . 2 2) Число общих делителей чисел x и y. x 2 lg x 3) . 2 № 33. 1) x. 2) Произведение увеличенных на один делителей x. 3) y x xy. № 34. 1) x y x2 . 2) Сумма удвоенных делителей числа x. y 3) x y x . № 35. 2 2 1) log 2 x y 2 . 2) Произведение удвоенных делителей числа x. x . y 3) № 36. y 1) x . 2) Наибольший общий делитель чисел x и y. 3) x 2 y. 32 СТО АлтГТУ 15.62.1.0521 - 2011 Лабораторная работа № 3. Машина Тьюринга. Синтез. Доказательство вычислимости функции по Тьюрингу. Цели и задачи работы: изучение логики работы машины Тьюринга, разработка машины Тьюринга, выполняющей вычисление функции. Теоретические сведения о работе приведены в конспекте лекций, литературе [13]. Описание используемых средств для выполнения работы : операционная система Windows ХР/7, Visual Studio 2008-2010, программа automat или другой тестер для проверки правильности работы машины Тьюринга. Методика выполнения работы: 1. Изучить способы задания и логику работы машины Тьюринга. 2. Определить, какую функцию вычисляет заданная машина Тьюринга (задание 1). 3. Доказать вычислимость функции по Тьюрингу. (задание 2). 4. Протестировать машину Тьюринга на всевозможных значениях аргументов функции. 5. Продемонстрировать преподавателю работу МТ. Требования к отчету: Отчет по лабораторной должен содержать титульный лист, запись аналитического вида функции по заданию 1, команды МТ или граф по заданию 2. Защита лабораторной, помимо теоретических вопросов, включает выполнение практического задания по построению МТ, предложенной преподавателем. Индивидуальные задания: А. Задания с обычным уровнем сложности №1. 1) f(x, y, z) = ? R R R E R 1, x 1, x 2) f ( x, y ) , x 1& y 3, y 2 y, x 1& y 3. № 2. 1) f(x, y) = ? R E 33 СТО АлтГТУ 15.62.1.0521 - 2011 x y , z 3, z 1 x y 2) f ( x, y, z ) , z 3& y 3, y x y z , z 3& y 3. № 3. 1) f(x, y, z, t) = ? R R R L E R x y, x 2& y 2, 2) f ( x, y, z ) x y , x 2& y 2, x y 2., иначе № 4. 1) f(x, y) = ? R 1L 1L R 1L E R 1L x, y z t 3, , y z t 3. y 2 2) f ( x, y, z, t ) x № 5. 1) f(x, y, z, t) = ? L R R R E L R 1, x 1, x , x 1&z 3, 2) f ( x, y, z ) z2 x y z,x 1&z 3. 34 СТО АлтГТУ 15.62.1.0521 - 2011 № 6. 1) f(x, y, z) = ? R R R E R E y 1, x 3, 2) f ( x, y ) xy 2, x 3, 0, x 3. № 7. 1) f(x, y, z, t) = ? R R E R R x y , z 3, 2) f ( x, y, z ) z2 x y z 2, z 3. № 8. 1) f(x) = ? L E E R R x z, y 1, x z, y 1. 2) f ( x, y, z ) № 9. 1) f(x, y) = ? R 1E R x y / 3, y 2, x y, y 2. 2) f ( x, y, z ) 35 СТО АлтГТУ 15.62.1.0521 - 2011 № 10. 1) f(x, y, z) = ? L R 1E E R 2) x / y, y 2 f ( x, y ) x 2 y, y 2, x , y 2. y № 11. 1) f(x, y) = ? R E R L R R x 2 y 3 , y 4, 2) f ( x, y, z ) xy, y 5, x y , y 5. № 12. 1) f(x) = ? R 1E R x yz , t 2, t 2) f ( x, y, z , t ) x y, t 2& z 2, x,иначе № 13. 1) f(x, y) = ? 36 СТО АлтГТУ 15.62.1.0521 - 2011 R E E R R E x2 y 2 , y 3, 2) f ( x, y ) xy, y 3& x 2, x,иначе № 14. 1) f(x, y) = ? E R R R E R yt , x 4&t 2, y 2) f ( x, y, t ) , x 4, x x y t , x 4&t 2. № 15. 1) f(x, y) = ? R R E E x y , t 3, t 2) f ( x, y, t ) x y, x y&t 3, x, x y&t 3. № 16. 1) f(x, y, z) = ? 37 СТО АлтГТУ 15.62.1.0521 - 2011 E R R R R E R x y , y 3, 2) f ( x, y ) x y, y 3& x 1, x, иначе № 17. 1) f(x, y, z, t) = ? R R R R R R R R R R E L x , x 3, 2) f ( x, y ) 2 log 2 y x y, x 3. № 18. 1) f(x, y) = ? R R R R R x y 2 z 3 , z 4. 2) f ( x, y , z ) ( x y ) z , z 5, x y z , z 5. № 19. 1) f(x, y, z, t) = ? 38 СТО АлтГТУ 15.62.1.0521 - 2011 R R R L R y x, y 2& x 2, 2) f ( x, y, z ) y x , y 2& x 2, x y 1, иначе № 20. 1) f(x, y) = ? E L R L L x y2 , z 3, z 1 x z 2) f ( x, y, z ) , z 3& y 3, y x z , z 3& y 3. Б. Задания с низким уровнем сложности № 21. 1) f(x, y, z) = ? L R R R 2) R R R x y 3, x y 5, f ( x, y , z ) x y 2 z, x y 5. № 22. 1) f(x, y, z) = ? R R R 1E R E R 39 СТО АлтГТУ 15.62.1.0521 - 2011 x y 2, y 3, 2) f ( x, y ) x y 1,0 y 3, 1, y 0. № 23. 1) f(x) = ? 1L R R R E yz x t ,x 2 2) f ( x, y, z , t ) y z t , x 3 y , x 2. № 24. 1) f(x, y, z) = ? R 1 L 1 L E E 1 L R 1 L x , y z 2, 2) f ( x, y, z ) y x, y z 2. № 25. 1) f(x, y, z) = ? L L R L R R E R L 0, x 1, x , x 1&z 3, 2) f ( x, y, z ) z2 x y z, x 1&z 3. № 26. 1) f(x, y, z) = ? R R R E E R 40 СТО АлтГТУ 15.62.1.0521 - 2011 y 2, x 3, 2) f ( x, y, z ) xy 1, x 2, 1, x 2. № 27. 1) f(x, y, z) = ? R R R E R R R x 1, y 4, 2) f ( x, y ) x y ,3 y 4, x y 2 , y 3. № 28. 1) f(x, y, z, t) = ? R R R E R x y 1 , z 3, z2 x y z 2, z 3. 2) f ( x, y, z ) № 29. 1) f(x) = ? L L R R L x y 1, y 1, x y z, y 1. 2) f ( x, y, z ) № 30. 1) f(x, y) = ? R 1 L 1 L R 41 СТО АлтГТУ 15.62.1.0521 - 2011 x 2 y 1, y 2, x y 1, y 2. 2) f ( x, y, z ) № 31. 1) f(x, y, z, t) = ? R 1L 1L 1E R x , y 2, 2) f ( x, y ) y x y, y 2. № 32. 1) f(x, y, z) = ? L R R E L L R x , y 2, 2) f ( x, y ) y x y 1, y 2. № 33. 1) f(x, y, z) = ? R R R R L R R x, y 4, 2) f ( x, y ) x y ,3 y 4, x y 1 , y 3. Лабораторная работа № 4. Алгоритм Маркова. Синтез. Доказательство вычислимости функции по Маркову. Цели и задачи работы: изучение логики работы алгоритма Маркова, разработка алгоритма Маркова, выполняющего вычисление функции. Теоретические сведения о работе приведены в конспекте лекций, литературе [13]. 42 СТО АлтГТУ 15.62.1.0521 - 2011 Описание используемых средств для выполнения работы : операционная система Windows ХР/7, Visual Studio 2008-2010, программа markov или другой тестер для проверки правильности работы алгоритма Маркова. Методика выполнения работы: 1. Изучить представление данных и применение к ним последовательности правил алгоритма Маркова. 2. Доказать вычислимость функции по Маркову (задание 2 из лабораторной № 3). 3. Протестировать алгоритм Маркова на всевозможных значениях аргументов функции. 4. Продемонстрировать преподавателю работу алгоритма Маркова. Требования к отчету: Отчет по лабораторной должен содержать титульный лист, последовательность правил алгоритма Маркова. Защита лабораторной, помимо теоретических вопросов, включает выполнение практического задания по построению алгоритма Маркова, предложенного преподавателем. Лабораторная работа № 5. Рекурсивные функции. Оценка сложности алгоритмов. Цели и задачи работы: изучение рекурсивного программирования, методов разработки эффективных алгоритмов, методики оценки порядка сложности алгоритма. Теоретические сведения о работе приведены в конспекте лекций, литературе [13]. Описание используемых средств для выполнения работы : операционная система Windows ХР/7, Visual Studio 2008-2010. Методика выполнения работы: 1. Изучить технологию использования стека при рекурсивном программировании. 2. Написать рекурсивную программу решения поставленной задачи. 3. Протестировать программу. 4. Оценить порядок временной сложности разработанного рекурсивного алгоритма. Требования к отчету: Отчет по лабораторной должен содержать титульный лист, задание, текст программы, тесты, расчет временной сложности. Защита лабораторной включает теоретические вопросы. Индивидуальные задания: 1. Дано число m. Требуется в последовательности цифр 1 2 3 4 … 9 расставить знаки «+» и «-« так, чтобы значением получившегося выражения было число m. Например, m=122. Знаки расставляются как 12+34-5-6+78+9. 2. В аудитории стоят M компьютеров, на жестком диске каждого из которых имеется некоторое известное количество свободной памяти. Можно ли инсталлировать на них заданное число N программных систем, если каждая система требует для размещения не менее S[j] (j=1,…,N) памяти. 3. Имеются N двузначных чисел. Можно ли их соединить знаками сложения и умножения, чтобы получить заданное число S? 4. На веревке висят прямоугольные скатерти и салфетки так, что они занимают всю веревку. Один предмет был украден. Можно ли перевесить оставшиеся предметы так, чтобы веревка снова стала занятой полностью? Длина веревки, количество предметов и размеры каждого предмета известны. 43 СТО АлтГТУ 15.62.1.0521 - 2011 5. Имеется N контейнеров высоты H. Задано множество предметов, каждый из которых имеет свою высоту. Можно ли разместить предметы в этих контейнерах так, чтобы груз не выступал над контейнером? 6. Для заданного набора слов требуется построить линейный кроссворд. Если окончание одного слова совпадает с началом следующего более чем в одной букве (например, ЛОГИКА-КАСКАД), то такие слова можно объединить в цепочку. Нужно получить любую такую цепочку. 7. Для заданного набора слов требуется построить линейный кроссворд минимальной длины. Если окончание одного слова совпадает с началом следующего более чем в одной букве (например, ЛОГИКА-КАСКАД), то такие слова можно объединить в цепочку, представляющую собой линейный кроссворд. 8. Построить цепочку из имеющегося набора костей домино. 9. Разместить на шахматной доске максимальное количество коней так, чтобы они не находились друг у друга «под боем». 10. Задан набор слов. Построить из них любую цепочку таким образом, чтобы символ в начале следующего совпадал с одним из символов в середине предыдущего (не первым и не последним). 11. Задан массив целых чисел. Построить из них любую последовательность таким образом, чтобы последняя цифра предыдущего числа совпадала с первой цифрой следующего. 12. Задача раскраски карты. Страны на карте заданы матрицей смежности. Если страны i,j имеют на карте общую границу, то элемент матрицы A[i,j] равен 1, иначе 0. Смежные страны не должны иметь одинакового цвета. «Раскрасить» карту минимальным количеством цветов. 13. Задача проведения границы на карте («создание военных блоков»). Страны на карте заданы матрицей смежности. Если страны i,j имеют на карте общую границу, то элемент матрицы A[i,j] равен 1, иначе 0. Необходимо разбить страны на две группы так, чтобы количество пар смежных стран из противоположных групп было минимальным. 14. В последовательности символов могут встречаться только цифры и знаки "+", при этом последовательность представляет собой формулу сложения однозначных чисел. Напишите рекурсивную функцию, определяющую значение формулы. 15. Напишите рекурсивную программу для формирования разметки линейки. При нанесении делений на линейку на ней должна быть метка в точке ½ длины шкалы, метка немного покороче через каждые ¼ длины, еще более короткая через 1/8 длины и так далее. Количество разбиений – степень двойки - задается. 16. Имеется N домов и K красок. Проверить, можно ли покрасить дома имеющимся набором красок, чтобы цвет повторялся не раньше, чем через 2 дома. 17. В группе из N студентов каждый студент назвал трех человек, с которыми хотел бы делать лабораторную в паре. Составить пары из группы, если это возможно. 18. Требуется найти минимальный путь обхода всего множества городов, не посещая один и тот же город дважды (задача коммивояжера). 19. Имеется M типов материалов и K типов клеев, каждый из которых пригоден для склеивания нескольких типов материалов. Требуется попарно склеить P (P<=M) известных типов материалов. Найти минимальное число клеев, которые потребуются для этого. 20. Напишите рекурсивную функцию, проверяющую правильность расстановки скобок в строке. При правильной расстановке выполняются условия: (а) количество открывающих и закрывающих скобок равно. (б) внутри любой пары открывающая – соответствующая закрывающая скобка, скобки расставлены правильно. 44 СТО АлтГТУ 15.62.1.0521 - 2011 Примеры неправильной расстановки: )(, ())(, ())(() и т.п. 21. В строке могут присутствовать скобки как круглые, так и квадратные скобки. Каждой открывающей скобке соответствует закрывающая того же типа (круглой – круглая, квадратной- квадратная). Напишите рекурсивную функцию, проверяющую правильность расстановки скобок в этом случае. Пример неправильной расстановки: ( [ ) ]. 22. Число правильных скобочных структур длины 6 равно 5: ()()(), (())(), ()(()), ((())), (()()). Напишите рекурсивную программу генерации всех правильных скобочных структур длины 2n. Указание: правильная скобочная структура минимальной длины «()». Структуры большей длины получаются из структур меньшей длины, двумя способами: (а) если меньшую структуру взять в скобки, (б) если две меньших структуры записать последовательно. 23. Создайте процедуру, печатающую все возможные перестановки для целых чисел от 1 до N. 24. Создайте процедуру, печатающую все подмножества множества {1, 2, …, N}. 25. Создайте процедуру, печатающую все возможные представления натурального числа N в виде суммы других натуральных чисел. Лабораторная работа № 6. Преобразования формул логики высказываний и предикатов. Цели и задачи работы: изучение конструирования формул алгебры высказываний и предикатов, тавтологий, способов равносильных преобразований и вывода. Теоретические сведения о работе приведены в конспекте лекций, литературе [17]. Описание используемых средств для выполнения работы : листы бумаги, пишущий инструмент. Методика выполнения работы: 1. Изучить способы равносильного преобразования формул высказываний и предикатов, логический вывод. 2. Выполнить индивидуальные задания (по 1 из каждого пункта). Требования к отчету: Отчет по лабораторной должен содержать титульный лист, задания, последовательность преобразований или логический вывод с пояснениями. Защита лабораторной включает теоретические вопросы. Индивидуальные задания: 1. Пусть A обозначает высказывание “Я увлекаюсь теннисом”, а B обозначает высказывание “Я изучаю программирование”. Дайте словесную формулировку следующих высказываний: 1) ¬A ; 2) ¬¬B; 3) AB; 4) A B ; 5) A¬B; 6) ¬AB ; 7) ¬A ¬B; 8) A→ B; 9) A↔ B ; 10) ¬A B. 2. Проверить, является ли формула тавтологией: 1) A→ A. 6) A↔ A. 2) ¬A→ A. 7) (A A)→ A. 3) A ¬A. 8) (A A)→ A. 4) A ¬A. 9) (A A)→(A A). 5) A↔¬A. 10) ¬(A↔¬A) . 45 СТО АлтГТУ 15.62.1.0521 - 2011 3. Доказать, что формула является тавтологией, без построения таблицы истинности. Во всех формулах выделить всевозможные подформулы. 1) (A→ B)→((A C)→(B C)). 2) ((A→ B) (B→C))→(A→C). 3) ((A B)↔ B)↔(B→ A). 4) (A→ B)↔(¬B→¬A). 5) ((A→ B)→ A)→ A. 6) ¬A→(A→ B) . 7) (¬A→ B) ¬(A B). 8) (A→ B)→(¬B→¬A). 9) (A→C)→((B→C)→(A B→C)). 10) (A→ B)→((A C)→(B C)). 4. Доказать, что первая формула логически влечет вторую формулу. 1) ¬(A B); ¬(A B). 2) A; B→ A. 3) (A→ B)(B→C); A→C . 4) A→ B; (AC)→(B C). 5) A→C ; (B→C)→(A B→C). 6) A; ¬¬A. 7) ¬A; A→ B. 8) A→ B; (A C)→(B C). 9) A→ B; ¬B→¬A. 10) A→(B→C); (A→ B)→(A→C). 5. Построить вывод формулы. 1) (A→ B)→((A→(B→C))→(A→C)). 2) (A→ B)→((B→C)→(A→C)) . 3) (A→B)→((B→C)→((C →D)→ (A→ D))) . 4) ¬A→(A→ B) . 5) ¬¬A→ A. 6) A→¬¬A. 7) (A→¬¬B)→(A→ B). 8) (¬¬ A→ B)→(A→ B). 9) (A→B)→(¬B→¬A). 10) A→(¬B→¬(A→ B)) . 11) (A→ B)→((¬B→ A)→ B). 12) ((A→B)→ A)→ A. 6. Записать инверсию формулы в предваренной нормальной форме. 1) x¬A(x). 2) x(A(x)¬B(x)). 3) x¬A(x) . 4) x(A(x)→ yB( y)). 5) x(A(x)B(x)C(x)). 6) x(A(x)→ B(x)). 7) x(A(x)↔ B(x)). 8) x(A(x) yB( y)). 9) x(A(x)→ B(x)) x(C(x) ¬D(x)). 10) xyz(A(x, y, z)→ B(x, y, z)). 46 СТО АлтГТУ 15.62.1.0521 - 2011 А.3 Отчет по лабораторной работе Согласно СТП 12 700 2007 отчёт должен быть оформлен на сброшюрованных листах формата А4 (210297 мм), отчёт составляется каждым студентом индивидуально. ; Отчёт должен включать следующие структурные элементы: а) титульный лист, оформленный в соответствии с СТП 12 570-2006; б) цель работы, в том числе задание на лабораторную работу; в) основную часть. А.4 Сроки сдачи лабораторных работа Лабораторная работа №1 – 2 неделя, №2 – 4 неделя, №3 – 8 неделя, №4 – 10 неделя, № 5 – 14 неделя, № 6 – 17 неделя. А.5 Учебно-методическое и информационное обеспечение Основная литература 1 Игошин, В. И. Математическая логика и теория алгоритмов: учеб. пособие /В. И. Игошин.-М.: Академия, 2008. – 448 с. - 25 экз. 2 Крючкова, Е.Н. Математическая логика и теория алгоритмов: учебное пособие / Е.Н. Крючкова. – Барнаул, изд-во АлтГТУ, 2010. - Режим доступа: http//elib.alstu.ru, свободный 3 Судоплатов, С.В. Математическая логика и теория алгоритмов: учебник /С. В. Судоплатов, Е. В. Овчинникова.-Новосибирск: НГТУ, 2010.- 255 с. - 2 экз. Дополнительная литература 4 Соболева, Т.С. Дискретная математика: [учеб. для вузов по специальностям "Информатика и вычисл. техника", "Информ. системы", "Информ. безопасность"] /Т. С. Соболева, А. В. Чечкин ; под ред. А. В. Чечкина.-М.: Академия, 2006. - 254 с. – 11 экз. 5 Лавров, И.А. Математическая логика : [учеб. пособие для вузов по техн. и естеств.-науч. специальностям] / И. А. Лавров ; под ред. Л. Л. Максимовой. - М. : Академия, 2006. – 239 с. – 11 экз. 6 Успенский В.А. Вводный курс математической логики: [учеб. пособие] /В. А. Успенский , Н. К. Верещагин, В. Е. Плиско.-М.: ФИЗМАТЛИТ, 2007125 с. – 3 экз. 7 Мендельсон Эллиот. Введение в математическую логику: переводное издание /Э. Мендельсон; пер. с англ. Ф. А. Кабакова .-М.: Наука, 1984. - 319 с. – 14 экз. Рекомендуемые сайты: 1. www.intuit.ru 2. www.window.edu.ru 5. Электронная библиотека: http//elib.alstu.ru/ 47 СТО АлтГТУ 15.62.1.0521 - 2011 ПРИЛОЖЕНИЕ Б МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ РАСЧЕТНОГО ЗАДАНИЯ ПО ДИСЦИПЛИНЕ "МАТЕМАТИЧЕСКАЯ ЛОГИКА И ТЕОРИЯ АЛГОРИТМОВ " Б.1 Общие сведения о расчетном задании Б.1.1 Цель выполнения расчетного задания Расчетное задание по дисциплине «Математическая логика и теория алгоритмов» является заключительным этапом в изучении студентами направления «Информационная безопасность» соответствующей учебной дисциплины. Расчетное задание предполагает самостоятельную работу студента и служит для систематизации и закрепления теоретических знаний и практических навыков по дисциплине, а также для применения этих знаний при разработке эффективного алгоритма и создании программного продукта, позволяющего решить поставленную NP-полную задачу. При выполнении работы развиваются навыки выполнения самостоятельной работы и проведения научного поиска; приобретаются навыки по оформлению и представлению результатов проделанной работы. Б.1.2 Организация выполнения расчетного задания Расчетное задание выполняется согласно заданию, выданному преподавателем на 10 неделе семестра. В задании указывается тема, основные этапы работы и сроки их выполнения. Тема предполагает доказательство NP-полноты задачи, разработку эффективного алгоритма ее решения, создание программного продукта, практическую оценку временной сложности алгоритма. Результатом расчетного задания является доказательство NP-полноты, программный продукт, расчет временной сложности и пояснительная записка. Расчетное задание должно быть выполнено и защищено до окончания семестра в срок, установленный в задании. Оно оценивается по стобалльной шкале, полученный рейтинг учитывается в семестровом рейтинге. При выполнении и/или защите работы после установленного срока оценка может быть снижена. Процесс сдачи расчетного задания включает в себя: - доказательство NP-полноты; - демонстрацию программного продукта; - предоставление расчета временной сложности; - представление отчета о выполнении раcчетного задания; - устную защиту. По результатам выполнения расчетного задания студент должен сдать: - отчет на бумажном носителе; - электронную копию отчета; - программный продукт в электронном варианте. Процесс выполнения расчетного задания рекомендуется разделить на следующие этапы: 1) формализация задачи, изучение необходимой учебной, научно-технической литературы и интернет-источников; 2) доказательство NP-полноты задачи; 3) разработка алгоритма решения задачи; 4) написание программы, ее тестирование и отладка; 48 СТО АлтГТУ 15.62.1.0521 - 2011 5) оценка временной сложности программы; 6) оформление отчета; 7) сдача работы и защита работы. Отчет рекомендуется оформлять параллельно с текущим этапом работы. Б.1.3 Разработка программного продукта Требования, предъявляемые к программному продукту: - программа должна быть работоспособной; - программа должна полностью правильно решать поставленную задачу. При разработке программного продукта следует использовать знания и навыки, полученные в ходе изучения теоретического материала и выполнения лабораторных работ. Рекомендуется продемонстрировать программный продукт примерно за 2-3 недели до окончания срока. В этом случае при возникновении замечаний останется время на доработки и исправление ошибок, и на выполнение оценки временной сложности правильной версии программного продукта. Б.2 Темы расчетных заданий Темы расчетных заданий определяет преподаватель. При выборе темы могут быть учтены индивидуальные пожелания студентов, их предпочтения в плане научноисследовательской и практически-значимой деятельности. Возможен вариант, когда тема предлагается студентом, обсуждается, корректируется вместе с преподавателем и утверждается в качестве темы расчетного задания. Общие требования к теме расчетного задания: - задача должна относиться к классу NP-полных задач; - должен быть разработан программный продукт для решения поставленной задачи, написанный на языке высокого уровня; - при проектировании и реализации программы должны использоваться теоретические знания и практические навыки, полученные в ходе изучения дисциплины; - при выполнении расчетного задания студент должен продемонстрировать основные знания, умения и навыки, полученные при изучении данной дисциплины - решение поставленной задачи включает выполнение студентом поисковоисследовательский работы (поиск информации, изучение литературных источников, в том числе ресурсов сети Интернета, исследование и анализ существующих способов решения поставленной задачи и т.д.). Цель расчетного задания: приобрести практический опыт доказательства NPполноты, разработки эффективного алгоритма, расчета временной сложности, закрепить на практике знания и навыки, полученные в ходе изучения дисциплины «Математическая логика и теория алгоритмов». Примеры вариантов расчетных заданий: 1. Имеется битовая плоскость размера MxM, на которой нарисован рисунок. Хватит ли N прямоугольников, чтобы закрыть ими рисунок? 2. Фирма торгует мебелью N типов, для каждого типа известны цена и занимаемая ею площадь. Можно ли выбрать по одному наименованию мебели каждого типа так, чтобы она разместилась на заданной площади и ее цена была больше, чем известное число S? 49 СТО АлтГТУ 15.62.1.0521 - 2011 3. Администрация школы решила подарить каждому первокласснику по набору, включающему открытку, пенал, ручку и набор фломастеров. На каждого ребенка запланировано потратить не более N рублей. Однако требуется, чтобы у разных детей подарки в наборах не повторялись. Имеется прайс фирмы, торгующей канцтоварами. Удастся ли в фирме приобрести подарки для M первоклассников? 4. Группа студентов сдает экзамен. В билете 2 вопроса и задача. Экзамен принимают два преподавателя, один принимает теорию, второй – задачу, порядок сдачи вопросов билета изменять нельзя. Время, нужное для сдачи каждым студентом первого, второго вопроса и задачи известно. Успеют ли преподаватели принять экзамен в течение N часов? Предложить порядок сдачи экзамена, чтобы время сдачи было минимально. Б.3 Оформление отчета по расчетному заданию Отчет по расчетному заданию должен включать: - титульный лист; - содержание; - введение; - постановку задачи; - доказательство NP-полноты; - описание алгоритма решения задачи; - тест программы; - результаты тестирования программы; - расчет временной сложности; - заключение; - список использованных источников; Оформление отчета должно быть осуществлено в соответствии с СТП АлтГТУ 12 570 и СТО 12 400 2009. Б.4 Общие рекомендации Изучите методические указания к выполнению расчетного задания. Ответственно отнеситесь к выбору темы: если у Вас есть какие-то предпочтения по теме, то обсудите их с преподавателем. Проведите обзор литературных источников и сетевых ресурсов по теме расчетного задания. Осуществите формализованную постановку задачи, обоснуйте ее NPполноту и предложите эффективный алгоритм ее решения. Документируйте результаты отдельных видов работ по ходу их выполнения: в этом случае к окончанию работы текст отчета будет практически готов, текст программы – корректно оформлен и комментирован. После получения работоспособного программного продукта приступите к итоговому оформлению отчета. Подготовьтесь к защите расчетного задания: подготовьте все необходимые материалы на электронном и бумажном носителе, приготовьтесь рассказать о проделанной работе и ответить на вопросы преподавателя. При возникновении вопросов обязательно консультируйтесь с преподавателем. Стремитесь к соблюдению графика работы, не затягивайте выполнение этапов. Б.5 Примерный перечень информационных источников Студенту могут быть полезны следующие информационные ресурсы: 50 СТО АлтГТУ 15.62.1.0521 - 2011 Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. – М.: Мир, 1982. – 416 с. 2 Игошин, В. И. Математическая логика и теория алгоритмов: учеб. пособие /В. И. Игошин. - М.: Академия, 2008. – 448 с. 3 Крючкова, Е.Н. Математическая логика и теория алгоритмов: учебное пособие / Е.Н. Крючкова. – Барнаул, изд-во АлтГТУ, 2010. - Режим доступа: http//elib.alstu.ru, свободный 4 Судоплатов, С.В. Математическая логика и теория алгоритмов: учебник /С. В. Судоплатов, Е. В. Овчинникова.-Новосибирск: НГТУ, 2010.- 255 с. 5 Соболева, Т.С. Дискретная математика: [учеб. для вузов по специальностям "Информатика и вычисл. техника", "Информ. системы", "Информ. безопасность"] /Т. С. Соболева, А. В. Чечкин ; под ред. А. В. Чечкина.-М.: Академия, 2006. - 254 с. Рекомендуемые сайты: 1 1. www.intuit.ru 2. www.window.edu.ru 51