Опубликован: 21.08.2007 | Уровень: специалист | Доступ: свободно | ВУЗ: Тверской государственный университет
Лекция 1:

Предварительные сведения

Лекция 1: 123456 || Лекция 2 >
Аннотация: Класс mathcal{P}_n булевых функций от n переменных. Задание булевых функций с помощью таблиц. Булевы функции от 1-ой и 2-х переменных. Булевы (логические) формулы и их эквивалентность. Основные эквивалентности ( законы логики ). Дизъюнктивные и конъюнктивные нормальные формы (ДНФ и КНФ). Графы. Деревья.
Ключевые слова: математика, алгебраические, класс, булева функция, функция, таблица булевой функции, представление, булева (логическая) формула, упорядоченная бинарная диаграмма решений, отрицание, конъюнкция, дизъюнкция, импликация, сложение по модулю 2, одноместная функция, глубина формулы, подформула, функция, задаваемая формулой, эквивалентные формулы, законы логики, законы ассоциативности, Законы де Моргана, законы упрощения, значение формулы, дизъюнктивная нормальная форма (ДНФ), совершенная ДНФ, конъюнктивная нормальная форма (КНФ), совершенная КНФ, вершина графа, ребро графа, граф, Полустепень исхода, полустепень захода, информация, множества, мультиграф, Мультимножество, изоморфизм графов, путь в графе, цикл, (ориентированное) дерево, корень, лист, ветвь, высота дерева, глубина вершины, длина, подграф, поддерево, Лес, высота, определение, бинарное (двоичное) дерево

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

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

Обозначим через B двухэлементное множество \{0,1\}. Тогда B^n=\underbrace{B\times B \times \ldots \times B}_{n} - это множество всех двоичных последовательностей (наборов, векторов) длины n. Булевой функцией от n переменных (аргументов) называется любая функция f(x_1,\ldots, x_n): B^n \rightarrow B. Каждый из ее аргументов x_i, \ 1 \leq i \leq n,\ может принимать одно из двух значений 0 или 1 и значением функции на любом наборе из B^n также может быть 0 или 1. Обозначим через \mathcal{P}_n множество всех булевых функций от n переменных. Нетрудно подсчитать их число: |\mathcal{P}_n | = 2^{2^n}.

Имеется несколько различных способов представления и интерпретации булевых функций. В этом разделе мы рассмотрим табличное представление, а также представление с помощью логических формул. В лекциях "Реализация булевых функций с помощью логических схем" и "Упорядоченные бинарные диаграммы решений (УБДР)" будет рассмотрено еще два способа представления булевых функций: логические схемы и упорядоченные бинарные диаграммы решений.

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

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

Таблица 1.1. Табличное представление функции f(x_1, \ldots, x_n)
x_1   .  .  .   x_{n-1}    x_n f(x_1,\ldots x_{n-1}, x_n)

0   .  .  .   0    0

0   .  .  .   0    1

0   .  .  .   1    0

.  .  .  .  .  .

1   .  .  .   1    1

f(0, \ldots, 0,0)

f(0, \ldots, 0,1)

f(0, \ldots, 1,0)

\ldots

f(1, \ldots, 1,1)

Наборы аргументов в строках обычно располагаются в лексикографическом порядке: (\alpha_1, \ldots, \alpha_n) \prec (\beta_1, \ldots, \beta_n)\
\Leftrightarrow существует такое i \in [1,n], что при j < i\ \alpha_j = \beta_j, а \alpha_i < \beta_i. Если эти наборы рассматривать как записи чисел в двоичной системе счисления, то 1-ая строка представляет число 0, 2-ая - 1, 3-я - 2, ... , а последняя - 2^n-1.

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

Лекция 1: 123456 || Лекция 2 >
Алексей Семенов
Алексей Семенов
Россия, Москва, МГУПИ