Тема 2. Булевы функции
2.1 Логические операции
Теория:
Логические формулы, содержащие кроме переменных и скобок только знаки функций «&, » - конъюнкции (логическое И), « » – дизъюнкции (логическое ИЛИ) и «–» – отрицания (логическое НЕ), называются булевыми. Знак конъюнкции в формулах часто опускают или заменяют точкой. Могут использоваться и еще несколько логических операций: « » – импликация (логическое ЕСЛИ, ТО) и эквивалентность « » – (логическое ТОГДА И ТОЛЬКО ТОГДА, КОГДА) и др.
Действия логических операций задаются таблицами истинности:
Таблица истинности логических операций
|
|
|
|
|
|
|
|
|
0 |
1 |
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
0 |
1 |
0 |
1 |
1 |
0 |
|
|
|
1 |
0 |
0 |
1 |
0 |
0 |
|
|
|
1 |
1 |
1 |
1 |
1 |
1 |
Исходя из таблиц истинности, можно строить таблицы истинности для произвольных формул.
Задача 1. Построить таблицу истинности для формулы
Решение:
Будем строить таблицу истинности последовательно в соответствии с шагами построения формулы .
|
|
|
|
|
|
|
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
2.2 Эквивалентные преобразования
Теория:
При исследовании логических формул во многих случаях требуются их корректные преобразования, гарантирующие выполнение тех или иных условий и прежде всего позволяющие получить новые формулы, эквивалентные данным, и др.
Основные эквивалентные соотношения в булевой алгебре:
1) Ассоциативность конъюнкции и дизъюнкции
а) ;
б) .
2) Коммутативность конъюнкции и дизъюнкции
а) ;
б) .
3) Дистрибутивность конъюнкции относительно дизъюнкции
.
4) Дистрибутивность дизъюнкции относительно конъюнкции
.
5) Идемпотентность
а) ;
б) .
6) Закон двойного отрицания
.
7) Свойства констант 0 и 1
а) ; б) ; в) ;
г) ; д) ; е) .
8) Правила де Моргана
а) ; б) .
9) Закон противоречия
.
10) Закон исключенного третьего
.
Могут использоваться и некоторые другие соотношения, которые могут быть выведены из основных:
11) Поглощение
а) ; б) .
12) Склеивание
.
13) Обобщенное склеивание
а) ;
б) .
Задача 2. Упростить булеву формулу:
.
Решение:
Проведем следующие преобразования:
используя выражение 11 получим:
используя выражение 13,б получим:
используя выражение 3 получим:
используя выражение 10 получим:
используя выражение 7,а получим:
.
В результате преобразований получена простая дизъюнкция.
Докажем справедливость проведенного преобразования используя таблицы истинности.
Таблица истинности
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
|
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
|
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
|
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
|
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
|
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
|
1 |
Задача 3. Упростить булеву формулу:
.
Решение:
используя выражение 3 получим:
используя выражение 9 получим:
используя выражения 7,б,г получим:
используя выражение 5,а получим:
используя выражение 11 получим:
В результате преобразований получена простая конъюнкция.
Докажем справедливость проведенного преобразования составив таблицу истенности для исходного и результирующего выражений.
Таблица истинности
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
|
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
|
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
|
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
|
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
|
1 |
Проведенные в задачах 2 и 3 эквивалентные преобразования показывают, что за счет проведения правильных математических (булевых) выкладок можно существенно упростить логическое устройство, реализующее функцию .