Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1120
Добавлен:
02.02.2015
Размер:
2.13 Mб
Скачать

138

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

5.1.Двоичные векторы

Любое положительное целое число имеет единственное двоичное представление (в виде суммы неповторяющихся степеней числа 2). Например:

7=1+2+4; 35=32+2+1.

В общем случае, чтобы получить двоичное представление целого числа x>0, можно воспользоваться следующим соотношением:

x = α0+2(α1+2(α2+…+2(αn2+2αn1)…),

где α0 – остаток от деления x на 2 (то есть α0=0, если x четно, и

α0=1, если x нечетно); α1 – остаток от деления на 2 числа x1=(x−α0)/2; α2 – остаток от деления на 2 числа x2=(x1−α1)/2; и т.д. Тогда

x = αn1 2n-1+αn2 2n-2+…+α1 2+α0.

Числа α0, α1,…, αn1 называют двоичными цифрами числа x, а последовательность из нулей и единиц

αn1αn2α1α0

двоичной записью числа x. Пишут также

x= (αn1αn2α1α0)2.

139

Пример.

25=1+2 12=1+2 (0+2 6)=1+2 (0+2 (0+2 3))= = 1+2 (0+2 (0+2 (1+2 1)),

откуда

25=1 1+0 2+0 4+1 8+1 16.

Самое большое число, которое можно записать с помощью n двоичных цифр, содержит в свой двоичной записи одни единицы. Это число равно

2n-1+2n-2+…+2+1=2n1.

Декартову степень {0,1}n , n1, составляют всевозможные упорядоченные последовательности из нулей и единиц длины n. Мы будем называть такие последовательности n-мерными

двоичными векторами.

Произвольному n-мерному двоичному вектору можно сопоставить неотрицательное целое число, двоичными цифрами которого служат компоненты вектора

(α1,α2,…,αn)→ α1 2n-1+α2 2n-2+…+αn-1 2+αn.

Этим устанавливается взаимно однозначное соответствие между множеством всех n-мерных двоичных векторов и множеством неотрицательных целых чисел, меньших 2n. Таким образом, общее число n-мерных двоичных векторов равно 2n, то есть |{0,1}n|=2n.

Пример. При n=3 имеем:

(0,0,0) 0; (0,0,1) 1; (0,1,0) 2; (0,1,1) 3;

 

 

140

 

(1,0,0) 4;

(1,0,1) 5;

(1,1,0) 6;

(1,1,1) 7.

Пусть α=(α1,α2,…,αn) и β=(β1,β2,…,βn) – двоичные векторы.

Будем писать α≤β (или β≥α), если αi≤βi для всех i=1,2,…, n.

Если α≤β, но α≠β, будем писать α<β (последнее означает, что

αi.≤βi для всех i=1,2,…, n, и при этом хотя бы одно из этих неравенств строгое). Заметим, что имеются векторы α и β, для которых неверно ни α≤β, ни β≤α. Такие векторы будем называть несравнимыми.

Примеры. Двумерные двоичные векторы можно рассматривать как вершины единичного квадрата в двумерном евклидовом пространстве:

(0,1)

(1,1)

(0,0)

 

(1,0)

 

Векторы α и β связаны отношением , если из вершины α можно пройти в вершину β по сторонам квадрата в направлении координатных осей (направо и вверх). Аналогично, трехмерные векторы соответствуют вершинам куба; векторы α и β связаны отношением , если из вершины α можно пройти в вершину β по ребрам куба в направлении координатных осей.

141

5.2. Понятие булевой функции

Пусть U=U(X1,X2,…,Xn) – произвольная формула алгебры высказываний, содержащая n переменных. Оценка переменных такой формулы – это упорядоченная последовательность из 0 и 1 длины n, то есть n-мерный двоичный вектор. Каждой оценке переменных (x1,x2,…,xn) {0,1}n однозначным образом сопоставляется значение истинности u {0,1} высказывания, полученного из формулы U после соответствующей подстановки. Таким образом, мы получаем соответствие

(x1,x2,…,xn)u, задающее отображение fU: {0,1}n{0,1}, u=fU(x1,x2,…,xn). Такие отображения называют булевыми функциями. Непосредственно из определений вытекает, что формулы алгебры высказываний U=U(X1,X2,…,Xn) и V=V(X1,X2,…,Xn) равносильны в том и только том случае, когда функции fU и fV совпадают.

Булевы функции представляют интерес не только в связи с их «логическим» происхождением, но и сами по себе. Оттеняя это обстоятельство, введем следующие определения.

Переменные, пробегающие множество {0,1}, мы будем называть булевыми и обозначать буквами x, y, z, …, x1, x2, … . Функция от одной или нескольких булевых переменных, принимающая значение в множестве {0,1}, называется булевой.

Любую булеву функцию можно задать таблицей, подобной таблице истинности. Например, следующая таблица задает булеву функцию трех аргументов: