4.2. Элементарные булевы функции и алгебраические формы
Рассматривая векторную форму задания булевой функции, легко определить число булевых функций от п переменных – это число всех 2n-компонентных булевых векторов, т. е. . Однако это число учитывает также функции и от меньшего числа аргументов. Любую функцию отп аргументов можно считать функцией от большего числа аргументов. Для этого вводится понятие существенной зависимости и несущественной зависимости. Функция f(х1, х2, ... , хn) существенно зависит от аргумента хi, если
f(х1, х2, ... , хi – 1, 0, хi + 1, … , хn) f(х1, х2, ... , хi – 1, 1, хi + 1, … , хn).
Переменная хi в этом случае называется существенным аргументом. В противном случае она является несущественным или фиктивным аргументом.
Элементарными булевыми функциями являются функции от одной и двух переменных. Число функций от одной переменной равно = 4. Эти функции представлены в табл. 4.2. Две из них,f0 и f3, являются константами 0 и 1, переменная x для них является несущественным аргументом. Функция f1 также является тривиальной, любое ее значение совпадает со значением аргумента: f1(x) = x. Нетривиальной функцией является функция f2(x) =x, называемая отрицанием, или инверсией. Ее значение всегда противоположно значению аргумента x. Из табл. 4.2 видно, что 0 = 1 и1 = 0.
В табл. 4.3 приведены все булевы функции fi (х1, х2) от двух аргументов. В левом столбце показаны их выражения в терминах нескольких функций, принятых за основные. Эти основные элементарные булевы функции определяются табл. 4.4, содержащей имена функций и их обозначения, а также значения, принимаемые данными функциями на каждом из четырех наборов значений аргументов х1 и х2 (приведенных в верхней части таблицы), т. е. каждая из функций задана в векторном виде.
Таблица 4.2
Булевы функции от одного аргумента
-
x
0
1
f0 = 0
0
0
f1 = x
0
1
f2 =x
1
0
f3 = 1
1
1
Таблица 4.3
Булевы функции от двух аргументов
-
х1
0
0
1
1
х2
0
1
0
1
f0 = 0 – константа 0
0
0
0
0
f1 = х1 х2 – конъюнкция
0
0
0
1
f2 – отрицание импликации
0
0
1
0
f3 = х1
0
0
1
1
f4 – отрицание обратной импликации
0
1
0
0
f5 = х2
0
1
0
1
f6 = х1 х2 – сложение по модулю 2
0
1
1
0
f7 = х1 х2 - дизъюнкция
0
1
1
1
f8 = х1 х2 – стрелка Пирса
1
0
0
0
f9 = х1 х2 – эквиваленция
1
0
0
1
f10 =х2
1
0
1
0
f11 = х2 х1 – обратная импликация
1
0
1
1
f12 =х1
1
1
0
0
f13 = х1 х2 – импликация
1
1
0
1
f14 = х1 х2 – штрих Шеффера
1
1
1
0
f15 = 1 – константа 1
1
1
1
1
Элементарные функции имеют особое значение в теории булевых функций, поскольку каждая из них может быть выражена одноместной или двухместной алгебраической операцией. Все операции, представленные в табл. 4.3, составляют алгебру логики. Любая булева функция от любого числа аргументов может быть представлена формулой алгебры логики. Формулу, содержащую более чем одну операцию, можно рассматривать как суперпозицию элементарных функций. Под суперпозицией функций понимается использование одних функций в качестве аргументов других функций. Для булевых функций это является возможным благодаря совпадению области значений функций с областями значений их аргументов. Таким образом, алгебраическое задание булевой функции представляет собой формулу, по которой вычисляется значение этой функции. Понятие формулы определим следующим образом:
1) каждый символ переменной есть формула;
2) если А и В – формулы, то формулами являются А и (А В), где – любая операция алгебры логики;
3) других формул нет.
Для установления порядка выполнения операций в формулах используются скобки. При отсутствии скобок порядок устанавливается согласно приоритетам операций. Первым приоритетом обладает операция отрицания, затем выполняется . Третьим приоритетом обладают операции и , четвертым приоритетом – операции ~ и . Для упрощения написания формул иногда символ конъюнкции опускается. Процесс вычисления значений функции f(x1, x2, x3) = по ее формуле покажем с помощью табл. 4.4, где последовательность столбцов соответствует порядку выполнения операций.
Таблица 4.4
Вычисление по формуле
-
x1
х2
х3
х1 х2
(x1 х2) х3
x1
х2х3
x1 х2х3
f(x1, x2, x3)
0
0
0
0
0
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
Две разные формулы могут представлять одну и ту же функцию. Такие формулы называются равносильными. Если А и В – равносильные формулы, то А = В. В этом случае, если А является частью другой формулы, то вместо нее можно подставить В, в результате чего получится формула, равносильная исходной.
Алгебра, содержащая только три операции , и , называется булевой, так же как и формула, представляющая некоторую композицию этих операций. Легко проверить по табл. 4.3 следующие основные законы булевой алгебры.
Коммутативность:
х у у х; х у у х.
Ассоциативность:
х (у z) (x y) z; x (y z) (x y) z.
Дистрибутивность:
x (y z) x y x z; x y z (x y) (x z).
Идемпотентность:
x x x; x x x.
Законы де Моргана:
=xy; =x y.
Законы операций с константами:
x 0 x; x 1 x;
x 0 0; x 1 1;
х х 1; хх 0.
Закон двойного отрицания:
х.
Здесь действует принцип двойственности, т. е. для каждой пары формул, представляющих тот или иной закон, справедливо следующее утверждение: одна из формул получается из другой взаимной заменой всех символов конъюнкции на символы дизъюнкции и всех единиц – на нули.
На основании этих формул выводятся следующие соотношения.
Закон поглощения:
х х у х; х (х у) х.
Действительно,
х х у х 1 х у х (1 у) х1 = х;
х (х у) х х х у х х у х.
Закон простого склеивания:
х у ху х; (х у) (х у) х.
Левая формула выводится с помощью закона дистрибутивности конъюнкции относительно дизъюнкции: х у ху х(у у) х. Для вывода правой формулы достаточно раскрыть скобки и применить законы идемпотентности и поглощения.
Закон обобщенного склеивания:
х у х z х у х z y z.
Эту формулу можно вывести следующим образом:
х у х z y z x y x z y z (x x) x y (1 z) x z (1 y) x y x z,
а если подставить у = 1, то получим
х х z = х 1 х z 1 z х z.
Все операции алгебры логики можно выразить через булевы операции. Справедливость следующих формул можно доказать простой подстановкой значений из табл. 4.3:
х у = xy x y;
х ~ у =xy x y;
х у =x y.
Пользуясь этими формулами, построим булево выражение, эквивалентное формуле ((х у) (х z))y:
((х у) (х z))y = (x y xz x z)y = (x y z)y =xy yz.
Познакомимся еще с одной алгеброй на множестве логических функций – алгеброй Жегалкина.
Алгебра над множеством логических функций с двумя бинарными операциями и, двумя константами 1,0 называется алгеброй Жегалкина, если в ней выполняются следующие законы:
; ;;;
xy = yx; x(yz) = (xy)z; xx = x
В алгебре Жегалкина дизъюнкция выражается формулой, из которой видно, чтотогда, когда xy = 0 (когда x и y ортогональны).
Действительно,
Всякую формулу алгебры Жегалкина можно представить в виде полинома Жегалкина.
Для всякой логической функции существует единственный полином Жегалкина.
- Литература
- Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- 1.2.Операции над множествами
- 1.3. Булева алгебра множеств
- 1.4. Разбиения и покрытия
- 2. Отношения бинарные и n-арные
- 2.1. Декартово произведение
- 2.2. Бинарные отношения (соответствия)
- 2.3. Операции над бинарными отношениями
- 2.4. Функциональные отношения
- 2.5. Бинарные отношения на множестве
- 2.6. Алгебраические системы
- 3. Основные понятия теории графов
- 3.1. Абстрактный граф
- 3.2. Графическое представление бинарного отношения
- Множеств а и в
- 3.3. Матричные представления графа
- 3.4. Части графа
- 3.5. Достижимость и связность
- 3.6. Доминирующие множества графа
- 3.7. Независимые множества графа
- 3.8. Раскраска графа
- 3.9.Планарность графов
- 3.10. Инварианты графов
- 4. Булевы функции
- 4.1. Способы задания булевой функции
- 4.2. Элементарные булевы функции и алгебраические формы
- 4.3. Интерпретации булевой алгебры
- 4.4. Нормальные формы булевых функций
- 4.4.1. Дизъюнктивные нормальные формы
- 4.4.2. Конъюнктивные нормальные формы
- 4.5 Полнота и замкнутость системы логических функций
- 4.6. Локальные упрощения днф
- 4.6.1. Удаление избыточных элементарных конъюнкций
- 4.6.2. Удаление избыточных литералов
- 4.7. Графическое представление булева пространства и булевых функций
- 4.7.1. Булев гиперкуб
- 4.7.2. Развертка гиперкуба на плоскости. Карта Карно
- 4.8. Минимизация днф
- 4.8.1. Метод Квайна-МакКласки
- 4.8.2. Метод Блейка-Порецкого
- 4.8.3. Визуально-матричный метод минимизации
- 5. Элементы математической логики
- 5.1 Алгебра высказываний
- Всякое высказывание логично следует из самого себя.
- 2. Закон противоречия:
- Если из а следует b, а b ложно, то а тоже ложно.
- 5.2. Логические отношения
- 5.3.Проверка правильности рассуждений
- 5.4. Решение логических задач методом характеристического уравнения
- 5.6. Кванторы
- 5.7 Эквивалентные соотношения. Префиксная нормальная форма
- 6. Основы теории алгоритмов
- 6.1. Интуитивное понятие об алгоритме
- 6.2. Три типа алгоритмических моделей
- 6.3. Кризис теории множеств антиномии. Выводы из антиномий
- 6.4. Машины Тьюринга как модели алгоритмов
- 6.5. Алгоритмы решения некоторых задач теории графов на графах
- 7. Конечный автомат и его описание.
- 7.2. Представления автомата
- 7.3. Связь между моделями Мили и Мура
- 7.4. Автомат с абстрактным состоянием. Булев автомат
- 7.5. Понятие о регулярных выражениях алгебры событий.
- 7.6. Задачи абстрактной теории конечных автоматов
- 8. Комбинаторные задачи и методы комбинаторного поиска
- 8.1. Задачи подсчета числа комбинаторных решений
- 8.2. Особенности оптимизационных комбинаторных задач
- 8.3. Вычислительная сложность
- 8.4. Методы комбинаторного поиска
- 8.5. Задача о кратчайшем покрытии и методы ее решения
- 8.5.1. Постановка задачи
- 8.5.2. Приближенные методы решения задачи
- 8.5.3. Точный метод
- Вопросы к зачету
- 28. Нормальные формы булевых функций. Дизъюнктивные нормальные формы
- 44. Эквивалентные соотношения. Префиксная нормальная форма
- Практический раздел Контрольная работа Указания по выбору варианта
- Контрольное задание №1. Используя диаграммы Эйлера-Венна, решить задачу
- Методические указания
- Задачи для самостоятельного решения
- Контрольное задание №2. Получить сднф, скнф, используя таблицу истинности. Построить днф, кнф, упростив выражение.
- Методические указания
- Задачи для самостоятельного решения
- Контрольное задание №3. Упростить схему (рис. 2)
- Методические указания
- Задачи для самостоятельного решения
- Задачи для самостоятельного решения
- Методические указания
- Задачи для самостоятельного решения
- Контрольное задание №6. Найти инварианты неориентированного графа, заданного матрицей смежности
- Методические указания
- Задачи для самостоятельного решения