Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Графы.doc
Скачиваний:
5
Добавлен:
25.09.2019
Размер:
1.34 Mб
Скачать

 Способы задания графов.

1) графическое изображение.

2) матричное представление

1. Матрица смежности вершин ориентированного помеченного графа с n вершинами - это матрица A=[ai j], i, j=1,2,…,n, в которой

ai j

bi j

ci j

ci j

1, если существует ребра (mi, mj)

0, если вершины не связаны ребром (mi, mj).

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

графы с m ребрами - это матрица B=[bi j].

1, если ребра ri и rj смежны, то есть имеют общую вершину

0, если ребра ri и rj не смежны.

3. Матрица инцидентности для неориентированного графа с n вершинами и m ребрами - это матрица C=[ci j], i=1,2,…,n, j=1,…,m строки в которой соответствуют вершинам, а столбцы - ребрам.

1, если вершина mi инцидентна ребру ri

0, в противном случае

Д ля ориентированного графа:

+1, если дуга rj выходит из вершины mi

-1, если дуга rj входит в вершину mi

0, если вершина не инцидентна ребру rj.

4. Список ребер графа: каждое ребро представляется парой инцидентных ему вершин; задаются 2 массива r={r1,…,rm} и t={t1,t2,…,tm), где m - количество ребер в графе. Каждый элемент в массиве есть метка вершины, а i-е ребро графа выходит из вершины ri и входит в вершину ti.

5. Структура смежности графа. Матрица смежности вершин ребер.

Остановимся на способах задания графов.

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

C={ci j} - это матрица строки которой соответствуют вершина графа, n столбца - ребром.

ci j

1, если вершина mi инцидентна ребру rj

0, если вершина mi и ребро rj инцидентны.

4. Матрица весов графа.

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

Взвешенный граф, не имеющий петель и кратных ребер, может быть представлен матрицей весов W=[wi j] – где wi j – вес ребра, соединяющего вершины i и j.

Веса несуществующих ребер полагают равными 0 или .

Матрица весов - это матрица смежности, только вместо 1 стоят веса.

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

При таком способе каждое ребро представляется парой инцидентной ему вершин. Это представление реализуется двумя массивами p=(p1,p2,…,pn) и t=(t1,t2,…,tn), где n - количество ребер в графе.

Каждый элемент в массиве - это метка вершины, а i-е ребро графа выходит из вершины pi и входит в вершину ti.

p=(2 2 2 3 3 4 4 5)

t =(3 1 5 3 4 2 5 4)

6. Структура смежности графа.

Ориентированный или неориентированный граф однозначно представляется структурой смежности своих вершин.

Структура смежности состоит из списков a[x] вершин графа, смежных с вершиной x, при чем вершина x является началом ребра.

Такой способ хранения желателен в алгоритмах в основе которых лежат операции добавление и удаление вершин из списков.

 Операции над графами.

1 . Объединение графов G1=<M1, R1> и G2=<M2, R2> - это граф G=G1G2=<M, R>, где M=M1M2, R=R1R2.

2. Пересечение графов G1=<M1, R1> и G2=<M2, R2> - это граф G=<M, R>, где M=M1M2, R=R1R2.

3. Сумма графов G1=<M1, R1> и G2=<M2, R2> - это объединение графов, у которого R=R1R2R3 , где R3={(v,w) | vM1/M2, wM1/M2}

M1/M2={m1, m2}, M2/M1={m4},

R3={(m1, m4), (m3, m4)}

4. Кольцевая сумма графов G1 и G2 - это граф G1=G1G2=<M, R> такой, что

G - объединяемая G1 и G2, у которого удалены общие ребра то есть E=(E1E2)\(E1E2), и изолированные вершины (которые могут при этом получатся.

5. Удаление вершины - удаляется требуемая вершина и все ребра, инцидентные ей.

m2

m3

m1

r1

r2

r3

6. Стягиватся по ребру - требуемое ребро удаляется из графа, инцидентные ему вершины склеиваются, объединенной вершине присваивается новое имя.

стягивание

по r1=(m1,m2)

r2

r3

m3

m1=m2=m

 Элементы графов.

Введем в рассмотрение объекты, которые можно выделить в графе. Пусть G=<M, R> соединяющим вершины mo и mk. Маршрутом в графе, называется чередующаяся последовательность вершин и ребер.

mo, r1, m1, r2, …, rk, mk

в которой любые 2 соседних элемента инцидентны.

Для графа, не имеющего петель и кратких ребер, при задании маршрута можно указывать только последовательность вершин (или только последовательность ребер).

Если начальная и конечная вершина маршрута совпадают, (mo=mk), то маршрут называется замкнутым.

Если все ребра маршрута различны, то маршрут называется цепью.

Если все вершины в цепи различны, то она называется простой цепью.

Замкнутая цепь называется циклом. Замкнутая простая цепь называется простым циклом.

Для орграфов цепь называется путем, а цикл - контуром.

Длиной маршрута называется количество ребер в нем.

П ример. m1 m2 m1 m5 - маршрут длины 3, соединяющий m1 и m5 (но не цепь).

m1 m2 m4 m2 m5 - цепь длины - 5, соединяющий m1 и m5 (но не простая цепь).

m1 m5 m2 m4 m3 - простая цепь

m1 m2 m3 m4 m2 m5 m1 - цикл (но не простой цикл).

m1 m2 m5 m1 - прсотой цикл.

Приведем некоторые полезные свойства матриц инцидентности и смежности применительно к этим частям графа.

1) Первое свойство.

По матрице инцидентности можно проверить, образуют ли ребра цикл (или дуги - контур в орграфе),

Пусть D - ограф без петель с непростым множеством дуг.

Тогда для любого контура в D сумма столбцов матрицы инцидентности, соответствующих дугам, входящим в этот контур, равна нулевому столбцу.

Пример. Рассмотрим матрицу инцидентности.

Пусть G - граф без петель с не пустым множеством ребер.

Тогда при покоординатном сложении по модулю 2 для любого цикла в G сумма столбцов матрицы инцидентности соответствующих ребрам, образующим цикл, равна нулевому столбцу.

2) Второе свойство

По матрице смежности можно определить число всех маршрутов длины K из одной вершины в другую.

Обозначим через к-ю степень матрицы смежности (или граф G) G=<M, R>, M={m1, …, mn}.

Элемент матрицы Ak графа G равен числу всех маршрутов длины К, соединяющих mi и mj.

Найдем число маршрутов длины 1 из 1 в 4: 1,4- один.

Число маршрутов длины 2:

Из 1 в 3 нет маршрутов длин 2.

Из 1 в 1 маршруты длин 2:

 Расстояния в графах.

G=<M, R>.

Определение. Вершины m', m"M называются связанными, если существует маршрут с началом m' и концом m".

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

Пусть G - связной неориентированный граф, m' и m" - любые две его вершины. Тогда существует связывающая их простая цепь с минимальным количеством ребер.

Минимальная длина простой цепи с началом m` и концом m`` называется расстоянием d(m', m") между этими вершинами.

Расстояние d(m', m") удовлетворяет следующим аксиомам:

1) d(m', m")0, причем d(m', m")=0  m'=m"

2) d(m', m")= d(m", m')

3) справедливо неравенство треугольника: d(m', m")+ d(m", m"') d(m', m").

Диаметр, радиус и центр графа.

П усть G - неориентированный связной граф. Тогда можно определить его диаметр d(G)=max d d(m', m").

m', m"G

d(G)=4

Кратчайшие простые цепи, связывающие вершины m', m" с максимальным расстоянием между ними называются диаметральными простыми цепями.

Пусть m - производящая вершина рассматриваемого графа G.

Максимальным удалением в графе G от вершины m называется величина:

r(m)=max r(m') r(1)=4 от 1 до 6

m'G r(2)=4 от 2 до 5

Вершина m называется центром графа G, если максимальное удаление от нее принимает минимальное значение

r(m)=max r(m') r(1)=4 r(5)=4

m'G r(2)=4 r(6)=4

r(3)=4 r(4)=4

r(4)=4

Центр не обязательно должен быть единственным.

М аксимальное удаление (G) от центра называется радиусом графа, а любая кратчайшая цепь от центра m до максимально удаленной от него вершины m' - радиальной цепью.

В неориентированном графе, в котором  две различные вершины m', m" соединены ребром, радиус равен 1 и  вершина является центром.

Вопросы.

1) Обязательно ли диаметральная цепь проходит через центр графа?

2) Обязательно ли диаметральная цепь содержит радиальную цепь целиком?

3) Всегда ли диаметральная цепь является объединением двух радиальных?

3) Третье свойство

По матрице смежности можно проверить наличие контуров в орграфе.

Для того чтобы n- вершиной орграф с матрицей смежности A имел хотя бы один контур, необходимо и достаточно чтобы матрица K=A2+A3+…+An имела ненулевые диагональные элементы.