- •Дискретная математика
- •Введение
- •1. Множества
- •1.1. Основные понятия теории множеств
- •1.2. Операции над множествами
- •2. Логика буля
- •2.1. Булевы функции
- •2.2. Постулаты и основные законы булевой алгебры
- •2.3. Формы представления булевых функций
- •2.4. Минимизация булевых функций
- •3. Формальная логика
- •3.1. Исчисление высказываний
- •3.2. Предикаты и кванторы
- •4. Графы
- •4.1. Происхождение графов
- •4.2. Основные определения
- •4.3. Методы представления графов в аналитической форме
- •4.4. Пути и контуры в графах
- •4.5. Деревья
- •Библиографический список
- •Оглавление
2. Логика буля
2.1. Булевы функции
Аппарат логики Буля, или иначе алгебры логики, оперирует с логическими переменными, которые могут принимать только два значения: 0 и 1. Логические переменные определяют некую логическую зависимость, которую принято называть булевой функцией. Множество всех булевых функций и операций над ними образует булеву алгебру или алгебру логики. Булевы функции, или иначе функции алгебры логики (ФАЛ), могут принимать тоже только два взаимно исключающих значения 0 и 1. При формальном рассмотрении законов булевой алгебры логические переменные обычно обозначают строчными буквами латинского алфавита или присваивают им идентификаторы.
Логические величины 0 и 1 нельзя трактовать как числа, над ними нельзя производить арифметические действия, поскольку алгебра логики – это не алгебра чисел, а алгебра состояний. Тем не менее в булевой алгебре производятся логические действия над переменными, которые и определяют характер логических функций. Основные логические действия соответствуют простейшим операциям над множествами: инверсия, или отрицание, дизъюнкция, или логическое сложение, и конъюнкция, или логическое умножение. На основании этих трех логических действий строятся все сколь угодно сложные логические функции. При этом следует особо выделить функции одной и двух переменных, которые играют в алгебре Буля весьма важную роль. При помощи этих функций, используя принцип суперпозиции, можно описать любую логическую функцию любой сложности любого числа переменных.
Принцип суперпозиции заключается в том, что каждый аргумент логической функции может являться функцией других логических переменных, а именно: если есть функция f{x1;x2;x3}, то возможно, что x1 = (x4,x5).
Булевых функций одной переменной всего четыре.
Нулевая (const”0”) Ф = Х =0 – значение функции равно нулю, каким бы ни было значение входной переменной.
Инверсия (не) Ф = – значение функции инверсно значению входной переменной.
Повторение (да) Ф = Х – значение функции повторяет значение входной переменной.
Единичная (const”1”) Ф = Х = 1 – значение функции равно единице при любом значении входной переменной.
Из всех функций двух переменных десять являются самостоятельными и зависят как от переменной а, так и от переменной b. Притом функции Y5 ,Y6 отличаются от соответствующих им Y7 ,Y8 лишь порядком расположения аргументов. Таким образом, лишь восемь из 16-ти булевых функций двух переменных являются оригинальными.
1. Y1 = a b – конъюнкция, логическое «и»;
2. Y2 = a b – дизъюнкция, логическое «или»;
3. Y3 = a / b – штрих Шеффера, логическое «и-не»;
4. Y4 = a b – стрелка Пирса (функция Вебба), «или - не»;
5. Y5 = a b – запрет b, «а, но не b» ;
6. Y6 = a b – импликация b, «если а, то b» ;
7. Y7 = b a – запрет а, «b, но не а» ;
8. Y8 = b a – импликация а, «если b, то а» ;
9. Y9 = a b – эквивалентность,
равнозначность;
10. Y10 = a b – неравнозначность,
«сумма по модулю 2».