BAДискретная математика

Содержание

Глава 3. БУЛЕВЫ ФУНКЦИИ

§ 1. Основные булевы функции

§ 2. Формулы

§ 3. Упрощения в записях формул

§ 4. Равносильность формул

§ 5. Важнейшие пары равносильных формул

§ 6. Зависимости между булевыми функциями

§ 7. Свойства операций штрих Шеффера, стрелка Пирса и сложения по модулю два

§ 8. Элементарные суммы и произведения. Конституенты нуля и единицы

§ 9. Дизъюнктивные и конъюнктивные нормальные формы

§ 10. Представление произвольной булевой функции в виде формул

§ 11. Совершенные нормальные формы

§ 12. Полином Жегалкина

§ 13. Сокращенные дизъюнктивные нормальные формы

§ 14. Метод Квайна получения сокращенной д.н.ф

§ 15. Тупиковые и минимальные д.н.ф

§ 16. Метод импликантных матриц

§ 17. Минимальные конъюнктивные нормальные формы

§ 18. Полнота систем функций. Теорема Поста

§ 19. Приложение булевых функций к анализу и синтезу контактных (переключательных) схем

§ 20. Приложение булевых функций к анализу и синтезу схем из функциональных элементов

§ 21. Функциональная декомпозиция

Глава 4. ЭЛЕМЕНТЫ КОМБИНАТОРИКИ

§ 1. Правило суммы для конечных множеств

§ 2. Правило произведения для конечных множеств

§ 3. Выборки и упорядочения

§ 4. Биномиальная теорема

§ 5. Число возможных разбиений конечного множества Полиномиальная теорема

§ 6. Метод включения и исключения

§ 7. Задача о беспорядках и встречах

§ 8. Системы различных представителей

Литература

3. БУЛЕВЫ ФУНКЦИИ

Булевы операции, булева алгебра, булевы функции (то же, что и функции алгебры логики) начались систематически исследоваться в работах Дж. Буля (1815-1864) по символической логике.

§ 1. Основные булевы функции.

Булевой переменной называется переменная, имеющая только два возможных значения, которые будем обозначать через 0 и 1. Положим Е=0,1.

Функция f(x1,x2,…,xn) называется булевой(переключательной) функцией, если она может принимать только одно из двух возможных значений 0 или 1 в зависимости от значений своих аргументов x1,x2,…,xn, каждая из которых тоже принимает одно из значений 0 или 1. Таким образом, f(x1,x2,…,xn) булева функция тогда и только тогда, когда f функция из En в E.

Булеву функцию можно задать таблицей ее значений, которая и называется таблицей истинности.

Одной из основных булевых функций является функция отрицания, значение которой определяется по таблице:

таблица 1

Отрицание является одноаргументной булевой функцией. Выражение «(¬ x)» читается «не x» и функцию отрицания можно интерпретировать как образование нового высказывания из высказывания x с помощью частицы «не». Введем следующие двухаргументные булевы функции по таблице:

таблица 2

Функция (x&y) называется конъюнкцией x и y. Выражение «(x&y)» читается «x и y» и эту функцию можно интерпретировать как соединение двух высказываний x, y с помощью союза «и».

Функция (x∨y) называется дизъюнкцией x и y. Выражение «(x∨y)» читается «x или y» и эту функцию можно интерпретировать как соединение двух высказываний x, y связкой «или», где «или» понимается в соединительном (хотя бы одно), а не разделительном (либо-либо) смысле.

Функция (x⇒y) называется импликацией x и y. Выражение «(x⇒y)» читается «если x, то y» и эту функцию можно интерпретировать как образование из двух высказываний нового высказывания: «если x, то y». При этом x называется посылкой, а y заключением.

Функция (x ≡ y) называется эквивалентностью. Выражение «(x ≡ y)» можно читать «x эквивалентно y».

Функция (x+y)называется сложением по модулю два.

Функции $ (x| y) и (x↓ y)$ называются штрихом Шеффера и стрелкой Пирса соответственно.

Используя введенные функции, можно строить более сложные булевы функции с помощью операций суперпозиции функций, т. е. подстановки функций в функцию, например: $(¬ (x\&y)), ((x⇒y)\&(x≡ z)), ((x\&y)⇒(¬ z))$ и т. п. Значения полученных функций можно определять по таблицам истинности.

Таблица истинности функции от одного аргумента имеет две строки, от двух переменных – четыре, от трех переменных – восемь строк. В общем случае таблица истинности булевой функции от n переменных имеет ровно 2n строк, ибо добавление каждой новой переменной удваивает число строк.

Покажем, что число различных булевых функций от n переменных равно $N=2^{2^n}$ . Булева функция $f(x_1,x_2,...,x_n)$ принимает значения 0 либо 1 в зависимости от значений переменных$x_1,x_2,...,x_n$. Число различных наборов значений переменных$x_1,x_2,...,x_n$, как известно, равно $2^n$. На каждом из $2^n$ различных наборов функция $f(x_1,x_2,...,x_n)$ может принимать одно из двух значений. Следовательно, число различных булевых функций от n аргументов будет равно $N=2^{2^n}$ . С ростом n число N булевых функций от n аргументов резко растет. Например: для n=1 N=4; для n=2 N=16; для n=3 N=256; для n=5 N - более четырех миллиардов.

Переменная xk (1≤ k≤ n) функции $f(x_1,x_2,...,x_n)$ называется фиктивной или несущественной, если значение этой функции не меняются при изменении значений xk. Например, (x∨(x&y)) ~ x, следовательно, y является фиктивной переменной для функции f(x,y)=(x∨(x&y)).

Булеву функцию можно задать с помощью таблицы, формулы (аналитически), графика и т.п. Графически булеву функцию $f(x_1,x_2,...,x_n)$ задают с помощью n-мерного куба следующим образом. Считаем наборы значений переменных $x_1,x_2,...,x_n$ вершинами n-мерного куба. Те вершины, на которых булева функция равна единице, помечаем точкой или звездочкой, остальные вершины оставляем без пометок. Например, функции (x⇒y), (x≡ y) и (x⇒(y&z)) можно представить их графиками, как на рис. 3.1 а, б и в соответственно.

Иногда булеву функцию называют переключательной функцией.

таблица 1