Транзитивный остов
Версия от 17:52, 11 апреля 2012; Katyatitkova (обсуждение | вклад)
Определение: |
Транзитивным остовом (transitive reduction) отношения на множестве называется минимальное отношение на такое, что транзитивное замыкание равно транзитивному замыканию . |
Алгоритм для антисимметричных отношений
Для удобства представим отношение в виде графа:
. Его транзитивным остовом будет граф . Так как отношение антисимметрично, то граф ацикличен.Теорема: |
вершина достижима из |
Доказательство: |
Пусть Теперь предположим, что . Тогда (иначе после удаления ребра из получится меньший граф с тем же транзитивным замыканием, что противоречит определению). Поэтому в пути от к в графе есть как минимум одно ребро. Предположим, что . Так как граф ацикличен, . Так же так как транзитивное замыкание равно транзитивному замыканию , в графе вершина достижима из , а — из . также ацикличен, поэтому в пути от к не может быть ребра . Также в пути от к не может быть ребра . Поэтому существует путь в от к , который не содержит ребро . Поэтому удаление ребра не изменяет транзитивное замыкание. . Так как ацикличен, и отсюда в вершина достижима из . Поскольку , существует вершина такая, что есть путь из в и из в , и . Это значит, что в что есть путь из в и из в (причём в каждом пути будет как минимум по одному ребру). Поскольку ацикличен, это значит, что в существует вершина такая, что есть путь как минимум в одно ребро из в и есть ребро . Это противоречит нашему предположению. |
Псевдокод
R' = R foreach a in X foreach b in X foreach c in X if aRb and bRc and aRc R'.delete(pair(a, c))
Источники
- Wikipedia: Transitive reduction
- J.A. La Poutré and J. van Leeuwen «Maintenance of transitive closures and transitive reductions of graphs», 1987