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

Семинар 3

.pdf
Скачиваний:
1
Добавлен:
30.03.2022
Размер:
142.97 Кб
Скачать
Определение 1.

Булева алгебра. Продолжение

Карты Карно

ДНФ называется минимальной, если она содержит наименьшее число символов переменных (букв) среди всех ДНФ ей равносильных.

Определение 2. ДНФ называется кратчайшей, если она содержит минимальное число знаков дизъюнкции _.

Пример Функция f = (1110 0101 0100 1101). Выписать минимальную

ÄÍÔ.

 

 

 

 

 

 

 

 

 

 

x3

 

0

 

1

 

1

 

 

 

0

 

 

 

 

x1

x2 x4

0

1

 

1

 

0

 

0

0

1

1

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

0

1

0

1

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

1

 

1

 

0

 

1

0

0

1

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

f = x1x2x4 _ x1x2x3 _ x3x4 _ x2x4 _ x1x2x3.

Выписывают таблицу вида Табл. 1 (в коде Грея двоичный код, в котором две ¾соседние¿ кодовые комбинации различаются только цифрой в одном двоичном разряде). Затем объединяют единицы из ячеек

таблицы, соответствующие ¾соседним¿ кодовым комбинациям, в прямо- угольные блоки по 1, 2, 4, 8, : : : 2i штук. Для каждого блока выписывают

соответствующую элементарную конъюнкцию не меняющихся на этом блоке переменных с учетом их значений (если переменная равна 0, в элементарную конъюнкцию записывается отрицание этой переменной, а если равна 1 сама переменная). Эти элементарные конъюнкции соединяют дизъюкциями, и, таким образом, получают минимальную ДНФ.

1

2

Фиктивные и существенные переменные

Определение 3. Переменная xi функции f(x1; x2; : : : ; xn) называется фиктивной, если выполняется условие

f(x1; x2; : : : ; xi 1; 0; xi+1; : : : ; xn) = f(x1; x2; : : : ; xi 1; 1; xi+1; : : : ; xn)

для любых наборов (x1; x2; : : : ; xi 1; xi+1; : : : ; xn) 2 Bn 1. Переменные, не являющиеся фиктивными, называются существенными.

Пример. Определить, есть ли в функции f = (10100101) фиктивная переменная. Если есть, избавиться от этой переменной.

x

y

z

f

 

 

 

 

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

1

 

 

 

 

Полиномы Жегалкина

Определение 4. Полиномом (многочленом) Жегалкина от n переменных называется функция

P = a0 a1x1 a2x2 anxn an+1x1x2 ::: aCn2 xn 1xn ::: a2n 1x1x2 : : : xn:

Всего здесь 2n слагаемых. Напомним, что сейчас означает сложе-

ние по модулю 2, коэффициенты a0; a1; : : : ; a2n 1 являются константами (равными нулю или единице).

Теорема 1. Любая функция n переменных может быть представлена полиномом Жегалкина и притом единственным образом.

Доказательство. Заполним таблицу истинности функции f(x1; x2; : : : ; xn). Затем выпишем данную функцию в виде полинома Жегалкина с неопределенными коэффициентами, поочередно подставляя всевозможные наборы переменных вычисляем коэффициенты. Так как за одну подстанов-

ку вычисляем один коэффициент, а число наборов равно числу коэффи- циентов (и равно 2n), будут определены все коэффициенты.

3

Доказательство этой теоремы показывает, как построить полином Жегалкина по таблице истинности.

2-й способ нахождения полинома Жегалкина применяется к функциям, заданным в виде ДНФ, и основан на том, что x 1 = x: из ДНФ

сначала убираем дизъюнкции, используя закон де Моргана, а все затем все отрицания прибавлением единицы. После этого раскрываем скобки, учитывая, что x x = 0.

Пример

f(x; y; z) = xy_xy_yz = xy xy yz = (xy 1)((x 1)(y 1) 1)((y 1)z

1) 1 = (xy 1)(xy x y)(yz z 1) 1 = (x y)(yz z 1) 1 =

=xyz yz xz yz x y 1 = xyz xz x y 1:

Последнее выражение и есть полином Жегалкина данной функции.

Определение 5. Функция f(x1; x2; : : : ; xn) называется линейной, если ее полином Жегалкина содержит только слагаемые не выше первой степени, т.е. представима в виде

f(x1; x2; : : : ; xn) = a0 a1x1 a2x2 anxn:

Класс линейных функций часто обозначают через L. (Заметим, что число линейных функций n переменных равно 2n+1).

Упражнения

1)Методом карт Карно найдите минимальные ДНФ следующих функций:

f = (1101 1101);

f = (0101 1011);

f = (1100 1110 0101 1001);

f = (0110 1001 1110 1011).

2)Определить, какие переменные функции f фиктивные, а какие существенные

f = (1010 1111);

f = (0101 1111 0101 1111);

f = (0001 0001 1011 1011).

4

3)Выписать полином Жегалкина функции f двумя способами

f = (1010 1101);

f = (0111 1011);

f = (0101 0111).

4)Доопределить функцию f так, чтобы она была линейной.

f = (0 01 10);

f = ( 0 0 01);

f = ( 1 110).

5)Определить, чему равно jLj, т.е. количество всех линейных функций от n переменных.

6)Функция задана своей ДНФ, выписать по ней полином Жегалкина:

f = xyz _ xyz _ xyz;

f = xyz _ xyz _ xyz;

f = xyz _ xyz;

f = xy _ xz _ yz.

Соседние файлы в предмете Дискретная математика