
- •Практикум по дискретной математике.
- •Содержание.
- •Введение.
- •1. Элементы математической логики. Логика высказываний.
- •1.1. Основные определения.
- •1.2. Разложение логических (булевых) функций по переменным. Дизъюнктивная и конъюнктивная нормальные формы.
- •1.3. Логические законы.
- •2. Множества и отношения.
- •2.1. Множества и операции над ними. Связь с логикой высказываний.
- •Доказать тождества:
- •2.2. Отношения на множествах. Бинарные отношения.
- •2.3. Однородные отношения.
- •2.4. Функции как специальный вид отношений.
- •2.5. Алгебраические системы. Алгебра множеств и булева алгебра.
- •3. Теория графов.
- •3.1. Основные понятия теории графов.
- •3.2. Представление графов в эвм.
- •1. Представление матрицей смежности.
- •3.3. Изоморфизм графов.
- •3.4. Подграфы и части. Операции над графами.
- •3.5. Методы обхода (просмотра) вершин графов.
- •3.6. Маршруты, цепи, циклы. Связность и достижимость.
- •3.7. Вершинная и реберная связность графов. Мосты, блоки и точки сочленения.
- •3.8. Двудольные графы. Паросочетания.
- •3.9. Алгоритмы расчета кратчайших путей между вершинами графа.
- •3.10. Деревья и леса.
- •3.11. Специальные виды деревьев.
- •3.12. Сети. Потоки в сетях.
- •3.13. Элементы цикломатики. Циклы и коциклы. Фундаментальная система циклов и цикломатическое число.
- •3.14. Эйлеровы графы и эйлеровы циклы.
- •3.15. Гамильтоновы графы и гамильтоновы циклы.
- •3.16. Независимые и покрывающие множества. Задачи о раскраске.
3.2. Представление графов в эвм.
Поскольку граф является однородным бинарным отношением на множестве V2, то его естественней всего представить в виде бинарной матрицы размерности |V||V|=pp, так же, как мы уже представляли отношения. Матрицу можно обозначить, например, AE, чтобы подчеркнуть ее непосредственную связь с множеством E. В этой матрице aij=1, если существует ребро eij=(vi,vj) и aij=0 если такового нет. Такую матрицу называют матрицей смежности или, иначе, матрицей непосредственной достижимости. Для ориентированного графа aijaji, для неориентированного графа матрица будет симметричной относительно диагонали.
По диагонали в матрице смежности принято ставить 0 или какой-нибудь «пустой» символ. Хотя можно сказать, что вершина «смежна сама с собой», но под смежностью подразумевается именно наличие ребра. Единица на диагонали может возникнуть, если граф имеет петлю. Но такой граф, как уже говорилось, обычно называют псевдографом.
Представление графа матрицей смежности удобно, когда каждую пару вершин соединяет только одно ребро. А что же делать с мультиграфами, такими, как мы видели, например, в задаче о семи мостах? Можно, конечно, ввести весовые коэффициенты в соответствии с числом ребер, но это уже будет не бинарная матрица, что для некоторых задач весьма существенно. В таком случае можно использовать матрицу инциденций. Размерность такой матрицы |V||E|= pq, то есть индексами по столбцу будут, как и раньше, номера вершин, а индексами по строке будут номера ребер. Обозначим эту матрицу BE. Тогда bij=1, если ребро j инцидентно вершине i, и bij=0 в противном случае. Для представления графа матрицей инциденций ребра придется предварительно занумеровать.
В матрице BE сумма элементов по i –й строке есть степень i-й вершины. То же самое справедливо для матрицы AE, если граф неориентированный. Но если граф ориентированный, то сумма элементов матрицы AE по i-й строке - это только полустепень исхода -(vi). Полустепень же захода +(vi) есть сумма элементов по i-му столбцу. То есть полная степень вершины (vi) в случае ориентированного графа есть сумма элементов по строке плюс сумма элементов по столбцу.
Таким образом, для подсчета инвариантов и других численных характеристик бинарные матрицы очень удобны. Однако это не самое экономное и иногда не самое удобное представление. Для задач обхода, например, удобнее так называемый список смежности или, иначе, список ссылок. В списке смежности каждому номеру вершины сопоставляется список номеров смежных с ней вершин (или ссылок на эти вершины). Каждому ребру соответствует один элемент этого списка. Так можно представлять и мультиграфы, в этом случае одно и то же число в списке повторится несколько раз. Если же мы имеем дело с ориентированным мультиграфом, то список ссылок – единственно возможный способ представления без введения каких-то дополнительных условных обозначений.
Максимальный объем памяти, занимаемой таким списком, не превосходит 2q.
Наконец, несложный граф, как любое бинарное отношение, можно задать списком ребер – упорядоченных пар вершин. Таким способом можно представлять и мультиграфы. Но такое представление менее удобно при работе с графом и используется редко.
Рассмотрим
в качестве примера представление всеми
возможными способами следующего
ориентированного мультиграфа (рис.3.3).
В данном случае его можно рассматривать
и как смешанный граф, если два ребра с
противоположной ориентацией заменить
одним неориентированным ребром.