Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Булевы функции-metod.doc
Скачиваний:
31
Добавлен:
01.12.2018
Размер:
956.93 Кб
Скачать

Булевы функции Основные понятия

Набор (1,2,…,n), где i{0,1}, 1in, называется булевым или двоичным набором (вектором) длины n. Элементы набора называют компонентами или координатами. Кратко набор (1,2,…,n) обозначают или . Весом или нормой |||| набора называют число его координат, равных единице, т.е. .

Множество всех двоичных наборов длины n образует n-мерный булев (или двоичный) куб, который также называют n-мерным единичным кубом и обычно обозначают или . Наборы (1,2,…,n) называют вершинами куба . Множество всех вершин куба, имеющих вес k, называется k-м слоем куба (обозначение ). Каждому двоичному набору можно сопоставить число номер набора. Набор является двоичным разложением своего номера .

Расстоянием (Хэмминга) между вершинами и куба называется число . Оно равно числу координат, в которых эти наборы различаются. Расстояние Хэмминга является метрикой, а куб – метрическим пространством.

Н

рис. 1

аборы и из называются соседними, если (,)=1, и противоположными, если (,)=n.

Говорят, что набор предшествует набору (или не больше ), и обозначают , если ii для всех i=1,..,n. Наборы и называются сравнимыми, если или. В противном случае наборы называются несравнимыми. Говорят, что набор непосредственно предшествует набору , если и (,)=1.Отношение предшествования  является частичным порядком на множестве . На рис. 1 приведены диаграммы частично упорядоченных множеств B2,B3,B4.

  1. Номер набора (0,1,0) из B3 равен 2, вес – 1, соседними для него являются наборы (1,1,0), (0,1,1), (0,0,0), противоположным – набор (1,0,1). Наборы (0,0,0) и (1,1,1) сравнимы с набором (0,1,0), а набор (1,0,0) – несравним.

Отображение f:{0,1} называется булевой функцией от n переменных. Функция, принимающая только два значения – 0 и 1, называется предикатом (при этом переменные могут принадлежать множествам произвольной природы). Набор символов переменных булевой функции f(x1,x2,..,xn) будем обозначать или . Обозначим через множество всех булевых функций, а через – множество всех булевых функций от n переменных.

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

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

x1 x2xn-1 xn

f(x1,x2,…,xn-1,xn)

0 0 … 0 0

f(0,0,…,0,0)

0 0 … 0 1

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

0 0 … 1 0

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

0 0 … 1 1

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

12 … n-1n

f(1,2,…,n-1,n)

1 1 … 1 1

f(1,1,…,1,1)

  1. ||=.

Булева функция также может быть задана с помощью вектора значений на всевозможных наборах значений переменных, упорядоченных по их номерам: f=(f(0,0,…,0,0), f(0,0,…,0,1), …, f(1,1,…,1,1)).

Переменная xi булевой функции f(x1,x2,…,xn-1,xn) называется существенной, если найдутся такие значения 1,2,…,i-1,i+1,…,n-1,n, что

f(1,2,…,i-1,0,i+1,…,n-1,n)f(1,2,…,i-1,1,i+1,…,n-1,n)

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

  1. Рассмотрим функцию f от трех переменных, заданную таблицей значений

x1 x2 x3

f

0 0 0

0

0 0 1

1

0 1 0

0

0 1 1

1

1 0 0

1

1 0 1

0

1 1 0

1

1 1 1

0

Векторная запись этой функции – f()=(01011010). Переменные x1 и x3 являются для нее существенными (т.к. f(0,0,0)f(1,0,0), f(0,1,0)f(0,1,1)), а x2 – фиктивной.

Функции f и g называют равными, если одну из них можно получить из другой путем изъятия или добавления несущественных переменных.

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

тождественный 0

тождественная 1

отрицание x

коъюнкция

дизюнкция

сложение по mod2

эквивалентность

импликация

штрих Шеффера

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

x y

0

1

x

xy

xy

xy

xy

xy

x|y

xy

0 0

0

1

1

0

0

0

1

1

1

1

0 1

0

1

1

0

1

1

0

1

1

0

1 0

0

1

0

0

1

1

0

0

1

0

1 1

0

1

0

1

1

0

1

1

0

0

Функции тождественный ноль и тождественная единица не имеют существенных переменных. Функция отрицания x переменной x (читается «не x») может обозначаться . Функция конъюнкции xy (читается «x и y») может обозначаться min(x,y), xy или xy, xy. Функция дизъюнкции xy (читается «x или y») может обозначаться max(x,y). Часто эту функцию называют логическим сложением. Функцию сложения по mod2 xy (читается «x плюс y») иногда называют разделяющим или. Функция эквивалентности или эквиваленции x~y (читается «x эквивалентно y») может обозначаться xy или xy. Функцию импликации xy (читается «из x следует y») часто называют логическим следованием. Функция штрих Шеффера x|y в технической литературе называется «не-и» или антиконъюнкцией (читается «x и y не совместны»). Функция стрелка Пирса xy в технической литературе называется «не-или» или антидизъюнкцией (читается «ни x, ни y»).

С

Рисунок 1

имволы &,,,~,,|,, участвующие в обозначениях элементарных функций, называют логическими связками. Зафиксируем приоритет введенных связок как показано на рис.1.

Перечислим свойства элементарных функций:

0=1, 1=0, (x)=x, x1=1x=x, x0=0x=x, x0=0x=xx=0, x1=1x=x, 1x=x1=xx=1, 0x=x0=x, xy=xy, x|y=(xy) =xy1, xy=(xy)=xyxy1, xy=(xy)=xy1=xyxy, xy=xyxy, xy=xyxy.

Пусть Б. Дадим определение формулы над базисом Б.

Базис индукции. Любая функция из Б является формулой над Б.

Индуктивный переход. Если A1,…Am – формулы или символы переменных, а f(x1,…xm)Б, то суперпозиция f(A1,…Am) тоже является формулой над Б.

  1. (xy)(xy)z – формула над Б={,,}.

Запись A[f1,…,fk], где f1,…,fkБ, будет означать, что формула A над Б получена из базисных функций f1,…,fn. Запись A(x1,…,xn) будет означать, что формула A построена на множестве переменных x1,…xn. Формулы, используемые при построении формулы A, называются ее подформулами.

Пусть даны формулы A[f1,…,fk] и B[g1,…,gk], говорят, что формулы A и B имеют одинаковое строение, если B можно получить из A с помощью подстановки .

  1. Формулы над {,} и над {,} имеют одинаковое строение.

Далее строение формулы будет обозначаться буквой S и каждая формула A будет однозначно определяться строением S и упорядоченным набором функций f1,…,fk. Запись  A=S[f1,…,fk].

Если формула A(x1,…xn) совпадает с базисной функцией f(x1,…xn), то говорят, что формула A(x1,…,xn) реализует функцию f(x1,…xn) и записывают A(x1,…xn)=f(x1,…xn). Пусть A(x1,…xn)=f(A1,…,Am), где fБ, а A1,…Am – либо символы переменных, либо формулы над Б. Тогда каждая Ai реализует некоторую функцию fi из P2. Тогда формула A реализует функцию f0=f(f1,…,fm). Функция f0 при этом называется суперпозицией функций f,f1,…,fm, а процесс получения функции f0операцией суперпозиции.

Две формулы A1 и A2 над Б называют эквивалентными (обозначение A1=A2), если реализуемые этими формулами булевы функции равны.