Транзитивное замыкание — различия между версиями
м (→Существование и описание) |
м (→Построение транзитивного замыкания) |
||
Строка 18: | Строка 18: | ||
Представленное доказательство указывает на способ построения транзитивного замыкания, а также позволяет определить транзитивное замыкание отношения <tex>R</tex> как отношение <tex>T</tex> такое, что <tex>aTb</tex> тогда и только тогда, когда существуют <tex>x_1, x_2, ..., x_n</tex> такие, что <tex>aRx_1</tex>, <tex>x_1Rx_2</tex>, <tex>x_2Rx_3</tex>, ..., <tex>x_{n-1}Rx_n</tex>, <tex>x_nRb</tex>, то есть существует путь из вершины <tex>a</tex> в вершину <tex>b</tex> по рёбрам графа отношения. | Представленное доказательство указывает на способ построения транзитивного замыкания, а также позволяет определить транзитивное замыкание отношения <tex>R</tex> как отношение <tex>T</tex> такое, что <tex>aTb</tex> тогда и только тогда, когда существуют <tex>x_1, x_2, ..., x_n</tex> такие, что <tex>aRx_1</tex>, <tex>x_1Rx_2</tex>, <tex>x_2Rx_3</tex>, ..., <tex>x_{n-1}Rx_n</tex>, <tex>x_nRb</tex>, то есть существует путь из вершины <tex>a</tex> в вершину <tex>b</tex> по рёбрам графа отношения. | ||
− | + | {{Теорема | |
+ | |statement= | ||
+ | Если <tex>R</tex> - отношение на конечном множестве размера n, то транзитивным замыканием такого отношения будет отношение | ||
:<tex>T = \bigcup\limits_{i = 1}^{n} R^i</tex>. | :<tex>T = \bigcup\limits_{i = 1}^{n} R^i</tex>. | ||
− | Действительно, если по рёбрам графа есть путь длины <tex>l > n</tex>, то он проходит по всем вершинам графа, а, значит, в этом пути есть цикл и его можно отбросить, тем самым уменьшив длину пути. Длину пути можно уменьшать до того, | + | |proof= |
+ | Действительно, если по рёбрам графа есть путь длины <tex>l > n</tex>, то он проходит по всем вершинам графа, а, значит, в этом пути есть цикл и его можно отбросить, тем самым уменьшив длину пути. Длину пути можно уменьшать до того, пока она не будет превосходить количество вершин графа (элементов множества), а значит, все пути длины более, чем <tex>n</tex> можно "выкинуть" из объединения. | ||
+ | }} | ||
Для построения транзитивного отношения множества, заданного матрицей смежности, используется [[алгоритм Флойда — Уоршелла]]. | Для построения транзитивного отношения множества, заданного матрицей смежности, используется [[алгоритм Флойда — Уоршелла]]. |
Версия 06:08, 16 октября 2010
Транзитивным замыканием
отношения на множестве называется пересечение всех транзитивных отношений, содержащих как подмножество (иначе, минимальное транзитивное отношение, содержащее как подмножество). Например, если - множество городов, и на них задано отношение , означающее, что если , то "существует автобусный маршрут из x в y", то транзитивным замыканием этого отношения будет отношение "существует возможность добраться из x в y, передвигаясь на автобусах".Содержание
Существование и описание
Транзитивное замыкание существует для любого отношения. Для этого отметим, что пересечение любого множества транзитивных отношений транзитивно. Более того, обязательно существует транзитивное отношение, содержащее
как подмножество (например, ).Теорема: |
Докажем, что является транзитивным замыканием отношения .
|
Доказательство: |
|
Построение транзитивного замыкания
Представленное доказательство указывает на способ построения транзитивного замыкания, а также позволяет определить транзитивное замыкание отношения
как отношение такое, что тогда и только тогда, когда существуют такие, что , , , ..., , , то есть существует путь из вершины в вершину по рёбрам графа отношения.Теорема: |
Если - отношение на конечном множестве размера n, то транзитивным замыканием такого отношения будет отношение
|
Доказательство: |
Действительно, если по рёбрам графа есть путь длины | , то он проходит по всем вершинам графа, а, значит, в этом пути есть цикл и его можно отбросить, тем самым уменьшив длину пути. Длину пути можно уменьшать до того, пока она не будет превосходить количество вершин графа (элементов множества), а значит, все пути длины более, чем можно "выкинуть" из объединения.
Для построения транзитивного отношения множества, заданного матрицей смежности, используется алгоритм Флойда — Уоршелла.
Свойства транзитивного замыкания
- Транзитивное замыкание рефлексивного отношения рефлексивно, так как транзитивное отношение содержит исходное отношение
- Транзитивное замыкание симметричного отношения симметрично. Действительно, пусть , значит существуют такие, что . Но из симметричности отношения следует , а, следовательно,
- Транзитивное замыкание не сохраняет антисимметричность, например, для отношения на множестве
- Транзитивное замыкание транзитивного отношения - оно само
Рефлексивно-транзитивное замыкание
Отношение
, гдеиногда называют рефлексивно-транзитивным замыканием, хотя часто под "транзитивным замыканием" подразумевается именно
. Обычно различия между этими отношениями не являются значительными.