Гиперграфы — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
'''Гиперграфом''' (англ. hypergraph) <tex>H</tex> называют такую пару <tex>H = (X, E)</tex> , где <tex>X - </tex> множество вершин, а <tex>E -</tex> семейство подмножеств X, называемых '''гиперребрами''' (англ. hyperedges)  
+
'''Гиперграфом''' (англ. ''hypergraph'') <tex>H</tex> называют такую пару <tex>H = (X, E)</tex> , где <tex>X - </tex> множество вершин, а <tex>E -</tex> семейство подмножеств <tex>X</tex> , называемых '''гиперребрами''' (англ. ''hyperedges'')  
 
}}  
 
}}  
  
 
Обычные графы, у которых ребра могут соединять только две вершины, являются частным случаем гиперграфа, у которых все гиперребра содержат только две вершины.
 
Обычные графы, у которых ребра могут соединять только две вершины, являются частным случаем гиперграфа, у которых все гиперребра содержат только две вершины.
  
[[Файл:Hypergraph.jpg|thumb|450px|right|Рис.1
+
[[Файл:Hypergraph.jpg|thumb|450px|Рис. 1: Гиперграф с множеством вершин <tex>V = \{ v_1, v_2, v_3, v_4, v_5, v_6, v_7 \}</tex> и гиперребрами <tex>E = \{ \{ v_1, v_2, v_3 \} , \{ v_2, v_3 \} , \{ v_3, v_5, v_6 \} , \{ v_4 \} \}</tex>]]
Частный случай гипергафа]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
==Основные понятия гиперграфов==
 
==Основные понятия гиперграфов==
Строка 21: Строка 12:
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
'''Путем''' (англ. path, смотри также [[Основные_определения_теории_графов#.D0.9F.D1.83.D1.82.D0.B8_.D0.B2_.D0.B3.D1.80.D0.B0.D1.84.D0.B0.D1.85|путь в обычном графе]]) между двумя гиперребрами <tex>e_i</tex> и <tex>e_j</tex> гиперграфа <tex>H</tex> называется последовательность гиперребер <tex>e_{u_1}, e_{u_2} , \ldots  ,e_{u_k}</tex> таких что :
+
'''Путем''' (англ. ''path'') между двумя гиперребрами <tex>e_i</tex> и <tex>e_j</tex> гиперграфа <tex>H</tex> называется последовательность гиперребер <tex>e_{u_1}, e_{u_2} , \ldots  ,e_{u_k}</tex> таких что :
 
# <tex>e_{u_1} = e_i </tex> и <tex>e_{u_k} = e_j</tex>
 
# <tex>e_{u_1} = e_i </tex> и <tex>e_{u_k} = e_j</tex>
 
# <tex>\forall v: 1 \leqslant v \leqslant k-1, e_v \cap e_{v+1} \ne \emptyset</tex>
 
# <tex>\forall v: 1 \leqslant v \leqslant k-1, e_v \cap e_{v+1} \ne \emptyset</tex>
Строка 28: Строка 19:
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
Гиперграф <tex>H</tex> называется '''связным''' (англ. connected) тогда и только тогда, когда существует путь между каждой парой гиперребер.
+
Гиперграф <tex>H</tex> называется '''связным''' (англ. ''connected'') тогда и только тогда, когда существует путь между каждой парой гиперребер.
 
}}
 
}}
  
[[Файл:Connected_hypergraph.jpg‎|thumb|450px|center|Рис.2 Связный гиперграф]]
+
[[Файл:Connected_hypergraph.jpg‎|thumb|450px|center|Рис. 2: Связный гиперграф]]
  
Пусть <tex>E</tex> - набор гиперребер, <tex>e_1</tex> и <tex>e_2</tex> - элементы <tex>E</tex> и <tex>q = e_1 \cap e_2</tex>.  
+
Пусть <tex>E - </tex> набор гиперребер, <tex>e_1</tex> и <tex>e_2 - </tex> элементы <tex>E</tex> и <tex>q = e_1 \cap e_2</tex>.  
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
<tex>q</tex> называется '''сочленением''' (англ. articulation) <tex>E</tex> , если при его удалении из всех гиперребер <tex>E</tex>, множество разрывается.
+
<tex>q</tex> называется '''сочленением''' (англ. ''articulation'') <tex>E</tex> , если при его удалении из всех гиперребер <tex>E</tex>, множество разрывается.
 
}}
 
}}
  
На Рис.2 <tex>q = e_4 \cap e_6 = \{ x_{12}, x_{13}\}</tex> является сочленением <tex>E</tex>.
+
На рис.2 <tex>q = e_4 \cap e_6 = \{ x_{12}, x_{13}\}</tex> является сочленением <tex>E</tex>.
  
 
==Матрица инцидентности ==
 
==Матрица инцидентности ==
Строка 53: Строка 44:
 
</tex>
 
</tex>
  
Так например, для гиперграфа на рис.1 мы имеем такую матрицу инцидентности
+
Так например, для гиперграфа на рис.1 мы можем построить матрицу инцидентности по таблице отношения принодлежности вершины к гиперребру:
 +
 
 +
{| class="wikitable" align="left" style="color: black; background-color:#ffffcc;" cellpadding="10"
 +
|+
 +
!
 +
!<tex>e_1</tex>
 +
!<tex>e_2</tex>
 +
!<tex>e_3</tex>
 +
!<tex>e_4</tex>
 +
|-align="center"
 +
!<tex>v_1</tex>
 +
|✓|||| ||
 +
|-align="center"
 +
!<tex>v_2</tex>
 +
|✓||✓|| ||
 +
|-align="center"
 +
!<tex>v_3</tex>
 +
|✓||✓||✓||
 +
|-align="center"
 +
!<tex>v_4</tex>
 +
| |||| ||✓
 +
|-align="center"
 +
!<tex>v_5</tex>
 +
|||||✓||
 +
|-align="center"
 +
!<tex>v_6</tex>
 +
|||||✓||
 +
|-align="center"
 +
!<tex>v_7</tex>
 +
|||||||
 +
|}
  
  
Строка 66: Строка 87:
 
0 & 0 & 0 & 0\\
 
0 & 0 & 0 & 0\\
 
\end{pmatrix}</tex>
 
\end{pmatrix}</tex>
 
==Ацикличность гиперграфа==
 
 
{{Определение
 
|definition=
 
'''Циклом'''  в <tex>H = (X, E)</tex> называется последовательность гиперребер <tex>(e_{i_1}, e_{i_2}, \ldots , e_{i_k})</tex>  удовлетворяющим следующим свойствам:
 
# <tex>e_{i_k} = e_{i_1}</tex>
 
# Для <tex>2 \le j \le k - 2</tex>  выполняется <tex>\forall e \in E : (S_{j-1} \cup S_j \cup S_{j+1}) \setminus e \ne \emptyset </tex>,  где  <tex>S_j = e_{i_j} \cap e_{i_{j+1}}</tex> для  <tex> 1 \le j \le k - 1</tex>
 
}}
 
 
[[Файл:Cycle_hyper.jpg|thumb|left|450px|Простейший случай цикла в гиперграфе]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
  
Строка 101: Строка 94:
  
  
 +
==Ацикличность в гиперграфе==
  
 +
{{Определение
 +
|definition=
 +
'''Простым циклом''' длины <tex>s</tex> в гиперграфе <tex>H = (V, E)</tex> называется последовательность <tex>( A_0, v_0, A_1, \ldots , A_{s - 1}, v_{s - 1}, A_s)</tex> , где <tex>A_0 , \ldots , A_{s - 1} -</tex> различные ребра <tex>H</tex> , ребро <tex>A_s</tex> совпадает с  <tex>A_0</tex> , а <tex>v_0, \ldots , v_{s - 1} -</tex> различные вершины <tex>H</tex> , причем <tex>v_i \in A_i \cap A_{i+1}</tex> для всех <tex> i = 0, \ldots , s - 1</tex>. 
 +
}}
  
 +
[[Файл:Cycle_hyper.jpg|thumb|450px|center|Рис. 3: Простейший случай цикла в гиперграфе]]
  
  
Для определения ацикличного гиперграфа введем определение '''уха''' гиперграфа, а также редукцию GYO(Graham-Yu-Ozsoyoglu).
+
Универсальным способом задания гиперграфа является кенигово представление.
  
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
'''Ухом''' (англ. ear) гиперграфа называется такое гиперребро <tex>e</tex>, что его вершины можно разделить на две группы:
+
'''Кенигово представление''' гиперграфа <tex> H = (V, E) -</tex> обыкновенный двудольный граф '''<tex>K(H)</tex>''' , отражающий отношение инцидентности различных элементов гиперграфа, с множеством вершин <tex>V \cup E </tex> и долями <tex>V, E</tex>.
# Вершины, которые принадлежат только гиперребру <tex>e</tex> и никакому более.
 
# Вершины, которые принадлежат другим гиперребрам.
 
 
}}
 
}}
 +
 +
Первым, кто дал определение ацикличности гипергафа является [https://en.wikipedia.org/wiki/Claude_Berge Клауд Берж]:
  
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
Определение '''редукции GYO''' (англ. GYO reduction) содержит всего два шага:
+
Гиперграф <tex>H</tex> не содержит циклов в том случае, если его кенигово представление <tex>-</tex> ацикличный граф, сожержит в противном случае.
# Устранение вершин, которые содержатся только в одном гиперребре.
 
# Удаление гиперребер, которые содержатся в других.
 
 
}}
 
}}
  
То есть, мы удаляем вершины которые содержатся в ухе, и ни в каком более гиперребре. Затем удаляем гиперребра, оставляя другие вершины.
+
Таким образом, если у нас есть цикл в графе кенигова представления, значит и сам гиперграф имеет цикл.
 
 
{{Утверждение
 
|statement=
 
Если гиперграф сводится к пустому с помощью редукции GYO, тогда он  ацикличный.
 
}}
 
 
 
[[Файл:Acyclic_hyper.png|thumb|450px|left|Рис.3 Ацикличный гиперграф]]
 
 
 
С помощью редукции GYO удаляются вершины A, B и C (т.к они содержатся только в одном своем гиперребре), а затем удаляем оставшиеся внутренние гиперребра.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 +
[[Файл:Cycle_example.png|thumb|center|500px|Рис. 4: Пример гиперграфа, содержащего цикл]]
  
 
== См. также ==
 
== См. также ==

Версия 22:56, 5 января 2017

Определение:
Гиперграфом (англ. hypergraph) [math]H[/math] называют такую пару [math]H = (X, E)[/math] , где [math]X - [/math] множество вершин, а [math]E -[/math] семейство подмножеств [math]X[/math] , называемых гиперребрами (англ. hyperedges)


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

Рис. 1: Гиперграф с множеством вершин [math]V = \{ v_1, v_2, v_3, v_4, v_5, v_6, v_7 \}[/math] и гиперребрами [math]E = \{ \{ v_1, v_2, v_3 \} , \{ v_2, v_3 \} , \{ v_3, v_5, v_6 \} , \{ v_4 \} \}[/math]

Основные понятия гиперграфов

Определение:
Путем (англ. path) между двумя гиперребрами [math]e_i[/math] и [math]e_j[/math] гиперграфа [math]H[/math] называется последовательность гиперребер [math]e_{u_1}, e_{u_2} , \ldots ,e_{u_k}[/math] таких что :
  1. [math]e_{u_1} = e_i [/math] и [math]e_{u_k} = e_j[/math]
  2. [math]\forall v: 1 \leqslant v \leqslant k-1, e_v \cap e_{v+1} \ne \emptyset[/math]


Определение:
Гиперграф [math]H[/math] называется связным (англ. connected) тогда и только тогда, когда существует путь между каждой парой гиперребер.


Рис. 2: Связный гиперграф

Пусть [math]E - [/math] набор гиперребер, [math]e_1[/math] и [math]e_2 - [/math] элементы [math]E[/math] и [math]q = e_1 \cap e_2[/math].

Определение:
[math]q[/math] называется сочленением (англ. articulation) [math]E[/math] , если при его удалении из всех гиперребер [math]E[/math], множество разрывается.


На рис.2 [math]q = e_4 \cap e_6 = \{ x_{12}, x_{13}\}[/math] является сочленением [math]E[/math].

Матрица инцидентности

Пусть дан гиперграф [math]H = (X, E)[/math] , где [math] X = \{ x_1, x_2, \ldots , x_n \}[/math] и [math] E = \{ e_1, e_2, \ldots , e_m \}[/math]. Любой гиперграф может задаваться матрицей инцидентности (смотри матрицу инцидентности в обычном графе) [math]A = (a_{ij}) [/math] размером [math] n \times m[/math], где

[math] a_{ij} = \left \{ \begin{array}{ll} 0 & x_i \in e_j \\ 1 & \mathrm{otherwise} \end{array} \right. [/math]

Так например, для гиперграфа на рис.1 мы можем построить матрицу инцидентности по таблице отношения принодлежности вершины к гиперребру:

[math]e_1[/math] [math]e_2[/math] [math]e_3[/math] [math]e_4[/math]
[math]v_1[/math]
[math]v_2[/math]
[math]v_3[/math]
[math]v_4[/math]
[math]v_5[/math]
[math]v_6[/math]
[math]v_7[/math]


[math] A = [/math] [math]\begin{pmatrix} 1 & 0 & 0 & 0\\ 1 & 1 & 0 & 0\\ 1 & 1 & 1 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 1 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 0\\ \end{pmatrix}[/math]




Ацикличность в гиперграфе

Определение:
Простым циклом длины [math]s[/math] в гиперграфе [math]H = (V, E)[/math] называется последовательность [math]( A_0, v_0, A_1, \ldots , A_{s - 1}, v_{s - 1}, A_s)[/math] , где [math]A_0 , \ldots , A_{s - 1} -[/math] различные ребра [math]H[/math] , ребро [math]A_s[/math] совпадает с [math]A_0[/math] , а [math]v_0, \ldots , v_{s - 1} -[/math] различные вершины [math]H[/math] , причем [math]v_i \in A_i \cap A_{i+1}[/math] для всех [math] i = 0, \ldots , s - 1[/math].


Рис. 3: Простейший случай цикла в гиперграфе


Универсальным способом задания гиперграфа является кенигово представление.


Определение:
Кенигово представление гиперграфа [math] H = (V, E) -[/math] обыкновенный двудольный граф [math]K(H)[/math] , отражающий отношение инцидентности различных элементов гиперграфа, с множеством вершин [math]V \cup E [/math] и долями [math]V, E[/math].


Первым, кто дал определение ацикличности гипергафа является Клауд Берж:


Определение:
Гиперграф [math]H[/math] не содержит циклов в том случае, если его кенигово представление [math]-[/math] ацикличный граф, сожержит в противном случае.


Таким образом, если у нас есть цикл в графе кенигова представления, значит и сам гиперграф имеет цикл.

Рис. 4: Пример гиперграфа, содержащего цикл

См. также

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