Циклическое пространство графа — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 59: Строка 59:
  
 
== Источники информации ==
 
== Источники информации ==
Харари Ф. Теория графов / пер. с англ. — изд. 4-е — М.: Книжный дом «ЛИБРОКОМ», 2009. — с.54. — ISBN 978-5-397-00622-4.
+
*[Харари Ф. Теория графов / пер. с англ. — изд. 4-е — М.: Книжный дом «ЛИБРОКОМ», 2009. — с.54. — ISBN 978-5-397-00622-4]
Карпов В.Д. Теория графов
+
 
 +
*[Карпов В.Д. Теория графов]
  
 
[[Категория: Алгоритмы и структуры данных]]
 
[[Категория: Алгоритмы и структуры данных]]
 
[[Категория: Основные определения теории графов]]
 
[[Категория: Основные определения теории графов]]

Версия 13:16, 26 декабря 2014

Циклическое пространство графа

Пусть [math] m = |E(G)| [/math], [math] n = |V(G)| [/math], [math] k [/math] — количество компонент связности [math] G [/math].

[math] B^t [/math] — линейное пространство, элементами которого являются [math] t [/math]—мерные двоичные вектора и их сложение определено, как сложение по модулю [math] 2 [/math].


Определение:
Циклическое пространство графа[math] C = \operatorname {Ker}(I) [/math], где [math] I : B^m \rightarrow B^n [/math] — линейный оператор, сопоставленный матрице инцидентности [math] A [/math] графа [math] G [/math].


Определение:
Обобщенный цикл графа G — элемент линейного пространства [math]C [/math]


Лемма:
Пространство [math] C [/math] изоморфно [math] T [/math], где [math] T [/math]— пространство, элементами которого являются наборы ребер, из которых можно составить несколько простых реберно непересекающихся циклов.
Доказательство:
[math]\triangleright[/math]

Рассмотрим [math] x \in C [/math].

Рассмотрим граф [math] G_1(V_1,E_1) [/math], где [math] E_1 [/math] — множество ребер, таких, что на соответствующих местах вектора [math] x [/math] стоят единицы, а [math] V_1 = V(G) [/math] .

В силу определения обобщенного цикла: [math] \forall v : v \in V_1 ~ deg(v) \equiv 0(mod~2) [/math].

Покажем по индукции, что [math] G [/math] можно декомпозировать на несколько реберно непересекающихся простых циклов. Ведем индукцию по числу ребер. База индукции [math] |E_1(G)|=0 [/math] очевидно выполняется. Рассмотрим [math] G_1 [/math]. [math] \forall v : v \in V_1 ~ deg(v) \equiv 0(mod~2) \Rightarrow |E_1(G)| \gt |V(G)| - 1 \Rightarrow [/math] существует цикл, добавим его в декомпозицию, удалим ребра, принадлежащие ему. В силу того, что четность степеней вершин не изменилась, по предположению индукции декомпозируем оставшийся граф.

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

Если рассмотреть набор реберно непересекающихся простых циклов некоторого графа [math]G[/math] и взять все ребра, принадлежащие этим циклам, то им можно сопоставить обобщенный цикл, поставив в соответствующие места [math] x [/math] [math] 1 [/math], во все остальные [math] 0 [/math].

Утверждение:
Если [math]\textbf{C}[/math] — обобщенный цикл, соответствующий простому циклу [math]C'[/math] графа [math]G[/math], то [math]I(\textbf{C}) = 0[/math]
[math]\triangleright[/math]

Пусть [math]\textbf{C}[/math] — обобщенный цикл из условия, а [math]C'[/math] — соответствующий ему простой цикл.

Тогда [math]I(\textbf{C}) = \bigoplus\limits_{e \in C'}c(e)[/math], где [math]c(e)[/math]— столбец в матрице инцидентности графа [math]G[/math], соответствующий ребру [math]e[/math]. Так как каждая вершина в [math]C'[/math] имеет степень 2, то для любого [math]i \in \overline{0, |VG| - 1}[/math] верно [math]|\{e \in C': c(e)_i = 1\}| = 2[/math], а значит [math]I(\textbf{C})_i = 1 \oplus 1 = 0[/math]. Таким образом [math]I(\textbf{C}) = 0[/math].
[math]\triangleleft[/math]
В силу линейности оператора [math] I [/math] и того, что [math]I( [/math] простой цикл [math] )=0 [/math], получаем что [math] Ix=0 [/math]
[math]\triangleleft[/math]

Размерность линейного пространства обобщенных циклов

Теорема:
[math] \operatorname {dim}(C) = m - n + k [/math]
Доказательство:
[math]\triangleright[/math]

[math] \operatorname {dim}(C)=\operatorname {dim}(\operatorname {Ker}(i))=m-\operatorname {Rang}(A) [/math], где [math] \operatorname {Rang}(A) [/math] — максимальное количество ЛНЗ столбцов [math] A [/math]. Если рассмотреть простой цикл [math]C[/math] в [math] G [/math], то сумма столбцов соответствующих этим ребрам равна [math]0[/math], т. к. значение оператора [math]I[/math] на соответствующем обобщенном цикле в точности равно сумме этих столбцов. Значит, эти столбцы ЛЗ. Отсюда следует, что если любому множеству ребер, содержащих цикл, в соответствие сопоставить набор столбцов из [math] A [/math], то он будет ЛЗ

Утверждение:
Если подмножество ребер из [math]G[/math] не содержит цикл, то набор соответствующих столбцов из [math]A[/math] ЛНЗ.
[math]\triangleright[/math]
Пусть он ЛЗ, значит существует равная нулю линейная комбинация столбцов, где не все коэффициенты равны нулю. Возьмем столбцы, коэффициенты при которых не нулевые, тогда их линейная комбинация образует [math]x \in C[/math], а значит соответствующие столбцам ребра разбиваются на простые циклы и исходное множество ребер содержало цикл. Противоречие.
[math]\triangleleft[/math]

Максимальное число ребер, которые мы можем выделить из G и которые не содержат цикл равно [math] n - k [/math] (в каждой компоненте связности выделим остовное дерево).

Итого: [math] \operatorname {dim}(C)=m - n + k [/math]
[math]\triangleleft[/math]

Источники информации

  • [Харари Ф. Теория графов / пер. с англ. — изд. 4-е — М.: Книжный дом «ЛИБРОКОМ», 2009. — с.54. — ISBN 978-5-397-00622-4]
  • [Карпов В.Д. Теория графов]