- •Глава 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.3. Алгебра Жегалкина
- •13.4. Функциональная полнота бф
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •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
- •Учебное издание Гладков Леонид Анатольевич, Курейчик Владимир Викторович, Курейчик Виктор Михайлович
10.1. Преобразование слов в произвольных абстрактных алфавитах
Существуют три основных типа универсальных алгоритмических моделей:
преобразование слов в произвольных абстрактных алфавитах;
преобразование числовых функций;
представление алгоритмов как некоторого детерминированного устройства, способного выполнять простейшие операции.
В первом типе универсальных алгоритмических моделей под алгоритмом понимают задаваемые соответствия между словами в абстрактных алфавитах (АА). Под абстрактным алфавитом понимается конечная совокупность объектов, называемых буквами или символами этого алфавита. Символами абстрактного алфавита считают буквы, цифры, любые знаки, слова, предложения, любые тексты. Следовательно, абстрактный алфавит — это конечное множество различных символов, и, подобно множеству, его можно задать путем перечисления элементов или символов.
Например, А — абстрактный алфавит: А = {+, а, студент, b, c, учебник}.
Абстрактный алфавит является многоступенчатым, т.е. каждый символ может сам являться алфавитом или его частью. Тогда в соответствии с определением первой алгоритмической модели алгоритмами называют преобразование слов в абстрактном алфавите. Соответственно, словом в абстрактном алфавите называют любую конечную упорядоченную последовательность символов. В качестве примера приведем следующую запись:
Слово А = < +, a >, Слово B = < b, +, c >, Слово C = < >, Слово D = < + >. Здесь слово А состоит из двух символов, В – из трех символов, С – не содержит символов и является пустым, D – содержит один символ.
Число символов в слове абстрактного алфавита называется длиной этого слова.
Алфавитным оператором (АО) называют функцию, которая задает соответствие между словами входного и выходного АА.
Пусть задана система с входным абстрактным алфавитом X и выходным Y. Пусть Х = {a, b, ЭВМ, ПЭВМ}; Y = {a + b, a b, система, ВЦ}. Построим АО, который перерабатывает входные слова алфавита Х в выходные слова алфавита Y. На рис. 2.1 показан один из возможных вариантов алфавитного оператора.
Алфавитные операторы бывают однозначные и многозначные. В однозначном АО каждому входному слову ставится в соответствие одно выходное слово. В многозначных АО каждому входному слову может быть поставлено в соответствие некоторое множество выходных слов. АО, который не ставит в соответствие входному слову никакого выходного, называется неопределенным на этом слове. В примере на рис. 10.1. приведен один из возможных вариантов многозначного АО.
Множество слов, на котором АО определен, называется его областью определения.
Рис. 10.1. Пример алфавитного оператора
Выделяют алфавитные операторы с конечной и бесконечной областями определения. Если область определения АО конечна, то его обычно задают таблицей соответствий. В левой части таблицы записывают слова, входящие в область определения, в правую часть таблицы — слова, получающиеся в результате применения АО к входным словам. Если область определения алфавитного оператора бесконечна, то его задают набором правил, которые за конечное число шагов позволяют найти выходное слово, соответствующее входному.
Алфавитный оператор, задаваемый с помощью конечной системы правил, называется алгоритмом.
Следует различать понятие алгоритма и алфавитного оператора. В АО основное — это соответствие между словами, а не способ его установления. В алгоритме же основное — способ установления соответствия между словами. Следовательно, алгоритм - это АО с правилами, определяющими его действие.
Два алгоритма называются равными, если равны их АО и совпадают системы правил, задающих действие этих алгоритмов на входные слова.
Алгоритмы считаются эквивалентными, если они имеют совпадающие АО, но не совпадающие способы их задания.
Например, пусть алгоритм A1 определяется следующим образом:
X = {a, b, c} – входной абстрактный алфавит;
Y = {, , } – выходной абстрактный алфавит;
Алфавитный оператор (АО1): a , b , c .
Система правил, задающая действие алфавитного оператора: А, В, С.
Пусть алгоритм A2 определяется следующим образом:
X = {a, b, c} – входной абстрактный алфавит;
Y = {, , } – выходной абстрактный алфавит;
Алфавитный оператор (АО2): a , b , c .
Система правил, задающая действие алфавитного оператора: А, В, С.
Тогда алгоритм А1 равен алгоритму А2. Если в алгоритме А2 система правил, задающая действие алфавитного оператора АО2: В, С, А, то алгоритм А1 эквивалентен алгоритму А2.
