
- •Лекции 1-3. Функции алгебры логики
- •1. Основные определения
- •2. Простейшие функции
- •3. Дизъюнктивные нормальные формы и теорема о разложении
- •4 Минимизация функций в классе днф
- •5. Минимизация функций
- •5.1. Метод минимизации по картам Карно
- •5.5.2. Метод неопределенных коэффициентов
- •5.3. Метод Квайна — Мак-Класки
- •5.6. Классы функций алгебры логики
- •5.6.1. Монотонные функции
- •5 .6.2. Самодвойственные функции
- •5.6.3. Линейные функции.
- •5.6.4. Функции, сохраняющие константу
- •5.7. Функциональная полнота.
- •5.8.4. Классы функций
- •5.8.5. Функциональная полнота
Лекции 1-3. Функции алгебры логики
1. Основные определения
Булевой (логической) переменной называют переменную, принимающую значение из множества {0,1}. Название «логическая» следует из того, что её значения трактуются чаще всего как «истина» (для 1) и «ложь» (для 0).
Функцией алгебры логики (переключательной или булевой функцией) от n переменных называют однозначное отображение множества всевозможных наборов значений n булевых переменных в множество {0,1}.
Такую функцию можно представить в виде таблицы из n+1 столбцов и 2n строк. Эта таблица называется таблицей истинности.
Наборы значений переменных располагают в лексикографическом порядке (в порядке возрастания), как в примере в табл. 5.1 для n = 3.
Число всевозможных наборов значений переменных составляет N=2n. Число различных функций, которые могут быть записаны в таблице, равно 2N.
Таблица 1
x1
x2
x3
f
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
Для приведённого примера функцию можно представить как Т1={001,010,100, 111}.
Третий способ описания – представление функций в виде вектора. Так как порядок перечисления наборов входных переменных установлен, то достаточно указать только столбец функции. Для приведенного примера это будет вектор <01101001> .
Определение. Булева функция существенно зависит от переменной хi, если найдутся два набора значений переменных, отличающиеся только i-й компонентой, на которых значения функции не совпадают. Переменная, от которой функция существенно не зависит, называется несущественной или мнимой для данной функции.
Пример. Пусть функция на наборах значений переменных <00110> и <01110> равна, соответственно, 1 и 0. Эта функция существенно зависит от второй переменной, потому что её значение на этих наборах определяется только значением этой переменной.
Будем считать, что функция не изменится, если в нее добавить или из нее убрать любое количество несущественных переменных.
Таблица 2
x
0
x
x
1
0
0
0
1
1
1
0
1
0
1
Пусть [n] – число функций, существенно зависимых от n переменных. Тогда [1] = 2, [0] = 2. Для любого n это число можно подсчитать по рекуррентной формуле
[n] = 2N- [0] - Cn1[1] - Cn2[2] - .... Cnn-1[n-1].
Здесь N=2n, первая компонента – число функций от n переменных, из которого последовательно для i=0,1,..., n-1 вычитаются произведения числа функций, существенно зависимых от i переменных, на число способов, которыми можно выбрать i переменных из n.
Так, для n = 2 [2]=16-2-22=10. Для n=3 [3]=256-2-32-310=218.