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

71. Произведение графов.

72. Прямое произведение графов.

Прямые произведения графов. Пусть даны графы G1 и G2 с множествами вершин V1 и V2. У прямого произведения этих графов F = G1×G2 множеством вершин является прямое произведение V = V1×V2. Ребра произведения могут быть определены различными способами.

При одном из определений в произведении F графов G1 и G2 ребро имеется тогда, когда в графе G1 есть ребро или в графе G2 . В другом опре­делении для этого требуется существование обоих этих ребер. В первом случае элементы матрицы смежности опре­деляются формулой во втором . Таким образом, в обоих случаях матрица смежности произведения является тензорным произведением матриц смежности сомножителей, но в первом случае произведение элементов матрицы понимается как логическая сумма (или), а во втором -— как логическое (и обычное) произведение (и).

Чаще всего используется третье определение, согласно которому ребро существует в тех и только тех случаях, когда в графах G1 и G2 есть соответственно ребра и или , а в графе G2 есть ребро или, наконец, в графе G1 есть ребро, а . Пусть, где E — единичная матрица, а — матрица смежности рассматриваемого графа:

Тогда матрица смежности прямого произведения гра­фов G1 и G2 при таком определении равна

, т.е.

Аналогично определяется прямое произведение лю­бого множества графов.

73. Эйлеровы циклы.

Цикл графа G, содержащий все его рёбра, наз. эйлеровым. Граф, имеющий эйлеров цикл наз. эйлеровым.

Терорема.

Для каждого связного графа G следующие условия эквивалентны:

1. G – эйлеров граф.

2. Каждая вершина графа G имеет чётную степень.

3. Мн-во рёбер графа можно разбить на простые циклы, т.е. U=ki=1 ui (ui uj=, (ij), ui=).

Доказательство.

Пусть G – эйлеров граф. Покажем, что каждая вершина имеет чётную степень. Каждая вершина простого цикла имеет степень 2. Поэтому, если в графе G существует эйлеров цикл, то каждая вершина должна иметь чётную степень.

Пусть каждая вершина имеет чётную степень. Выбираем произвольную вершину графа i1 и движемся от неё по ребру к смежной вершине i2, и т.д. каждый раз выбирая новое ребро. Т.к. граф связен, число рёбер в графе конечно и войдя в вершину по некоторому ребру мы можем выйти по другому, то через некоторое число шагов какая-то вершина ik повторится. Тогда i1,i2,…,ik,i1 образует простой цикл в исодном графе (u1). Удалим рёбра этого цикла из исходного графа. Новом графе каждая не изолированя вершина имеет чётную степень, поэтому процедуру выделения простых циклов можно применять к каждой компоненте связности, отличной от изолированой вершины. Через некоторое число шагов мы получим исх. разбиение.

Пусть закдано разбиение U=ki=1 ui. Покажем, что  эйлеров цикл. Т.к. G – связный граф, то найдутся два простых цикла имеющих общую вершину эти два цикла можно объеденить (склеить) в один цикл. Пусть u’ и u’’ имеют общую вершину k. u’=(j1,j2,…,jl-1,k,j1+1,…,jm,j1), u’’=(t1,t2,…,td-1,k,td+1,…,tf,t1), u*=(j1,j2,…,jl-1,k,td-1,…,t1,tf,tf-1,…,td+1,k,j1+1,…,jm,j1). Число циклов при этом уменьшиться на еденицу. Повторяя процедуру склеивания, в итоге получим один цикл, содержащий все рёбра исходного графа – эйлеров цикл, ч.т.д.

Док-во данной теоремы можно использовать в качестве алгоритма при построении эйлерового цикла, если он существует.