Тверской государственный университет
Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 3180 / 269 | Оценка: 4.08 / 3.92 | Длительность: 15:40:00
ISBN: 978-5-9556-0110-6
Специальности: Программист, Математик
Лекция 3:

Булевы функции и их представления

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >
Аннотация: Класс Pn булевых функций от n переменных. Геометрическое представление булевых функций. Задание булевых функций с помощью таблиц. Булевы функции от 1-ой и 2-х переменных. булевы (логические) формулы. Решение задач логики высказываний с помощью булевых формул и функций
Ключевые слова: булева функция, алгебра логики, математика, алгебраические, класс, мощность множества, функция, множества, геометрическое представление булевой функции, таблица булевой функции, представление, булева формула, конъюнктивная нормальная форма, многочлен Жегалкина, упорядоченная бинарная диаграмма решений, единичный n-мерный куб, двоичная система счисления, отрицание, конъюнкция, дизъюнкция, импликация, сложение по модулю 2, эквивалентность, штрих Шеффера, стрелка Пирса, константы, место, равенство, аргумент, одноместная функция, имя функции, глубина формулы, подформула, базис индукции, DEP, шаг индукции, запись, определение, функция, задаваемая формулой, высказывание, истина, ложь, истинностное значение, вывод, информация, единица, тождественно истинная формула, подкласс, хорновская, значение, администратор баз данных

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

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

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

B^n=\underbrace{B\times B \times \ldots \times B}_{n}
это множество всех двоичных последовательностей (наборов, векторов) длины n. Булевой функцией от n переменных (аргументов) называется любая функция f(x1, xn): Bn -> B . Каждый из ее аргументов xi, 1 <= i <= n , может принимать одно из двух значений 0 или 1 и значением функции на любом наборе из Bn также может быть 0 или 1. Обозначим через \codecal{P}_n множество всех булевых функций от n переменных. Нетрудно подсчитать их число.

Теорема 3.1. |\codecal{P}_n | = 2^{2^n}.

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

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

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

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


Рис. 3.1.

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

f_A(x_1,\ldots, x_n)=
        \left\{
        \begin{array}{ll}
        1, & \mbox{ при} (x_1, \ldots, x_n ) \in A \\
        0, & \mbox{ в противном случае.}
        \end{array}
        \right.

Например, верхней грани куба 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, задает пустое множество \varnothing  \subset  B^{n}, а функция, тождественно равная 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)
. . . . . . \dots
1 . . . 1 1 f(1, ..., 1,1)

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

(\alpha _{1}, \dots , \alpha _{n}) < (\beta _{1}, \dots , \beta _{n}) \Leftrightarrow существует такое i \in  [1,n], что при j < i \alpha _{j} = \beta _{j}, а \alpha _{i} < \beta _{i}.

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

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

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >
Елена Алексеевская
Елена Алексеевская

Это в лекции 3.

Татьяна Дембелова
Татьяна Дембелова

Почему в вводной лекции курса Основы дискретной математики одним из свойств отношения частичного порядка упоминается антирефлексивность? Посмотрела в других источниках, там -0  рефлексивность... http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0