- •Оглавление
- •1.2. Операции над множествами
- •1.3. Геометрическое моделирование множеств. Диаграммы Венна
- •1.4. Алгебра множеств. Основные тождества алгебры множеств
- •Тема 2. Отношения
- •2.1. Отношения. Основные понятия и определения
- •2.2. Операции над отношениями
- •2.3. Свойства отношений
- •Тема 4. Булевы функции
- •4.1. Определение булевой функции
- •4.2. Формулы логики булевых функций
- •4.3. Равносильные преобразования формул
- •Основные равносильности булевых формул.
- •4.4. Двойственность. Принцип двойственности.
- •4.5. Булева алгебра . Полные системы булевых функций
- •4.6. Нормальные формы
- •4.7 Минимизация формул булевых функций
- •Тема 3. Графы
- •3.1. Основные характеристики графов
- •3.2. Матричные способы задания графов
- •3.3 Основные свойства матриц смежности и инцидентности
- •3.4. Маршруты, циклы в неориентированном графе
- •3.5. Пути, контуры в ориентированном графе
- •3.6 Связность графа
- •3.7. Экстремальные пути в нагруженных ориентированных графах
- •3.8 Деревья
- •Краткие сведения о математиках
Тема 4. Булевы функции
4.1. Определение булевой функции
Определение 4.1.Булевой функциейf(x1,x2, ... ,xn) называется произвольная функцияnпеременных, аргументы которойx1,x2, ... ,xn и сама функцияfпринимают значения 0 или 1, т. е.xi{0, 1},i= 1, 2, ... ,n;f(x1,x2, ... ,xn){0, 1}.
Одной из важнейших интерпретаций теории булевых функций является теория переключательных функций. Первоначально математический аппарат теории булевых функций был применен для анализа и синтеза релейно-контактных схем с операциями последовательного и параллельного соединения контактов. Подробнее это приложение теории булевых функций будет рассмотрено в разделе 4.9.
Любая булева функция может быть представлена таблицей, в левой части которой перечислены все наборы переменных (их 2n), а в правой части – значения функции. Пример такого задания представлен в таблице 4.1.
Таблица 4.1
-
x1 x2 x3
f(x1, x2, x3)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
0
0
1
0
1
1
1
Для формирования столбца значений переменных удобен лексико-графический порядок, в соответствии с которым каждый последующий набор значений получается из предыдущего прибавлением 1 в двоичной системе счисления, например, 100 = 011+ 1.
Всего существует 22различных булевых функцийnпеременных.
Функций одной переменной – 4. Из них выделим функцию “отрицание x”(обозначаетсяx). Эта функция представлена в таблице 4.2.
Таблица 4.2
x |
x |
0 1 |
1 0 |
Булевых функций двух переменных – 16 (22приn= 2). Те из них, которые имеют специальные названия, представлены в таблице 4.3.
Таблица 4.3
-
x1 x2
x1Vx2
x1& x2
x1x2
x1~x2
x1 x2
x1¯ x2
x1ï x2
0 0
0 1
1 0
1 1
0
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
В таблице 4.3 представлены следующие функции двух переменных:
x1Vx2 –дизъюнкция;
x1& x2 – конъюнкция;
x1x2 – импликация;
x1~x2 –эквивалентность;
x1 x2 –сложение по модулю 2;
x1¯x2 – стрелка Пирса;
x1ï x2 – штрих Шеффера.
Остальные функции специальных названий не имеют и могут быть выражены через перечисленные выше функции.
4.2. Формулы логики булевых функций
Определение 4.2.Формула логики булевых функцийопределяется индуктивно следующим образом:
1. Любая переменная, а также константы 0 и 1 есть формула.
2. Если AиB– формулы, тоA,AVB,A&B,A B,A ~B есть формулы.
3. Ничто, кроме указанного в пунктах 1–2, не есть формула.
Пример 4.1.
Выражение (xVy)&((y z)~x) является формулой.
Выражение x&y z~xне является формулой.
Часть формулы, которая сама является формулой, называется подформулой.
Пример 4.2.
x&(yz) – формула;yz– ее подформула.
Определение 4.3. Функцияfесть суперпозицияфункцийf1,f2, ... ,fnеслиfполучается с помощью подстановок этих формул друг в друга и переименованием переменных.
Пример 4.3.
f1=x1&x2 (конъюнкция); f2 =x(отрицание).
Возможны две суперпозиции:
1) f=f1(f2) = (x1)&(x2) – конъюнкция отрицаний;
2) f=f2(f1) =(x1&x2) – отрицание конъюнкции.
Порядок подстановки задается формулой.
Всякая формула задает способ вычисления функции, если известны значения переменных.
Пример 4.4.
Построим таблицу значений функции f(x1,x2,x3) =(x2 x3)~(x1Vx2).
Таблица 4.4 представляет последовательное вычисление этой функции.
Таблица 4.4
x1 x2 x3 |
x3 |
x2 x3 |
(x2 x3) |
x1 |
x1Vx2 |
f(x1, x2, x3) |
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
1 0 1 0 1 0 1 0 |
1 1 1 0 1 1 1 0 |
0 0 0 1 0 0 0 1 |
1 1 1 1 0 0 0 0 |
1 1 1 1 0 0 1 1 |
0 0 0 1 1 1 0 1 |
Таким образом, формула каждому набору аргументов ставит в соответствие значение функции. Следовательно, формула так же, как и таблица, может служить способом задания функции. В дальнейшем формулу будем отождествлять с функцией, которую она реализует. Последовательность вычислений функции задается скобками. Принято соглашение об опускании скобок в соответствии со следующей приоритетностью операций: , &, V,и~.