x |
y |
z |
f(x,y,z) |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
Это означает, что f(0,0,0) = 1, f(0,0,1) = 0, f(0,1,0) = 1 и т. д.
Две функции равны, если совпадают их таблицы истинности (на объединенном наборе переменных).
При таком задании наборы Еп всегда упорядочены естественным образом, это позволяет определять функцию только последним столбцом (который иногда для экономии места записывается в строчку). Например, в нашем примере функцию f(x,y,z) можно задать так: f = (10110100), это означает, что последний столбец таблицы истинности
Заметим, что все функции п переменных также можно перенумеровать по принципу “скользящей единицы”. Теоретически число таких функций – 22n но некоторые из них являются по существу функциями меньшего числа переменных, а две – вообще константами. Если фактически функция не зависит от некоторой переменной, то такую переменную называют фиктивной.
Теперь можно описать основные функции дискретной математики.
Функции одной переменной y=f(x). Перенумеруем эти функции (их 4) естественным образом и расположим в виде таблицы:
x f0 f1 f2 f3
0 0 0 1 1
1 0 1 0 1
Видно, что f0 (х) = 0, a f3 (х) =1, т. е. эти две функции не зависят от х, f1 (х) = х, т. е. она не меняет аргумента. Функция f2 (х) действительно содержательная функция. Она принимает значения,
6
противоположные значениям аргумента, обозначается f2 (х)=
и называется отрицанием (применяют еще обозначение ù x (читается “не x”)).
Функции двух переменных z = f(x,y).
Число этих функций равно 24 = 16. Перенумеруем и расположим их тоже в естественном порядке.
Рассмотрим более подробно эти функции. Две из них f0 = 0 и f15 = 1 являются константами. Функции
являются по существу функциями одной переменной.
Наиболее важные функции двух переменных имеют специальные названия и обозначения. Заметим, что эти обозначения не всегда общеприняты.
Перечислим 7 важнейших функций: 1) конъюнкция (функция И)
Заметим, что конъюнкция – это фактически обычное умножение (нулей и единиц). Иногда эту функцию обозначают x&y или x y;
2) дизъюнкция (функция или)
3) импликация (следование)
7
Иногда импликацию обозначают x y или x y (читается “из x следует y”).
Это очень важная функция, особенно в логике. Ее можно рассматривать следующим образом: если х = 0 (т. е. х “ложно”), то из этого факта можно вывести и “ложь”, и “истину” (и это будет правильно), если у = 1 (т. е. у “истинно”), то истина выводится и из “лжи” и из “истины”, и это тоже правильно. Только вывод “из истины ложь” является неверным. Заметим, что любая теорема всегда фактически содержит эту логическую функцию;
4) сложение по модулю 2 (здесь и далее, если не оговорено противное, знаком “+” мы будем обозначать такое сложение):
5) эквивалентность или подобие
Эта f9 = 1 тогда и только тогда, когда х = у. Заметим, что будем применять оба обозначения: ху (в основном при изучении функций) и х~ у (когда речь будет идти о логических операциях);
6) штрих Шеффера
Иногда эту функцию называют “не и” (так как она равна отрицанию конъюнкции);
7) стрелка Пирса (иногда эту функцию называют штрих Лукасевича)
8
Эта функция является отрицанием дизъюнкции и поэтому иногда ее называют “не или”.
Заметим, что свойства последних двух функций (как будет видно далее) похожи между собой и, может быть, поэтому в литературе их часто путают (т. е. называют f8 штрихом Шеффера, а f14 – стрелкой Пирса).
Три оставшиеся функции, (f2 , f4 и f11) особого значения в дискретной математике не имеют.
Заметим, что часто будут рассматриваться функции от функций, т. е. суперпозиции перечисленных выше функций. При этом последовательность действий указывается (как обычно) скобками. Исключение составляет конъюнкция (которая на самом деле является обычным умножением в двоичной системе).
Поэтому конъюнкция совершается первой даже если отсутствуют скобки. Например, запись xy yz означает
(xy) (yz).
Из перечисленных функций особую роль играют три функции, а именно конъюнкция, дизъюнкция и отрицание, поэтому рассмотрим более подробно их свойства.
Особая роль двух функций (из этих трех) определяется тем обстоятельством, что определение этих функций легко может быть перенесено на любое число переменных:
Конъюнкцией n переменных f (x1, x2, …, xn) = x1 x2…xn называется функция, которая принимает значение 1, если и только если все переменные равны 1 (и, значит, равна 0, если хотя бы одна из этих переменных равна 0).
Дизъюнкцией n переменных f (x1, x2, …, xn) = x1Ú x2Ú … Ú xn называется такая функция, которая равна 0 если и только если все переменные равны 0 (и, значит, равна 1 тогда и только тогда, когда хотя бы одна переменная равна 1).
Из этих определений видно, что конъюнкция и дизъюнкция коммутативны, т. е. обе функции не зависят от порядка переменных.
Будем обозначать через
(x1, x2, … , xn) новую функцию, которая на наборе переменных x1, x2, …, xn принимает значение, противоположное f(x1, x2, …, xn).
Заметим, что в перечисленных далее свойствах в роли x, y, z может выступать любая логическая функция. Все свойства легко могут быть доказаны из приведенных выше определений этих функций.
1. Универсальные границы:
x 1 = 1; x 0 = х; х1 = х; х0 = 0.
2. Ассоциативность конъюнкции и дизъюнкции:
x(yz) = (xy)z; x (y z) = (x y) z.
Это свойство означает, что в конъюнкции или дизъюнкции нескольких переменных можно как угодно расставлять скобки (а значит, можно вообще их не ставить).
3. Поглощение (“целое поглощает часть”):
х ху = х(1 у) = х.
9
4. Два распределительных закона:
х (y z) = x y x z; х (y z) = (x y)(x z),
оба свойства могут быть доказаны простым рассуждением (например, если х = 0, тогда по свойству 1 справа выражение равно 0 и слева тоже 0, если х = 1, то справа стоит y z и слева будет то же самое).
5. Правила де Моргана:
оба эти правила обобщаются на любое число переменных:
6. Правило Блейка:
Пусть К1 и К2 – какие-то логические функции, тогда
что легко доказывается справа налево:
Следствием правила Блейка являются два правила обобщенного поглощения:
Заметим, что правила Блейка и следствия из него часто используются для упрощения дизъюнкции (см. разд. 5)
Замечание. Конъюнкция, дизъюнкция, отрицание были определены для объектов, принимающих лишь два значения 0 и 1. Однако бывают случаи, когда можно ввести такие операции для некоторых других объектов (эти операции также называют иногда конъюнкцией, дизъюнкцией и отрицанием), для которых также выполнены свойства 1–6. В этом случае говорят, что на этих объектах введена булева алгебра.
Например, пусть – некоторое множество точек (или элементарных событий в теории вероятности), – множество подмножеств из . Если A, B принадлежат , то можно ввести сумму множеств (дизъюнкцию) A+B = A B (равную объединению точек из А и В), произведение множеств
(конъюнкцию) АВ = А В (равное набору точек, входящих и в А, и в B одновременно) и дополнение 
(отрицание А), т. е.
– множество точек из , не входящих в А. Тогда для этих операций (и это легко
проверить) будут выполнены свойства 1–6. Таким образом, множество всех подмножеств из является
булевой алгеброй
10