Гиперграфы — различия между версиями
Ivan (обсуждение | вклад) |
м (rollbackEdits.php mass rollback) |
||
(не показано 7 промежуточных версий 3 участников) | |||
Строка 7: | Строка 7: | ||
[[Файл: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>]] | [[Файл: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>]] | ||
+ | |||
+ | |||
==Основные понятия гиперграфов== | ==Основные понятия гиперграфов== | ||
Строка 94: | Строка 96: | ||
− | == | + | ==Цикл в гиперграфе== |
{{Определение | {{Определение | ||
Строка 111: | Строка 113: | ||
}} | }} | ||
− | Первым, кто дал определение ацикличности гипергафа является | + | Первым, кто дал определение ацикличности гипергафа является Клауд Берж: |
− | {{ | + | {{Теорема |
− | | | + | |statement= |
Гиперграф <tex>H</tex> не содержит циклов в том случае, если его кенигово представление <tex>-</tex> ацикличный граф, сожержит в противном случае. | Гиперграф <tex>H</tex> не содержит циклов в том случае, если его кенигово представление <tex>-</tex> ацикличный граф, сожержит в противном случае. | ||
}} | }} | ||
Строка 121: | Строка 123: | ||
[[Файл:Cycle_example.png|thumb|center|500px|Рис. 4: Пример гиперграфа, содержащего цикл]] | [[Файл: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> \beta </tex>-ацикличным''' (англ. ''<tex> \beta </tex>-acyclity'') , если все его подгиперграфы <tex> \alpha </tex>-ацикличны. | ||
+ | }} | ||
+ | |||
+ | Так например гиперграф на рис. 5 является <tex> \alpha </tex>-ацикличным, но не является <tex> \beta </tex>-ацикличным, так как его подгиперграф на рис. 6 является <tex> \alpha </tex>-цикличным. | ||
== См. также == | == См. также == | ||
Строка 126: | Строка 187: | ||
== Источники информации == | == Источники информации == | ||
+ | * [https://en.wikipedia.org/wiki/Claude_Berge wikipedia.com — Клауд Берж] | ||
* [https://en.wikipedia.org/wiki/Hypergraph wikipedia.com — Гиперграфы] | * [https://en.wikipedia.org/wiki/Hypergraph wikipedia.com — Гиперграфы] | ||
* [http://www.sciencedirect.com/science/article/pii/S0012365X09003446?np=y sciencedirect.com — Ацикличность в гиперграфах] | * [http://www.sciencedirect.com/science/article/pii/S0012365X09003446?np=y sciencedirect.com — Ацикличность в гиперграфах] |
Текущая версия на 19:07, 4 сентября 2022
Определение: |
Гиперграфом (англ. hypergraph) | называют такую пару , где множество вершин, а семейство подмножеств , называемых гиперребрами (англ. hyperedges)
Обычные графы, у которых ребра могут соединять только две вершины, являются частным случаем гиперграфа, у которых все гиперребра содержат только две вершины.
Основные понятия гиперграфов
Определение: |
Путем (англ. path) между двумя гиперребрами
| и гиперграфа называется последовательность гиперребер таких что :
Определение: |
Гиперграф | называется связным (англ. connected) тогда и только тогда, когда существует путь между каждой парой гиперребер.
Пусть
набор гиперребер, и элементы и .Определение: |
называется сочленением (англ. articulation) , если при его удалении из всех гиперребер , множество разрывается. |
На рис.2 является сочленением .
Матрица инцидентности
Пусть дан гиперграф матрицу инцидентности в обычном графе) размером , где
, где и . Любой гиперграф может задаваться матрицей инцидентности (смотри
Так например, для гиперграфа на рис.1 мы можем построить матрицу инцидентности по таблице отношения принодлежности вершины к гиперребру:
✓ | ||||
✓ | ✓ | |||
✓ | ✓ | ✓ | ||
✓ | ||||
✓ | ||||
✓ | ||||
Цикл в гиперграфе
Определение: |
Простым циклом длины | в гиперграфе называется последовательность , где различные ребра , ребро совпадает с , а различные вершины , причем для всех .
Универсальным способом задания гиперграфа является кенигово представление.
Определение: |
Кенигово представление гиперграфа | обыкновенный двудольный граф , отражающий отношение инцидентности различных элементов гиперграфа, с множеством вершин и долями .
Первым, кто дал определение ацикличности гипергафа является Клауд Берж:
Теорема: |
Гиперграф не содержит циклов в том случае, если его кенигово представление ацикличный граф, сожержит в противном случае. |
Таким образом, если у нас есть цикл в графе кенигова представления, значит и сам гиперграф имеет цикл.
Алгоритм нахождения цикла в гиперграфе
Поскольку гиперграф может задаваться кениговым представлением, тогда произведём серию поисков в глубину в двудольном графе. Т.е. из каждой вершины, в которую мы ещё ни разу не приходили, запустим поиск в глубину, который при входе в вершину будет красить её в серый цвет, а при выходе - в чёрный. И если поиск в глубину пытается пойти в серую вершину, то это означает, что мы нашли цикл (если граф неориентированный, то случаи, когда поиск в глубину из какой-то вершины пытается пойти в предка, не считаются).
Ацикличность гиперграфов
Определение: |
Редукцией (англ. reduction) гиперграфа | называется такой гиперграф , который получается из исходного путем удаления всех гиперребер, которые полностью содержатся в других гиперреберах.
Определение: |
Гиперграф называется уменьшенным (англ. reduced) , если он эквивалентен своей редукции, то есть не имеет гиперребер внутри других гиперребер. |
Пусть множество вершин гиперграфа . Множество частичных ребер (англ. partial edges), порожденных множеством , определяется как множество, полученное путем пересечения гиперребер из множества с . Таким образом, получаем множество : и берем его редукцию.
Множество частичных ребер, порожденное из гиперграфа
множеством , называется вершинно-порожденным (англ. node-generated) множеством частичных ребер.
Определение: |
Блоком (англ. block) уменьшенного гиперграфа называется связное, вершинно - порожденное множество частичных ребер без сочленения. |
Определение: |
Множество частичных ребер называется тривиальным (англ. trivial), если оно содержит одно гиперребро. |
Определение: |
Уменьшенный гиперграф называется | - ацикличным (англ. -acyclity) , если всего его блоки тривиальны, иначе называют -цикличным (англ. -cyclity).
Пример
Очень просто проверить что на рис. 3 представлен -ацикличный гиперграф. Он содержит четыре гиперребра . Сочленение для всего множества гиперребер является , так как после удаления вершин и гиперграф не будет связным (вершина не будет ни с кем соединена). Заметим, что на рис. 6 подмножетсво гиперребер не имеет сочленения. Однако, это множество не является вершинно - порожденным , таким образом, нет никаких противоречий с предположением, что гиперграф на рис. 5 является -ацикличным.
Заметим, что -ацикличность имеет одно нелогичное свойство: при добавлении гиперребер к -цикличному гиперграфу он может стать -ацикличным (например, при добавлении гиперребра, которое охватывает все вершины, всегда будет делать гиперграф -ацикличным). Из-за этого свойства было введено более строгое определение, называемое -ацикличностью.
Определение: |
Гиперграф | является -ацикличным (англ. -acyclity) , если все его подгиперграфы -ацикличны.
Так например гиперграф на рис. 5 является -ацикличным, но не является -ацикличным, так как его подгиперграф на рис. 6 является -цикличным.