- •Псковский государственный политехнический институт
- •Н.В. Мотина
- •Дискретная математика
- •Методические указания по выполнению контрольных работ
- •230101 «Вычислительные машины, комплексы, системы и сети»,
- •230201 «Информационные системы и технологии»
- •Псков Издательство ппи
- •Часть 1. Краткий теоретический материал 6
- •Часть 2 47
- •Порядок выполнения контрольной работы
- •Часть 1. Краткий теоретический материал
- •1. Операции над множествами
- •1.1. Понятие множества
- •1.2. Объединение, пересечение, дополнение, разность множеств
- •1.3. Прямое произведение множеств
- •Контрольные вопросы
- •2. Отношения
- •2.1. Понятие бинарного отношения
- •2.2. Обратное отношение
- •2.3. Композиция отношений
- •2.4. Векторы
- •Контрольные вопросы
- •3. Соответствия
- •Контрольные вопросы
- •4. Виды графов
- •4.1. Понятие графа
- •4.2. Связность
- •4.3. Планарность
- •4.4. Деревья
- •Контрольные вопросы
- •5. Способы задания графов
- •5.1. Матрица смежности
- •5.2. Матрица инциденций
- •Контрольные вопросы
- •6. Маршруты, цепи, циклы
- •6.1. Основные определения
- •6.2. Эйлеровы циклы
- •6.3. Гамильтоновы циклы
- •Контрольные вопросы
- •7. Преобразование логических выражений
- •7.1. Понятие логической функции
- •Продолжение табл.2
- •7.2. Тождества булевой алгебры
- •7.3. Правила преобразования некоторых логических функций
- •Контрольные вопросы
- •8. Минимизация логических функций
- •8.1. Минимизация с помощью карт Карно
- •8.2. Метод Квайна поиска СокДнф
- •8.3. Метод Квайна – Мак-Класки
- •8.4. Нахождение мкнф с помощью карты Карно
- •8.5. Минимизация логических функций, представленных в конъюнктивной форме, с использованием правил, аналогичных правилам минимизации логических функций в дизъюнктивной форме
- •8.6. Минимизация неполностью определенных логических функций с помощью карты Карно
- •8.7. Минимизация неполностью определенных логических функций без использования карты Карно
- •Контрольные вопросы
- •9. Свойства логических функций
- •Контрольные вопросы
- •Часть 2 Варианты заданий Задание 1. Операции над множествами
- •Задание 2. Отношения
- •Задание 3. Соответствия
- •Задание 4. Виды графов
- •Задание 5. Способы задания графов
- •Задание 6. Маршруты, цепи, циклы
- •Задание 7. Преобразование логических выражений
- •Задание 8. Минимизация логических функций
- •Задание 9. Свойства логических функций
- •Пример оформления контрольной работы
- •Рекомендуемая литература
- •Мотина Надежда Владимировна
Контрольные вопросы
1. Сколько ячеек должно быть на карте Карно для функции пяти переменных?
2. Можно ли найти минимальную форму записи логической функции с помощью метода Квайна?
3. Можно ли приступить к кодированию нулями и единицами (метод Квайна – Мак-Класки) следующей формы записи логической функции?
4. Обязательно ли включать в контуры ячейки с прочерками при минимизации неполностью определенных логических функций?
5. Для какой из функций: или необходимо найти сокращенную нормальную форму при минимизации неполностью определенных логических функций?
9. Свойства логических функций
Функция f(x1, x2, ..., xi–1, xi, xi+1, ..., xn) называется существенно зависящей от аргумента xi, если хотя бы на одном наборе входных переменных
f(x1, x2, ..., xi–1, 0, xi+1, ..., xn) f(x1, x2, ..., xi–1, 1, xi+1, ..., xn)
Функция называется сохраняющей нуль, если она равна нулю на нулевом наборе данных.
f(x1, x2, ..., xn) = 0 при всех xi = 0, i = 1, 2, ..., n
Функция называется сохраняющей единицу, если она равна единице на единичном наборе данных.
f(x1, x2, ..., xn) = 1 при всех xi = 1, i = 1, 2, ..., n
Функция называется самодвойственной, если она принимает противоположные значения на противоположных наборах аргументов.
Функция называется монотонной, если выполняется условие
f(x1, x2, …, xn) f(x1’, x2’, …, xn’) при всех xi xi’, i = 1, 2, ..., n
Замечание: если ни одно из условий xi xi’ для всех i от 1 до n или xi xi’ для всех i от 1 до n не выполняется, то говорят, что наборы xi и xi’ несравнимы. Пусть , , . Тогда , а и , а также и будут несравнимыми.
Функция называется линейной, если ее можно представить линейным полиномом Жегалкина
,
где a0, a1, ..., an - константы, которые могут принимать значения 0 и 1.
Пример 1. Определим свойства функции логического умножения И
Сохраняет нуль, так как f(0, 0) = 0.
Сохраняет единицу, так как f(1, 1) = 1.
Не является самодвойственной, так как .
Монотонна, так как
f(1, 1) f(0, 1),
f(1, 1) f(1, 0),
f(1, 1) f(0, 0),
f(0, 1) f(0, 0),
f(1, 0) f(0, 0),
остальные наборы входных переменных несравнимы.
f(x1, x2) = x1x2 не является линейной, так как ее невозможно представить в виде линейного полинома Жегалкина.
Пример 2. Определить свойства логической функции, заданной таблицей
x1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
x2 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
x3 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
f |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
f(0, 0, 0) = f(1, 0, 0)
f(0, 0, 1) = f(1, 0, 1)
f(0, 1, 0) = f(1, 1, 0)
f(0, 1, 1) = f(1, 1, 1) f не зависит существенно от x1
f(0, 0, 0) = f(0, 1, 0)
f(0, 0, 1) = f(0, 1, 1)
f(1, 0, 0) = f(1, 1, 0)
f(1, 0, 1) = f(1, 1, 1) f не зависит существенно от x2
f(0, 0, 0) f(0, 0, 1) f существенно зависит от x3
f(0, 0, 0) = 0 f сохраняет ноль
f(1, 1, 1) = 1 f сохраняет единицу
f(0, 0, 0) f(1, 1, 1)
f(0, 0, 1) f(1, 1, 0)
f(0, 1, 0) f(1, 0, 1)
f(0, 1, 1) f(1, 0, 0) f самодвойственна
f(1, 1, 1) > f(0, 0, 0)
f(1, 1, 0) = f(1, 0, 0)
f(1, 1, 0) = f(0, 1, 0)
f(1, 0, 1) > f(1, 0, 0)
f(1, 0, 1) = f(0, 0, 1)
f(0, 1, 1) > f(0, 1, 0)
f(0, 1, 1) = f(0, 0, 1) f монотонна
Из таблицы значений функции f понятно, что f = x3. Эта запись одновременно является и полиномом Жегалкина для функции f. Данный полином – линейный (так как в нем нет слагаемых, являющихся конъюнкциями нескольких переменных), следовательно, и функция f является линейной.
Пример 3. Определить свойства логической функции, заданной таблицей
x |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
y |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
z |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
f |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
f(0, 0, 0) f(1, 0, 0) f существенно зависит от x
f(0, 0, 0) f(0, 1, 0) f существенно зависит от y
f(0, 1, 0) f(0, 1, 1) f существенно зависит от z
f(0, 0, 0) = 1 f не сохраняет ноль
f(1, 1, 1) = 1 f сохраняет единицу
f(0, 0, 0) = f(1, 1, 1) f не является самодвойственной
f(0, 1, 0) < f(0, 0, 0) f не является монотонной
Получить полином Жегалкина можно из ДСНФ функции. Чтобы упростить данный процесс, попробуем сначала минимизировать нашу функцию, например, с помощью карты Карно.
f(x, y, z) = z +xy = z xy xy z = z (x 1)(y 1) (x 1)(y 1)z =
= z xy x y 1 xyz xz yz z = xyz xy xz yz x y 1
Замечание:
Были использованы следующие преобразования:
a + b = a b ab
a = a 1
a a = 0
a 0 = a
Полученный полином Жегалкина не является линейным, следовательно, исходная функция f – не линейная.