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

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

description

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

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

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

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

ХНУРЭ, кафедра ПО ЭВМ, Тел. 7021-446, e-mail: [email protected]

Лекции 4-5Лекции 4-5

Н.В. БелоусН.В. Белоус

Факультет компьютерных наук

Кафедра ПО ЭВМ, ХНУРЭ

Компьютерная дискретная математикаКомпьютерная дискретная математика

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

Тема 1Тема 1Булевы функции и Булевы функции и

алгебра логикиалгебра логики

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

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

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

3

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

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

Функция вида y=f(x1,x2,...,xn), аргументы и значения

которой заданы на множестве B, называется n-местной булевой функцией. Такие функции также называют логическими или переключательными функциями.

4

Page 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

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

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

I. Таблицы истинности

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

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

6

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

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

1.0 0 — функция константа 0,

2.1 = x — функция повторения аргумента,

3.2 =   — функция инверсии или отрицания аргумента,

4.3 1 — функция константа 1.

x

7

x 0 1 2 3

0 0 0 1 1

1 0 1 0 1

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

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

x y 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

8

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

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

Функ-

ция

Обоз-

начение

Название Другие

обоз-я

Прочтение

f0(x,y) 0 константа 0 константа 0

f1(x,y) xy конъюнкция (логическое «и») ·, &, &&,*, И,

, AND, min x и y

f2(x,y) отрицание импликации > x и не y

f3(x,y) x повторение первого аргумента как x

f4(x,y) отрицание обратной импликации < не x и y

f5(x,y) Y повторение второго аргумента как y

f6(x,y) xy исключающее «или»

(сумма по модулю 2)

, < >, > <,

!=, XOR x не как y

f7(x,y) xy дизъюнкция

(логическое «или»)

OR, ИЛИ,

+, max x или у

yx

9

yx

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

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

Функ-

ция

Обоз-

начение

Название Другие

обоз-я

Прочтение

f8(x,y) xy отрицание дизъюнкции

(стрелка Пирса)

не x и не y

f9(x,y) xy эквивалентность , , Eqv, = x как y

f10(x,y) отрицание второго аргумента y не y

f11(x,y) xy обратная импликация x, если y

(x или не y)

f12(x,y) отрицание первого аргумента x не x

f13(x,y) xy импликация , , Imp если x, то y

(не x или y)

f14(x,y) x | y отрицание конъюнкции

(штрих Шеффера) не x или не y

f15(x,y) 1 константа 1 константа 1

10

x

y

yx

yx

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

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

II. Номера булевых функций и интерпретаций

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

Младшим разрядом считается самая нижняя строка (значение функции на интерпретации (1,1,…,1)), а старшим — самая верхняя (значение функции на интерпретации (0,0,…,0)).

11

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

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

Каждой интерпретации булевой функции присваивается свой номер – значение двоичного кода, который представляет собой интерпретация.

Интерпретации, записанной в верхней строке таблицы истинности, присваивается номер 0, затем следует интерпретация номер 1 и т.д.

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

12

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

ПримерПример

Найти порядковый номер функции f(x,y), принимающей следующие значения: f(0,0)=1, f(0,1)=1, f(1,0)=0, f(1,1)=1.

x y f(x,y)

0 0 1

0 1 1

1 0 0

1 1 1

13

Двоичный код, соответствующий значению этой функции – 1101.

11012 = 123 + 122 + 021 + 120 = =8+4+0+1=1310

Таким образом f13(x,y) = (1101)2

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

ПримерПример

Построить таблицу истинности для функции f198

x y z f (x,y,z)0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

14Пример заполнения таблицы истинности

000

0

11

11

2|49|12|99|0

2|198

2|12|02|24|1

2|6|0

1|12|3|0

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

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

III. Задание булевых функций с помощью формул

Формула – это выражение, задающее некоторую функцию в виде суперпозиции других функций.

Суперпозицией называется прием получения новых функций путем подстановки значений одних функций вместо значений аргументов других функций.

15

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

ПримерПример

Рассмотрим формулу булевой алгебры, задающую некоторую функцию f(x,y,z)

Эта формула содержит функции:

g(x1) – отрицание,

s(x1,x2) – конъюнкция,

l(x1,x2) – дизъюнкция.

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

f (x,y,z) = l(s(x,g(y)),z)

16

z)yx()z,y,x(f

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

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

Если в формуле отсутствуют скобки, то операции выполняются в следующей последовательности:

1.Отрицание.2.Конъюнкция.3.Дизъюнкция.4.Импликация.5.Эквивалентность

~

yxzyx)yx()z)yx((

17

ПримерПример Убрать все возможные скобки

Расставить скобки с учетом приоритета операций yx~zyyx yx~)zy()yx( yx~))zy()yx(( )yx(~))zy()yx(( yx~zy)yx(

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

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

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

18

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

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

1) Коммутативность конъюнкции и дизъюнкции

xy = yx Доказательство

xy = yx Доказательство

2) Ассоциативность конъюнкции и дизъюнкции

x(yz)= (xy)z Доказательство

x(yz)=(xy)z Доказательство

3) Дистрибутивность конъюнкции и дизъюнкции относительно друг друга

x(yz) = (xy)(xz) Доказательство

x(yz) = (xy)(xz) Доказательство

19

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

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

4) Идемпотентность конъюнкции и дизъюнкции

xx =

xx =

5) Закон исключенного третьего

Доказательство

6) Закон противоречия

Доказательство

8) Закон элиминации

x(xy) = Доказательство

x(xy) = Доказательство

20

xx

xx

xx

1

0

x

x

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

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

7) Тождества с константами. x0 = x1 = x1 = x0 =

9) Закон двойного отрицания.

10) Законы де Моргана. Доказательство Доказательство

21

x

yxyx

yxyx

xx

10

x

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

Тема 2Тема 2Двойственность булевыхДвойственность булевых

функций функций

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

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

Функция f*(x1,…,xn) называется двойственной к функции f(x1,…,xn), если

Пример построения двойственной функции 23

)x,...,x(f)x,...,x(f n1n1*

ПримерПример

Найти двойственные функции

01)*1(

10)*0(

)*(

)*(

)*(

xxx

yxyxyx

yxyxyx

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

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

Функция, равная своей двойственной, называется самодвойственной.

f = f*

f

24

x y f(x,y) f*(x,y)

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

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

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

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

x y f(x,y)=f*(x,y)

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

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

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

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

f

f

f f

f

f

f

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

Является ли функция f(x,y,z) самодвойственной?

25

x y z f (x,y,z) f* (x,y,z)0 0 0 0 00 0 1 1 10 1 0 0 10 1 1 1 11 0 0 0 01 0 1 0 11 1 0 0 01 1 1 1 1

ПримерПример

f(x,y,z) — несамодвойственная

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

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

Пусть функция F заданна суперпозицией функций f0,…,fn, где nN. Функцию F*,

двойственную F, можно получить, заменив в формуле F функции f0,…,fn на двойственные им f0

*,…,fn*.

26

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

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

27

Правило получения двойственных формулПравило получения двойственных формул

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

ПримерПримерНайти функцию, двойственную функции

РешениеРешение

28

zxzyyx)z,y,x(f

Правило получения двойственных формулПравило получения двойственных формул

)*zxzyyx()z,y,x(*f

)zx()zy()yx( )zx()zxy(

zzxxzxzyxy zxzxzyyx

zxzyyx )z,y,x(f

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

Если функции равны, то и двойственные им функции также равны.

Пусть f1 и f2 – некоторые функции, заданные формулами. Тогда если

f1 = f2 , то

f1* = f2

*

29

Правило получения двойственных формулПравило получения двойственных формул