Транзитивное замыкание — различия между версиями
(→Построение транзитивного замыкания) |
|||
Строка 19: | Строка 19: | ||
== Построение транзитивного замыкания == | == Построение транзитивного замыкания == | ||
− | Представленное доказательство указывает на способ построения транзитивного замыкания, а также позволяет определить транзитивное замыкание отношения <tex>R</tex> как отношение <tex>T</tex> такое, что <tex>aTb</tex> тогда и только тогда, когда существуют <tex>x_1, x_2, | + | Представленное доказательство указывает на способ построения транзитивного замыкания, а также позволяет определить транзитивное замыкание отношения <tex>R</tex> как отношение <tex>T</tex> такое, что <tex>aTb</tex> тогда и только тогда, когда существуют <tex>x_1, x_2, \ldots, x_n</tex> такие, что <tex>aRx_1</tex>, <tex>x_1Rx_2</tex>, <tex>x_2Rx_3</tex>, \ldots, <tex>x_{n-1}Rx_n</tex>, <tex>x_nRb</tex>, то есть существует путь из вершины <tex>a</tex> в вершину <tex>b</tex> по рёбрам графа отношения. |
{{Теорема | {{Теорема | ||
Строка 34: | Строка 34: | ||
== Свойства транзитивного замыкания == | == Свойства транзитивного замыкания == | ||
* Транзитивное замыкание рефлексивного отношения рефлексивно, так как транзитивное отношение содержит исходное отношение | * Транзитивное замыкание рефлексивного отношения рефлексивно, так как транзитивное отношение содержит исходное отношение | ||
− | * Транзитивное замыкание симметричного отношения симметрично. Действительно, пусть <tex>aTb</tex>, значит существуют <tex>x_1, x_2, | + | * Транзитивное замыкание симметричного отношения симметрично. Действительно, пусть <tex>aTb</tex>, значит существуют <tex>x_1, x_2, \ldots, x_n</tex> такие, что <tex>aRx_1, x_1Rx_2, \ldots, x_nRb</tex>. Но из симметричности отношения <tex>R</tex> следует <tex>bRx_n, x_nRx_{n-1}, \ldots, x_1Ra</tex>, а, следовательно, <tex>bTa</tex> |
* Транзитивное замыкание не сохраняет антисимметричность, например, для отношения <tex>\{(a, b), (b, c), (c, a)\}</tex> на множестве <tex>\{a, b, c\}</tex> | * Транзитивное замыкание не сохраняет антисимметричность, например, для отношения <tex>\{(a, b), (b, c), (c, a)\}</tex> на множестве <tex>\{a, b, c\}</tex> | ||
* Транзитивное замыкание транзитивного отношения {{---}} оно само | * Транзитивное замыкание транзитивного отношения {{---}} оно само | ||
Строка 42: | Строка 42: | ||
:<tex>R^0 = \{(e, e) | e \in X\}</tex> | :<tex>R^0 = \{(e, e) | e \in X\}</tex> | ||
иногда называют рефлексивно-транзитивным замыканием, хотя часто под "транзитивным замыканием" подразумевается именно <tex>R^*</tex>. Обычно различия между этими отношениями не являются значительными. | иногда называют рефлексивно-транзитивным замыканием, хотя часто под "транзитивным замыканием" подразумевается именно <tex>R^*</tex>. Обычно различия между этими отношениями не являются значительными. | ||
+ | |||
+ | == См. также == | ||
+ | * [[Транзитивное_отношение|Транзитивное отношение]] | ||
+ | * [[Алгоритм_Флойда_—_Уоршалла|Алгоритм Флойда-Уоршалла (построение транзитивного замыкания отношения)]] | ||
+ | * [[Транзитивный_остов|Транзитивный остов]] | ||
== Источники информации == | == Источники информации == |
Версия 16:29, 27 декабря 2017
Определение: |
Транзитивным замыканием (англ. transitive closure) транзитивное отношение, содержащее как подмножество). | отношения на множестве называется пересечение всех транзитивных отношений, содержащих как подмножество (иначе, минимальное
Например, если
— множество городов, и на них задано отношение , означающее, что если , то "существует автобусный маршрут из в ", то транзитивным замыканием этого отношения будет отношение "существует возможность добраться из в , передвигаясь на автобусах".Содержание
Существование и описание
Транзитивное замыкание существует для любого отношения. Для этого отметим, что пересечение любого множества транзитивных отношений транзитивно. Более того, обязательно существует транзитивное отношение, содержащее
как подмножество (например, ).Теорема: |
Докажем, что является транзитивным замыканием отношения .
|
Доказательство: |
|
Построение транзитивного замыкания
Представленное доказательство указывает на способ построения транзитивного замыкания, а также позволяет определить транзитивное замыкание отношения
как отношение такое, что тогда и только тогда, когда существуют такие, что , , , \ldots, , , то есть существует путь из вершины в вершину по рёбрам графа отношения.Теорема: |
Если — отношение на конечном множестве размера n, то транзитивным замыканием такого отношения будет отношение
|
Доказательство: |
Действительно, если по рёбрам графа есть путь длины | , то он проходит по всем вершинам графа, а, значит, в этом пути есть цикл и его можно отбросить, тем самым уменьшив длину пути. Длину пути можно уменьшать до того, пока она не будет не превосходить количество вершин графа (элементов множества), а значит, все пути длины более, чем можно "выкинуть" из объединения.
Для построения транзитивного замыкания отношения, заданного матрицей смежности, используется алгоритм Флойда — Уоршелла.
Свойства транзитивного замыкания
- Транзитивное замыкание рефлексивного отношения рефлексивно, так как транзитивное отношение содержит исходное отношение
- Транзитивное замыкание симметричного отношения симметрично. Действительно, пусть , значит существуют такие, что . Но из симметричности отношения следует , а, следовательно,
- Транзитивное замыкание не сохраняет антисимметричность, например, для отношения на множестве
- Транзитивное замыкание транзитивного отношения — оно само
Рефлексивно-транзитивное замыкание
Отношение
, гдеиногда называют рефлексивно-транзитивным замыканием, хотя часто под "транзитивным замыканием" подразумевается именно
. Обычно различия между этими отношениями не являются значительными.См. также
- Транзитивное отношение
- Алгоритм Флойда-Уоршалла (построение транзитивного замыкания отношения)
- Транзитивный остов