Транзитивное сокращение

Перейти к навигацииПерейти к поиску

В математике транзитивным сокращением бинарного отношения R на множестве X называется минимальное отношение на X, такое, что транзитивное замыкание совпадает с транзитивным замыканием R. Если транзитивное замыкание R антисимметрично и конечно, то единственно. Однако ни существование, ни единственность в общем случае не гарантированы.

Пример

В теории графов любое бинарное отношение R на X можно понимать как ориентированный граф (V, A), где V = X — это вершины и A = R — дуги графа. Транзитивное сокращение графа иногда называют минимальным представлением. Следующие рисунки представляют нетранзитивное отношение (слева) и его транзитивное сокращение (справа).

Транзитивное сокращение конечного ориентированного ацикличного графа единственно.

Алгоритмы транзитивного сокращения

Транзитивное сокращение отношения без циклов можно найти используя его транзитивное замыкание :

Здесь означает композицию отношений.

Ахо, Гарей и Ульман (1972), введшие в обиход термин «транзитивное сокращение» в описываемом здесь смысле, установили также связь между транзитивным замыканием и сокращением:

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

Утилита tred в Graphviz[1] осуществляет транзитивное сокращение графа, используя поиск в глубину.

Расширяемые структура данных

Одной из самых хорошо изученных проблем в вычислительной теории графов является хранение последовательной истории транзитивных замыканий графа при вставке или удалении вершин и дуг. В 1987-м году Потре (J. A. La Poutré) и Жан ван Льювен (Jan van Leeuwen) описали в своем часто цитируемом труде Maintenance Of Transitive Closures And Transitive Reductions Of Graphs («Управление транзитивными замыканиями и сокращениями графа») алгоритм хранения истории как для замыкания, так и для сокращения графа.[2]

Алгоритм использует

O(|Enew||V|)

время для последовательной вставки дуг и

O(|Eold||V|+|Eold|2)

для последовательного удаления, где Eold — набор дуг перед вставкой или удалением и Enew — после. Для графов, в которых отсутствуют циклы, удаление требует только

O(|Eold||V|)

времени.

См. также

Ссылки

  1. AT&T Labs Research - Software Tools. Дата обращения: 15 января 2013. Архивировано 28 января 2013 года.
  2. CiteSeerX — Maintenance Of Transitive Closures And Transitive Reductions Of Graphs. Дата обращения: 15 января 2013. Архивировано 28 января 2013 года.

Замечания

  • A. Aho, M. Garey, J. Ullman. The Transitive Reduction of a Directed Graph (англ.) // SIAM Journal on Computing[англ.] : journal. — 1972. — June (vol. 1, no. 2). — P. 131—137. — doi:10.1137/0201008.

Ссылки

  • Mathworld: Transitive reduction
  • Э.Рейнгольд, Ю.Нивергельт, Н.Део КОМБИНАТОРНЫЕ АЛГОРИТМЫ. ТЕОРИЯ И ПРАКТИКА М.: Мир, 1980, 476 стр.