- •Г.С. Розаренов, в.А. Шаруда дискретная математика Учебное пособие
- •Воронеж 2008
- •Воронеж 2008
- •Введение
- •1. Множества
- •1.1. Основные понятия
- •Упражнения
- •1.2. Операции над множествами
- •Упражнения
- •1.3. Диаграммы Венна
- •Упражнения
- •1.4. Доказательства
- •Упражнения
- •1.5. Векторы, прямые произведения, проекции векторов
- •Упражнения.
- •2. Алгебра логики
- •2.1. Функции алгебры логики
- •2.2. Формулы. Реализация функций формулами
- •2.3. Эквивалентность формул. Свойства элементарных функций. Принцип двойственности
- •2.4. Разложение булевых функций по переменным. Совершенная дизъюнктивная нормальная форма
- •2.5. Полнота и замкнутость
- •2.6. Проблема минимизации булевых функций
- •Упражнения.
- •2.7. Упрощение д.Н.Ф. Тупиковые (относительно упрощения) д.Н.Ф.
- •Упражнения.
- •3. Язык логики предикатов
- •3.1. Основные понятия логики предикатов
- •3.2. Истинные формулы и эквивалентные соотношения
- •Упражнения.
- •4. Теория графов
- •4.1.Основные понятия
- •Г раф изоморфен
- •4.2. Способы задания графов
- •Матрица инцидентности (ij)
- •4.3. Операции над частями графа
- •4.4. Маршруты, пути, цепи, циклы
- •4.5. Дерево и лес
- •4.6. Сети
- •Упражнения.
- •5. Введение в теорию алгоритмов
- •5.1. Предварительные обсуждения
- •5.2. Блок-схемы алгоритмов
- •5.3. Машины Тьюринга
- •5.4. Некоторые операции над машинами Тьюринга
- •5.5. Рекурсивные функции
- •6. Автоматы
- •6.1. Определение основных понятий
- •6.2. Изоморфизм и эквивалентность автоматов
- •6.3. Сети из автоматов
- •6.4. Синхронные сети
- •6.5. Программная реализация логических функций
- •Заключение
- •394026 Воронеж, Московский просп., 14
Упражнения.
Чему равно число различных логических функций трех переменных?
Представить префиксные формулы логических функций трех переменных f(x1; x2; x3) в инфиксной форме, если f1 - , f2 - &, f3 - , f4 – 1;
f1 (x3, f3 (x1, f2 (f4(x1), x2)));
f3 (f1 (x3, x1), f2 (x1, f3 (x1, f4 (x2))));
f3 (f4 (x1), f1 (x2, f2 (x3, f3 (x1, f4 (x3)))));
Вычислить f на наборах значений: а) (0, 1, 1), б) (1, 0, 1).
Вычислить f на наборах а) (0, 1, 0), б) (1, 1, 0) значения функций f(x1, x2, x3):
(x1 ≈ x2) ((x1 & x3) x2);
((x3 ) & x2) (x1 x3);
((x2 x3) & x1) ≈ ((x1 x3) x2);
Доказать справедливость следующих соотношений:
а) x (y z)= (x y) z (ассоциативность дизъюнкции);
б) x (y z)= (x y) z (ассоциативность конъюнкции);
в) x ( ) y z = x y z;
г) x (y z) = x y x z (дистрибутивность конъюнкции относительно дизъюнкции);
д) x (y z) = (x y) (x z) (дистрибутивность дизъюнкции относительно конъюнкции);
e) x x = x;
ж) x x y = x;
5. Построением таблиц истинности подтвердить справедливость вышеприведенных правил.
2.7. Упрощение д.Н.Ф. Тупиковые (относительно упрощения) д.Н.Ф.
Пусть R – произвольная д.н.ф. и R=R' V K; R=R' V K', где К – некоторая элементарная конъюнкция из R, R' – д.н.ф., образованная из остальных конъюнкций, - некоторый множитель из К, К' – произведение остальных сомножителей.
Рассматриваются 2 типа преобразований д.н.ф.
1. Операции удаления элементарной конъюнкции.
Переход от д.н.ф. R к д.н.ф. R' – преобразование, осуществляемое путем удаления К. Определена операция тогда и только тогда, когда R'=R.
2. Операции удаления множителя.
Переход от д.н.ф. R к д.н.ф. R'VK' – преобразование, осуществляемое путем удаления . Преобразование осуществляется тогда и только тогда, когда R'VK'=R.
Определение. Д.Н.Ф. R, которую нельзя упростить при помощи преобразований 1 и 2, называется тупиковой д.н.ф. относительно преобразований 1 и 2.
Нетрудно видеть, что среди тупиковых д.н.ф. функций
f(x1, …, xn) всегда содержатся и минимальные, возможно, правда, не все.
Пример. f(x1, x2, x3)
Таблица 12
-
x1
x2
x3
f(x1, x2, x3)
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
В качестве исходной возьмем совершенную д.н.ф.
R = V x3 V x2x3 V x1 V x1x2 V x1x2x3
R = V x3 V x2x3 V x1 V x1x2 V x1x2x3 =
= V x2x3 V x1 =R'
V x3 V x2x3 V x1 V x1x2 V x1x2x3 =
= V x3 V x1x2.
Упражнения.
Найти СДНФ логических функций трех переменных f1 – f4, заданных в таблице 13.
Таблица 13
X |
y |
z |
f1 |
f2 |
f3 |
f4 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
Получить СДНФ логической функции f(x, y, z), используя табличное представление функции, если f задана булевой формулой:
y z x y x z x ;
x y y z z y ;
x z y z y z;
x x y z y z;
y z z y z x y z;
z y z y x y z;
x y y z x z x (z ).
Получить СДНФ, используя расщепление (обратное склеивание);
Для функций заданных в виде ДНФ, получить СДНФ, используя эквивалентные преобразования, и упростить СДНФ, используя метод Блейка-Прецкого.
а) f(x, y, z) = xz yz ;
б) f(x, y, z) = xy xz y z ;
в) f(x, y, z) = y yz x z;
г) f(x, y, z) = y z xyz;
5. Привести формулы ДНФ:
а) f(x, y, z) = ;
б) f(x, y, z) = .
6. Получить СКНФ для функций f1 – f2 из таблицы 13.
7. Используя изоморфизм булевых алгебр логических функций и двоичных векторов, выполнить булевые операции над логическими функциями трех переменных f3 и f4 из таблицы 13.