Транзитивное замыкание — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (Свойства транзитивного замыкания)
м (Свойства транзитивного замыкания)
Строка 26: Строка 26:
 
* Транзитивное замыкание рефлексивного отношения рефлексивно, так как транзитивное отношение содержит исходное отношение
 
* Транзитивное замыкание рефлексивного отношения рефлексивно, так как транзитивное отношение содержит исходное отношение
 
* Транзитивное замыкание симметричного отношения симметрично. Действительно, пусть <math>aTb</math>, значит существуют <math>x_1, x_2, ..., x_n</math> такие, что <math>aRx_1, x_1Rx_2, ..., x_nRb</math>. Но из симметричности отношения <math>R</math> следует <math>bRx_n, x_nRx_{n-1}, ..., x_1Ra</math>, а, следовательно, <math>bTa</math>
 
* Транзитивное замыкание симметричного отношения симметрично. Действительно, пусть <math>aTb</math>, значит существуют <math>x_1, x_2, ..., x_n</math> такие, что <math>aRx_1, x_1Rx_2, ..., x_nRb</math>. Но из симметричности отношения <math>R</math> следует <math>bRx_n, x_nRx_{n-1}, ..., x_1Ra</math>, а, следовательно, <math>bTa</math>
* Транзитивное замыкание не сохраняет антисимметричность, например, для отношения <math>{(a, b), (b, c), (c, a)}</math> на множестве <math>{a, b, c}</math>
+
* Транзитивное замыкание не сохраняет антисимметричность, например, для отношения <math>\{(a, b), (b, c), (c, a)\}</math> на множестве <math>\{a, b, c\}</math>

Версия 22:43, 28 сентября 2010

Эта статья находится в разработке!

Транзитивным замыканием [math]\mathrm{TrCl}(R)[/math] отношения [math]R[/math] на множестве [math]X[/math] называется пересечение всех транзитивных отношений, содержащих [math]R[/math] как подмножество (иначе, минимальное транзитивное отношение, содержащее [math]R[/math] в качестве подмножества). Например, если [math]V[/math] - множество городов, и на них задано отношение [math]R[/math], означающее, что если x R y, то "существует автобусный маршрут из x в y", то транзитивным замыканием этого отношения будет отношение "существует возможность добраться из x в y, передвигаясь на автобусах".

Существование и описание

Транзитивное замыкание существует для любого отношения. Для этого отметим, что пересечение любого множества транзитивных отношений транзитивно. Более того, обязательно существует транзитивное отношение, содержащее [math]R[/math] как подмножество (например, [math]X \times X[/math]).

Докажем, что [math]R^+[/math] является транзитивным замыканием отношения [math]R[/math].

[math]R^+ = \bigcup\limits_{i \in \mathbb{N}} R^i[/math]
  • [math]R \subset R^+[/math] по определению [math]R^+[/math]
  • [math]R^+[/math] транзитивно. Пусть [math]a R^+ b[/math] и [math]b R^+ c[/math]. Это значит, что существуют i, j такие, что [math]a R^i b[/math] и [math]b R^j c[/math]. Но тогда [math]a R^{i+j} b[/math], и, так как [math]R^{i+j} \subset R^+ \rightarrow a R^+ b[/math]
  • [math]R^+[/math] - минимальное отношение, удовлетворяющее представленным требованиям. Пусть [math]T[/math] - транзитивное отношение, содержащее [math]R[/math] в качестве подмножества. Покажем, что [math]R^+ \subset T[/math]. [math]R \subset T \longleftrightarrow R^i \subset T[/math] для любого натурального [math]i[/math]. Докажем это по индукции. [math]R^1 = R \subset R^+[/math], как было показано выше. Пусть верно для любого [math]i \le k[/math]. Пусть [math]a R^{k+1} c[/math]. Но тогда существует [math]b: aR^kb[/math] и [math]bRc[/math], но [math]R \subset T, R^k \subset T[/math], следовательно [math]aTb, bTc[/math]. Из транзитивности [math]T[/math] следует, что [math]aTc[/math], следовательно [math]R^{k+1} \subset T[/math], что и требовалось доказать

Построение транзитивного замыкания

Представленное доказательство указывает на способ построения транзитивного замыкания, а также позволяет определить транзитивное замыкание отношения [math]R[/math] - это такое отношение [math]T[/math], что [math]aTb[/math] тогда и только тогда, когда существуют [math]x_1, x_2, ..., x_n[/math] такие, что [math]aRx_1[/math], [math]x_1Rx_2[/math], [math]x_2Rx_3[/math], ..., [math]x_{n-1}Rx_n[/math], [math]x_nRb[/math], то есть существует путь из вершины [math]a[/math] в вершину [math]b[/math] по рёбрам графа отношения.

Из этого определения можно легко понять, если [math]R[/math] - отношение на конечном множестве размера n, то транзитивным замыканием такого отношения будет отношение

[math]T = \bigcup\limits_{i = 1}^{n} R^i[/math].

Действительно, если по рёбрам графа есть путь длины [math]l \gt n[/math], то он проходит по всем вершинам графа, а, значит, в этом пути есть цикл и его можно отбросить, тем самым уменьшив длину пути. Длину пути можно уменьшать до того, как она не будет превосходить количество вершин графа (элементов множества), а значит, все пути длины более, чем [math]n[/math] можно "выкинуть" из объединения.

Для построения транзитивного отношения множества, заданного матрицей смежности, используется алгоритм Флойда-Уоршала.

Свойства транзитивного замыкания

  • Транзитивное замыкание рефлексивного отношения рефлексивно, так как транзитивное отношение содержит исходное отношение
  • Транзитивное замыкание симметричного отношения симметрично. Действительно, пусть [math]aTb[/math], значит существуют [math]x_1, x_2, ..., x_n[/math] такие, что [math]aRx_1, x_1Rx_2, ..., x_nRb[/math]. Но из симметричности отношения [math]R[/math] следует [math]bRx_n, x_nRx_{n-1}, ..., x_1Ra[/math], а, следовательно, [math]bTa[/math]
  • Транзитивное замыкание не сохраняет антисимметричность, например, для отношения [math]\{(a, b), (b, c), (c, a)\}[/math] на множестве [math]\{a, b, c\}[/math]