Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дехтярь М.И. Основы дискретной математики. Лекц...docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
864.55 Кб
Скачать
  1. Лекция: Булевы функции и их представления Содержание

  • Булевы функции от n переменных

    • Геометрическое представление

    • Табличное представление

  • Булевы функции от 1-ой и 2-х переменных

  • Формулы

  • Булевы функции и логика высказываний

  • Задачи

Булевы функции от n переменных

Булевы функции1)названы в честь английского математика ХIХ века Дж. Буля, который впервые применил алгебраические методы для решения логических задач. Они образуют самый простой нетривиальный класс дискретных функций - их аргументы и значения могут принимать всего два значения (если мощность множества значений функции равна 1, то это тривиальная функция - константа !). С другой стороны, этот класс достаточно богат и его функции имеют много интересных свойств. Булевы функции находят применение в логике, электротехнике, многих разделах информатики.

Обозначим через B двухэлементное множество {0,1}. Тогда

это множество всех двоичных последовательностей (наборов, векторов) длины n. Булевой функцией от n переменных (аргументов) называется любая функция f(x1, xn): Bn B . Каждый из ее аргументов xi, 1 i n , может принимать одно из двух значений 0 или 1 и значением функции на любом наборе из Bn также может быть 0 или 1. Обозначим через множество всех булевых функций от n переменных. Нетрудно подсчитать их число.

Теорема 3.1.

Доказательство.Действительно, по теореме 1.1 число функций из k-элементного множества A в m-элементное множество B равно mk . В нашем случае B={0, 1}, а A = Bn . Тогда m=2 и k= |Bn| = 2n . Отсюда следует утверждение теоремы.

Имеется несколько различных способов представления и интерпретации булевых функций. В этом разделе мы рассмотрим геометрическое и табличное представления, а также представление с помощью логических формул. В лекции 4 будет показано, как булевы функции можно представлять с помощью формул специального вида - дизъюнктивных и конъюнктивных нормальных форм и многочленов Жегалкина. Кроме того, в лекциях 1 и 2 (курс "Введение в схемы, автоматы и алгоритмы") будет рассмотрено еще два способа представления булевых функций: логические схемы и упорядоченные бинарные диаграммы решений.

Геометрическое представление

Bn можно рассматривать как единичный n-мерный куб. Каждый набор из нулей и единиц длины n задает вершину этого куба. На рис. 3.1 представлены единичные кубы Bn при n=3,4.

Рис. 3.1. 

При этом существует естественное взаимно однозначное соответствие между подмножествами вершин n-мерных единичных кубов и булевыми функциями от n переменных: подмножеству A Bn соответствует его характеристическая функция

Например, верхней грани куба B3 (ее вершины выделены на рисунке) соответствует функция f: f(0,0,1)=f(0,1,1)=f(1,0,1)=f(1,1,1) =1 и f(0,0,0)=f(0,1,0)=f(1,0,0)=f(1,1,0) =0. Очевидно, что указанное соответствие действительно взаимнооднозначное: каждая булевая функция f от n переменных задает подмножество Af={(x1, …, xn)|f(x1, …, xn)=1} вершин Bn . Например, функция, тождественно равная 0, задает пустое множество Bn , а функция, тождественно равная 1, задает множество всех вершин Bn .

Табличное представление

Булевы функции от небольшого числа аргументов удобно представлять с помощью таблиц. Таблица для функции f(x1, …, xn) имеет n+1 столбец. В первых n столбцах указываются значения аргументов x1, …, xn , а в (n+1)-ом столбце значение функции на этих аргументах - f(x1, …, xn) .

Таблица 3.1. Табличное представление функции f(x1, …, xn)

x1

.

.

.

xn-1

xn

f(x1, …, xn)

0

.

.

.

0

0

f(0, …, 0,0)

0

.

.

.

0

1

f(0, …, 0,1)

0

.

.

.

1

0

f(0, …, 1,0)

.

.

.

.

.

.

1

.

.

.

1

1

f(1, …, 1,1)

Наборы аргументов в строках обычно располагаются в лексикографическом порядке:

( 1, …, n) < (β1, …, βn) существует такое i [1,n], что при j < i j = βj , а i < βi .

Если эти наборы рассматривать как записи чисел в двоичной системе счисления, то 1-ая строка представляет число 0, 2-ая - 1, 3-я - 2, … , а последняя - 2n-1 .

При больших n табличное представление становится громоздким, например, для функции от 10 переменных потребуется таблица с 1024 строками. Но для малых n оно достаточно наглядно.