- •Русаков Алексей Михайлович
- •Лекции по дисциплине «Дискретная математика»
- •Введение.
- •Теория множеств.
- •Понятие множества. Операции над множествами.
- •Определение.
- •Определение.
- •Определение.
- •Пример.
- •Свойства операций сложения и пересечения множеств.
- •Определение.
- •Замечание.
- •Примеры.
- •Счётные множества. Теорема Кантора.
- •Определение.
- •Примеры счётных множеств.
- •Замечания.
- •Теорема.
- •Доказательство:
- •Задачи для самостоятельного решения.
- •Решите задачи № 1.30 1.39 с использованием диаграммы Эйлера-Венна.
- •Бинарные отношения в теории графов.
- •Например:
- •Матрицы смежности и инцидентности.
- •Пример.
- •Маршруты, цепи и простые цепи.
- •Определение
- •Расстояние и протяжённость в графе.
- •Деревья.
- •Примеры:
- •Например:
- •Помеченные графы. Перечисление помеченных деревьев.
- •Пример:
- •Теорема Келли.
- •Задача о кратчайшем соединении.
- •Задача о кратчайших путях.
- •Эйлеровы цепи, критерий Эйлеровости. Задача о Кёнигсбергских мостах.
- •Доказательство:
- •Достаточность.
- •Индуктивный переход.
- •Гамильтовы циклы.
- •Пример:
- •Примеры задач и упражнений.
- •Решение.
- •Задачи для самостоятельного решения.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение группы.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение и способы описания формальных грамматик.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Теория автоматов.
- •Основные понятия теории автоматов.
- •Определение.
- •Способы задания автоматов. Таблица переходов.
- •Определение.
- •Определение.
- •Способы задания автоматов. Граф автомата.
- •Определение.
- •Способы задания автоматов. Матрица переходов и выходов. Определение.
- •Машины Тьюринга и конечные автоматы. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Машины Тьюринга с двумя выходами.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Автоматы с магазинной памятью и бесконтекстные языки.
- •Определение.
- •Определение.
- •Модель дискретного преобразователя Глушкова в. М. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Понятие об абстрактном автомате и индуцируемом им отображении. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Автоматные отображения и события. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Теорема.
- •Регулярные языки и конечные автоматы. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Правила подчинения мест в регулярных выражениях.
- •Определение.
- •Определение.
- •Правила построения основного алгоритма синтеза конечных автоматов.
- •Пример.
- •Автомат Мили.
- •Определение.
- •Определение.
- •Автомат Мура.
- •Определение.
- •Определение.
- •Теория булевых функций.
- •Связь булевых функций и схем из функциональных элементов и контактных схем. Определение.
- •Замечания.
- •Теорема.
- •Доказательство:
- •Замечание.
- •Теорема. (Формулы разложения Клода Шеннона.)
- •Доказательство:
- •Замечания.
- •Основные свойства булевых функций. Замечание.
- •Определение.
- •Примеры задач и упражнений. Пример 1
- •Доказательство
- •Задачи для самостоятельного решения.
- •Элементы комбинаторики.
- •Основные понятия комбинаторики. Определение.
- •Определение.
- •Доказательство.
- •Теорема – правило включения-исключения.
- •Доказательство.
- •Доказательство.
- •8.2. Формулировка задания.
- •Определение.
- •Пример.
- •Переходы можно представить также с помощью таблицы и схематически:
- •Определение.
- •Последовательность выполнения.
- •Методический пример.
- •Контрольная распечатка.
- •Замечания.
- •Отчет по практической работе.
- •Контрольные вопросы
- •Варианты заданий.
- •Домашняя работа №1. По всей теории
- •Домашняя работа №2. Способы задания графов
- •8.03.2. Правила регулярного выражения.
- •Установка необходимого программного обеспечения.
- •Замечания.
- •Методический пример.
- •Контрольная распечатка.
- •Отчет по практической работе.
- •Контрольные вопросы.
- •Варианты заданий.
- •Дополнительные материалы.
- •Биография Георга Кантора (основатель теории множеств).
- •Город Калининград (Кёнигсберг).
- •Список литературы.
-
Примеры задач и упражнений.
Пример 2.1 Построить граф G, заданный множеством вершин Х={X1, X2, X3, X4} и их отображениями Г(Х1)={X1, X2}, Г(Х2)={X3, X4}, Г(X3)={X1, X4}, Г(Х4)={X1, X2, X3}.
Решение. Данный граф приведен на рис. 2.1
X4
Рис. 2.1
Два графа G1 и G2 изоморфны, если существует такое взаимно-однозначное соответствие между множествами их вершин Х1 и Х2, что вершины соединены ребрами в одном из графов в том и только том случае, когда соответствующие им вершины соединены в другом графе. Если ребра ориентированы, то их направления также должны соответствовать друг другу.
Пример 2.2 Изоморфны ли графы, изображенные на рис. 2.2 и 2.3?
Рис.2.2
Рис. 2.3
Р
Пример 2.3 Являются ли полными (без учета петель) графы А1, В1, изображенные на рис. 2.2 и 2.3?
Решение. Граф В1 не является полным, т.к. не все пары его вершин соединены ребрами. Например, (а1, а6), (а3, а8) и другие. Граф А1 не является полным, т.к. ребро (a, b) ориентировано только в одном направлении.
Рис. 2.4
Пример 2.4 Дан ориентированный граф (рис. 2.4). Построить его матрицы смежности и инцидентности.
Решение. В соответствии с определением матрица смежности есть квадратная матрица с элементами множества вершин в качестве координат ее столбцов и строк.
Элемент матрицы в строке i и столбце j равен 1, если есть ребро от вершины i к вершине j, -1- если есть ребро к вершине i от вершины j и 0 – если вершины i и j не соединены. Матрица смежности приведена в таблице 2.1
В матрице инцидентности координатами строк являются элементы множества вершин, а координатами столбцов – элементы множества ребер. Элемент матрицы в строке i и столбце j равен 1, если ребро j исходит из вершины i, -1 – если ребро j входит в вершину i, 0 – если ребро j не инцидентно вершине i. Матрица инцидентности приведена в таблице 2.2.
Пример 2.5 На рис. 2.5. задан граф G. Построить матрицу смежности и выяснить, сколько путей длины три существует в графе G.
Рис. 2.5
Решение.
Элемент , следовательно, в данном графе существует единственный путь длиной три. Это путь из вершины Х1 в вершину Х4:
.
Все элементы матрицы А4 равны нулю, следовательно, в графе отсутствуют пути длиной четыре.
-
Задачи для самостоятельного решения.
№ 2.1 Показать, что два графа на рис. 2.6 изоморфны.
Рис. 2.6
№ 2.2 «Три дома и три колодца». Три поссорившихся соседа имеют три общих колодца. Можно ли провести непересекающиеся дорожки от каждого дома к колодцу?
№ 2.3 Найти степени и числа вершин для графов пяти правильных многогранников.
№ 2.4 Для графов, изображенных на рис. 2.7, указать пары, изоморфные друг другу.
Рис.2.7
№ 2.5 Среди графов, указанных на рис. 2.8, выделить полные графы (без учета петель).
Рис. 2.8
№ 2.6 Дан граф G (Рис. 2.9). Указать, какие из графов, изображенных на рис. 2.9б, являются частями графа G и какие – подграфами.
Рис. 2.9
Рис. 2.9б.
№ 2.8 Какие из графов, приведенных на рис.2.8 и 2.9, являются плоскими?
№ 2.9. Составить матрицы смежности и инцидентности для правильных многогранников.
№ 2.10. Построить матрицы смежности графов, изображенных на рис. 2.9.
№ 2.11 Для заданного на рис. 2.10 (ак) графа построить: матрицу смежности, матрицу инцидентности, матрицу достижимостей.
Рис. 2.10.
№ 2.15 Груз доставляется из пункта Х0 в пункт Х7 через перевалочные пункты Х0…Х7 (Рис.2.11). Расстояния между пунктами ХiXj указаны на соответствующем графе. Найти путь минимальной длины между Х0 и Х7 и его длину.
Рис. 2.11
-
Основы теории формальных грамматик.
-
Основные определения формальных грамматик.
-
В общем случае язык представляет собой бесконечное множество, а бесконечные объекты даже задать трудно: их невозможно задать простым перечислением элементов.
Определение.
Любой конечный механизм задания языка называется грамматикой.
Определение.
Формальный язык представляет собой множество цепочек в некотором конечном алфавите.
К формальным языкам можно отнести искусственные языки для общения человека с машиной – языки программирования.
Для задания описания формального языка необходимо:
-
Указать алфавит, то есть совокупность объектов, называемых символами (или буквами), каждый из которых можно воспроизводить в неограниченном количестве экземпляров (подобно обычным печатным буквам или цифрам).
-
Задать формальную грамматику языка, то есть перечислить правила, по которым из символов строятся их последовательности, принадлежащие определяемому языку, – правильные цепочки.
Правила формальной грамматики можно рассматривать как продукции (правила вывода), то есть элементарные операции, которые, будучи применены в определенной последовательности к исходной цепочке (аксиоме), порождают лишь правильные цепочки. Сама последовательность правил, использованных в процессе порождения некоторой цепочки, является ее выводом.
Определенный таким образом язык представляет собой формальную систему.
По способу задания правильных цепочек формальные грамматики разделяются на порождающие и распознающие.