
- •Введение
- •Дискретная математика
- •Бинарная операция ассоциативна, если тождественно выполняется: ;
- •4.Классы булевых функций :
- •X1 x2 X
- •5. Теория полноты
- •I этап :
- •3 Случай :
- •II этап :
- •1); 2); 3); 4).
- •1) ; 2); 3);
- •4) ; 5);
- •5.4. Полные системы в классах т0, т1, м, s, l.
- •5.5 Базисы в классах t0 , t1, s, m, l Все полные системы для классов t0, t1, s, m, l в утверждениях выше являются базисами для этих систем.
- •6 .Минимизация булевых функций
- •1 Этап:
- •2 Этап:
- •Достаточно ясна связь задачи нахождения тупиковых покрытий и минимизации функции покрытия.
- •7. Исчисления высказываний
- •8. Семь теорем
- •Доказательство полноты исчисления высказываний.
- •Представление графов
- •1. Задание графа с помощью матрицы смежности.
- •2. Задание графа с помощью матрицы инцидентности.
- •3. Задание графа с помощью списка смежности.
- •Связные графы
- •Алгоритмы нахождения компонент связности
- •1. Поиск в ширину
- •2. Поиск в глубину
- •Укладки графов
- •Теорема Эйлера
- •Критерий Понтрягина-Куратовского
- •Раскраски графов
- •Основные понятия комбинаторики.
- •1 1.2 Упорядоченные наборы элементов изn-данных
- •1.3 Неупорядоченные наборы элементов изданных без повторений.
- •1.4 Неупорядоченные наборы элементов изп данных с возможными повторениями.
- •2 Метод включения-исключения.
- •Упражнения.
- •3 Метод производящих функций
- •1324 0100.
- •4 Основы теории перечисления Пойа. Лемма Бернсайда.
- •Упражнения.
- •Глава. Основы схем из функциональных элементов.
- •1) Мультиплексор порядка
- •2) Дешифратор порядка .
- •3) Универсальный многополюсник.
- •Глава. Введение в теорию конечных автоматов.
- •Глава. Введение в теорию кодирования.
- •Теория кодирования.
Представление графов
1. Задание графа с помощью матрицы смежности.
Пусть
в графе число вершин равно :
Для
задания графа будем использовать
квадратную матрицу размера .
Каждая строка и каждый столбец матрицы
соответствуют определенной вершине
графа. На пересечении строки
и столбца
ставим 1 тогда и только тогда, когда
неупорядоченная пара
является ребром графа. В противном
случае ставим 0. Таким образом, число
единиц в матрице определяется числом
ребер графа. Матрица смежности
неориентированного графа является
симметрической (т.е. она совпадает со
своей транспонированной матрицей).
Действительно,
если пара
– ребро графа, тогда пара
также является ребром графа (так как
рассматривается неориентированный
граф).
2. Задание графа с помощью матрицы инцидентности.
Пусть
задан граф с
вершинами и
ребрами:
,
Матрица
инцидентности для данного графа есть
прямоугольная матрица размера размера
,
строки матрицы соответствуют вершинам,
столбцы – ребрам.
На
пресечении строки
и столбца
ставим 1 тогда и только тогда, когда
вершина
является одним из концов ребра
,
в противном случае – 0. Таким образом,
каждый столбец матрицы инцидентности
содержит либо две единицы, либо одну.
Если столбец содержит одну единицу, то
ребро, соответствующее данному столбцу,
является петлей.
3. Задание графа с помощью списка смежности.
Для
каждой вершины выписывается множество
вершин, которые смежны с рассматриваемой.
Вершина
смежна с вершиной
,
если
– ребро графа. Данный способ является
наиболее экономным способом представления
графов.
Определение.
Полным
графом
называется граф, в котором все вершины
соединены между собой неориентированными
ребрами. То есть, множество ребер
состоит из всевозможных неупорядоченных
пар вершин графа. Число вершин графа
(мощность множества вершин графа) будем
обозначать
.
Число ребер в полном неориентированном
графе на множестве вершин V
задается формулой
.
Если
,
тогда:
То
есть, по порядку, число вершин в полном
графе квадратично относительно мощности
множества вершин
графа. Размер матрицы смежности
неориентированного графа –
.
Общая память квадратична по
,
что является неэкономичным, когда граф
разряжен, то есть число ребер мало.
Пример.
Рассмотрим
пустой граф на множестве вершин
и пустом множестве ребер
:
,
тогда
матрица смежности потребует
памяти, а список смежности будет содержать
только перечисление вершин графа,
поэтому память будет линейна относительно
.
Аналогичным
образом можно представлять ориентированные
графы. Отличие будет в представлении
матрицы инцидентности и списка смежности.
В матрице инцидентности будем ставить
1 на пересечении строки
и столбца
,
если вершина
является началом некоторого ребра, а
врешина
– концом данного ребра и -1 будем ставить,
если вершина
является концом некоторого ребра, а
вершина
–
его началом. Если нет ребра, соединяющего
вершины
и
,
то ставим 0.
В
списке смежности для вершины
выписываем вершины концов ребер,
исходящих из вершины
.
Определение.
Два графа
называются изоморфными, если между
вершинами графов можно установить
взаимооднозначное соответствие
,
сохраняющее соответствие смежности
между вершинами.
Иначе говоря, графы изоморфны, если они одинаковы с точностью до переименования вершин.
Пример. Представленная пара графов изоморфна:
Изоморфизм определяется следующим соотношением между вершинами:
|
|
|
|
Следующие два графа не изоморфны:
Очевидно, что изоморфные графы должны иметь одно и то же число вершин и одно и то же число ребер. В представленных графах число ребер различно.
Определение изоморфности ориентированных графов аналогично.
Определение.
Маршрутом
в графе
называется последовательность вершин
,
где пара соседних вершин
является ребром графа.
-1
В
этом случае будем говорить, что маршрут
M
соединяет вершины .
Пример.
Определение.
Путем,
соединяющим пару вершин
будем называть маршрут, соединяющий
данную пару вершин и не содержащий
повторяющихся ребер.
Определение.
Простым
путем,
соединяющим пару вершин будем
называть путь, соединяющий данную пару
и не содержащий повторяющихся вершин.
Определение.
Пару вершин
в графе
будем называть связной,
если либо вершины совпадают, либо
существует маршрут, соединяющий две
эти вершины.
Пример. Любая пара вершин в следующем графе связана:
В следующем графе связанными являются не все вершины:
Вершины 1 и 2 связаны, а, например, вершины 2 и 3 не связаны.
Утверждение. Если в графе существует маршрут, соединяющий пару вершин, то существует простой путь, который соединяет данную пару вершин.
Рассмотрим
маршрут, соединяющий вершины .
Предположим, что вершина
повторяется на маршруте. Тогда вырежем
участок маршрута
между повторяющимися вершинами и
соединим полученные части. Данную
операцию будем повторять до тех пор,
пока в маршруте не будет повторяющихся
вершин.
Таким
образом, получен простой путь, соединяющий
пару вершин .
Поэтому для связности вершин достаточно
наличие простого пути, который их
соединяет.
Определение. Циклом называется путь, в котором начальная и конечная врешины совпадают.
Пример.
Определение. Простым циклом называется путь, в котором вершины не повторяются, за исключением первой и последней. Другими словами, простой цикл - это цикл без самопересечения.
Пример.
Простой цикл:.