- •Лекция: Предварительные сведения
 - •Множества
 - •Операции над множествами
 - •Как доказывать равенство множеств?
 - •Отношения и функции. Мощность множества
 - •2. Лекция: Индукция и комбинаторика Содержание
 - •Метод математической индукции
 - •Элементы комбинаторики
 - •Размещения, перестановки, сочетания
 - •Принцип включения и исключения
 - •Лекция: Булевы функции и их представления Содержание
 - •Булевы функции от n переменных
 - •Геометрическое представление
 - •Табличное представление
 - •Булевы функции от 1-ой и 2-х переменных
 - •Формулы
 - •Булевы функции и логика высказываний
 - •Эквивалентные преобразования формул Соглашения об упрощенной записи формул.
 - •Дизъюнктивные и конъюнктивные нормальные формы Определение днф и кнф
 - •Совершенные днф и кнф
 - •Сокращенные днф
 - •Многочлены Жегалкина
 - •Лекция: Полные системы функций и теорема Поста Содержание
 - •Замкнутые классы функций
 - •Критерий полноты (теорема Поста)
 - •6. Лекция: Хорновские формулы и задача получения продукции Содержание
 - •Хорновские формулы
 - •Задача получения продукции
 - •Решение задачи о продукции
 - •Алгоритм замыкание(X,f)
 - •Алгоритм ПрямаяВолна(X,y,f)
 - •Алгоритм БыстроеЗамыкание(X,f)
 - •Лекция: Язык логики предикатов
 - •Утверждения о свойствах объектов и отношениях между ними
 - •Язык логики предикатов
 - •Синтаксис: формулы логики предикатов
 - •Семантика: системы и значения формул на их состояниях
 - •Эквивалентные формулы и нормальные формы
 
Лекция: Булевы функции и их представления Содержание
Булевы функции от 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 оно достаточно наглядно.
