Тема 4. АЛГЕБРА ЛОГИКИ
Цели и задачи изучения темы
В данной теме изучаются основы логических алгебр.
Логические функции. Алгебра Буля и алгебра Жегалкина.
Способы задания логических функций
Функция
, зависящая от n переменных
, называется логической или переключательной, если функция
и любой из ее аргументов
принимают значения только из множества {0,1}. Аргументы логической функции также называются логическими.
Рассмотрим три способа задания логической функции: матричный (табличный), геометрический и аналитический. При матричном способе логическая функция n переменных задается таблицей истинности, в левой части которой перечислены все
наборов значений переменных, а в правой части – значение функции на этих наборах. Например, табл. 4.1 задает функцию трех переменных
.
Таблица 4.1
| Номер набора | | | | |
Двоичный набор
можно рассматривать как целое число N:
, называемое номером набора
. Поэтому иногда в таблице истинности логической функции наборы представляются их номерами. Часто для сокращения записи логическую функцию задают вектором
, в котором координата
представляет собой значение функции
на наборе
(на наборе с номером i), т.е. логической функции
взаимно однозначно соответствует двоичный вектор длины
, следовательно, существует
различных логических функций от n переменных. Вектор
также иногда задают в виде его десятичного эквивалента. Таким образом, при задании логической функции
(см. табл. 4.1) можно использовать запись
(01110100) или
116.
Логические функции, зависящие от большого числа переменных, задавать таблицей истинности неудобно в силу ее громоздкости. Поэтому, для задания функций многих переменных удобно использовать модификацию таблицы истинности. Для этого множество из n переменных функции разбивается на два подмножества
и
. В этом случае, n -мерное пространство с образующими
, представляется в виде декартова произведения двух пространств
´
с образующими
и
соответственно (в геометрическом смысле каждый двоичный набор
,
есть n -мерный вектор, определяющий точку n -мерного пространства).
Тогда логическую функцию можно задать в виде двумерной таблицы: каждому значению
переменных
,
,...,
взаимно однозначно соответствует строка таблицы, столбцу – значения
переменных
,
,...,
и на пересечении i -й строки и j -го столбца, взаимно однозначно соответствующем точке n -мерного пространства с образующими
, записывается значение функции в этой точке. Например, функция, представленная табл.4.1, может быть задана табл.4.2, где множество
разбито на два подмножества
и
.
Таблица 4.2
| | |||
При геометрическом способе логическая функция
задается с помощью гиперкуба
(n -мерного куба).
Гиперкубом называется граф, каждая вершина которого взаимно однозначно соответствует точке пространства - двоичному вектору (набору), и две вершины соединены ребром, если соответствующие им двоичные векторы отличаются в одном и только одном разряде.
Отмечая вершины куба, в которых функция принимает единичное (либо нулевое) значение, получим геометрическое представление функции. Например, логическая функция, заданная табл.4.1, геометрически представляется 3-мерным кубом на рис.4.1. В данном примере черным цветом закрашены вершины куба, в которых функция принимает единичное значение.
![]() |
Если на некоторых наборах значений переменных логическая функция не определена (т.е., на данном наборе значение функции может быть как 0, так и 1), то она называется частичной. Доопределением частичной функции f называется всякая (всюду определенная) логическая функция, совпадающая с f там, где значения f заданы. В табл. 4.3 приведена частичная функция f и все возможные ее доопределения
,
,
,
.
При задании частичной функции обычно перечисляют наборы из области ее определения и указывают значения функции на каждом из них (табл. 4.4). Часто используется задание в виде двух таблиц, в одной из которых перечисляются наборы, где функция равна 1, а в другой – наборы с нулевым значением функции.
![]() |
Прежде чем рассматривать аналитический способ задания логических функций, рассмотрим наиболее употребляемые логические функции одной и двух переменных (элементарные функции). Функции одной переменной представлены в табл.4.5, некоторые функции двух переменных – в табл.4.6. Приведем обозначения и названия этих функций.
1. Функции
(x)=0 и
(x)=1 называются соответственно тождественным нулем и тождественной единицей. Заметим, что
и
не зависят от переменной x, поэтому их иногда рассматривают как функции, зависящие от пустого множества переменных. Функцию
еще называют константой 0, а
– константой 1. Переменная x в данном случае является фиктивной. В общем случае переменная
в функции
называется фиктивной (несущественной), если
= 
при любых значениях остальных переменных.
![]() |
2. Функция
(x) называется тождественной функцией и обозначается через x.
3. Функция
(x) называется отрицанием x, обозначается
, ù x, x’ и часто читается "не x ".
4. Функция
называется конъюнкцией, обозначается
&
,
Ù
,
×
,
, или min(
,
) и часто читается «
и
».
5. Функция
называется дизъюнкцией, обозначается
Ú
,
+
или max(
,
) и часто читается «
или
».
6. Функция
называется суммой по модулю 2, обозначается
Å
,
D
и часто читается "
плюс
". Так как данная функция равна 1, когда ее аргументы различны, и равна 0, когда они равны, то ее иногда называют неравнозначностью.
7. Функция
называется эквивалентностью или равнозначностью. Ее обозначения:
«
,
º
или
»
, читается "
эквивалентно
".
8. Функция
называется импликацией. Обозначения
®
,
É
; читается "если
, то
" или "
имплицирует
".
9. Функция
называется штрихом Шеффера, обозначается
ï
и часто читается "не
и
".
10. Функция
называется стрелкой Пирса (функция Вебба), обозначается
¯
, читается "не
или
".
Теперь рассмотрим аналитический способ задания логической функции, при котором логическая функция f задается суперпозицией других функций (формулой).
Суперпозицией функций
называется функция f, полученная с помощью подстановок этих функций друг в друга и переименования переменных, а формулой называется выражение, описывающее эту суперпозицию. Понятие суперпозиции очень важно в алгебре логики, поэтому рассмотрим его более подробно.
Пусть дано множество (конечное или бесконечное) исходных функций
. Символы переменных
будем считать формулами глубины 0. Формула F имеет глубину
, если F имеет вид
, где
Îå, t - число аргументов
, а
– формулы, максимальная из глубин которых равна k.
называется подформулами F;
называется внешней или главной операцией формулы F. Все подформулы формул
также называются подформулами F. Например,
(x),
и
– это формулы глубины 1, а
– формула глубины 3, содержащая одну подформулу глубины 2 и две подформулы глубины 1.
В дальнейшем конкретные формулы, как правило, будут иметь более привычный вид, при котором знаки функций стоят между аргументами. Такую запись называют инфиксной, то есть формулу вида f (x,y) записывают либо как (x f y), либо как x f y, а формулу f (x) - как (f x) или f x. При этом символы f называют связками. Обычно в качестве связок употребляются символы из множества G ={ù,&,Ú,Å,«,®,ô,¯}, то есть символы, обозначающие рассмотренные выше элементарные функции.
Например, если
обозначает отрицание (ù),
– дизъюнкцию (Ú),
– конъюнкцию (&), а
– импликацию (®), то приведенная ранее формула примет вид ((ù x)®(z Ú(x & y))).
Для сокращения записи формул над множеством связок G принято следующее соглашение:
а) внешние скобки у формул опускаются;
б) формула (ù F) записывается в виде
;
в) формула (
&
) записывается в виде
×
или
;
г) считается, что связка ù сильнее любой двухместной связки из G;
д) связка & считается сильнее, чем любая из связок Ú, Å, «, ®, ô, ¯.
Эти соглашения позволяют записать рассматриваемую формулу в виде 
Употребляется и смешанная запись формул, например, x Å f (y, z) или
.
Всякая формула, выражающая функцию f как суперпозицию других функций, задает способ ее вычисления (при условии, что известно, как вычислить исходные функции). Вычислим, например, формулу
на наборе x =0, y =1, z =1. Получим (используя табл. 4.5 и 4.6): xy =0; z Ú xy = z Ú0=1;
=1;
®(z Ú xy)=1®1=1.
Таким образом, формула каждому набору значений аргументов ставит в соответствие значение функции и, следовательно, может служить наряду с таблицей способом задания и вычисления функции. В частности, по формуле, вычисляя ее на всех
наборах, можно восстановить таблицу функции.
О формуле, задающей функцию, также говорят, что она реализует или представляет эту функцию. Если функция f частична, то считается, что формула реализует f, если она реализует какое-либо ее доопределение.
В отличие от табличного и геометрического задания представление данной функции формулой не единственно. Например, если в качестве исходного множества связок зафиксировать множество {ù,&,Ú}, то функцию штрих Шеффера (
в табл. 4.6) можно представить формулами:
Ú
и
, а функцию стрелка Пирса (
) - формулами
и
.
Формулы, представляющие равные функции, называются эквивалентными или равносильными. Эквивалентность формул обозначается знаком равенства, поэтому можно записать
, (4.1)
. (4.2)
Для того, чтобы для двух данных формул выяснить, эквивалентны они или нет, можно по каждой формуле восстановить таблицу истинности функции, а затем полученные две таблицы сравнить. Этот метод требует
вычислений (если считать, что обе формулы зависят от n переменных) и на практике оказывается слишком громоздким. Существуют и другие методы установления эквивалентности формул и получения новых формул, эквивалентных исходной. Эти методы будут рассмотрены в следующих разделах.


