- •Содержание
- •1. Теория множеств
- •1.1. Основные определения
- •1.2. Операции над множествами
- •1.3. Системы множеств
- •1.4. Декартово произведение множеств
- •1.5. Бинарные отношения
- •1.5.1. Определение бинарного отношения
- •1.5.2. Способы задания бинарного отношения
- •1.5.3. Свойства бинарных отношений
- •1.5.4. Отношения эквивалентности
- •1.7. Контрольные вопросы и упражнения
- •2. Математическая логика
- •2.1.Алгебра логики
- •2.1.1. Логические высказывания
- •2.1.2. Основные логические операции
- •2.1.3. Формулы алгебры логики
- •2.1.4. Логические функции
- •Функции одной переменной
- •Функции двух переменных
- •2.2. Булева алгебра
- •2.2.1. Булевы функции и операции
- •Свойства булевых операций
- •2.2.2. Совершенные дизъюнктивная и конъюнктивная нормальные формы
- •2.3. Полные системы логических функций
- •Класс функций, сохраняющих ноль
- •Класс функций, сохраняющих единицу
- •Класс самодвойственных функций
- •Класс монотонных функций
- •Класс линейных функций
- •2.4. Задача минимизации днф
- •2.4.1. Основные определения
- •2.4.2. Этапы минимизации днф
- •2.4.3. Минимизация днф методом Квайна
- •2.5. Синтез логических схем
- •2.6. Контрольные вопросы и упражнения
- •3. Теория графов
- •3.1. Основные определения
- •3.1.1. Общие понятия
- •3.1.2. Ориентированные и неориентированные графы
- •3.1.3. Маршруты в графах
- •3.1.4. Частичные графы и подграфы
- •3.1.5. Связность в графах
- •3.1.6. Изоморфизм. Плоские графы
- •3.2. Отношения на множествах и графы
- •3.3. Матрицы смежности и инциденций графа
- •3.4. Операции над графами
- •3.4.1. Сумма графов
- •3.4.2. Пересечение графов
- •3.5. Степени графов
- •3.5.1. Степени неориентированных графов
- •3.5.2. Степени ориентированных графов
- •3.6. Характеристики графов
- •3.6.1. Характеристики расстояний в графах
- •3.6.2. Характеристические числа графов
- •3.7. Циклы и разрезы графа
- •3.7.1. Остов и кодерево
- •3.7.2 . Базисные циклы и разрезающие множества
- •Свойства базисных циклов и разрежающих множеств
- •3.7.3. Цикломатическая матрица и матрица разрезов
- •Составление цикломатической матрицы
- •Составление матрицы разрезов
- •3.8. Задача определения путей в графах
- •3.8.1. Определение путей в графе
- •3.8.2. Алгоритм определения кратчайших путей
- •Алгоритм Дейкстры
- •Первая итерация
- •Вторая итерация
- •Третья итерация
- •3.9. Обход графа
- •3.9.1. Эйлеровы маршруты
- •3.9.2. Гамильтоновы маршруты
- •3.10. Контрольные вопросы и упражнения
- •Список литературы
2.1.4. Логические функции
Функция f(x1, х2, ..., xn), принимающая логическое значение (1 или 0) и зависящая от логических переменных, называетсялогическойфункцией.Логическую функцию можно представить в виде отображенияf:En E, где множествоEn =E E … E есть декартово произведение всех упорядоченных наборов (x1, х2, ..., xn) таких, чтоxi E,i= 1,2,…,n.
Таким образом, область определения логической функции – совокупность всевозможных n-мерных наборов из нулей и единиц, а для её задания достаточно указать, какие значения функции соответствуют каждому из наборов (табл. 2.3).
Наборы в таблице будем располагать в порядке возрастания их номера N.Такой порядок расположения наборов называетсястандартнымилиестественным.
При таком порядке каждому набору α = (α1, …, αn), где αi есть 0 или 1, ставится в соответствие целое число
N = α12n-1+ … + αn-121+ αn.
Наборам (0, 0, ...,0, 0), (0, 0, ..., 0, 1), ..., (1, 1, ..., 1, 1) соответствуют числа N = 0, 1,..., 2n-1. Количество входных наборов для функции n переменных равно k = 2n.
Таблица 2.3. Задание логической функции
N |
х1 |
х2 |
… |
хn-1 |
хn |
f(x1, x2,..., xn-1, хn) |
0 |
0 |
0 |
… |
0 |
0 |
f(0, 0, ..., 0, 0) |
1 |
0 |
0 |
… |
0 |
1 |
f(0, 0, ..., 0, l) |
… |
… |
… |
… |
… |
… |
……………… |
2n-2 |
1 |
1 |
… |
1 |
0 |
f(l, 1, …, 1, 0) |
2n-1 |
1 |
1 |
… |
1 |
1 |
f(l, 1, …, 1, 1) |
Все множество наборов переменных по значениям функции на них можно разбить на 2 подмножества:
[1] – единичное множество наборов, на которых f = 1;
[0] – нулевое множество наборов, на которых f = 0.
Теперь определим количество различных функций nпеременных. Каждая функция задается набором своихkзначений, которому также можно поставить в соответствиеk-разрядное двоичное число.
Располагая функции в таблице в порядке возрастания соответствующих им чисел, мы получим все возможные различные функции. Количество таких функций будет равно .
Далее рассмотрим логические функции одной и двух переменных, которые определяют также и операции, используемые при записи логических формул. Их можно считать «элементарными» функциями (табл. 2.4, 2.5).
Таблица 2.4. Функции g(x)
х |
g1(x) |
g2(x) |
g3(x) |
g4(x) |
0 1 |
0 0 |
0 1 |
1 0 |
1 1 |
Таблица 2.5. Функции двух переменных f(х1, х2)
х1 х2 |
f1 |
f2 |
f3 |
f4 |
f5 |
f6 |
f7 |
f8 |
f9 |
f10 |
f11 |
f12 |
f13 |
f14 |
f15 |
f16 |
0 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |