- •Глава 16. Специальные циклы и метрика графов 345
- •Глава 17. Графовые инварианты 404
- •Введение
- •Цели и задачи преподавания дисциплины «дискретная математика»
- •Модуль 1. Основы Теории множеств (2 кредита)
- •Комплексная цель и задачи изучения модуля
- •Глава 1. Исчисление множеств
- •1.1. Понятие множества
- •1.2. Способы задания множеств
- •1.3. Подмножество
- •2. Пустое множество не имеет собственных и истинных подмножеств.
- •3. Одноэлементное множество имеет два подмножества - сaмo себя и , т.Е. Не имеет собственных подмножеств.
- •Множество – это многое, мыслимое как единое.
- •Глава 2. Операции над множествами
- •2.1. Объединение множеств
- •2.2. Пересечение множеств
- •2.3. Разность множеств
- •2.4. Дополнение множества
- •2.5. Тождества алгебры множеств
- •2.6. Доказательства тождеств с множествами
- •Глава 3. Упорядоченные множества
- •3.1. Кортеж (Упорядоченное множество)
- •3.2. Декартово произведение
- •3.3. Операция проектирования множеств
- •3.4. График
- •Декартово произведение множеств позволяет перейти к графическому представлению упорядоченных множеств.
- •Глава 4. Отношения
- •4.1. Основные понятия отношений
- •4.2. Основные свойства отношений
- •4.3. Операции над отношениями
- •4.4. Основные свойства специальных отношений
- •4.5. Разбиение множеств
- •4.6. Отношение порядка
- •Использование отношений позволяет строить модели взаимосвязей между любыми обьектами в природе.
- •5. Соответствия
- •5.1. Определение соответствия
- •5.2. Операции над соответствиями
- •5.3. Понятия образа и прообраза при соответствии
- •5.4. Доказательства тождеств с соответствиями
- •5.5. Основные свойства соответствий
- •5.6. Функция
- •Глава 6. Упорядоченные бесконечные множества
- •6.1. Основные сведения об упорядоченных бесконечных множествах
- •6.2. Проблема континуума
- •Глава 7. Основные понятия теории мультимножеств
- •7.1. Понятие мультимножества
- •7.2. Операции над мультимножествами
- •Возможность многократного вхождения элементов в мультимножество создает новое качество и позволяет расширить класс описываемых, анализируемых и синтезируемых математических объектов.
- •8. Нечеткие множества
- •8.1. Нечеткие высказывания
- •8.2. Операции над нечеткими множествами
- •8.3. Нечеткие отношения и соответствия
- •Тестовые задания к модулю 1
- •24. Множество называется графиком, если каждый его элемент ...
- •25. Соответствие может быть задано … способом.
- •Критерии оценки
- •Нечеткие и приближенные высказывания, множества, соответствия и отношения позволяют формально задавать расплывчатую информацию в виде, удобном для обработки на эвм.
- •Глоссарий к модулю 1
- •Глава 1.
- •Глава 2.
- •Глава 3.
- •Глава 4.
- •Глава 5.
- •Глава 6.
- •Глава 7.
- •Глава 8.
- •Галилей Модуль 2. Основы теории алгоритмов (1,5 кредита) Комплексная цель и задачи изучения модуля
- •Глава 9. Введение в теорию алгоритмов
- •9.1. Понятие алгоритма
- •9.2. Основные свойства алгоритмов
- •9.3. Классификация алгоритмов
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •10.1. Преобразование слов в произвольных абстрактных алфавитах
- •10.2. Числовые функции
- •10.3. Построение алгоритмов по принципу «разделяй и властвуй»
- •10.4. Представление алгоритма в виде детерминированного устройства
- •10.5. Универсальные схемы алгоритмов
- •10.5. “Жадные” алгоритмы
- •10.6. Нечеткие (расплывчатые) алгоритмы
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •11.1. Анализ алгоритмов
- •11.2. Сложность алгоритмов
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Тестовые задания к модулю 2
- •Критерии оценки
- •Модуль 3. Алгебра логики (1,5 кредита) Комплексная цель и задачи изучения модуля
- •Глава 12. Элементы алгебры логики
- •12.1. Логические функции
- •12.2. Основные логические тождества и законы
- •12.3. Булевы функции одной и двух переменных
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •13.1. Дизъюнктивная и конъюнктивная нормальные формы
- •13.2. Способы перехода от нормальных к совершенным нормальным формам
- •2. Графический способ.
- •13.4. Функциональная полнота бф
- •13.3. Алгебра Жегалкина
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •14.1. Реализация булевых функций
- •14.2. Минимизация булевых функций
- •14.3. Карты Карно
- •14.4. Метод Квайна - Мак-Класски
- •14.5. Переход от бф к простейшим комбинационным схемам
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Критерии оценки
- •Глоссарий к модулю 3
- •Модуль 4. Основы Теории графОв (2 кредита) Комплексная цель и задачи изучения модуля
- •Глава 15. Введение в теорию графов
- •15.1. Способы задания графов и виды графов
- •15.1.1. Способы задания графов
- •15.1.2. Виды графов
- •15.1.3. Нечеткие неориентированные графы
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •15.2. Маршруты, цепи, циклы
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •При моделировании систем модели и алгоритмы нахождения маршрутов, цепей, циклов, разрезов, связности графов позволяют строить эффективные алгоритмы преобразования графов.
- •15.3. Нахождение кратчайших маршрутов (цепей)
- •15.3.1. Алгоритм Форда
- •15.3.2. Алгоритм Дейкстры
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •Алгоритмы Форда и Дейкстры являются эффективным способом определения кратчайшей по стоимости цепи между двумя вершинами графа.
- •Глава 16. Специальные циклы и метрика графов
- •16.1. Эйлеровы и гамильтоновы цепи и циклы
- •16.1.1. Связь между эйлеровыми и гамильтоновыми графами
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •16.2. Алгоритмы построения гамильтонова цикла
- •16.2.1. Алгоритм Робертса ─ Флореса
- •16.2.2. Алгебраический метод
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •16.3. Задача о коммивояжере и алгоритмы ее решения
- •16.3.1. Алгоритм Хелда и Карпа
- •16.3.2. Геометрический метод решения
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •16.4. Расстояния на графах
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •16.5. Деревья
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •Глава 17. Графовые инварианты
- •17.1. Цикломатическое и хроматическое числа графа
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •17.2. Числа внутренней и внешней устойчивости графа
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •Числа внутренней и внешней устойчивости относятся к инвариантам графа. Они позволяют определить специальные группы вершин в графах.
- •17.3. Планарность графов
- •17.3.1. Плоские и планарные графы
- •17.3.2. Эвристики для определения планарности
- •17.3.3. Минимизация пересечений ребер графов
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •17.4. Ориентированные графы
- •17.4.1. Способы задания
- •17.4.2. Решение стандартных графовых задач с использованием орграфов
- •17.4.3. Выделение сильносвязных компонент
- •17.4.4. Нечеткие ориентированные графы
- •Примеры решения задач
- •Вопросы
- •Задания для самостоятельной работы
- •175 Гиперграфы
- •Примеры решения задач
- •Вопросы для самоконтроля
- •Задания для самостоятельной работы
- •Тестовые задания к модулю 4
- •Критерии оценки
- •Глоссарий к модулю 4 Глоссарий к главе 1
- •Глоссарий к главе 2
- •Глоссарий к главе 3
- •Библиографический комментарий
- •Литература
- •Заключение
- •Приложение 1
- •Учебное издание Гладков Леонид Анатольевич, Курейчик Владимир Викторович, Курейчик Виктор Михайлович
13.2. Способы перехода от нормальных к совершенным нормальным формам
Существует два способа перехода от нормальных к совершенным нормальным формам булевых функций.
1. Аналитический способ.
Данный способ состоит в пошаговом дополнении каждой компоненты, составляющей нормальную форму до полной, т.е. содержащей все возможные переменные. Для СДНФ при этом производится операция последовательного умножения на логическое выражение вида (xi ), где xi - одна из переменных набора - x1, x2, x3, ..., xn, которые не входят в рассматриваемую компоненту.
В свою очередь, для СКНФ производится последовательное суммирование с логическим выражением вида xi .
Причем количество проводимых операций умножения или суммирования зависит от разницы между числом переменных, входящих в рассматриваемую компоненту, и общим числом задействованных переменных.
2. Графический способ.
Наиболее наглядным способом перехода к совершенным нормальным формам являются карты Карно. Ниже представлены карты Карно для двух, трех и четырех переменных соответственно:
Рис. 13.1. Карты Карно
Как видно, карты Карно составляются таким образом, чтобы значение переменных в соседних клетках отличались друг от друга не более чем на единицу.
Алгоритм перехода к СДНФ можно сформулировать следующим образом:
1. Для заданной функции строится карта Карно.
2. В клетках соответствующих компонентам, составляющим ДНФ, ставятся единицы.
3. Затем для каждой клетки, имеющей единицу, записываются конъюнкции, содержащие полный набор переменных.
4. Полученные конъюнкции соединяются символами дизъюнкции.
Для получения с помощью карт Карно СКНФ необходимо проинвертировать исходную БФ.
Затем для полученного инверсного выражения выполняется алгоритм, приведенный для записи СДНФ.
Полученную в пункте 4 вышеуказанного алгоритма СДНФ еще раз инвертируем и получаем в результате искомую СКНФ.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
Пример 13.3. Преобразовать в СДНФ и СКНФ следующие переключательные функции:
а) Y = А В С.
Решение. Как видно, исходная функция имеет две составляющие, соединенные между собой символом дизъюнкции. Используя законы и тождества алгебры логики, преобразуем эти составляющие до полных. Согласно тождествам алгебры логики, значение выражения типа В всегда равно единице, поэтому добавление такого выражения в исходное не изменяет его значения. Применив к полученному выражению распределительный закон, перейдем к записи СДНФ:
А В (С ) = А В С А В ;
С (А ) = С А С = (С А С ) (В ) = А В С В С А С С.
Ответ: YСДНФ = А В С А В В С А С С.
б) Y = А (В ).
Решение. Исходная функция состоит из двух составляющих, соединенных символом конъюнкции. Для того, чтобы записать исходную функцию в виде СКНФ, необходимо, чтобы каждая составляющая включала в себя полный набор переменных, соединенных знаком конъюнкции. Согласно тождествам алгебры логики значение выражения типа В всегда равно нулю, поэтому добавление такого выражения в исходное не изменяет его значения. Применив после этого к полученному выражению распределительный закон, мы легко перейдем к записи СКНФ:
А = А В = (А В) (А ) = (А В С ) (А С ) = (А В С) (А В ) (А С) (А );
В С = В C А = (А В C) ( В С).
Ответ. YСКНФ = (А В С) (А В ) (А С) (А ) ( В С).
в) Y = А ( С) ( В С);
Решение. А = А В = (А В) (А ) = (А В С ) (А С ) = (А В С) (А В ) (А С) (А );
C = C А = (А С) ( С);
Ответ. YСКНФ = (А В С) (А В ) (А С) (А ) ( С).
г) Y = А С В С;
Решение. С (А ) = А С С;
А (С ) = С А А = (С А А) (В ) = А В С А В А С А .
Ответ. Yсднф = А В С А В А С А С.
Пример 13.4. Преобразовать с помощью карт Карно переключательную функцию:
а) Y = А В С в СДНФ.
Решение. Исходная функция содержит две составляющие А В и С. Строим карту Карно. Конъюнкция А В соответствует столбцу 11 в карте Карно. Проставляем единицы во всех ячейках этого столбца. Вторая составляющая С исходной функции соответствует строке 1 в карте Карно. Во всех ячейках данной строки также проставляем единицы. В результате этой операции мы получили карту Карно, изображенную ниже.
С\АВ |
00 |
01 |
11 |
10 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
Данная карта имеет пять ячеек, содержащих единицы. Следовательно, СДНФ исходной функции должна содержать пять конъюнкций. Запишем теперь исходную функцию в совершенной дизъюктивной нормальной форме:
Yсднф = А В С А В В С А С С.
б) Y = (А В С) (А D) в СКНФ.
Решение. Найдем инверсное значение функции Y:
=
В
.
Построим карту Карно аналогично описанному в предыдущем примере способу.
СD\AB |
00 |
01 |
11 |
10 |
00 |
1 |
1 |
0 |
0 |
01 |
1 |
0 |
0 |
0 |
11 |
0 |
0 |
0 |
0 |
10 |
0 |
1 |
0 |
0 |
Полученная карта Карно содержит четыре ненулевых ячейки. После этого запишем выражение, являющееся инверсией СКНФ.
= D В В С .
Теперь, для того чтобы получить СКНФ, достаточно проинвертировать последнее выражение:
YСКНФ = (А В С D) (А В С ) (A C D) ( B C ).
