Стягивание ребра

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Стягивание вершин»)
Перейти к навигации Перейти к поиску
Стягивание ребра между помеченными вершинами.

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

Определение

[править | править код]

Операция стягивания ребра производится над конкретным ребром e. Ребро e удаляется, а две его инцидентные вершины, u и v, сливаются в новую вершину w, где рёбра, инцидентные w, соответствуют рёбрам, инцидентным либо u, либо v. Более обще, операция может быть проведена на множестве рёбер путём стягивания рёбер из множества (в любом порядке)[1].

Как определено ниже, операция стягивания ребра может дать граф с кратными рёбрами даже если исходный граф был простым графом[2]. Однако некоторые авторы[3] не разрешают создание кратных рёбер, при таком ограничении стягивание рёбер на простом графе всегда даёт простые графы.

Формальное определение

[править | править код]

Пусть G=(V,E) — граф (или ориентированный граф), содержащий ребро e=(u,v) с uv. Пусть f — функция, которая отображает любую вершину в V\{u,v} в себя, а в противном случае — в вершину w. Стягивание e приводит к новому графу G′=(V′,E′), где V′=(V\{u,v})∪{w}, E′=E\{e}, и для любой вершины xV, вершина x′=f(x)∈V′ инцидентна ребру e′E′ тогда и только тогда, когда соответствующее ребро eE инцидентно x в G.

Отождествление вершин

[править | править код]

Отождествление вершин (иногда называется стягиванием вершин) не использует ограничение, что стягивание должно проводиться с вершинами, инцидентными одному ребру (таким образом, стягивание ребра является частным случаем отождествления вершин). Эта операция может быть проведена с любой парой (или подмножеством) вершин в графе. Рёбра между двумя стягиваемыми вершинами иногда удаляются. Если v и v' — вершины различных компонент графа G, то мы можем создать новый граф G' путём отождествления v и v' в G в новую вершину v в G'[4].

Расщепление вершин

[править | править код]

Расщепление вершин означает замену одной вершины на две, и эти две новые вершины смежны вершинам, которым была смежна исходная вершина. Операция является обратной отождествлению вершин.

Стягивание пути

[править | править код]

Стягивание пути производится с множеством рёбер в пути, которые стягиваются, образуя одно ребро между конечными вершинами пути. Рёбра, инцидентные вершинам вдоль пути, либо исключаются, либо случайным образом (или по некой системе) соединяются с одной из конечных точек.

Скручивание

[править | править код]

Если даны два непересекающихся графа G1 and G2, где G1 содержит вершины u1 и v1, а G2 содержит вершины u2 и v2. Предположим, что мы получили граф G путём отождествления вершин u1 графа G1 и u2 графа G2, получая вершину u в G, и отождествления вершин v1 графа G1 и v2 графа G2, получая вершину v в G. В скручивании G' графа G относительно пары вершин {u, v}, мы отождествляем вместо указанных выше вершины u1 с v2 и v1 с u2[5].

Приложения

[править | править код]

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

Стягивание ребра используется в рекурсивной формуле числа стягивающих деревьев случайного связного графа[1] и в рекуррентной формуле для хроматического полинома простого графа[6].

Стягивание также полезно в структурах, где мы желаем упростить граф путём отождествления вершин, которые представляют существенно эквивалентные объекты. Наиболее известным примером является сведение общего ориентированного графа к ориентированному ациклическому графу стягиванием всех вершин в каждой компоненте сильной связности. Если отношение, описываемое графом является транзитивным, никакая информация не теряется, если пометить каждую вершину множеством меток вершин, которые были стянуты в данную вершину.

Другой пример — слияние, проводимое в раскраске графа при глобальном распределении регистров, где вершины сливаются (где можно) для исключения операций перемещения данных между различными переменными.

Стягивание ребра используется в пакетах трёхмерного моделирования (либо вручную, либо с помощью моделирующих программ) для последовательного сокращения числа вершин с целью создания моделей в виде многоугольников с малым числом сторон.

Примечания

[править | править код]
  1. 1 2 Gross, Yellen, 1998, с. 264.
  2. Могут также появиться петли, если исходный граф имел кратные рёбра. Петли могут появиться и из простого графа, если стянуть несколько рёбер.
  3. Rosen, 2011, с. 664.
  4. Oxley, 1992, с. 147—148.
  5. Oxley, 1992, с. 148.
  6. West, 2001, с. 221.

Литература

[править | править код]
  • Jonathan Gross, Jay Yellen. Graph Theory and its applications. — CRC Press, 1998. — ISBN 0-8493-3982-0.
  • James Oxley[англ.]. Matroid Theory. — Oxford University Press, 1992.
  • Kenneth Rosen. Discrete Mathematics and Its Applications. — 7th. — McGraw-Hill, 2011. — ISBN 9780073383095.
  • Douglas B. West[англ.]. Introduction to Graph Theory. — 2nd. — Prentice-Hall, 2001. — ISBN 0-13-014400-2.