Материал: PZ_9_Grafy

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ПЗ 9. Графы.

Матрица смежности и инцидентности для неорграфа и орграфа. Матрица достижимости и контрдостижимости. Возведение в степень матрицы смежности орграфа. Маршрут, цепь, простая цепь, цикл, простой цикл в графе. Операции над графами (пересечение, объединение, декартово произведение). Деревья, цикломатическое и коцикломатическое числа.

9.1. Графы

Граф — абстрактный математический объект, представляющий собой множество вершин графа и набор рёбер, то есть соединений между парами вершин.

Ребро – соединение двух вершин.

Концами ребра {a, b} называются вершины a, b.

Ребро {a, b} также называют инцидентным к вершинам a, b.

Смежные вершины – это вершины, инцидентны к одному ребру, т.е. которые являются концами одного ребра.

Ребра смежные, если они инцидентны к общей вершине.

Петля – ребро, которое соединяет вершину с самой собой. Если в графе допускается наличие петель, то он называется графом с петлями.

Мультиграф – граф, в котором допускается наличие более одного ребра между двумя вершинами.

Размеченный граф – каждая вершина графа отмечена.

Псевдограф – граф, в котором допускается наличие петель и существование более одного ребра между двумя вершинами.

Пример 6.6. Указать смежные и несмежные вершины. Указать степень вершин.

Пример. Подграфы.

Путь в графе — последовательность вершин, в которой каждая вершина соединена со следующей ребром.

Граф называется связным, если имеет путь между любыми двумя вершинами.

Ориентированный граф (кратко орграф) — (мульти) граф, рёбрам которого присвоено направление.

Граф, ни одному ребру которого не присвоено направление, называется неориентированным графом или неорграфом.

Степенью вершины v, обозначается deg(v), называется количество ребер, инцидентных этой вершине. Вершина степени 0 называется изолированной. В н-графе сумма степеней вершин всегда четна.

Граф В называется подграфом графа А, если каждая вершина и ребро графа В принадлежат графу А.

Для вершин орграфа определится две локальные степени:

  1. p1(v) – число ребер с начало в вершине v, или количество выходящих из v ребер;

  2. p2(v) – количество входящих в v ребер, для которых эта вершина является концом.

Петля дает вклад в обе эти степени.

Пример 1.1. Задать аналитически граф, представленный на рисунке ниже. (рис. А)

Итак, задаём граф следующими множествами:

множество вершин: V = {abcdef}

множество рёбер: U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}

множество инциденций: P = {(b, 1, a), (b, 2, a), (a, 3, b), (b, 4, b), (b, 5, b), (c, 6, c), (c, 7, c), (b, 8, d), (d, 8, b), (b, 9, d), (b, 10, e), (b, 11, e), (e, 11, b)}

Способы задания графом:

  1. Матрица инцидентности;

  2. Матрица смежности;

  3. Списком ребер графа.

9.2. Матрица ицидентности

Матрица инцидентности — одна из форм представления графа, в которой указываются связи между инцидентными элементами графа (ребро(дуга) и вершина). Столбцы матрицы соответствуют ребрам, строки — вершинам.

Матрица инцидентности для неорграфа

Если вершина инцидентна ребру, то ставим 1. Если вершина не инцидентна ребру, то в соответствующую ячейку ставим 0.

Пример 1. Составить матрицу инцидентности.

Пример 2. Составить матрицу инцидентности.

Матрица инцидентности для орграфа

Если вершина является началом ребра, то ставим 1. Если вершина является концом ребра, то ставим -1. Если не инцидентна ребру, то ставим 0. Если петля, то ставим любое другое число (например 2).

Пример 3. Составить матрицу инцидентности.

Пример 4. Построить граф.

9.3. Матрица смежности

Матрица смежности S - это квадратная матрица, в которой и число строк, и число столбцов равно n - числу вершин графа. В ячейки матрицы смежности записываются некоторые числа в зависимости от того, соединены соответствующие вершины рёбрами или нет, и от типа графа.

Матрица смежности для неориентированного графа

Элемент матрицы смежности sij неориентированного графа определяется следующим образом:

- равен единице, если вершины vi и vj смежны;

- равен нулю, если вершины vi и vj не смежны.

Если на диагонали матрицы стоят 1, то это показывает наличие петель.

Пример 5. Составить матрицу смежности для графа, представленного на рисунке ниже.

Пример 6. Или составить граф, или составить матрицу.

Таким образом, матрица смежности неориентированного графа симметрична относительно главной диагонали.

Матрица смежности для ориентированного графа

Элемент матрицы смежности sij ориентированного графа определяется следующим образом:

- равен единице, если из вершины vi в вершину vj входит дуга;

- равен нулю, если из вершины vi в вершину vj дуга не входит.

Если на диагонали матрицы стоят 1, то это показывает наличие петель.

Пример 7. Составить матрицу смежности для графа, представленного на рисунке ниже.

Пример 8. Составить матрицу смежности для графа, представленного на рисунке ниже. Или наоборот, построить граф по матрице смежности.

Таким образом, матрица смежности ориентированного графа не симметрична.

9.4. Список ребер

Пример 1.а. Составить список ребер для графа

(1,е1,2),

(1,е5,5),

(2,е6,5),

(2,е2,3),

(5,е4,4),

(3,е3,4),

(4,е7,6).

9.1-9.4

Пример 1. (москинова). Задать матрицами инцидентности и смежности, а также списком ребер графы G1 и G3.

Матрицы инцидентности Матрицы смежности Список ребер графа G3

9.5. Матрица достижимости

Матрица достижимости простого ориентированного графа G=(V,E) — бинарная матрица замыкания по транзитивности отношения E (оно задаётся матрицей смежности графа). Таким образом, в матрице достижимости хранится информация о существовании путей между вершинами орграфа.

Возведение в степень матрицы смежности орграфа показывает, за сколько шагов (величина степени) можно достичь некой вершины.

Способы построения матрицы достижимости:

  1. Перемножение матриц

  2. Алгоритм Уоршелла

  3. Связанные понятия

Пример 1. Перемножение матриц. (википедия)

Дан простой связный ориентированный граф.

Он имеет матрицу

смежности вида:

Найдем булевы степени этой матрицы Е2, Е3, Е4.

Матрица E1 показывает, в какие вершины мы можем попасть за 1 шаг.

Матрица E2 показывает, в какие вершины мы можем попасть за 2 шага.

Матрица E3 показывает, в какие вершины мы можем попасть за 3 шага.

Матрица E4 показывает, в какие вершины мы можем попасть за 4 шага.

Если посмотреть, то за второй шаг мы попадаем во все вершины, в которые не попали за первый шаг.

Получим матрицу достижимости. Она показывает, есть ли путь из вершины a в вершину b.

Если просто взять и сложить найденные четыре матрица Е, Е2, Е3, Е4, то получим матрицу, которая показывает количество путей длины от 1 до 4 между вершинами орграфа.

Пример 2.(мой). Составить матрицу достижимости и контрдостижимости.