Иерархический граф: различия между версиями
KVN (обсуждение | вклад) Нет описания правки |
KVN (обсуждение | вклад) Нет описания правки |
||
Строка 10: | Строка 10: | ||
<math>F</math> --- [[Иерархия фрагментов|''иерархия фрагментов'']] ([[Hierarchy of nested fragments|''hierarchy of nested fragments'']]) графа <math>G</math>, если <math>F</math> --- такое множество фрагментов графа <math>C</math>, что <math>G\in F</math> и для любых двух фрагментов <math>C_1</math> и <math>C_2</math> из <math>F</math> | <math>F</math> --- [[Иерархия фрагментов|''иерархия фрагментов'']] ([[Hierarchy of nested fragments|''hierarchy of nested fragments'']]) графа <math>G</math>, если <math>F</math> --- такое множество фрагментов графа <math>C</math>, что <math>G\in F</math> и для любых двух фрагментов <math>C_1</math> и <math>C_2</math> из <math>F</math> | ||
либо фрагменты <math>C_1</math> и <math>C_2</math> не пересекаются, либо один из | либо фрагменты <math>C_1</math> и <math>C_2</math> не пересекаются, либо один из | ||
них является частью ( подфрагментом) ( subfragment) другого. Фрагмент | них является частью ( ''подфрагментом'') ( ''subfragment'') другого. Фрагмент | ||
<math>G</math> --- [[Основной фрагмент|''основной'']] (''[[Main fragment|main]]'') фрагмент иерархии | <math>G</math> --- [[Основной фрагмент|''основной'']] (''[[Main fragment|main]]'') фрагмент иерархии | ||
<math>F</math>. Фрагмент <math>C \in F</math> --- [[Элементарный фрагмент|''элементарный'']] ([[Simple fragment|simple]]), если в <math>F</math> | <math>F</math>. Фрагмент <math>C \in F</math> --- [[Элементарный фрагмент|''элементарный'']] ([[Simple fragment|simple]]), если в <math>F</math> | ||
Строка 16: | Строка 16: | ||
Пусть задана некоторая иерархия фрагментов <math>F</math> графа <math>G</math>. | Пусть задана некоторая иерархия фрагментов <math>F</math> графа <math>G</math>. | ||
Для любых <math>C_1, C_2 \in F</math> фрагмент <math>C_1</math> --- [[прямой подфрагмент]] ([[immediate subfragment]]) <math>C_2</math> (или, что то же самое, фрагмент, [[непосредственно вложенный]] (immediately included) в <math>C_2</math>),если <math>C_1</math> --- подфрагмент <math>C_2</math> и не существует такого | Для любых <math>C_1, C_2 \in F</math> фрагмент <math>C_1</math> --- [[прямой подфрагмент|''прямой подфрагмент'']] ([[immediate subfragment|''immediate subfragment'']]) <math>C_2</math> (или, что то же самое, фрагмент, [[непосредственно вложенный]] (immediately included) в <math>C_2</math>),если <math>C_1</math> --- подфрагмент <math>C_2</math> и не существует такого | ||
<math>C_3 \in F</math>, отличного от <math>C_1</math> и <math>C_2</math>,что | <math>C_3 \in F</math>, отличного от <math>C_1</math> и <math>C_2</math>,что | ||
<math>C_1\subseteq C_3\subseteq C_2</math>. | <math>C_1\subseteq C_3\subseteq C_2</math>. | ||
Строка 29: | Строка 29: | ||
максимальное поддерево дерева <math>T</math> с корнем <math>p</math>, а через <math>G(p)</math> | максимальное поддерево дерева <math>T</math> с корнем <math>p</math>, а через <math>G(p)</math> | ||
--- фрагмент основного графа <math>G</math>, соответствующий <math>p</math>. | --- фрагмент основного графа <math>G</math>, соответствующий <math>p</math>. | ||
Иерархический граф <math>H (p) = (G(p), T(p))</math> называется [[Иерархический подграф|иерархическим подграфом]] (''[[hierarchical subgraph]]'') графа | Иерархический граф <math>H (p) = (G(p), T(p))</math> называется [[Иерархический подграф|''иерархическим подграфом'']] (''[[hierarchical subgraph]]'') графа | ||
<math>H</math>, ассоциированным с вершиной | <math>H</math>, ассоциированным с вершиной | ||
<math>p</math>. | <math>p</math>. | ||
Строка 44: | Строка 44: | ||
образуют такие <math>H = (G,T)</math>, | образуют такие <math>H = (G,T)</math>, | ||
что каждая вершина дерева вложенности <math>T</math> соответствует | что каждая вершина дерева вложенности <math>T</math> соответствует | ||
некоторому порожденному подграфу (induced subgraph) основного графа <math>G</math>. Такие графы будем называть ''[[Простой иерархический граф|простыми]]'' (''[[Simple hierarchical graph|simple]]'') иерархическими графами. Поскольку подграфы однозначно определяются множествами своих вершин, | некоторому порожденному подграфу (induced subgraph) основного графа <math>G</math>. Такие графы будем называть ''[[Простой иерархический граф|простыми]]'' (''[[Simple hierarchical graph|simple]]'') иерархическими графами. Поскольку порожденные подграфы однозначно определяются множествами своих вершин, | ||
есть возможность определять простой иерархический граф <math>H</math> | есть возможность определять простой иерархический граф <math>H</math> | ||
как пару <math>(G,T)</math>, состоящую из основного графа <math>G</math> и | как пару <math>(G,T)</math>, состоящую из основного графа <math>G</math> и |
Версия от 17:35, 4 ноября 2024
Пусть [math]\displaystyle{ G }[/math] обозначает граф произвольного вида, элементы (вершины и ребра) которого отличаются один от другого какими-либо пометками, называемыми их именами, например: [math]\displaystyle{ G }[/math] может быть обыкновенным графом, орграфом (ориентированным графом), мультиграфом или гиперграфом.
Граф [math]\displaystyle{ C }[/math] называется фрагментом (fragment) графа [math]\displaystyle{ G }[/math], обозначаем [math]\displaystyle{ C\subseteq G }[/math], если [math]\displaystyle{ C }[/math] --- часть графа [math]\displaystyle{ G }[/math], т. е. [math]\displaystyle{ C }[/math] образован подмножеством элементов графа [math]\displaystyle{ G }[/math].
[math]\displaystyle{ F }[/math] --- иерархия фрагментов (hierarchy of nested fragments) графа [math]\displaystyle{ G }[/math], если [math]\displaystyle{ F }[/math] --- такое множество фрагментов графа [math]\displaystyle{ C }[/math], что [math]\displaystyle{ G\in F }[/math] и для любых двух фрагментов [math]\displaystyle{ C_1 }[/math] и [math]\displaystyle{ C_2 }[/math] из [math]\displaystyle{ F }[/math] либо фрагменты [math]\displaystyle{ C_1 }[/math] и [math]\displaystyle{ C_2 }[/math] не пересекаются, либо один из них является частью ( подфрагментом) ( subfragment) другого. Фрагмент [math]\displaystyle{ G }[/math] --- основной (main) фрагмент иерархии [math]\displaystyle{ F }[/math]. Фрагмент [math]\displaystyle{ C \in F }[/math] --- элементарный (simple), если в [math]\displaystyle{ F }[/math] нет фрагментов [math]\displaystyle{ G }[/math], являющихся подфрагментами фрагмента [math]\displaystyle{ C }[/math].
Пусть задана некоторая иерархия фрагментов [math]\displaystyle{ F }[/math] графа [math]\displaystyle{ G }[/math]. Для любых [math]\displaystyle{ C_1, C_2 \in F }[/math] фрагмент [math]\displaystyle{ C_1 }[/math] --- прямой подфрагмент (immediate subfragment) [math]\displaystyle{ C_2 }[/math] (или, что то же самое, фрагмент, непосредственно вложенный (immediately included) в [math]\displaystyle{ C_2 }[/math]),если [math]\displaystyle{ C_1 }[/math] --- подфрагмент [math]\displaystyle{ C_2 }[/math] и не существует такого [math]\displaystyle{ C_3 \in F }[/math], отличного от [math]\displaystyle{ C_1 }[/math] и [math]\displaystyle{ C_2 }[/math],что [math]\displaystyle{ C_1\subseteq C_3\subseteq C_2 }[/math].
Иерархический граф (hierarchical graph) [math]\displaystyle{ H = (G,T) }[/math] состоит из графа [math]\displaystyle{ G }[/math] и корневого дерева [math]\displaystyle{ T }[/math], вершины которого соответствуют элементам некоторой иерархии в [math]\displaystyle{ G }[/math], а дуги отражают отношение их непосредственной вложенности. [math]\displaystyle{ T }[/math] называется деревом вложенности (inclusion tree), а [math]\displaystyle{ G }[/math] --- основным графом (underlying graph) иерархического графа [math]\displaystyle{ H }[/math].
Для любой вершины [math]\displaystyle{ p }[/math] дерева [math]\displaystyle{ T }[/math] через [math]\displaystyle{ T(p) }[/math] обозначается максимальное поддерево дерева [math]\displaystyle{ T }[/math] с корнем [math]\displaystyle{ p }[/math], а через [math]\displaystyle{ G(p) }[/math] --- фрагмент основного графа [math]\displaystyle{ G }[/math], соответствующий [math]\displaystyle{ p }[/math]. Иерархический граф [math]\displaystyle{ H (p) = (G(p), T(p)) }[/math] называется иерархическим подграфом (hierarchical subgraph) графа [math]\displaystyle{ H }[/math], ассоциированным с вершиной [math]\displaystyle{ p }[/math].
Граф [math]\displaystyle{ H= (G,T) }[/math] называется связным, если для любой вершины [math]\displaystyle{ p }[/math] дерева [math]\displaystyle{ T }[/math] фрагмент [math]\displaystyle{ G(p) }[/math] основного графа [math]\displaystyle{ G }[/math], соответствующий [math]\displaystyle{ p }[/math], является связным.
Пусть [math]\displaystyle{ H_1=(G_1,T_1) }[/math] и [math]\displaystyle{ H_2=(G_2,T_2) }[/math] --- два иерархических графа. [math]\displaystyle{ H_1 }[/math] называется подграфом [math]\displaystyle{ H_2 }[/math], если [math]\displaystyle{ T_1 }[/math] --- поддерево дерева [math]\displaystyle{ T_2 }[/math] и для любой вершины [math]\displaystyle{ p }[/math] из [math]\displaystyle{ T_1 }[/math] граф [math]\displaystyle{ G_1(p) }[/math] --- часть графа [math]\displaystyle{ G_2(p) }[/math].
Важный частный случай иерархических графов образуют такие [math]\displaystyle{ H = (G,T) }[/math], что каждая вершина дерева вложенности [math]\displaystyle{ T }[/math] соответствует некоторому порожденному подграфу (induced subgraph) основного графа [math]\displaystyle{ G }[/math]. Такие графы будем называть простыми (simple) иерархическими графами. Поскольку порожденные подграфы однозначно определяются множествами своих вершин, есть возможность определять простой иерархический граф [math]\displaystyle{ H }[/math] как пару [math]\displaystyle{ (G,T) }[/math], состоящую из основного графа [math]\displaystyle{ G }[/math] и вершинного дерева вложенности [math]\displaystyle{ T }[/math], удовлетворяющего следующим условиям. Вершины дерева [math]\displaystyle{ T }[/math] соответствуют некоторым подмножествам вершин основного графа [math]\displaystyle{ G }[/math] таким образом, что подмножества вершин, соответствующие листьям [math]\displaystyle{ T }[/math], образуют разбиение множества всех вершин графа [math]\displaystyle{ G }[/math] на одноэлементные подмножества. Дуги дерева [math]\displaystyle{ T }[/math] отражают непосредственную вложенность соответствующих подмножеств. Такое представление иерархического графа будем называть вершинным (apex).
Кластерный граф (clustered graph) --- это простой вершинный иерархический граф с неориентированным основным графом.
Литература
- Касьянов В. Н., Евстигнеев В. А. Графы в программировании: обработка, визуализация и применение. – СПб.: БХВ-Петербург, 2003. – 1104 c.
- Касьянов В.Н., Касьянова Е.В. Визуализация информации на основе графовых моделей // Научная визуализация. – 2014. – Том. 6, N 1. – С. 31 – 50.
- Касьянов В.Н., Касьянова Е.В. Визуализация информации на основе графовых моделей. – Новосибирск: НГУ, 2014. – 149 с.