Дискретная математика. Прокушев Л.А. - 38 стр.

UptoLike

Составители: 

36
Функции можно пронумеровать и задавать их десятичным номером
(см. табл. 1 и 2). По таблице истинности функции f(x
1
, x
2
, …, x
n
) ее
номер определяется столбцом значений функции на всех наборах аргу-
ментов следующим образом:
01 1
01 1
() 2 2 2
,
n
n
Nf f f f
=⋅+++
где f
i
– значение функции f на наборе i, N
i
= 2
i
– множитель (“вес”)
для набора i = 0, 1,…, n -1, причем нумерация значений функции в
таблице идет снизу вверх. Таким образом, функцию можно задать, как
f
N
(x
1
, x
2
, …, x
n
).
Пример. Построить таблицу истинности и определить номер фун-
кции
(,,) ( )
.
fxyz x y y
z
=→
Для построения таблицы истинности заданной функции (табл. 6)
следует использовать таблицы булевых функций одной и двух перемен-
ных (табл. 1 и 2), последовательно вычисляя компоненты формулы, пред-
ставляющей функцию:
Вычислим десятичный номер функции:
N(f) = 12
0
+ 02
1
+ 12
2
+12
3
+12
4
+ 12
5
+ 12
6
+ 12
7
= 1 + 4 + 8 + 16
+ 32 + 64 + 128 = 253, т. е. это функция f
253
(x, y, z).
Для восстановления булевых значений функции по ее номеру необ-
ходимо разложить N(f) в двоичный код последовательным делением по
Таблица 6
xyz i iN
000110117 821
001111016 46
010011015 23
0110 10 114 61
100 1101138
1011110124
1100010012
1110001101