- •Конспект лекций по дисциплине “Дискретная математика”
- •Санкт Петербург Содержание.
- •Раздел I. Множества, функции, отношения. Лекция № 1. Множества и операции над ними.
- •1. Основные понятия теории множеств.
- •2. Операции над множествами и их свойства.
- •3. Векторы и прямые произведения.
- •Лекция № 2. Соответствия и функции.
- •Соответствия.
- •Отображения и функции.
- •Лекция № 3. Отношения и их свойства.
- •Основные понятия и определения.
- •Свойства отношений.
- •Лекция № 4. Основные виды отношений.
- •Отношения эквивалентности.
- •Отношения порядка.
- •Лекция № 4. Пересчёт.
- •Раздел II. Введение в общую алгебру. Лекция № 6. Элементы общей алгебры.
- •1. Свойства бинарных алгебраических операций.
- •2. Алгебраические структуры.
- •Гомоморфизм и изоморфизм.
- •Лекция № 7. Различные виды алгебраических структур.
- •Полугруппы.
- •Группы.
- •Поля и кольца.
- •Раздел III. Введение в логику. Лекция № 8. Элементы математической логики.
- •Булевы функции.
- •Лекция № 9. Логические функции.
- •Функции алгебры логики.
- •Примеры логических функций.
- •Суперпозиции и формулы.
- •Лекция № 10. Булевы алгебры.
- •Разложение функций по переменным. Совершенная дизъюнктивная нормальная форма.
- •Булева алгебра функций.
- •Эквивалентные преобразования.
- •Лекция № 11. Булевы алгебры и теория множеств.
- •Двойственность.
- •Булева алгебра и теория множеств.
- •Днф, интервалы и покрытия.
- •Лекция № 12. Полнота и замкнутость.
- •Функционально полные системы.
- •Алгебра Жегалкина и линейные функции.
- •Замкнутые классы. Монотонные функции.
- •Теоремы о функциональной полноте.
- •Лекция № 13. Язык логики предикатов.
- •Предикаты.
- •Кванторы.
- •Истинные формулы и эквивалентные соотношения.
- •Доказательства в логике предикатов.
- •Лекция № 14. Комбинаторика.
- •Правила суммы и произведения.
- •Размещения.
- •Перестановки.
- •Сочетания. Бином Ньютона.
- •Раздел IV. Теория графов. Лекция № 15. Графы: основные понятия и операции.
- •Графы, их вершины, рёбра и дуги. Изображение графов.
- •Матрица инцидентности и список рёбер. Матрица смежности графа.
- •Идентификация графов, заданных своими представлениями.
- •Лекция № 16. Маршруты, цепи и циклы.
- •Основные определения.
- •Связные компоненты графов.
- •Расстояния. Диаметр, радиус и центр графа. Протяжённости.
- •Эйлеровы графы.
- •Лекция № 17. Некоторые классы графов и их частей.
- •Деревья.
- •Ориентированные графы.
- •Графы с помеченными вершинами и рёбрами.
- •Лекция № 18. Теория алгоритмов Понятие алгоритма
- •1.2.1. Основные требования к алгоритмам
- •1.2.2. Машина Тьюринга
- •Универсальная машина Тьюринга
- •1.2.3. Тезис Тьюринга
- •1.3. Граф машина
- •1.3.1. Модель данных
- •1.3.2. Построение моделей алгоритмов в системе graph
- •2. Сложность алгоритмов
- •2.1.Временная и пространственная сложность алгоритма. Классы dtime и dspace
- •2.2. Классы сложности
- •2.2.1. Полиномиальность и эффективность
- •2.2.2. Алгоритмическая сводимость задач
- •3. Алгоритмы и их сложность
- •3.1. Представление абстрактных объектов (последовательностей)
- •3.1.1. Смежное представление последовательностей
- •3.1.2. Связанное представление последовательностей
- •Список вопросов для подготовки к экзамену по дисциплине "дискретная математика"
Днф, интервалы и покрытия.
Теоретико-множественная интерпретация булевой алгебры предлагает очень удобный язык для изучения дизъюнктивных нормальных форм (ДНФ) и построения методов их упрощения. Рассмотрим кратко основные понятия, связанные с ДНФ.
Введём следующее обозначение: обозначим через множество всех единичных наборов функции . Тогда набор (вектор) из множества принадлежит тогда и только тогда, когда . Множество называется единичным множеством функции , а функция называется характеристической функцией множества . Легко показать, что соответствие между функциями и их единичными множествами является изоморфизмом.
Если функция представляется элементарной конъюнкцией всех переменных, то множество содержит ровно один элемент множества . Если же функция – элементарная конъюнкция переменных , то содержит двоичных наборов. Это объясняется тем, что в таком случае переменных, не входящих в эту конъюнкцию несущественны для функции . Тогда они принимают значений, не изменяя значения . Множество такой функции называется интервалом.
Пример 3. Рассмотрим функцию и найдём её интервал.
Прежде всего, заметим, что две переменных являются несущественными. Это позволяет сразу определить количество единичных наборов, содержащихся в множестве (иначе говоря, его мощность). Поскольку в данном случае , то получим .
Далее, очевидно, что только при значениях . При этом переменные могут принимать любые значения. Теперь перечислим все единичные наборы для данной функции: . Итак, .
В рассматриваемом случае говорят, что конъюнкция (или, точнее, интервал ) покрывает множество и все его подмножества.
Представление некоторой функции в виде ДНФ соответствует представлению её единичного множества в виде объединения интервалов; в совокупности все конъюнкции ДНФ покрывают всё единичное множество функции . Обратное также верно: если все элементы некоторого интервала принадлежат , то существует ДНФ данной функции, содержащая конъюнкцию .
Лекция № 12. Полнота и замкнутость.
Ранее нами рассматривались два способа задания логических функций – табличный и с помощью формул. Таблица задаёт функцию непосредственно как соответствие между двоичными наборами и значениями функции на этих наборах. Этот способ универсален, то есть, пригоден для любых функций, однако слишком громоздок. Формула – гораздо более компактный способ задания функции, но она задаёт функцию через другие функции. Поэтому для любой системы функций возникает естественный вопрос: всякая ли логическая функция представима формулой в этой системе. В позапрошлой лекции был получен положительный ответ для системы (теорема 8.2). В данной лекции будет показано, как решать этот вопрос для произвольной системы .
Функционально полные системы.
Определение. Система функций называется функционально полной системой, если любая логическая функция может быть представлена формулой над системой (является суперпозицией функций этой системы).
Из теоремы 8.2 следует, что система является функционально полной. Равным образом, функционально полна любая система , через функции которой можно выразить конъюнкцию, дизъюнкцию и отрицание. Действительно, для любой логической функции из такой системы следует составить булеву формулу (а она обязательно существует согласно теореме 8.2) и потом выразить в ней конъюнкцию, дизъюнкцию и отрицание через функции системы . Аналогично обосновывается более общее утверждение.
Теорема 11.1. Если все функции функционально полной системы представимы формулами над системой , то система также функционально полна.
Пример 1.
а) Системы и функционально полны. Действительно, с помощью законов Де Моргана и двойного отрицания можно выразить в каждой из этих систем функцию, недостающую до через остальные две:
.
С точки зрения функциональной полноты систему следует считать избыточной: она сохраняет свойство полноты и при удалении из неё конъюнкции или дизъюнкции. Однако легко видеть из приведённого примера, что, хотя системы и не являются избыточными, зато формулы в них получаются гораздо длиннее: замена одной операции на другую вносит в формулу сразу три лишних отрицания.
б) Системы (штрих Шеффера) и (стрелка Пирса) являются функционально полными.
.
Таким образом, система сводится к системе , а система - к системе .
в) Система ( умножение по модулю 2, сложение по модулю 2 – см. пункт 1 лекции № 8)) является функционально полной. Поскольку , данная система сводится к .
На свойствах этой системы остановимся подробнее.