Министерство экономического развития и торговли Российской Федерации Государственный университет - Высшая школа экономики Факультет Бизнес-информатики Программа дисциплины Дискретная математика для направления Прикладная математика и информатика 010500 подготовки бакалавра Авторы О.П. Кузнецов, [email protected] С.О. Кузнецов, [email protected] Рекомендована секцией УМС Одобрена на заседании кафедры _____________________________ Председатель _____________________________ «_____» __________________ 200 г. ________________________________ Зав. кафедрой ________________________________ «____»_____________________ 200 г Утверждена УС факультета _________________________________ Ученый секретарь _________________________________ « ____» ___________________200 г. Москва 1 2 Программа дисциплины Дискретная математика для направления «Прикладная математика и информатика» I. Пояснительная записка Автор программы: Доктор технических наук, профессор, академик Российской Академии естественных наук О.П.Кузнецов Требования к студентам: Изучение курса "Дискретная математика" не требует предварительных знаний, выходящих за пределы программ общеобразовательной средней школы. Аннотация. Дискретная математика - одна из важнейших составляющих современной математики. С одной стороны, она включает фундаментальные основы математики - теорию множеств, математическую логику, теорию алгоритмов; с другой стороны, является основным математическим аппаратом информатики и вычислительной техники и потому служит базой для многочисленных приложений в экономике, технике, социальной сфере. В отличие от традиционной математики (математического анализа, линейной алгебры и др.), методы и конструкции которой имеют в основном числовую интерпретацию, дискретная математика имеет дело с объектами нечисловой природы: множествами, логическими высказываниями, алгоритмами, графами. Благодаря этому обстоятельству дискретная математика впервые позволила распространить математические методы на сферы и задачи, которые ранее были далеки от математики. Примером могут служить методы моделирования различных социальных и экономических процессов. Знание теории множеств, алгебры, математической логики и теории графов совершенно необходимо для четкой формулировки понятий и постановок различных прикладных задач, их формализации и компьютеризации, а также для усвоения и разработки современных информационных технологий. Понятия и методы теории алгоритмов и алгебры логики лежат в основе современной теории и практики программирования. Учебные задачи курса. В результате изучения курса «Дискретная математика» студенты должны - уметь пользоваться методами дискретной математики (в частности, методами комбинаторики, теории отношений, теории графов, математической логики) для формализации и решения прикладных задач, в том числе экономических; - иметь представление о теоретических основах современных информационных технологий. 2 3 II. Тематический план курса " Дискретная математика " № п/п Наименование тем (с разбивкой по модулям) Аудиторные часы лекции семинары Контр. работы Самост. занятия Всего часов всего Первый модуль (28 часов) 1 Множества, функции, отношения 6 6 12 12 24 2 Комбинаторика 4 4 8 12 20 3 Элементы общей алгебры 4 4 8 10 18 22 34 22 42 14 26 20 32 2 Второй модуль (32 часа) 4 5 Математическая логика (алгебраический подход) Теория графов 6 6 12 10 10 20 2 Третий модуль (28 часов) 6 Теория алгоритмов 8 6 14 7 Теория формальных грамматик и автоматов, сети Петри 8 6 14 2 Четвертый модуль (28 часов) 8 9 Сложность комбинаторных алгоритмов Теория вычислительной сложности 8 8 16 18 34 6 6 12 16 28 Пятый модуль (28 часов) 10 Математическая логика (аксиоматический подход) 14 14 28 34 62 Итого 72 72 144 180 324 Формы рубежного контроля и структура итоговой оценки. Итоговый контроль - экзамен в конце курса; Промежуточный контроль - дифференцированный зачет в конце второго модуля; Текущий контроль - 2 контрольные работы в конце первого и второго модулей и 1 домашнее задание в третьем модуле. Итоговая оценка складывается из следующих элементов: - работа на семинарах; - 2 письменные аудиторные контрольные работы (290 мин); - домашнее задание; - письменный зачет (90 мин) - письменный экзамен (180 мин) Таблица соответствия оценок по десятибалльной и пятибалльной системам 3 4 По десятибалльной шкале 1- очень плохо 2- плохо 3- неудовлетворительно 4- удовлетворительно 5- весьма удовлетворительно 6- хорошо 7- очень хорошо 8- почти отлично 9- отлично 10- блестяще По пятибалльной шкале неудовлетворительно - 2 удовлетворительно – 3 хорошо – 4 отлично – 5 Базовый учебник: Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004. III. Содержание программы Тема 1. Множества, функции, отношения. Множества - основные понятия. Диаграммы Венна. Операции над множествами: объединение, пересечение, дополнение. Векторы, их проекции. Прямое произведение множеств. Соответствия и их свойства. Взаимно-однозначные соответствия. Мощности бесконечных множеств. Понятие функции. Обратные функции. Суперпозиции и формулы. Способы задания функций. Общее понятие отношения. Бинарные отношения и их свойства (рефлексивность, симметричность, транзитивность). Отношение эквивалентности и классы эквивалентности. Отношение порядка. Линейный порядок и частичный порядок. Диаграммы Хассе. Лексикографический порядок. Ранжирование и проблема выбора. Отношения и реляционные базы данных. Основная литература: 1. Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004, гл.1. 2. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Физматлит, 2001. Дополнительная литература: 1. Новиков Ф. Дискретная математика для программистов. Спб, Питер, 2000. Тема 2. Комбинаторика Предмет комбинаторики. Правило суммы и правило произведения. Принцип включения и исключения. Размещения, перестановки, сочетания без повторений и с повторениями. Биномиальные коэффициенты и соотношения для них. Задачи перечисления. Подсчет числа функций с конечными областями определения. Основная литература: Виленкин Н.Я., Виленкин А.Н., Виленкин П.А. 2006. Комбинаторика. М.: ФИМА, МНЦМО, Дополнительная литература: Новиков Ф. Дискретная математика для программистов. Спб, Питер, 2000. Тема 3. Элементы общей алгебры. 4 5 Алгебры и подалгебры. Свойства алгебраических операций: ассоциативность, коммутативность, дистрибутивность. Изоморфизм и гомоморфизм. Основные алгебраические структуры: полугруппы, группы, решетки. Связь решеток с частично упорядоченными множествами. Основная литература: Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004, гл.2. Тема 4. Математическая логика (алгебраический подход). Основные понятия логики: высказывания и рассуждения. Основные логические связки. Алгебра высказываний. Логические функции и способы их задания - таблицы и формулы. Алгебраический подход к логике. Функциональная полнота. Булева алгебра и ее законы. Дизъюнктивные и конъюнктивные нормальные формы. Алгебра Жегалкина. Линейные и монотонные функции. Теорема о функциональной полноте. Логика предикатов. Предметная область и предметные переменные. Кванторы общности и существования. Свободные и связанные переменные. Эквивалентные соотношения в логике предикатов. Общезначимые и противоречивые формулы. Запись утверждений естественного языка в логике предикатов. Основная литература: 1. Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004, гл.3. 2. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Физматлит, 2001. Дополнительная литература: 1. Новиков Ф. Дискретная математика для программистов. Спб, Питер, 2000. 2. Гаврилов Г.П., Сапоженко А.А. Сборник задач по дискретной математике. М., Наука, 1977. Тема 5. Теория графов. Основные определения: неориентированные и ориентированные графы, мультиграфы и кратные ребра. Смежность и инцидентность. Способы представления графов. Матрица смежности. Графы и бинарные отношения. Изоморфизм графов. Полные графы и клики. Пути, циклы, цепи, простые цепи в неориентированных графах. Связность и компоненты связности. Расстояния. Центр, радиус, диаметр графа. Обходы графов. Виды связности в ориентированных графах: сильная связность, односторонняя связность. Ациклические графы и топологическая сортировка. Конденсация. Матрицы графов и операции над ними. Двудольные графы и формулировка задачи о паросочетаниях. Знаковые графы и понятие стабильности. Применение знаковых графов для формализации задач в социальной сфере. Деревья и их свойства. Цикломатическое число. Приложения деревьев: иерархии, классификации. Обходы деревьев. Оптимизационные задачи на графах. Кратчайшие пути и алгоритм Дейкстры. Потоки в сетях: определения, понятие увеличивающей цепи, алгоритм нахождения минимального потока. Сетевое планирование: ранние и поздние сроки, критические пути, виды резервов времени. Основная литература: 1. Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004, гл.4. 2. Свами М., Тхуласираман К. Графы, сети, алгоритмы. М., Мир, 1984. Дополнительная литература: 1. Новиков Ф. Дискретная математика для программистов. Спб, Питер, 2000. 2. Майника Э. Алгоритмы оптимизации на сетях и графах. М., Мир, 1981. 5 6 3. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. / Пер. с английского под ред. А.Шеня. - М.: МЦМНО, 2002. 4. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика. М., Мир, 1980. Основная литература: 1. Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004, гл.. Тема 6. Теория алгоритмов Общее понятие алгоритма. Требования к алгоритмам. Тезис Черча. Машины Тьюринга. Универсальная машина Тьюринга. Понятие рекурсии. Рекурсивные функции. Алгоритмические неразрешимости. Разрешимые и перечислимые множества. Иерархия неразрешимостей. Основная литература: 1. Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004, гл.5. 2. Шоломов Л.А. Основы теории дискретных логических и вычислительных устройств. М., Наука, 1980. Дополнительная литература: 1. Булос Дж., Джеффри Р. Вычислимость и логика. М., Мир, 1994. 2. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Физматлит, 2001. 3. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений., 2-е изд., : Пер. с англ. - М.: Издательский дом "Вильямс", 2002. Тема 7. Теория формальных грамматик и автоматов, сети Петри Формальные грамматики. Контекстно-свободные грамматики. Синтаксический разбор. Алгоритмы синтаксического разбора. Эквивалентность грамматик. Графовые грамматики. Конечные автоматы. Основные определения. Примеры автоматных алгоритмов. Эквивалентность автоматов. Логические автоматы и логические схемы. Автоматные языки. Программная реализация автоматных алгоритмов. Сети Петри и примеры их использования для моделирования параллельных процессов: схема обслуживания, распараллеливание и синхронизация, дедлок и зависание процесса. Проблема достижимости в сетях Петри. V. Литература 1. Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004. 2. Новиков Ф. Дискретная математика для программистов. Спб, Питер, 2000. Дополнительная: 1. Столл Роберт Р. Множества. Логика. Аксиоматические теории. М.: Просвещение, 1968. 2. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений., 2-е изд., : Пер. с англ. - М.: Издательский дом "Вильямс", 2002. 6 7 Тема 8. Комбинаторные алгоритмы и их сложность Алгоритмы сортировки. Поиск в глубину (пример - построение остовного дерева). Сложность алгоритмов поиска в деревьях различного вида. Алгоритмы поиска в trieдеревьях. Алгоритм построения транзитивного замыкания отношения. Алгоритм построения графа диаграммы (Хассе) для отношения порядка. Алгоритмы поиска максимальных паросочетаний. Алгоритм построения эйлерова маршрута. Алгоритм построения циклического базиса графа. Эффективные алгоритмы для перечисления структур из большого семейства. Задержка и полиномиальная задержка. Кумулятивная задержка. Эффективные эвристики для приближенного решения трудноразрешимых задач. Основная литература: 1. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. / Пер. с английского под ред. А.Шеня. - М.: МЦМНО, 2002. Дополнительная литература: 1. Булос Дж., Джеффри Р. Вычислимость и логика. М., Мир, 1994. 2. Гэри М., Джонсон Д, Вычислительные машины и труднорешаемые задачи.. М., Мир, 1982. 3. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика. М., Мир, 1980. 4. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений., 2-е изд., : Пер. с англ. - М.: Издательский дом "Вильямс", 2002. Тема 9. Теория вычислительной сложности Временная сложность и сложность по памяти в худшем случае. Полиномиальная сложность. Понятие о сложности вычислений в среднем. Недетерминированная машина Тьюринга, сводимость задач по Карпу, полиномиальная сводимость по Карпу, класс NP, NP-полнота, NP-полнота задачи о выполнимости 3-КНФ. Известные NP-полные задачи: Гамильтонов цикл, изоморфизм подграфу, максимальная клика, минимальное вершинное покрытие. Понятие о полиномиальной иерархии. Недетерминированная считающая машина Тьюринга, класс #P, полиномиальная сводимость по Тьюрингу, #P-полнота, #P-полные задачи: вычисление выполняющих наборов КНФ, число максимальных клик, число вершинных покрытий. Основная литература: 1. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. / Пер. с английского под ред. А.Шеня. - М.: МЦМНО, 2002. 2. Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004, гл.5. Дополнительная литература: 1. Булос Дж., Джеффри Р. Вычислимость и логика. М., Мир, 1994. 2. Шоломов Л.А. Основы теории дискретных логических и вычислительных устройств. М., Наука, 1980. 7 8 3. Гэри М., Джонсон Д, Вычислительные машины и труднорешаемые задачи.. М., Мир, 1982. 4. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Физматлит, 2001. 5. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений., 2-е изд., : Пер. с англ. - М.: Издательский дом "Вильямс", 2002. Тема 10. Математическая логика (аксиоматический подход). Общие понятия о формальных системах и методах формализации. Понятие вывода в формальной системе. Логические исчисления и аксиоматические системы. Логическое следование, вывод, доказательство. Интерпретации и модели. Непротиворечивость, полнота и разрешимость логических исчислений. Логические теории. Арифметики Пресбургера и Пеано. Теоремы Геделя. Метод резолюции для исчисления высказываний. Метод резолюции для логики предикатов первого порядка. Различные стратегии метода резолюций. Метод аналитических таблиц для исчисления высказываний и логики предикатов первого порядка. Неклассические логики. Логика и правдоподобные рассуждения. Основная литература: 1. Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004, гл.5. 2. Мендельсон Э. Введение в математическую логику. М.: Наука, 1984. 3. Гладкий А.В. Математическая логика. М., Российск. гос. гуманит. ун-т, 1998. Дополнительная литература: Столл Роберт Р. Множества. Логика. Аксиоматические теории. М.: Просвещение, 1968. Тематика практических занятий (семинаров) Семинары 1.1 - 1.3. Множества, функции, отношения. Операции над множествами: объединение, пересечение, дополнение. Мощности множеств, получаемых в результате этих операций. Диаграммы Венна. Векторы, их проекции. Прямое произведение множеств. Мощность прямого произведения. Соответствия и их свойства. Примеры соответствий с различными свойствами. Функции, их области определения и области значений. Обратные функции. Иллюстрация этих понятий на примерах нечисловых функций. Суперпозиции и формулы. Способы задания функций. Бинарные отношения и их свойства (рефлексивность, симметричность, транзитивность). Примеры числовых и нечисловых отношений с различными свойствами. Операции над отношениями. Матричное задание отношений. Отношение эквивалентности и свойства его матрицы. Отношение порядка. Линейный порядок и частичный порядок. Диаграммы Хассе. Лексикографический порядок. Ранжирование и проблема выбора. Семинары 1.4 - 1.5. Комбинаторика Правило суммы и правило произведения. Связь этих правил с операциями над множествами. Принцип включения и исключения. Примеры задач на этот принцип. Размещения, перестановки, сочетания без повторений и с повторениями. Биномиальные коэффициенты и соотношения для них. Подсчет числа функций, определенных на конечных множествах. Методы перечисления комбинаторных объектов. Семинары 1.6 - 1.7. Элементы общей алгебры. Алгебры и подалгебры - примеры. Свойства алгебраических операций: ассоциативность, коммутативность, дистрибутивность. Изоморфизм и гомоморфизм. Примеры числовых и 8 9 нечисловых алгебраических структур: полугрупп, групп, решеток. Связь решеток с частично упорядоченными множествами. Семинары 2.1 - 2.2. Математическая логика (алгебраический подход). Основные логические связки и запись высказываний с их помощью. Способы задания логических функций - таблицы и формулы. Вычисление функций, заданных формулами. Булева алгебра и ее законы. Методы перехода от таблиц к формулам и обратно. Дизъюнктивные и конъюнктивные нормальные формы. Эквивалентные преобразования булевых формул. Алгебра Жегалкина. Функциональная полнота. Линейные и монотонные функции. Теорема о функциональной полноте. Логика предикатов. Предметная область и предметные переменные. Кванторы общности и существования. Свободные и связанные переменные. Эквивалентные соотношения в логике предикатов и их использование для преобразования формул логики предикатов. Запись математических утверждений и утверждений естественного языка в логике предикатов. Семинар 2.3. Разбор вариантов 1-й контрольной работы. Повторение материала первых четырех тем. Семинары 2.4 - 2.8. Теория графов. Способы представления графов и переход от одного представления к другому. Матрицы смежности для неориентированных и ориентированных графов. Графы и бинарные отношения; свойства отношений в терминах свойств графов, представляющих эти отношения. Пути, циклы, цепи, простые цепи в неориентированных графах. Связность и компоненты связности. Расстояния. Центр, радиус, диаметр графа. Необходимые и достаточные условия существования эйлерова обхода и алгоритм его построения. Построение примеров ориентированных графов с различными видами связности. Необходимые и достаточные условия существования топологической сортировки и алгоритм ее построения. Алгоритм построения конденсации ориентированного графа. Матрицы графов и операции над ними. Матричные методы анализа графов. Знаковые графы и понятие стабильности. Алгоритм Харари определения стабильности. Деревья и их свойства. Цикломатическое число. Приложения деревьев: иерархии, классификации. Обходы деревьев. Оптимизационные задачи на графах. Алгоритм Дейкстры нахождения кратчайших путей во взвешенных ориентированных графах. Алгоритм нахождения увеличивающей цепи в потоковой сети и алгоритм нахождения минимального потока. Методы анализа сетевых графиков: нахождение ранних и поздних сроков, критических путей, анализ резервов времени. Семинары 3.1 - 3.3. Теория алгоритмов. Примеры построения машин Тьюринга, реализующих простые алгоритмы, и протоколов их функционирования. RAM-машины и другие современные модели, эквивалентные машине Тьюринга. Примеры разрешимых и перечислимых множеств. Доказательство неразрешимости. Доказательство вычислимости. Иерархия неразрешимостей. Семинар 3.4. Разбор вариантов 2-й контрольной работы. Семинары 3.5 - 3.7. Теория формальных грамматик и автоматов, сети Петри Примеры формальных грамматик, контекстно-свободных грамматик. Алгоритмы синтаксического разбора. Понятие вывода в формальных системах. Языки программирования как формальные системы. Примеры конечных автоматов, автоматных алгоритмов и различных методов их описания. Сети Петри и примеры их использования для моделирования параллельных процессов: схема обслуживания, распараллеливание и синхронизация, дедлок и зависание процесса. Семинары 4.1 - 4.4. Теория вычислительной сложности. 9 10 Понятие об алгоритмической сложности, переборных и трудно вычислимых задачах. Сложность в худшем случае, понятие о сложности в среднем. Полиномиальная сложность в худшем случае, примеры полиномиально разрешимых задач. Примеры сводимостей задач. Недетерминированная машина Тьюринга, класс NP. Примеры NP-трудных и NP-сложных задач. Примеры сложных задач из полиномиальной иерархии Мейера-Стокмейера. Примеры перечислительных задач. Семинары 4.5-4.7. Сложность комбинаторных алгоритмов. Алгоритмы сортировки. Алгоритмы поиска максимальных паросочетаний. Сложность алгоритмов поиска в деревьях различного вида. Поиск в trie-деревьях. Эффективные алгоритмы для перечисления структур из большого семейства: иллюстрация понятий (кумулятивной) задержки и полиномиальной (кумулятивной) задержки. Эффективные эвристики для приближенного решения трудноразрешимых задач. Семинары 5.1-5.3. Математическая логика (аксиоматический подход). Примеры вывода в исчислении высказываний и исчислении предикатов. Примеры прикладных теорий. Арифметика Пресбургера, арифметика Пеано. Понятия интерпретации, модели, непротиворечивости. Автоматические методы доказательства теорем. Метод резолюции для исчисления высказываний и логики предикатов первого порядка. Разновидности стратегий метода резолюций. Семинар 5.4. Разбор вариантов 3-й контрольной работы. Семинары 5.5-5.7. Математическая логика (аксиоматический подход). Метод аналитических таблиц. Понятие о неклассических логиках: примеры модальных логик, интуиционистская логика. Примеры логического моделирования правдоподобных рассуждений. IV. Вопросы для оценки качества освоения дисциплины Может ли отношение эквивалентности быть одновременно и отношением порядка? Каковы свойства графов, представляющих отношения эквивалентности. Что такое диаграммы Хассе и к какому виду относятся их графы? Каково число различных функций типа АВ3С, если А= 3, В= 4, С= 2? Какова мощность множества логических функций 5 переменных, которые принимают значение 1 только на тех наборах значений переменных (но необязательно на всех), которые содержат ровно 2 единицы? 6. Как связано понятие функциональной полноты с реализацией логических функций логическими схемами? 7. Может ли радиус графа равняться его диаметру? 8. Какие виды связности возможны в ориентированных деревьях? 9. Можно ли представить неориентированное дерево в виде двудольного графа? 10. Может ли разрешимое множество не быть перечислимым? 11. Что такое вывод в формальной системе? 12. Каким формальным языкам соответствуют автоматы? 13. Возможен ли полиномиальный алгоритм для NP-полной задачи? 14. Можно ли задачу о выполнимости КНФ свести к задаче о максимальном паросочетании в двудольном графе за полиномиальное время? 15. Всегда ли можно построить доказательство произвольной формулы из логической теории первого порядка, включающей арифметику Пеано, с помощью метода резолюции? 1. 2. 3. 4. 5. V. Литература 10 11 1. Виленкин Н.Я., Виленкин А.Н., Виленкин П.А. Комбинаторика. М.: ФИМА, МНЦМО, 2006. 2. Гладкий А.В. Математическая логика. М., Российск. гос. гуманит. ун-т, 1998. 3. Колмогоров А.Н., Драгалин А.Г. Математическая логика. М.: Едиториал УРСС, 2004. 4. Кузнецов О.П. Дискретная математика для инженера, изд. 3. Спб: Лань, 2004. 5. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Физматлит, 2001. 6. Мендельсон Э. Введение в математическую логику. М.: Наука, 1984. 7. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. / Пер. с английского под ред. А. Шеня. - М.: МЦМНО, 2002. 8. Новиков Ф. Дискретная математика для программистов. Спб, Питер, 2000. 9. Питерсон Дж. Теория сетей Петри и моделирование систем. М.:Мир,1984. 10. Свами М., Тхуласираман К. Графы, сети, алгоритмы. М., Мир, 1984. 11. Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. – 2-е изд. - ММ., 2007. 12. Шоломов Л.А. Основы теории дискретных логических и вычислительных устройств. М., Наука, 1980. Дополнительная: 13. Булос Дж., Джеффри Р. Вычислимость и логика. М., Мир, 1994. 14. Верещагин Н.К., Шень А. Языки и исчисления. М.: МНЦМО, 2002. 2-е издание, стереотипное. 15. Гаврилов Г.П., Сапоженко А.А. Сборник задач по дискретной математике. М., Наука, 1977. 16. Крупский В.Н. Введение в сложность вычислений. – М.: Факториал Пресс, 2006. 17. Майника Э. Алгоритмы оптимизации на сетях и графах. М., Мир, 1981. 18. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика. М., Мир, 1980. 19. Столл Роберт Р. Множества. Логика. Аксиоматические теории. М.: Просвещение, 1968. 20. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений., 2-е изд., : Пер. с англ. - М.: Издательский дом "Вильямс", 2002. Доктор технических наук, профессор (О.П.Кузнецов) Доктор физико-математических наук (С.О. Кузнецов) 11