dm_tema_3
.pdf3. Алгебра логики |
3.2 Булевы функции |
Таблицы истинности основных булевых функций двух аргументов:
x1 |
x2 |
x1 ! x2 |
x1 |
x2 |
x1 x2 |
x1 x2 |
x1jx2 |
x1 # x2 |
0 |
0 |
1 |
|
1 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
0 |
1 |
1 |
|
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
|
1 |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
|
1 |
1 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
Е.А.Перепелкин (АлтГТУ) |
Дискретная математика. Тема 3 |
2012 |
11 / 57 |
3. Алгебра логики |
3.2 Булевы функции |
Булеву функцию можно задать:
1)в виде формулы;
2)в виде таблицы значений;
3)в виде вектора значений;
4)в виде множества номеров наборов значений переменных, на которых функция принимает значение 1.
При заполнении таблицы значений булевой функции наборы значений переменных пронумеруем от 0 до 2n 1. Значения переменных есть
цифры двоичной записи этих номеров.
Е.А.Перепелкин (АлтГТУ) |
Дискретная математика. Тема 3 |
2012 |
12 / 57 |
3. Алгебра логики |
3.2 Булевы функции |
Пример
Мажоритарная функция (функция голосования) принимает значение 1, если более половины переменных имеют значение 1, иначе значение функции равно 0.
Мажоритарную функцию можно записать в виде формулы. При n = 3 получим
f (x1; x2; x3) = x1 ^ x2 _ x1 ^ x3 _ x2 ^ x3; f (x1; x2; x3) = x1x2 + x1x3 + x2x3:
Е.А.Перепелкин (АлтГТУ) |
Дискретная математика. Тема 3 |
2012 |
13 / 57 |
3. Алгебра логики |
3.2 Булевы функции |
Таблица значений мажоритарной функции
|
x1 |
x2 |
x3 |
f |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
2 |
0 |
1 |
0 |
0 |
|
|
|
|
|
3 |
0 |
1 |
1 |
1 |
|
|
|
|
|
4 |
1 |
0 |
0 |
0 |
|
|
|
|
|
5 |
1 |
0 |
1 |
1 |
|
|
|
|
|
6 |
1 |
1 |
0 |
1 |
|
|
|
|
|
7 |
1 |
1 |
1 |
1 |
|
|
|
|
|
Е.А.Перепелкин (АлтГТУ) |
Дискретная математика. Тема 3 |
2012 |
14 / 57 |
3. Алгебра логики |
3.2 Булевы функции |
Вектор значений мажоритарной функции
f = (0; 0; 0; 1; 0; 1; 1; 1):
Множество номеров наборов переменных, на которых мажоритарная функция принимает значение 1,
f = f3; 5; 6; 7g
Е.А.Перепелкин (АлтГТУ) |
Дискретная математика. Тема 3 |
2012 |
15 / 57 |
3. Алгебра логики |
3.2 Булевы функции |
Определение
Переменная xi называется фиктивной переменной булевой функции f (x1; : : : ; xn), åñëè
f (x1; : : : ; xi 1; 0; xi+1; : : : ; xn) = f (x1; : : : ; xi 1; 1; xi+1; : : : ; xn)
для всех наборов значений переменных fx1; : : : ; xi 1; xi+1; : : : ; xng. Иначе переменная называется существенной.
Фиктивные переменные можно удалить из булевой функции и тем самым уменьшить число переменных.
Е.А.Перепелкин (АлтГТУ) |
Дискретная математика. Тема 3 |
2012 |
16 / 57 |
3. Алгебра логики |
3.2 Булевы функции |
Пример Рассмотрим булеву функцию тр¼х переменных
x |
y |
z |
f (x; y; z) |
|
|
|
|
0 |
0 |
0 |
0 |
|
|
|
|
0 |
0 |
1 |
1 |
|
|
|
|
0 |
1 |
0 |
0 |
|
|
|
|
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
|
|
|
|
1 |
0 |
1 |
0 |
|
|
|
|
1 |
1 |
0 |
1 |
|
|
|
|
1 |
1 |
1 |
0 |
|
|
|
|
Переменные x, z являются существенными. Переменная y фиктивная.
Е.А.Перепелкин (АлтГТУ) |
Дискретная математика. Тема 3 |
2012 |
17 / 57 |
3. Алгебра логики |
3.2 Булевы функции |
Удалим переменную y из таблицы. Получим функцию g(x; z) с таблицей значений
x |
z |
g(x; z) |
|
|
|
0 |
0 |
0 |
|
|
|
0 |
1 |
1 |
|
|
|
1 |
0 |
1 |
|
|
|
1 |
1 |
0 |
Отметим, что g(x; z) = x z.
Определение
Две формулы алгебры высказываний называются равносильными, если соответствующие булевы функции совпадают.
Е.А.Перепелкин (АлтГТУ) |
Дискретная математика. Тема 3 |
2012 |
18 / 57 |
3. Алгебра логики |
3.2 Булевы функции |
Равносильные формулы (законы алгебры логики):
|
|
x = x |
Снятие двойного отрицания |
|
|||||||
|
|
|
|
|
|
|
|
||||
|
|
x ^ y = y ^ x |
Коммутативность конъюнкции |
|
|||||||
|
|
x _ y = y _ x |
Коммутативность дизъюнкции |
|
|||||||
|
(x ^ y) ^ z = x ^ (y ^ z) |
Ассоциативность конъюнкции |
|
||||||||
|
(x _ y) _ z = x _ (y _ z) |
Ассоциативность дизъюнкции |
|
||||||||
x ^ (y _ z) = (x ^ y) _ (x ^ z) |
Дистрибутивность конъюнкции |
îò- |
|||||||||
|
|
|
|
|
носительно дизъюнкции |
|
|||||
x _ (y ^ z) = (x _ y) ^ (x _ z) |
Дистрибутивность дизъюнкции |
îò- |
|||||||||
|
|
|
|
|
носительно конъюнкции |
|
|||||
x _ (x ^ y) = x; x ^ (x _ y) = x |
Законы поглощения |
|
|||||||||
|
|
= x ^ y; |
|
= x _ y |
Законы де Моргана |
|
|
|
|||
|
x _ y |
x ^ y |
|
|
|
||||||
|
|
x _ x = 1 |
Закон исключенного третьего |
|
|||||||
|
|
x ^ x = 0 |
Закон противоречия |
|
|||||||
|
x ^ x = x; |
x _ x = x |
Идемпотентность |
|
|||||||
|
x ^ 1 = x; |
x _ 0 = x |
Свойства констант |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Е.А.Перепелкин (АлтГТУ) |
Дискретная математика. Тема 3 |
2012 |
19 / 57 |
3. Алгебра логики |
3.2 Булевы функции |
Доказать справедливость законов алгебры логики можно на основе таблиц истинности соответствующих функций.
Например, для закона де Моргана
x _ y = x ^ y
получим следующую таблицу
x |
y |
x _ y |
|
x _ y |
|
x |
y |
x ^ y |
0 |
0 |
0 |
1 |
|
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
0 |
1 |
1 |
0 |
|
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
1 |
0 |
1 |
0 |
|
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
0 |
|
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
Е.А.Перепелкин (АлтГТУ) |
Дискретная математика. Тема 3 |
2012 |
20 / 57 |