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

Материал из Викиконспекты
Перейти к: навигация, поиск
(sta)
(sta)
Строка 1: Строка 1:
В математике '''гиперграф''' - это обобщение графа, у которого ребра могут соединять любое количество вершин. Более формально, гиперграф <tex>H</tex> - это пара <tex>(X, E)</tex> , где <tex>X</tex> - множество элементов называемых узлами или вершинами, и <tex>E</tex> - не пустое подмножество <tex>X</tex> называемых гиперребрами или просто ребрами.
+
{{Определение
 +
|definition=
 +
Гиперграфом <tex>H</tex> называют такую пару <tex>H = (X, E)</tex> , где <tex>X</tex> - множество вершин, а <tex>E</tex> - семейство подмножеств X, называемых '''гиперребрами'''
 +
}}
  
В то время, как ребра графа соединяют две пары вершин, гиперребра - произвольные множества вершин, которые могут содержать любое количество вершин. Однако, очень часто рассматривают гиперграфы с гиперребрами одинаковой мощности ; <tex>k</tex> - равномерный гиперграф - это такой гиперграф, у которого все гиперребра имеют размер k. (Другими словами, такой гиперграф множество подмножеств, которые содержат k вершин). Так например, <tex>2</tex> - равномерный гиперграф - обычный граф.
+
Гиперграф, у которого арность гиперребрер равна двум( т.е. каждое гиперребро содержит только две вершины), является графом.
  
[[Файл:Hypergraph.jpg|right|thumb|Частный случай гипергафа, где <tex>E=\{e_1, e_2, e_3, e_4\} = \{\{v_1, v_2, v_3\}, \{v_2,v_3\}, \{v_3,v_5.v_6\}, \{v_4\}\}</tex>]]
+
[[Файл:Hypergraph.jpg]]
Стоит заметить, что обычный граф является частным случаем гиперграфа, где каждое ребро имеет мощность <tex>2</tex>.
+
Частный случай гипергафа, где <tex>E=\{e_1, e_2, e_3, e_4\} = \{\{v_1, v_2, v_3\}, \{v_2,v_3\}, \{v_3,v_5.v_6\}, \{v_4\}\}</tex>
  
==Определения==
+
==Основные понятия гиперграфов==
  
Так как множество гиперребер может быть любой мощности, существуют несколько понятий '''подграфа''' гиперграфа, называемых '''подгиперграфами''', '''частичные гиперграфы''' и '''разрез гиперграфов'''. Пусть <tex>H = (X, E) </tex> - гиперграф содержащий множество вершин <tex>X = \{x_i | i \in I_v\}</tex> и множество ребер <tex>E = \{e_i | i \in I_e, e_i \subseteq X\}</tex>, где <tex>I_v</tex> и <tex>I_e</tex> множества индексов вершин и ребер соответсвенно.

+
Пусть <tex>V</tex> - подмножество <tex>X</tex>. Множество '''частичных''' гиперребер, индуцированных множеством вершин <tex>V</tex> в <tex>H</tex>, называется
  
'''Подгиперграфом''' называют гиперграф с некоторым множеством удаленных вершин. Формально, подгиперграф <tex>H_a</tex> , индуцированный подмножеством <tex>A</tex> множества <tex> X </tex>, который определен как 
<tex>H_a = (A, \{e_i \cap A| e_i \cap A  \neq \emptyset \}).</tex>
+
<tex>E' = \{ e' \mid e' = e \cap V, e \in E \} - \{ \emptyset \}</tex>
  
'''Частичным''' гипергафом называется гиперграф, с множеством удаленных ребер. Данное подмножество <tex>J \subset I_e </tex> множества индексов ребер, частичный граф сгенерирован с помощью <tex>J</tex>, т.е <tex>(X, \{ e_i | i \in J \}).</tex>
+
<tex>E'</tex> называется '''вершинно-порожденным''' множеством. С этого момента, будем рассматривать сокращенные гиперграфы(т.е. никакое гиперребро не содержится в другом).
  
Пусть дано множество <tex>A \subseteq X</tex>, разрезом гиперграфа называют такой '''частичный''' гиперграф <tex>
H \times A = (A, \{e_i | i \in I_e, e_i \subseteq A \}).</tex>
+
Рассмотрим  множество <tex> V \subset X</tex>. '''Подгиперграфом''' гиперграфа <tex>H</tex>, индуцированного множеством вершин <tex>V</tex>, наызывается такой гиперграф <tex>H[V] = (V, E')</tex> с множеством гиперребер <tex>E'</tex>, которое является множеством частичных гиперребер, индуцированных множеством вершин <tex>V</tex> в <tex>H</tex>.
  
'''Двойственным''' гиперграфом <tex>H</tex>* к <tex>H</tex> называют такой гиперграф, в котором поменяны местами вершины и ребра таким образом, что вершины определяются как <tex>\{e_i\}</tex> и ребра определяются как <tex>\{X_m\}</tex>, где <tex>X_m = \{ e_i | x_m \in e_i \}.</tex>
+
'''Путем''' между двумя гиперребрами <tex>e_i</tex> и <tex>e_j</tex> гиперграфа <tex>H</tex> называется последовательность гиперребер <tex>e_{u_1}, e_{u_2} \ldots e_{u_k},</tex>, таких что :
  
Когда операция равенства определена, как показано ниже, операция взятия '''двойственного''' гиперграфа выглядит следующим образом
<tex>(H^*)^* = H.</tex>
+
1)<tex>e_{u_1} = e_i </tex> и <tex>e_{u_k} = e_j</tex>
  
Связный граф <tex>G</tex> с тем же множеством вершин, что и у связного гиперграфа <tex>H</tex> называется «принимающим» графом для <tex>H</tex>, если каждое гиперребро  <tex>H</tex> включает связный подграф в <tex>G</tex>. Для несвязного гиперграфа <tex>H</tex> , <tex>G</tex> является «принимающим», если существует биекция между связными компонентами <tex>G</tex> и <tex>H</tex> , так что каждая связная компонента <tex>G</tex>' графа <tex>G</tex> является принимающей для соответствующего <tex>H</tex>'.
+
2)<tex>\forall v: 1 \leq v \leq k-1, e_v \cap e_{v+1} \ne \emptyset</tex>
  
==Изоморфность и эквивалентность==
+
[[Файл:Connected_hypergraph.jpg‎]]
Гиперграф <tex>H = (X, E)</tex> изоморфен гиперграфу <tex>G = (Y, F)</tex> , записывается как <tex>H \simeq G</tex>, если существует биекция <tex>w</tex> : <tex>X</tex> -> <tex>Y</tex>
 и перестановка <tex>\pi</tex> множества <tex>I</tex> такая, что <tex>w</tex><tex>(e_i)</tex> = <tex>f_{\pi(i)}</tex>
+
рис.1 Связный гиперграф
Тогда биекция <tex>w</tex> называется изоморфизмом гиперграфов. Стоит отметить, что
 
<tex>H \simeq G</tex> тогда и только тогда, когда <tex>H^* \simeq G^*</tex>
 
  
Когда ребра гиперграфа явно помечены, то появляется дополнительное понятие '''сильного изоморфизима'''. Говорят, что <tex>H</tex> '''сильно изоморфен''' <tex>G</tex> , если перестановка является тождественной. Записывается как <tex>H \cong G</tex>. Стоит отметить, что все строго изоморфный графы изоморфны, но не наоборот.
 
  
Когда вершины гиперграфа явно помечены, то появляется понятие '''эквивалентности''', а также  '''равенства'''. Говорят, что <tex>H</tex> эквивалентен <tex>G</tex>, записывается как <tex>H \equiv G</tex>, если изоморфизм <tex>w</tex> имеет следующие свойства
+
Гиперграф <tex>H</tex> называется '''связным''' тогда и только тогда, когда существует путь между каждой парой гиперребер.
  
<tex>w(x_n) = y_n</tex>
+
Пусть <tex>E</tex> - связный, сокращенный набор гиперребер, <tex>e_1</tex> и <tex>e_2</tex> - элементы <tex>E</tex> и <tex>q = e_1 \cap e_2</tex>. <tex>q</tex> называется '''сочленением''' <tex>E</tex> , если его удаления из всех гиперребер <tex>E</tex> разрывает это множество. На рис.1 <tex>q = e_4 \cap e_6 = \{ x_{12}, x_{13}\}</tex> является сочленением <tex>E</tex>.
  
и
+
Гиперграф называется <tex>\alpha</tex> - ацикличным, если каждое множество частичных ребер является связными, сокращенным, индуцированным множеством вершин и не допускающее сочленения, является тривиальным(т.е.  содержит только один элемент).
  
<tex>w(e_i) = f_{\pi(i)}</tex>
+
Гиперграф на рис.1 не является <tex>\alpha</tex> - ацикличным, так как множество частичных гиперребер <tex>\{\{ x_1, x_2, x_3, x_4\}, \{ x_1, x_2, x_5, x_6\}, \{ x_4, x_6, x_8\}\}</tex> является связным, уменьшенным, не тривиальным и не допускают сочленения. Напротив, гиперграф на рис.2 является <tex>\alpha</tex> - ацикличным.
  
Заметим, что <tex>H \equiv G</tex> если, и только если <tex>H^* \cong G^*</tex>.
+
[[Файл:Acyclic.jpg]]
Если, кроме того, перестановка <tex>\pi</tex> тождественна, то говорят, что <tex>H</tex> равен <tex>G</tex>, и записывается как <tex>H = G</tex>. Стоит отметить, что при таком определении равенства, графы самодвойственны, т.е. <tex>(H^*)^* = H</tex>.
+
рис.2 <tex>\alpha</tex> - ацикличный гиперграф
  
'''Автоморфизмом''' гиперграфа называется изоморфизм из множества вершин в них же, т.е. переобозначение вершин.
+
Пусть дан гиперграф <tex>H = (X, E)</tex>. Циклом  в <tex>H</tex> называется последовательность гиперребер <tex>(e_{i_1}, e_{i_2}, \ldots , e_{i_k})</tex>  удовлетворяющим следующим свойствам:
  
Пример.
+
<tex>e_{i_k} = e_{i_1}</tex>
  
Рассмотрим гиперграфы с ребрами
+
<tex>\forall 2 \le j \le k - 2</tex> и <tex>\forall e \in E, (S_{j-1} \cup S_j \cup S_{j+1}) \ e \ne \emptyset </tex>, где <tex>S_j = e_{i_j} \cap e_{i_{j+1}}, \forall 1 \le j \le k - 1</tex>
 
 
 
 
<tex>H = \{ e_1 = \{ a, b \}, e_2 = \{ b, c\}, e_3 = \{ c, d \}, e_4 = \{d, a\}, e_5 = \{b, d \}, e_6 = \{a, c \}\}</tex>
 
 
 
 
 
<tex>G = \{ f_1 = \{\alpha, \beta\}, f_2 = \{\beta,\gamma\}, f_3 = \{\gamma,\delta\}, f_4 = \{\delta,\alpha\},f_5=\{\alpha,\gamma\},f_6=\{\beta,\delta\}\}</tex>
 
 
 
 
 
Тогда, очевидно, <tex>H</tex> и <tex>G</tex> изоморфны(с <tex>w(a) = \alpha</tex>, и т.д.), но они не строго изоморфны. Так, например, в <tex>H</tex> вершина <tex>a</tex> содержится в ребрах <tex>1, 4</tex> и <tex>6</tex>, так что
 
 
 
<tex> e_1 \cap e_4 \cap e_6 = \{a\}</tex>
 
 
 
Однако в <tex>G</tex> не существует вершины, которая содержится в ребрах <tex> 1, 4</tex> и <tex>6</tex>:
 
 
 
<tex> f_1 \cap f_4 \cap f_6 = \emptyset </tex>
 
 
 
В этом примере <tex>H</tex> и <tex>G</tex> эквивалентны, <tex>H \equiv G</tex>, и двойственные строго изоморфны: <tex>H^* \cong G^*</tex>.
 
 
 
==Ацикличность==
 
 
 
В отличие от обычных неориентированных графов, для которых существует только одно понятие ацикличности, существует множество неэквивалентных определений ацикличности гиперграфов.
 
 
 
Первое определение ацикличности для гиперграфов было дано Клаудом Бержем: гиперграф называется ацикличным по Бержу, если инцидентный ему граф ацикличный. Это определение достаточно ограничено. Например, если гиперграф имеет какую-то пару вершин <tex>v \ne v'</tex> и какую-то пару гиперребер <tex>f \ne f'</tex>, таких что <tex>v, v' \in f</tex> и <tex>v, v' \in f'</tex>, тогда имеет место цикл по Бержу. Цикличность по Бержу может быть найдена за линейное время с помощью исследования инцидентности гиперграфа.
 
 
 
Также мы можем определить более слабое определение ацикличности гиперграфа, называемое <tex>\alpha</tex> - ацикличность. Это понятие ацикличности эквивалентно определению гиперграфа, который является конформальным(т.е. каждая клика исходного графа покрыта каким-то гиперребром), и при этом исходный граф является хордальным ; это также эквивалентно сводимости пустого графа через GYO алгоритм(более известный как алгоритм Грэхема), повторяющийся процесс, который удаляет гиперребра с использованием главного определения "ухо графа". В области теории баз данных известно, что схема баз данных обладает некоторыми желательными свойствами, если ее основной граф является <tex>\alpha</tex> - ациклическим. <tex>\alpha</tex> - ацикличность гиперграфа также может быть найдена за линейное время.
 
 
 
Стоит отметить, что <tex>\alpha</tex> - ацикличность графа имеет некоторое нелогичное свойство, а именно, что при добавлении к <tex>\alpha</tex> - цикличному графу гиперребер гиперграф может стать <tex>\alpha</tex> - ацикличным. Например, добавление гиперребра, которое содержит все вершина гиперграфа, всегда будет давать <tex>\alpha</tex> - ацикличность графа. Частично мотивированным этим недостатком, Рональд Феджин определил более сильные понятия - <tex>\beta</tex> - ацикличность и <tex>\gamma</tex> - ацикличность. Можно констатировать <tex>\beta</tex> - ацикличность как требование, чтобы все подгиперграфы исходного гиперграфа были <tex>\alpha</tex> - ацикличными, что ээквивалентно выше упомянотому определению Грэхема.  Понятие <tex>\gamma</tex> - ацикличности имеет более ограниченное определение, которое эквивалентно несколькими желательными свойствами схем баз данных и связана с диаграммами Бахмена. <tex<\beta</tex> - ацикличность и <tex>\gamma</tex> - ацикличность может быть найдена за полиномиальное время.
 
 
 
==Матрица инцидентности==
 
 
 
Пусть <tex>V = \{ v_1, v_2, ... , v_n \},</tex> и <tex>E = \{ e_1, e_2, ..., e_m \}</tex>. Каждый гиперграф имеет <tex>n \times m</tex> инцидентную матрицу <tex>A = (a_{ij}) </tex>, где
 
 
 
<tex> a_{ij} = \left \{  
 
\begin{array}{ll}
 
1,& v_i \in e_j \\
 
0,& otherwise
 
  \end{array}
 
\right.
 
</tex>
 
 
 
Транспонированная матрица  <tex>A^t</tex> инцидентной матрицы определяет гиперграф <tex>H^* = (V^*, E^*)</tex> называемая двойственной к <tex>H</tex> , где <tex>V^*</tex> явялется <tex>m</tex>-ым элементом множества и <tex>E^*</tex> является <tex>n</tex>-ым элементом множества подмножества <tex>V^*</tex>. Для <tex>v^*_j \in V^*</tex> и <tex>e^*_i \in E^*, v^*_j \in e^*_i</tex> если, и только если <tex>a_{ij} = 1</tex>.
 
 
 
==Симметричные гиперграфы==
 
 
 
'''Рангом''' <tex>r(H)</tex> гиперграфа <tex>H</tex> называется максимальная мощность любого из гиперребер в гиперграфе. Если все ребра имеют одинаковыую мощность <tex>k</tex> , тогда гиперграф называется однородным или <tex>k</tex> - однородным, или <tex>k</tex> - гиперграфом. Обычный граф является 2-однородным гиепрграфом.
 
 
 
Степенью <tex>d(v)</tex> вершины <tex>v</tex> называется число гиперребер, которые содержат <tex>v</tex>. <tex>H</tex> называется'''<tex>k</tex>- регулярным''', если каждая вершина имеет степень <tex>k</tex>.
 
 
 
Две вершины <tex>x</tex> и <tex>y</tex> гиперграфа <tex>H</tex> называются симметричными,  если существует такой автоморфизм, что <tex>w(x) = y</tex>. Тва ребра <tex>e_i</tex> и <tex>e_j</tex> называются симметричными, если существет такой автоморфизм, что <tex>w(e_i) = e_j</tex>.
 
 
 
Гиперграф называется '''вершинно-транзитивным'''(или '''вершинно-симметричным'''), если все вершины симметричны. Точно так же, гиперграф называется '''реберно-транзитивным'''6 если все его ребра симметричны. Если гиперграф и вершинно-тразитивный, и реберно-транзитивный , тогда гиперграф называется '''транзитивным'''.
 

Версия 03:13, 2 января 2017

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


Гиперграф, у которого арность гиперребрер равна двум( т.е. каждое гиперребро содержит только две вершины), является графом.

Hypergraph.jpg Частный случай гипергафа, где [math]E=\{e_1, e_2, e_3, e_4\} = \{\{v_1, v_2, v_3\}, \{v_2,v_3\}, \{v_3,v_5.v_6\}, \{v_4\}\}[/math]

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

Пусть [math]V[/math] - подмножество [math]X[/math]. Множество частичных гиперребер, индуцированных множеством вершин [math]V[/math] в [math]H[/math], называется

[math]E' = \{ e' \mid e' = e \cap V, e \in E \} - \{ \emptyset \}[/math]

[math]E'[/math] называется вершинно-порожденным множеством. С этого момента, будем рассматривать сокращенные гиперграфы(т.е. никакое гиперребро не содержится в другом).

Рассмотрим множество [math] V \subset X[/math]. Подгиперграфом гиперграфа [math]H[/math], индуцированного множеством вершин [math]V[/math], наызывается такой гиперграф [math]H[V] = (V, E')[/math] с множеством гиперребер [math]E'[/math], которое является множеством частичных гиперребер, индуцированных множеством вершин [math]V[/math] в [math]H[/math].

Путем между двумя гиперребрами [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 \leq v \leq k-1, e_v \cap e_{v+1} \ne \emptyset[/math]

Connected hypergraph.jpg рис.1 Связный гиперграф


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

Пусть [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] называется сочленением [math]E[/math] , если его удаления из всех гиперребер [math]E[/math] разрывает это множество. На рис.1 [math]q = e_4 \cap e_6 = \{ x_{12}, x_{13}\}[/math] является сочленением [math]E[/math].

Гиперграф называется [math]\alpha[/math] - ацикличным, если каждое множество частичных ребер является связными, сокращенным, индуцированным множеством вершин и не допускающее сочленения, является тривиальным(т.е. содержит только один элемент).

Гиперграф на рис.1 не является [math]\alpha[/math] - ацикличным, так как множество частичных гиперребер [math]\{\{ x_1, x_2, x_3, x_4\}, \{ x_1, x_2, x_5, x_6\}, \{ x_4, x_6, x_8\}\}[/math] является связным, уменьшенным, не тривиальным и не допускают сочленения. Напротив, гиперграф на рис.2 является [math]\alpha[/math] - ацикличным.

Acyclic.jpg рис.2 [math]\alpha[/math] - ацикличный гиперграф

Пусть дан гиперграф [math]H = (X, E)[/math]. Циклом в [math]H[/math] называется последовательность гиперребер [math](e_{i_1}, e_{i_2}, \ldots , e_{i_k})[/math] удовлетворяющим следующим свойствам:

[math]e_{i_k} = e_{i_1}[/math]

[math]\forall 2 \le j \le k - 2[/math] и [math]\forall e \in E, (S_{j-1} \cup S_j \cup S_{j+1}) \ e \ne \emptyset [/math], где [math]S_j = e_{i_j} \cap e_{i_{j+1}}, \forall 1 \le j \le k - 1[/math]