Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1203

.pdf
Скачиваний:
8
Добавлен:
30.04.2022
Размер:
867.71 Кб
Скачать

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X Y

Z

 

 

 

 

 

 

 

(Z | X) (Y | X)

16

 

(X

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

(X Y)|(X Z)

 

Y

Z

17

X Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

Z

Y

 

(X |

 

 

 

) (Z

 

 

)

Y

X

18

Z (

 

 

 

 

 

 

Y)

 

(

 

X) (

 

|Y)

X

Z

X

19

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X (

 

 

 

(Y Z))

 

Y Z

 

 

 

Y

20

(X

 

 

 

 

) Y

 

 

 

 

X (

 

 

 

|(Z

 

 

 

 

))

Z

X

 

Y

X Y

5. БУЛЕВЫ ФУНКЦИИ

Теоретические сведения

Функция, которая принимает два значения 0 или 1, и аргументы которой принимают эти же значения, называется булевой функцией [1, 3].

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

функций от n аргументов определяется числом 22n . С возрастанием n количество различных функций увеличивается (уже при n =5 существует 4235000000 булевых функций), поэтому ограничиваться табличным заданием булевой функции нельзя и возникает вопрос о построении булевой функции с помощью полных систем функций.

Пусть P(n) – множество всех булевых функций от n переменных, содержащее также константы 0 и 1. Так для n=2 получим 16 функций, которые можно определить с помощью таблицы истинности.

39

X Y X Y X Y

X

Y

f1

f2

f3

f4

f5

f6

f7

f8

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

 

 

 

 

 

 

 

 

 

 

X

Y

f9

f10

f11

f12

f13

f14

f15

f16

0

0

1

1

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

Функция f1 (X,Y)=0 – константа нуль; Функция f2 (X,Y)= X Y – конъюнкция;

Функция f3 (X,Y)= X Y = X Y - левая коимпликация

(читается «не если Х, то Y»); Функция f4 (X,Y)=Х;

Функция f5 (X,Y)= X Y= Y X правая коимпликация;

Функция f6 (X,Y)=Y;

Функция f7 (X,Y)= – сложение по модулю два или функция неравнозначности, неэквивалентности;

Функция f8 (X,Y)= Х Y – дизъюнкция;

Функция f9 (X,Y)= X Y X Y X Y функция Вебба;

Функция f10 (X,Y)= X Y – эквиваленция; Функция f11 (X,Y)= Y – отрицание;

Функция f12 (X,Y)= X Y X Y правая импликация

(читается «если Y, то Х»);

Функция f13 (X,Y)= X – отрицание;

Функция f14 (X,Y)= X Y=Y X – левая импликация;

Функция f15 (X,Y)= X Y=X|Y – функция Шеффера;

40

Функция f16 (X,Y)=1 константа единица.

Функция

f (X1, X2,...,Xn) называется функцией, сохра-

няющей константу 0, если f (0,…,0)=0.

Функция

f (X1, X2,...,Xn) называется функцией сохра-

няющей константу 1, если f (1,…,1)=1.

Функция

f *(X1, X2,...,Xn) называется двойственной

функцией f (X1, X2,...,Xn), если

f *(X1, X2,...,Xn)= f (X1, X2,...,Xn).

Функция

f (X1, X2,...,Xn)

называется самодвойствен-

ной, если

 

 

f (X1, X2,...,Xn)= f *(X1, X2,...,Xn).

Функция

f (X1, X2,...,Xn) называется монотонной, если

для любых

двух наборов

X (X1, X2,...,Xn) и

Y (Y1,Y2,...,Yn), таких, что X≤Y (для любого i

Xi Yi ), име-

ет место неравенство

 

f (X1, X2,...,Xn) f (Y1,Y2,...,Yn).

Функция f (X1, X2,...,Xn) называется линейной, если f (X1, X2,...,Xn)=C0 C1X1 ... CnXn

где Ci {0,1}, а + - операция сложения по модулю два.

Замечания.

1.Монотонность булевой функции проверяется с помощью таблицы истинности.

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

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

основе его лежит переход к операциям и +, при этом

41

0+X=X; 1+X= X .

Чтобы построить многочлен Жегалкина нужно выполнить следующие действия:

1.В выражении для булевой функции перейти к операциям , .

2.X заменить на (1+X).

3.Выполнить логическое умножение и упростить

формулу в соответствии со свойствами операций + и . Примеры:

X1 X2 , X1 X2 – функции, сохраняющие константу 0; X1 X2 – функция, не сохраняющая константу 0;

X1 X2 , X1 X2 – функции, сохраняющие константу 1; X1 +X2 – функция, не сохраняющая константу 1; X1+X2+X3 – самодвойственная функция, т.к.

f*( X1 ,X2 ,X3 )=1+(1+ X1)+(1+X2)+(1+X3 )= X1+X2 +X3 = f( X1 ,X2 ,X3 );

X1+X2 – несамодвойственная функция, т.к.

f*( X1 ,X2)=1+(1+ X1)+(1+X2)=1+X1+X2 f( X1 ,X2 ); X1 X2, X1 X2 – монотонные функции;

X1 X2 – немонотонная функция (определении монотонности нарушается на наборах (0, 0) и (1, 0)).

X1 +X2 – линейная функция;

X1 X2 = X1 +X2+X1X2 – нелинейная функция.

Система функций {f1, f2,..., fn} называется полной, если любая булева функция может быть записана в виде формулы через функции этой системы.

Пусть D={f1, ..., fn} – произвольная система булевых функций, тогда справедлив следующий критерий полноты.

Теорема Поста. Система D булевых функций является полной тогда и только тогда, когда выполняется пять условий: существует функция fi D, не сохраняющая константу 0; функция fi D, не сохраняющая константу 1; нелинейная функция;

42

несамодвойственная функция и немонотонная функция в системе D.

Пример. Пусть К0 – класс функций, сохраняющих константу 0; К1 – класс функций, сохраняющих константу 1; Км – класс монотонных функций; Кл – класс линейных функций; Кс

– класс самодвойственных функций. Докажем полноту системы {+, ,1}.

Составим таблицу Поста следующего вида:

F

К0

К1

Км

Кл

Кс

X+Y

+

-

-

+

-

X Y

+

+

+

-

-

1

-

+

+

+

-

В силу теоремы Поста для полноты системы необходимо и достаточно, чтобы в каждом столбце таблицы был хотя бы один “-”. Построенная таблица доказывает полноту систе-

мы {+, ,1}.

Пример. Исследовать систему булевых функций ,

на полноту.

Решение. Для проверки полноты системы булевых функций будем использовать критерий полноты – теорему Поста. Составим таблицу Поста.

f

K0

K1

Kм

 

Kл

 

Kс

X Y

-

 

 

+

-

 

-

 

-

 

 

 

-

 

 

-

-

 

+

 

+

X

 

 

 

 

 

 

 

K0 .

 

 

 

 

0 0 1,0

1,следовательно ,

 

 

 

 

 

1 1 1,следовательно K1,

 

в то

время как

K1,так как 1 0.

Для проверки монотонности воспользуемся таблицей ис

43

X

Y

X Y

 

 

 

 

X

 

0

0

1

 

 

1

0

1

1

 

 

1

1

0

0

 

 

0

1

1

1

 

 

0

 

 

 

 

 

 

 

 

Анализ показывает, что X Y, X не являются моно-

тонными

функциями,

 

 

так

 

 

 

 

как

(1,0) (0,0), а

(1 0) (0 0); для

 

 

:1 0, а

 

 

 

 

 

 

 

(1) (0).

X

Для определения линейности функции построим многочлен Жегалкина.

X 1 X;

X Y X Y X Y 1 (X (1 Y)) 1 X XY

Таким образом, X - линейная функция, а X Y - нет. Определим являются ли исследуемые функции самодвой-

ственными. Так как

f *(X)

 

 

 

 

 

 

 

 

 

 

 

f

(

X

)

X

f (X),

то

X - са-

модвойственная

функция.

 

 

 

 

В

 

то

время,

 

 

как

f *(X,Y) f (X,Y ) X Y X Y X Y X Y , и по-

этому Kc .

Для полноты системы необходимо и достаточно, чтобы в каждом столбце таблицы Поста был хотя бы один “-“. Постро-

енная таблица доказывает, что система

( , ) является пол-

ной.

 

 

 

 

 

 

Задание 7

 

 

 

 

 

 

 

 

 

 

Исследовать систему булевых функций на полноту.

 

 

 

 

 

 

 

 

 

 

 

1

, ,

 

 

 

11

 

, ,1

 

2

,

 

 

 

 

12

 

, ,1

 

 

3

,

 

 

 

 

 

13

 

, ,1

 

4

,0

 

14

 

, ,0

44

5

, ,0

15

, ,1

6

,

 

 

 

16

, ,

 

 

7

,

17

, ,1

8

, ,

18

, ,

 

 

 

 

 

9

,

 

 

 

19

, ,

 

 

 

 

 

 

10

, ,

20

, ,1

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Новиков Ф.А. Дискретная математика для программистов / Ф.А. Новиков. СПб.: Питер, 2004. 364 с.

2.Судоплатов С.В. Элементы дискретной математики / С.В. Судоплатов, Е.В. Овчинникова. М.: ИНФРА-М, 2002. 280 с.

3.Судоплатов С.В. Математическая логика и теория алгоритмов: учебник / С.В. Судоплатов, Е.В. Овчинникова. М.:

ИНФРА-М, 2004. – 224 с.

4.Иванов Б.Н. Дискретная математика. Алгоритмы и программы / Б.Н. Иванов. М.: Лаборатория базовых знаний, 2003. – 288 с.

5.Кузнецов О.П. Дискретная математика для инженера / О.П. Кузнецов. СПб.: Лань, 2005. – 400 с.

6.Собенина О.В. Дискретная математика: учеб. пособие / О.В. Собенина. Воронеж: ВГТУ, 2012.(электронное издание)

7.Лавров И.А. Задачи по теории множеств, математической логике и теории алгоритмов / И.А. Лавров, Л.Л. Максимова. М.: ФИЗМАТЛИТ, 2004. – 256 с.

8.Гаврилов Г.П. Сапоженко А.А. Задачи и упражнения по дискретной математике: учеб. пособие / Г.П. Гаврилов, А.А. Сапоженко. – 3-е изд., перераб. – М.: ФИЗМАТЛИТ, 2005. – 416 с.

45

 

СОДЕРЖАНИЕ

 

Правила выполнения и оформления типового расчета

1

1.

Бинарные отношения

2

2.

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

11

3.

Операции над высказываниями и их свойства

25

4.

Нормальные и совершенные нормальные формы

32

5.

Булевы функции

39

 

Библиографический список

45

46

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к выполнению типового расчета по дисциплине «Дискретная математика»

для студентов направления подготовки бакалавров 09.03.02 «Информационные системы и технологии» (профиль «Информационные системы и технологии в машиностроении») очно-заочной формы обучения

Составители: Собенина Ольга Валерьевна

Пак Алла Анатольевна

В авторской редакции

Компьютерный набор О.В. Собениной

Подписано к изданию 30.05.2016.

Уч.-изд. л. 2,8. «С»

ФГБОУ ВО «Воронежский государственный технический университет»

394026 Воронеж, Московский просп., 14

47