
4.4. Булева алгебра логических функций
В технических приложениях математической логики распространены термины "функция алгебры логики", "логическая функция", "булева функция". Алгебра, образованная двухэлементным множеством В={0,1}({л,и}) со всеми возможными операциями на нем, называетсяалгеброй логики.
Функцией алгебры логики (логической функцией, булевой функцией) от nпеременных называетсяn-арная операция ВnaВ. Иными словами, логическая функцияf(х1,...хn) - это функция, зависящая от аргументов, принимающих значения 0,1 и принимающая значение 0,1. Всякая логическая функцияnпеременных соответствует некоторому составному высказыванию изnэлементарных и может быть задана таблицей истинности, в левой части которой перечислены все 2nнаборов значений переменных, т.е. двоичных векторов длиныn, а в правой части - значения функции на этих наборах.
Например, таблица, задающая логическую функцию трех аргументов, имеет вид:
Табл.4.9
-
х3
х2
х1
f
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
Наборы в таблице расположены в порядке возрастания соответствующих двоичных чисел.
Наборы, на которых функция f=1, часто называют единичными наборамиf(рабочими наборами). Соответственно наборы, на которыхf=0, называют нулевыми наборамиf(запрещенными наборами).
Рабочие наборы могут соответствовать состоянию некоторых технических средств, при котором должны срабатывать некоторые другие технические средства, а на запрещенных наборах они не должны срабатывать.
Наборы в таблице истинности могут быть записаны не только в двоичном виде, а, например, в виде десятичных, восьмеричных, шестнадцатеричных чисел.
Некоторые переменные логической функции будут несущественными (фиктивными), будем их обозначать символом "~" ("тильда").
На некоторых наборах логическая функция может быть не определена, значения функции на таких наборах обозначаются также знаком ~. Эти наборы называются условными. Таблица истинности недоопределенной функции с наборами, включающими несущественными переменными, называемыми обобщенными наборами или обобщенными кодами, имеет вид
Табл.4.10
-
х3
х2
х1
f
0
0
~
1
~
0
0
0
1
1
0
1
1
1
1
~
Поэтому логическую функцию можно представить в виде отображения множества векторов, компонентами которых являются элементы множества {0,1,~}в это же множество значений функций.
Алгебра <P,V,&,->, несущим множеством которой является все множество логических функций Р, а операциями - дизъюнкция, конъюнкция и инверсия, называетсябулевой алгеброй логических функций.
Алгебра, образованная k-элементным множеством вместе со всеми операциями на нем, называется алгебройk-значной логики, аn-арные операции наk-элементном множестве называютсяk-значными логическими функциямиnпеременных.
Фактически, как правило, дело имеют не с самими функциями, а с представляющими их формулами, т.е. с алгеброй формул, которых гораздо больше, чем функций, - ведь каждую функцию представляет бесконечное множество формул. Для того, чтобы формула соответствовала алгебре функций, элементами несущего множества алгебры формул объявляются не формулы, а классы эквивалентности формул, т.е. классы формул, представляющих одну и ту же функцию.