Изменения

Перейти к: навигация, поиск

Гиперграфы

2890 байт добавлено, 18:40, 6 января 2017
м
Ацикличность гиперграфов
В математике {{Определение|definition='''гиперграфГиперграфом''' - это обобщение графа, у которого ребра могут соединять любое количество вершин(англ. Более формально, гиперграф ''hypergraph'') <tex>H</tex> - это пара называют такую пару <tex>H = (X, E)</tex> , где <tex>X- </tex> - множество элементов называемых узлами или вершинамивершин, и а <tex>E-</tex> - не пустое подмножество семейство подмножеств <tex>X</tex> , называемых '''гиперребрами или просто ребрами''' (англ.''hyperedges'') }}
В то времяОбычные графы, как у которых ребра графа соединяют могут соединять только две пары вершин, гиперребра - произвольные множества вершин, которые могут содержать любое количество вершин. Однаковершины, очень часто рассматривают гиперграфы с гиперребрами одинаковой мощности ; <tex>k</tex> - равномерный гиперграф - это такой гиперграфявляются частным случаем гиперграфа, у которого которых все гиперребра имеют размер k. (Другими словами, такой гиперграф множество подмножеств, которые содержат k вершин). Так например, <tex>2</tex> - равномерный гиперграф - обычный графтолько две вершины.
[[Файл:Hypergraph.jpg|rightthumb|thumb450px|Частный случай гипергафа, где Рис. 1: Гиперграф с множеством вершин <tex>EV =\{e_1v_1, e_2v_2, e_3v_3, e_4v_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>]]Стоит заметить, что обычный граф является частным случаем гиперграфа, где каждое ребро имеет мощность <tex>2</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>H_a</tex> , индуцированный подмножеством <tex>A</tex> множества <tex> X </tex>, который определен как 
<tex>H_a = (A, \{e_i \cap A| e_i \cap A \neq \emptyset \}).</tex>=Основные понятия гиперграфов==
{{Определение|definition='''ЧастичнымПутем''' гипергафом называется гиперграф, с множеством удаленных ребер(англ. Данное подмножество ''path'') между двумя гиперребрами <tex>e_i</tex> и <tex>J \subset I_e e_j</tex> множества индексов ребер, частичный граф сгенерирован с помощью гиперграфа <tex>JH</tex>, т.е называется последовательность гиперребер <tex>(Xe_{u_1}, e_{u_2} , \ldots ,e_{u_k}</tex> таких что :# <tex>e_{ u_1} = e_i | i </tex> и <tex>e_{u_k} = e_j</tex># <tex>\forall v: 1 \in J leqslant v \leqslant k-1, e_v \cap e_{v+1}).\ne \emptyset</tex>}}
Пусть дано множество {{Определение|definition=Гиперграф <tex>A \subseteq XH</tex>, разрезом гиперграфа называют такой называется '''частичныйсвязным''' гиперграф <tex>
H \times A = (Aангл. ''connected'') тогда и только тогда, \{e_i | i \in I_e, e_i \subseteq A \когда существует путь между каждой парой гиперребер.}}).</tex>
'''Двойственным''' гиперграфом <tex>H</tex>* к <tex>H</tex> называют такой гиперграф, в котором поменяны местами вершины и ребра таким образом, что вершины определяются как <tex>\{e_i\}</tex> и ребра определяются как <tex>\{X_m\}</tex>, где <tex>X_m = \{ e_i [[Файл:Connected_hypergraph.jpg‎|thumb|450px|center| x_m \in e_i \}Рис.</tex>2: Связный гиперграф]]
Когда операция равенства определенаПусть <tex>E - </tex> набор гиперребер, как показано ниже, операция взятия <tex>e_1</tex> и <tex>e_2 - </tex> элементы <tex>E</tex> и <tex>q = e_1 \cap e_2</tex>. {{Определение|definition=<tex>q</tex> называется '''сочленением'''двойственного(англ. ''articulation' гиперграфа выглядит следующим образом
') <tex>E</tex> , если при его удалении из всех гиперребер <tex>(H*)* = H.E</tex>, множество разрывается.}}
Связный граф <tex>G</tex> с тем же множеством вершин, что и у связного гиперграфа <tex>H</tex> называется «принимающим» графом для <tex>H</tex>, если каждое гиперребро <tex>H</tex> включает связный подграф в <tex>G</tex>На рис. Для несвязного гиперграфа 2 <tex>H</tex> q = e_4 \cap e_6 = \{ x_{12}, <tex>G</tex> является «принимающим», если существует биекция между связными компонентами <tex>G</tex> и <tex>H</tex> , так что каждая связная компонента <tex>G</tex>' графа <tex>Gx_{13}\}</tex> является принимающей для соответствующего сочленением <tex>HE</tex>'.
==Изоморфность и эквивалентсностьМатрица инцидентности ==Гиперграф <tex>H = (X, E)</tex> изоморфен гиперграфу <tex>G = (Y, F)</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>Тогда биекция <tex>w</tex> называется изоморфизмом гиперграфов. Стоит отметить, что <tex>H \equiv G</tex> тогда и только тогда, когда <tex>H* \simeq G</tex>*
Пусть дан гиперграф <tex>H =(X, E)</tex> , где <tex> X =Ацикличность\{ x_1, x_2, \ldots , x_n \}</tex> и <tex> E =\{ e_1, e_2, \ldots , e_m \}</tex>. Любой гиперграф может задаваться матрицей инцидентности (смотри [[Матрица_инцидентности_графа|матрицу инцидентности в обычном графе)]] <tex>A =(a_{ij}) </tex> размером <tex> n \times m</tex>, где
В отличие от обычных неориентированных графов, для которых существует только одно понятие ацикличности, существует множество неэквивалентных определений ацикличности гиперграфов<tex> a_{ij} = \left \{ \begin{array}{ll} 0 & x_i \in e_j \\ 1 & \mathrm{otherwise} \end{array} \right.</tex>
Первое определение ацикличности Так например, для гиперграфов было дано Клаудом Бержем: гиперграф называется ацикличным по Бержу, если инцидентный ему граф ацикличныйгиперграфа на рис. Это определение достаточно ограничено. Например, если гиперграф имеет какую-то пару вершин <tex>v \ne v'</tex> и какую-то пару гиперребер <tex>f \ne f'</tex>, таких что <tex>v, v' \in f</tex> и <tex>v, v' \in f'</tex>, тогда имеет место цикл 1 мы можем построить матрицу инцидентности по Бержу. Цикличность по Бержу может быть найдена за линейное время с помощью исследования инцидентности гиперграфа.таблице отношения принодлежности вершины к гиперребру:
Также мы можем определить более слабое определение ацикличности гиперграфа, называемое {| class="wikitable" align="left" style="color: black; background-color:#ffffcc;" cellpadding="10"|+!!<tex>e_1</tex>!<tex>e_2</tex>!<tex>\alphae_3</tex> !<tex>e_4</tex>|- ацикличность. Это понятие ацикличности эквивалентно определению гиперграфа, который является конформальным(т.е. каждая клика исходного графа покрыта какимalign="center"!<tex>v_1</tex>|✓|||| |||-то гиперребром), и при этом исходный граф является хордальным ; это также эквивалентно сводимости пустого графа через GYO алгоритм(более известный как алгоритм Грэхема), повторяющийся процесс, который удаляет гиперребра с использованием главного определения align="center"!<tex>v_2</tex>|✓||✓|| |||-align="center" !<tex>v_3</tex>|✓||✓||✓|| |-align="center" !<tex>v_4</tex>| |||| ||✓|-align="ухо графаcenter". В области теории баз данных известно, что схема баз данных обладает некоторыми желательными свойствами, если ее основной граф является !<tex>\alphav_5</tex> |||||✓|| |- ациклическим. align="center" !<tex>\alphav_6</tex> |||||✓|| |- ацикличность гиперграфа также может быть найдена за линейное время. align="center" !<tex>v_7</tex>||||||||}
Стоит отметить<tex> A = </tex><tex>\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}</tex>       ==Цикл в гиперграфе== {{Определение|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: Простейший случай цикла в гиперграфе]]  Универсальным способом задания гиперграфа является кенигово представление. {{Определение|definition='''Кенигово представление''' гиперграфа <tex> H = (V, E) -</tex> обыкновенный двудольный граф '''<tex>K(H)</tex>''' , отражающий отношение инцидентности различных элементов гиперграфа, с множеством вершин <tex>V \cup E </tex> и долями <tex>V, E</tex>.}} Первым, кто дал определение ацикличности гипергафа является Клауд Берж: {{Теорема|statement=Гиперграф <tex>H</tex> не содержит циклов в том случае, если его кенигово представление <tex>-</tex> ацикличный граф, сожержит в противном случае.}} Таким образом, если у нас есть цикл в графе кенигова представления, значит и сам гиперграф имеет цикл. [[Файл:Cycle_example.png|thumb|center|500px|Рис. 4: Пример гиперграфа, содержащего цикл]] ===Алгоритм нахождения цикла в гиперграфе=== Поскольку гиперграф может задаваться кениговым представлением, тогда произведём серию поисков в глубину в двудольном графе. Т.е. из каждой вершины, в которую мы ещё ни разу не приходили, запустим поиск в глубину, который при входе в вершину будет красить её в серый цвет, а при выходе - в чёрный. И если поиск в глубину пытается пойти в серую вершину, то это означает, что мы нашли цикл (если граф неориентированный, то случаи, когда поиск в глубину из какой-то вершины пытается пойти в предка, не считаются). ==Ацикличность гиперграфов== {{Определение|definition='''Редукцией''' (англ. ''reduction'') гиперграфа <tex>H = (V, E)</tex> называется такой гиперграф <tex>H' = (V, E')</tex> , который получается из исходного путем удаления всех гиперребер, которые полностью содержатся в других гиперреберах.}} {{Определение|definition=Гиперграф называется '''уменьшенным''' (англ. ''reduced'') , если он эквивалентен своей редукции, то есть не имеет гиперребер внутри других гиперребер.}} Пусть <tex>M - </tex> множество вершин гиперграфа <tex>H = (V, E)</tex>. Множество '''частичных ребер''' (англ. ''partial edges''), порожденных множеством <tex>M</tex>, определяется как множество, полученное путем пересечения гиперребер из множества <tex>E</tex> с <tex>M</tex>. Таким образом, получаем множество : <tex> \{ e \cap M : e \in E \} - \{ \emptyset \} </tex> и берем его редукцию. Множество частичных ребер, порожденное из гиперграфа <tex>H</tex> множеством <tex>M</tex>, называется '''вершинно-порожденным''' (англ. ''node-generated'') множеством частичных ребер. {{Определение|definition='''Блоком''' (англ. ''block'') уменьшенного гиперграфа называется связное, вершинно - порожденное множество частичных ребер без сочленения.}} {{Определение|definition=Множество частичных ребер называется '''тривиальным''' (англ. ''trivial''), если оно содержит одно гиперребро.}} {{Определение|definition=Уменьшенный гиперграф называется '''<tex> \alpha </tex> - ацикличным''' (англ. ''<tex> \alpha </tex>-acyclity'') , если всего его блоки тривиальны, иначе называют '''<tex> \alpha </tex>-цикличным''' (англ. ''<tex> \alpha</tex>-cyclity'').}} ''Пример'' [[Файл:Alpha-acyclity-1.png|thumb|left|500px|Рис. 5: <tex> \alpha</tex>-ацикличный гиперграф]][[Файл:Alpha-acyclity-2.png|thumb|center|500px|Рис. 6: Подмножество гиперребер <tex> \{ ABC, CDE, EFA\} </tex>]]        Очень просто проверить что на рис. 3 представлен <tex> \alpha </tex>-ацикличный гиперграф. Он содержит четыре гиперребра <tex>- ABC, CDE, EFA, ACE</tex>. Сочленение для всего множества гиперребер является <tex> ABC \cap ACE = AC </tex> , так как после удаления вершин <tex>A</tex> и <tex>C</tex> гиперграф не будет связным (вершина <tex>B</tex> не будет ни с кем соединена). Заметим, что на рис. 6 подмножетсво гиперребер <tex>\{ ABC, CDE, EFA \}</tex> не имеет сочленения. Однако, это множество не является вершинно - порожденным , таким образом, нет никаких противоречий с предположением, что гиперграф на рис. 5 является <tex> \alpha </tex>-ацикличным.  Заметим, что <tex>\alpha</tex> - ацикличность графа имеет некоторое одно нелогичное свойство, а именно, что : при добавлении гиперребер к <tex>\alpha</tex> - цикличному графу гиперребер гиперграф гиперграфу он может стать <tex>\alpha</tex> - ацикличным. Например(например, добавление при добавлении гиперребра, которое содержит охватывает все вершина гиперграфавершины, всегда будет давать делать гиперграф <tex>\alpha</tex> - ацикличность графаацикличным). Частично мотивированным этим недостаткомИз-за этого свойства было введено более строгое определение, Рональд Феджин определил более сильные понятия - называемое <tex>\beta</tex> - ацикличность и ацикличностью. {{Определение|definition=Гиперграф <tex>H = (V, E) </tex> является '''<tex>\gammabeta </tex> - ацикличностьацикличным''' (англ. Можно констатировать ''<tex>\beta</tex> - ацикличность как требованиеacyclity'') , чтобы если все его подгиперграфы исходного гиперграфа были <tex>\alpha</tex> - ацикличными, что ээквивалентно выше упомянотому определению Грэхемаацикличны.}} Так например гиперграф на рис. Понятие 5 является <tex>\gammaalpha </tex> - ацикличности имеет более ограниченное определениеацикличным, которое эквивалентно несколькими желательными свойствами схем баз данных и связана с диаграммами Бахмена. но не является <tex<> \beta</tex> - ацикличность и ацикличным, так как его подгиперграф на рис. 6 является <tex>\gammaalpha </tex> - ацикличность может быть найдена за полиномиальное времяцикличным. == См. также ==* [[Основные_определения_теории_графов|Основные определения теории графов]] == Источники информации ==* [https://en.wikipedia.org/wiki/Claude_Berge wikipedia.com — Клауд Берж]* [https://en.wikipedia.org/wiki/Hypergraph wikipedia.com — Гиперграфы]* [http://www.sciencedirect.com/science/article/pii/S0012365X09003446?np=y sciencedirect.com — Ацикличность в гиперграфах] [[Категория:Дискретная математика и алгоритмы]][[Категория:Основные определения теории графов]]

Навигация