logo

1.1. Функции алгебры логики

Определение. Функцией алгебры логики ( логической функцией или булевой функцией ) называется функция, аргументы которой и ее значения могут принимать значения из двухэлементного множества ( обычно из Е2 = { 0,1 } ).

Любая логическая функция n переменных может быть задана таблицей, в левой части которой перечислены 2 наборов значений переменных; в правой части- значения функции на этих наборах. Наборы переменных располагаются в лекси-кографическом порядке, который совпадает с порядком возрастания наборов, рас-сматриваемых как двоичные числа.

Число различных функций n переменных, обозначается Р2(n). Оно равно Р2(n)= – числу различных двоичных векторов длины 2 . Рассмотрим табличное за-дание функции одной переменной ( n=1 ). В этом случае различных наборов пере-менной - 2, 0 и 1. Число различных функций равно Р2(1) = 22 = 4, а различные векторы длины 2 имеют вид (0,0), (0,1), (1,0), (1,1).

Все эти функции представлены в табл. 1.1.

Таблица 1.1

х

f0

f1

f2

f3

0

0

0

1

1

1

0

1

0

1

Эти функции называются и обозначаются следующим образом:

f0(x) = 0 - константа ноль, f1(x) = x – тождественная функция,

f2(x) = –отрицание x (читается “ не х“), f3(x) = 1 – константа единица.

Рассмотрим функции двух переменных ( n=2 ). В этом случае разных наборов переменных будет 22 = 4, а разных функций Р2(2) = 24 = 16. Вcе эти функции представлены в табл.1.2 в порядке, соответствующем возрастанию чисел от 0 до 15, записанных в двоичной системе счисления. Номера функций соответствуют этим числам.

Таблица 1.2

х1

X2

f0

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

f11

f12

f13

f14

F15

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Некоторые из этих функций имеют специальные названия и обозначения:

f0( х1, х2 ) = 0 константа 0.

f1( х1, х2 ) = х1 & х2конъюнкция х1 и х2 (читается х1 и х2). Эту функцию часто назы-вают логическим умножением и обозначают х1∙ х2 или х1 х2 или х1 х2.

f6( х1, х2 ) = х1 х2сложение по mod 2.

f7( х1, х2 ) = х1 х2дизъюнкция х1 и х2 ( читается х1 или х2 ). Эту функцию часто называют логическим сложением и обозначают х1 + х2.

f8 ( х1, х2 ) = х1 ↓ х2стрелка Пирса ( или функция Даггера или антидизъюнкция).

f9 ( х1, х2 ) = х1 ~ х2эквивалентная функция. Иногда ее обозначают так: x x .

f13 ( х1, х2 ) = х1 → х2импликация х1 и х2 ( читается из х1 следует х2 ). Эту функцию часто называют логическим следованием и обозначают х1 х2.

f14 ( x1, х2 ) = х1 / х2функция Шеффера (или штрих Шеффера или антиконъюнкция).

f15 ( х1, х2 ) = 1константа 1.

Представленные функции можно рассматривать и как логические операции с логическими переменными и с логическими функциями, имеющими такое же название.

Определение. Алгеброй называется множество с определёнными на нем операциями.

Обозначается алгебра обычно парой: ( Μ, Ω ), где Μ – множество элементов алгебры, а Ω – множество операций алгебры над её элементами (называется сигнатурой). Результаты операций всегда принадлежат Μ.

Определение. Алгеброй логики называется алгебра у которой множество М-

логические переменные и логические функции, а сигнатура – логические операции, т.е.

Ω = { , , & , → , ↓ , ~ , / , }.

С помощью логических операций из одних функций можно получать другие функции. Например, из f7( x1,x2 ) с помощью операции отрицания получим: (x ,x ). Из f2 и f3 с помощью операции конъюнкции получим: f = f2 & f3.

Определение. Эквивалентными ( равносильными ) функциями алгебры логи-ки называются функции, имеющие одинаковые таблицы задания функции. Будем обозначать эквивалетные функции так: f1 ~ f2.

Можно отметить, что операции дизъюнкцию и конъюнкцию можно записать так: х1 & х2 ~ min( х1, х2 ), х1 х2 ~ max ( х1, х2 ). Остальные функции табл. 1.2 названий не имеют и легко выражаются через перечисленные выше.

Например, f11 ~ , f2 ~ , f4 ~ х2 & f6.

С помощью понятия несущественной переменной остальные функции табл. 1.2 можно выразить через переменные х1 и х2.

Определение. Переменная хi дл я функции n переменных f ( х1, … , хn ) называется несущественной ( фиктивной ), если для любых наборов значений переменных, отличающихся только значениями переменной x , будет выполняться равенство

f ( х1, … , хi -1, 0, хi +1, … ,xn ) = f (x1, …, xi-1, 1, xi+1, … , xn ),

т.е. изменение хi при любом одинаковом наборе остальных переменных не изменяет значения функции.

В этом случае функция по существу зависит от n-1 переменной, т.е. представляет собой функцию g( x1, … , xi-1, xi+1, … , xn ).

Данную функцию можно получить из функции f путем удаления фиктивной переменной. И наоборот, иногда полезно вводить фиктивную переменную, т.е. можно любую функцию сделать функцией любого числа переменных, что часто бывает удобно.

Если переменная не является несущественной, то она называется существенной.

Можно дать такое определение существенной переменной.

Определение. Переменная x называется существенной для функции n переменных, если существует два набора переменных, отличающихся только значе-ниями переменной x , для которых выполняется неравенство

f( a , …, a , 0, a , …, a ) ≠ f( a , …, a , 1, a , …, a ),

т.е. изменение значения переменной x при одинаковых значениях остальных пере-менных, приводит к изменению значения функции.

Из данных определений следует, что в функциях f0 и f15 табл. 1.2 переменные х1 и х2 являются фиктивными, т.к. их изменение не приводит к изменению значений этих функций. Покажем, что в функциях f3, f5, f10, f12 табл. 1.2 одна из переменных является фиктивной.

Согласно табл. 1.2 функция f3( х1, х2 ) задается табл. 1.3. Из этой таблицы видно, что

f3( 0, 0 ) = f3( 0, 1 ) = 0, f3( 1, 0 ) = f3( 1, 1 ) = 1,

т.е. изменение значения переменной х2, при одинаковых значениях х1, не приводит к изменению значения функции. Следовательно х2 – фиктивная переменная, а значит функция f3( x1, x2 ) является функцией только одной переменной х1.

Исключая х2 из табл.1.3, получим табл.1.4 – таблицу задания функции f3. Из этой таблицы следует, что f3( x1, x2 ) ~ x1, т.е. функция эквивалентна переменной х1.

Таблица 1.3

x1

x2

f3

0

0

0

0

1

0

1

0

1

1

1

1

Таблица 1.4

х1

f3

0

0

1

1

Аналогичные рассуждения приводят к следующим соотношениям для остальных функции: f5( x1, x2 ) ~ x2, f10( x1, x2 ) ~ , f12( x1, x2 ) ~ .

Таким образом, из 16 функций табл. 1.2, 6 функций имеют фиктивные переменные. Можно показать, что с ростом числа переменных доля фиктивных переменных убывает и стремится к нулю.

Логическая функция может быть задана в так называемом векторном виде, т.е. вектором, координаты которого равны 0 или 1. Число координат для функции n переменных соответственно равно 2 . Номер координаты такого вектора соответствует номеру строки таблицы задания данной функции.

Например, задание функции f1( x1,x2 ) табл. 1.2 в векторном виде будет следующее: f1 = ( 0, 0, 0, 1 ).

Векторное задание функции f( x1, x2, x3 ) = ( 0, 0, 1, 1, 1, 1, 0, 0 ) соответствует табличному заданию функции в виде табл. 1.5.

Таблица 1.5

х1

х2

х3

f

0

0

0

0

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

0

1

1

1

0

Определим фиктивные переменные для этой функции. Подвергнем “испытанию” на фиктивность переменную х3. Для этого мы должны сравнить значения функции при одинаковых наборах х1 и х2. Запишем их:

f ( 0,0,0 ) = f( 0,0,1 ) = 0, f( 0,1,0 ) = f( 0,1,1 ) = 1,

f( 1,0,0 ) = f( 1,0,1 ) = 1, f( 1,1,0 ) = f( 1,1,1 ) = 0.

Из этих соотношений следует, что изменение значения переменной х3 при одинаковых значениях х1 и х2 не приводит к изменению значения функции. Следовательно, х3 является фиктивной переменной.

Исключая из табл. 1.5 переменную х3 т.е. вычеркивая третий столбец и строки где х3 = 1, получим табл.1.6, задающую функцию двух переменных g( x1,x2 ), эквивалентную функции f. В полученной функции переменные х1 и х2 являются существенными.

Таблица 1.6

х1

х2

g1

0

0

0

0

1

1

1

0

1

1

1

0

Задание логической функции многих переменных с помощью таблиц, которыми мы до сих пор пользовались, сильно усложняется. Поэтому, часто применяют более компактные таблицы. Примером такой таблицы функции пяти переменных может служить следующая таблица:

x3x4x5

x1x2

x3x4x5

-

1

1

-

-

1

-

-

-

-

1

-

-

-

-

-

-

1

-

-

1

1

-

-

-

-

-

-

1

-

1

-

Иногда при табличном задании логической функции её значения бывают указаны не для всех возможных наборов аргументов, например, предыдущая таблица. Это значит, что таблица оказывается неполной, а представляемая ею функция – не всюду определённой. Между тем, всякая формула алгебры логики задаёт функцию, которая всюду определена. Поэтому, если нам надо функцию, заданную неполной таблицей, выразить формулой, возникает необходимость расширения заданной таблицы до полной. Это расширение можно производить поразному, т.е. произвольно.

Во многих случаях надлежащий выбор этих значений помогает существенно упростить аналитическое представление таблично заданной функции. Пусть некоторая

логическая функция трёх переменных задана следующей таблицей:

x1

x2

x3

F

0

0

0

0

0

0

1

0

0

1

0

1

1

0

0

1

1

0

1

0

1

1

0

1

Эта таблица является неполной, в ней отсутствуют следующие наборы переменных (0, 1, 1) и (1, 1, 1) и соответствующие им значения функций. Можно дополнить данную таблицу следующим образом f( 0, 1, 1 ) = 1 и f( 1, 1, 1 ) = 0.

.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4