Булевы функции и алгебра логики. Двойственность булевых функций
Тема 1 Булевы функции и алгебра логики
Булевы переменные и функции
Булевы переменные и функции
Основные определения
Способы задания булевых функций
Булевы функции одной переменной
Булевы функции двух переменных
Булевы функции двух переменных
Булевы функции двух переменных
Способы задания булевых функций
Способы задания булевых функций
Пример
Пример
Способы задания булевых функций
Пример
Приоритет выполнения операций
Эквивалентные формулы
Законы и тождества алгебры логики
Законы и тождества алгебры логики
Законы и тождества алгебры логики
Тема 2 Двойственность булевых функций
Двойственные булевы функции
Самодвойственные булевы функции
Принцип двойственности
1.29M
Категория: МатематикаМатематика

Булевы функции и алгебра логики. Двойственность булевых функций

1. Булевы функции и алгебра логики. Двойственность булевых функций

Компьютерная дискретная математика
Булевы функции и алгебра логики.
Двойственность булевых функций
Лекции 4-5
Н.В. Белоус
Факультет компьютерных наук
Кафедра ПО ЭВМ, ХНУРЭ
ХНУРЭ, кафедра ПО ЭВМ, Тел. 7021-446, e-mail: [email protected]
900igr.net

2. Тема 1 Булевы функции и алгебра логики

3. Булевы переменные и функции

Переменные, которые могут принимать значения
только из множества B={0,1}, называются логическими
или булевыми переменными. Сами значения 0 и 1
булевых
переменных
называются
булевыми
константами.
3

4. Булевы переменные и функции

Функция вида y=f(x1,x2,...,xn), аргументы и значения
которой заданы на множестве B, называется nместной булевой функцией. Такие функции также
называют логическими или переключательными
функциями.
4

5. Основные определения

Кортеж (x1,x2,…,xn) конкретных значений булевых
переменных называется двоичным словом (n-словом)
или булевым набором длины n.
Для булевой функции y=f(x1,x2,…,xn) конкретное
(индивидуальное) значение булевого набора (x1,x2,…,xn)
называется также интерпретацией булевой функции f.
Множество всех двоичных слов, обозначаемое через
Bn, образует область определения булевой функций и
называется n-мерным булевым кубом и содержит 2n
элементов-слов: |Bn|=2n.
Каждому двоичному слову соответствует одно из
двух возможных значений (0 или 1), таким образом,
область значений представляет собой кортеж длиной 2n,
состоящий из 1 и 0.
5

6. Способы задания булевых функций

I. Таблицы истинности
Таблицы, в которых каждой интерпретации
функции поставлено в соответствие ее значение,
называются таблицами истинности булевой
функции.
В таблице истинности каждой переменной и
значению самой функции соответствует по одному
столбцу, а каждой интерпретации — по одной строке.
Количество строк в таблице соответствует количеству
различных интерпретаций функции.
6

7. Булевы функции одной переменной

x
0
1
2
3
0
0
0
1
1
1
0
1
0
1
1. 0 0 — функция константа 0,
2. 1 = x — функция повторения аргумента,
3. 2 = x — функция инверсии или отрицания аргумента,
4. 3 1 — функция константа 1.
7

8. Булевы функции двух переменных

x
0
0
1
1
y
0
1
0
1
f0
0
0
0
0
f1
0
0
0
1
f2
0
0
1
0
f3
0
0
1
1
f4
0
1
0
0
f5
0
1
0
1
f6
0
1
1
0
f7
0
1
1
1
f8
1
0
0
0
f9
1
0
0
1
f10
1
0
1
0
f11
1
0
1
1
f12
1
1
0
0
f13
1
1
0
1
f14
1
1
1
0
f15
1
1
1
1
8

9. Булевы функции двух переменных

Функ- Обозция начение
Название
Другие
обоз-я
Прочтение
f0(x,y)
0
константа 0
константа 0
f1(x,y)
x y
конъюнкция (логическое «и»)
·, &, &&,*, И,
, AND, min
xиy
f2(x,y)
x y
отрицание импликации
>
x и не y
f3(x,y)
x
повторение первого аргумента
как x
f4(x,y)
x y
отрицание обратной импликации
f5(x,y)
Y
повторение второго аргумента
f6(x,y)
x y
исключающее «или»
(сумма по модулю 2)
, < >, > <,
f7(x,y)
x y
дизъюнкция
(логическое «или»)
OR, ИЛИ,
+, max
<
не x и y
как y
x не как y
!=, XOR
x или у
9

10. Булевы функции двух переменных

Функция
Обозначение
Название
Другие
обоз-я
Прочтение
f8(x,y)
x y
отрицание дизъюнкции
(стрелка Пирса)
f9(x,y)
x y
эквивалентность
f10(x,y)
отрицание второго аргумента
y
не y
f11(x,y)
y
x y
обратная импликация
x, если y
(x или не y)
f12(x,y)
x
отрицание первого аргумента
x
не x
если x, то y
(не x или y)
не x и не y
x y
, , Eqv, =
f13(x,y)
x y
импликация
, , Imp
f14(x,y)
x|y
отрицание конъюнкции
(штрих Шеффера)
x y
f15(x,y)
1
константа 1
x как y
не x или не y
константа 1
10

11. Способы задания булевых функций

II. Номера булевых функций и интерпретаций
Каждой функции присваивается порядковый номер
в виде натурального числа, двоичный код которого
представляет собой столбец значений функции в
таблице истинности.
Младшим разрядом считается самая нижняя строка
(значение функции на интерпретации (1,1,…,1)), а
старшим — самая верхняя (значение функции на
интерпретации (0,0,…,0)).
11

12. Способы задания булевых функций

Каждой
интерпретации
булевой
функции
присваивается свой номер – значение двоичного кода,
который представляет собой интерпретация.
Интерпретации, записанной в верхней строке
таблицы истинности, присваивается номер 0, затем
следует интерпретация номер 1 и т.д.
В
самой
нижней
строке
расположена
интерпретация с номером 2n–1, где n — количество
переменных, от которых зависит булева функция.
12

13. Пример

Найти
порядковый
номер
функции
f(x,y),
принимающей следующие значения: f(0,0)=1, f(0,1)=1,
f(1,0)=0, f(1,1)=1.
x
0
0
1
1
y f(x,y)
0 1
1 1
0 0
1 1
Двоичный код, соответствующий
значению этой функции – 1101.
11012 = 1 23 + 1 22 + 0 21 + 1 20 =
=8+4+0+1=1310
Таким образом
f13(x,y) = (1101)2
13

14. Пример

Построить таблицу истинности для функции f198
198 | 2
0 | 99 | 2
1 | 49 | 2
1 | 24 | 2
0 | 12 | 2
0 |6 | 2
0 |3 | 2
1 |1
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z f (x,y,z)
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
0
Пример заполнения таблицы истинности
14

15. Способы задания булевых функций

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

16. Пример

Рассмотрим формулу булевой алгебры, задающую
некоторую функцию f(x,y,z)
f ( x, y,z ) ( x y ) z
Эта формула содержит функции:
g(x1) – отрицание,
s(x1,x2) – конъюнкция,
l(x1,x2) – дизъюнкция.
Представим данную формулу в виде суперпозиции
указанных функций следующим образом:
f (x,y,z) = l(s(x,g(y)),z)
16

17. Приоритет выполнения операций

Если в формуле отсутствуют скобки, то
операции
выполняются
в
следующей
последовательности:
1. Отрицание.
2. Конъюнкция.
3. Дизъюнкция.
4. Импликация.
5. Эквивалентность
Пример
Убрать все возможные скобки

~
(( x y ) z ) ( x y ) x y z x y
Расставить скобки с учетом приоритета операций
(((
xx
x yy
y))
y (y(yz y ~
z zx~z)
))x~ ~
xy(x
xy
y yy )
17

18. Эквивалентные формулы

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

19. Законы и тождества алгебры логики

1) Коммутативность конъюнкции и дизъюнкции
x y = y x
Доказательство
x y = y x
Доказательство
2) Ассоциативность конъюнкции и дизъюнкции
x (y z)= (x y) z
Доказательство
x (y z)=(x y) z
Доказательство
3) Дистрибутивность конъюнкции и дизъюнкции
относительно друг друга
x (y z) = (x y) (x z)
Доказательство
x (y z) = (x y) (x z)
Доказательство
19

20. Законы и тождества алгебры логики

4) Идемпотентность конъюнкции и дизъюнкции
x x = x
x x = x
5) Закон исключенного третьего
Доказательство
x x 1
6) Закон противоречия
Доказательство
x x 0
8) Закон элиминации
x (x y) = x
Доказательство
x (x y) = x
Доказательство
20

21. Законы и тождества алгебры логики

7) Тождества с константами.
x 0 = x
x 1 = x
x 1 = 1
x 0 = 0
9) Закон двойного отрицания.
x x
10) Законы де Моргана.
x y x y
x y x y
Доказательство
Доказательство
21

22. Тема 2 Двойственность булевых функций

23. Двойственные булевы функции

Функция f*(x1,…,xn) называется двойственной к
функции f(x1,…,xn), если
f ( x1 ,..., xn ) f ( x1 ,..., xn )
*
Пример
Найти двойственные функции
( x y )* x y x y
( x y )* x y x y
( x )* x x
(0)* 0 1
(1)* 1 0
Пример построения двойственной функции
23

24. Самодвойственные булевы функции

Функция, равная своей двойственной, называется
самодвойственной.
f = f*
x y
f(x,y)
f*(x,y)
x y f(x,y)=f*(x,y)
0 0 f(0,0)
f (1,1)
0 1 f(0,1)
f (1,0)
0 0 f(0,0)= f (1,1)
0 1 f(0,1)= f (1,0)
1 0 f(1,0)
f (0,1)
1 0 f(1,0)= f (0,1)
1 1 f(1,1)
f (0,0)
1 1 f(1,1)= f (0,0)
24

25.

Пример
Является ли функция f(x,y,z) самодвойственной?
f(x,y,z) —
x y z f (x,y,z) f* (x,y,z)
0 0 0
0
0
0 0 1
1
1
0 1 0
0
1
0 1 1
1
1
1 0 0
0
0
1 0 1
0
1
1 1 0
0
0
1 1 1
1
1
несамодвойственная
25

26. Принцип двойственности

Пусть функция F заданна суперпозицией
функций f0,…,fn, где n N. Функцию F*,
двойственную F, можно получить, заменив в формуле
F функции f0,…,fn на двойственные им f0*,…,fn*.
26

27.

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

28.

Правило получения двойственных формул
Пример
Найти функцию, двойственную функции
f ( x, y,z ) x y y z x z
Решение
f * ( x , y , z ) ( x y y z x z )*
( x y ) ( y z ) ( x z ) ( y x z ) ( x z )
y x y z x z x x z z
x y y z x z x z
x y y z x z f ( x, y,z )
28

29.

Правило получения двойственных формул
Если функции равны, то и двойственные им функции
также равны.
Пусть f1 и f2 – некоторые функции, заданные
формулами. Тогда если
f1 = f2 ,
то
f1* = f2*
29
English     Русский Правила