Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Соловьев Е.А. Учебник по дискретной математике.doc
Скачиваний:
144
Добавлен:
02.05.2014
Размер:
961.54 Кб
Скачать

4.8. Определение путей в графе

a b

g

c

f

e d

Требуемые результаты получаются путем перемножения матриц смежности графа.

M - матрица смежностей, показывает пути длиной в 1 в данном графе.

a

b

c

d

e

f

g

a

1

1

b

1

c

d

1

e

1

1

f

1

1

g

1


a

b

c

d

e

f

g

a

1

1

b

1

c

d

1

e

1

1

f

1

1

g

1

M M

Матрица M2 дает все пути длиной в 2

a

b

c

d

e

f

g

a

1

b

c

d

1

e

1

f

1

1

g

Матрица Мn - пути длиной в n.

Если Мi - нулевая матрица, то наибольший путь в графе имеет длину i - 1.

Для определения наличия путей между двумя вершинами можно использовать «транзитивное замыкание» матриц

M* = M1  M2  M3 ...

Непустая клеточка ij будет говорить о наличии пути из i-ой вершины в j-ую.

4.9. Приведение графа к ярусно-параллельной форме

Эти рассуждения имеют смысл для ориентированных графов без контуров.

Граф находится в ярусно-параллельной форме (ЯПФ),

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

Пусть дан произвольный граф без циклов.

a

h b

g c

f d

e

a

b

c

d

e

f

g

h

a

1

b

c

1

d

1

1

e

1

1

f

1

g

1

1

h

1

1

Алгоритм приведения к ЯПФ:

1. Матрица смежности графа просматривается, и в очередной ярус выбираются вершины с нулевой полустепенью захода, соответствующие нулевым столбцам.

2. Строки, соответствующие выбранным на предыдущем шаге вершинам, обнуляются.

3. Осуществляется возврат к шагу 1, до полного исчерпания матрицы.

4. Прорисовываются дуги.

В результате, вышеприведенный граф примет вид:

d

e h

g f

a

c

b

Ширина яруса определяется числом вершин в ярусе.

Ширина графа в ЯПФ определяется шириной самого большого яруса.