Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
булевы алгебры и приложения.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
88.23 Кб
Скачать

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

Рассмотрим булеву алгебру  , где множество   есть множество  -мерных двоичных векторов.

Булевой функцией f(x1, x2, …, xn) от n аргументов называют функциональное соответствие на множестве  .

Другими словами, булева функция от n аргументов – это функция, которая на каждом n-мерном двоичном векторе (x1, x2, …, xn) принимает определенное значение: либо 0, либо 1.

Задать булеву функцию f(x1, x2, …, xn) – значит указать ее значения на каждом двоичном векторе (x1, x2, …, xn). Поскольку число таких векторов равно  , любую функцию f(x1, x2, …, xn) можно задать с помощью таблицы, содержащей   строк и (n+1) столбцов. В первых n столбцах записывают все наборы значений аргументов, в (n+1) – соответствующие значения функции. Строки, для которых   принимает значение 1, называют единичными наборами, остальные строки таблицы – нулевыми наборами.

Ниже приведена таблица всех булевых функций от 2 аргументов.

Таблица 1.

Булевы функции двух аргументов

x1

x2

0

0

0

0

1

0

1

0

1

0

1

0

1

0

1

0

0

1

1

0

0

1

1

0

0

1

0

0

0

0

0

1

1

1

1

0

0

1

1

0

0

0

0

0

0

0

0

1

1

1

0

1

0

1

0

1

1

1

0

0

1

1

0

0

1

1

1

1

1

1

1

1

1

1

Перечислим названия функций, которые используются в дальнейшем. Кроме операций дизъюнкции  , конъюнкции   и отрицания   и  ,таблица1 содержит следующие функции:

1)   – стрелка Пирса;

2)   – сложение по модулю 2 или кольцевая сумма;

3)  – штрих Шеффера;

4)  ↔  – эквиваленция;

5)   – импликация.

Обратим внимание на порядок расположения наборов значений независимых переменных x 1 и x2 в таблице: они образуют последовательности целых чисел, начиная с 0, записанных в двоичной системе счисления. Такой порядок записи называют лексикографическим порядком.

В лексикографическом порядке записаны и значения функций. Поскольку значения каждой функции представляют собой четырехмерный двоичный вектор, а число таких векторов  , то и различных булевых функций от двух аргументов тоже 16.

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

Обратим внимание на то, что табл. 1 содержит две функции константы: f1(x1, x2) = 0 и f2(x1, x2) = 1. Изменения аргументов x1, x2 не влияют на значения этих функций. В таких случаях говорят, что x1, x2 – фиктивные аргументы функций f1(x1, x2) и f2(x1, x2) . Функции f3(x1, x2) =  и f4(x1, x2) = x1 содержат одну фиктивную переменную – x2, функции f5(x1, x2) =   и f6(x1, x2) = x2 – фиктивную переменную x1.

Пример 1.

Запишем таблицу булевой функции, заданной формулой:  .

Чтобы сократить число скобок и облегчить записи, договоримся о порядке выполнения операций:

1) конъюнкция выполняется раньше дизъюнкции, знак " " можно опускать.

2) Если над скобкой стоит знак отрицания, то скобки тоже можно опускать.

С учетом этих правил формулу   перепишем так:  .

0

0

0

0

0

1

1

1

0

0

0

0

1

0

0

1

1

1

0

0

0

1

0

0

0

1

1

0

0

0

0

1

1

0

0

1

1

0

0

0

1

0

0

0

0

1

1

1

0

0

1

0

1

1

0

1

1

1

0

0

1

1

0

0

1

0

0

0

1

0

1

1

1

1

1

0

1

0

0

0

Все три аргумента функции   фиктивны, данная функция есть константа 0, ее значения не зависят от значений переменных  ,   и  .