Смекни!
smekni.com

Операции на графах (стр. 4 из 5)

Таким образом, матрица смежности вершин результирующего графа принимает вид:

x1y1 x1y2 x1y3 x2y1 x2y2 x2y3
x1y1 1 1 0 1 0 0
x1y2 0 0 1 0 1 0
A = x1y3 1 0 0 0 0 1
x2y1 1 0 0 1 1 0
x2y2 0 1 0 0 0 1
x2y3 0 0 1 1 0 0

Нетрудно убедиться, что полученной матрице смежности вершин соответствует граф G1´G2, представленный на рис. 4

Операция произведения графов. Пусть G1(X,E1) и G2(Y,E2) - два графа. Произведением G1×G2 графов G1 и G2 называется граф с множеством вершин X´Y, а дуга из вершины (xi,yj) в вершину (xk,yl) существует тогда и только тогда, когда существуют дуги (xi,xk) Î E1 и (yj,yl) Î E2.

Выполнение операции произведения рассмотрим на примере графов, изображенных на рис. 5. Множество вершин Z результирующего графа определяется как декартово произведение множеств X´Y. Множество Z содержит следующие элементы: z1=(x1y1), z2=(x1y2), z3=(x1y3), z4=(x2y1), z5=(x2y2), z6=(x2y3).

Определим множество дуг результирующего графа. Для удобства рассмотрения составим таблицу, в первом столбце которой указываются дуги графа G1, во втором – дуги графа G2, а в третьем и четвертом – дуги результирующего графа.

G1

G2

(x1,y1)®(x2,y1)

(za, zb)

(x1,x2)

(y1,y1)

(y1,y2)

(y2,y3)

(y3,y2)

(x1,y1)®(x2,y1)

(x1,y1)®(x2,y2)

(x1,y2)®(x2,y3)

(x1,y3)®(x2,y2)

(z1,z4) (z1,z5) (z2,z6) (z3,z5)

(x2,x1)

(y1,y1)

(y1,y2)

(y2,y3)

(y3,y2)

(x2,y1)®(x1,y1)

(x2,y1)®(x1,y2)

(x2,y2)®(x1,y3)

(x2,y3)®(x1,y2)

(z4,z1) (z4,z2) (z5,z3) (z6,z2)

Результирующий граф G1×G2 изображен на рис.5.

Операция произведения обладает следующими свойствами.

1. G1×G2 = G2×G1.

2. G1×(G2×G3) = (G1×G2)×G3.

Рассмотрим выполнение операции произведения графов в матричной форме.

Пусть G1(X,E1) и G2(Y,E2) – два графа, имеющие nx и ny вершин соответственно. Результирующий граф G1×G2 имеет nx×ny вершин, а его матрица смежности вершин - квадратная матрица размером (nx×ny)´ (nx ×ny). Обозначим через aab = a(ij)(kl) элемент матрицы смежности вершин, указывающий на наличие дуги (ребра), соединяющей вершину za=(xiyj) c zb=(xkyl). Этот элемент может быть вычислен при помощи матриц смежности вершин исходных графов следующим образом:

aab =a(ij)(kl) = a1,ik Ù a2,jl, (3)

де a1,ik, a1,ik – элементы матрицы смежности вершин графов G1 и G2 соответственно.

Пример 5. Выполнить операцию произведения на графах, приведенных на рис. 5.

Составим матрицы смежности вершин исходных графов.

x1 x2 y1 y2 y3
x1 0 1 y1 1 1 0
A1 = x2 1 0 A2 = y2 0 0 1
y3 0 1 0

Построим матрицу A смежности вершин результирующего графа, каждый элемент которой вычисляется согласно соотношению (4.3).

x1y1

x1y2

x1y3

x2y1

x2y2

x2y3

x1y1

a1,11Ù a2,11

a1,11Ùa2,12

a1,11Ù a2,13

a1,12Ùa2,11

a1,12Ù a2,12

a1,12Ù a2,13

x1y2

a1,11Ù a2,21

a1,11Ù a2,22

a1,11Ù a2,23

a1,12Ù a2,21

a1,12Ù a2,22

a1,12Ù a2,23

A

=

x1y3

a1,11Ù a2,21

a1,11Ù a2,22

a1,11Ù a2,23

a1,12Ù a2,31

a1,12Ù a2,32

a1,12Ù a2,33

x2y1

a1,21Ù a2,11

a1,21Ù a2,12

a1,21Ù a2,13

a1,22Ù a2,11

a1,22Ù a2,12

a1,22Ù a2,13

x2y2

a1,21Ù a2,21

a1,21Ù a2,22

a1,21Ù a2,23

a1,12Ù a2,21

a1,12Ù a2,22

A1,12Ù a2,23

x2y3

a1,21Ù a2,31

a1,21Ù a2,32

a1,21Ù a2,33

a1,22Ù a2,31

a1,12Ù a2,32

A1,12Ù a2,33

Для удобства рассмотрения разделим матрицу A на четыре квадратные подматрицы. Заметим, что каждая подматрица может быть получена путем логического элементов матрицы умножения A2 на один из элементов a1,ijматрицы A1. С учетом этого матрицу A можно представить так:

x1y1 x1y2 x1y3 x2y1 x2y2 x2y3
x1y1 a1,11ÙA2 a1,12ÙA2
x1y2
A = x1y3
x2y1 a1,21ÙA2 a1,22ÙA2
x2y2
x2y3

Таким образом, матрица смежности вершин графа G1×G2 имеет вид: