- Transitive closure
In
mathematics , the transitive closure of abinary relation "R" on a set "X" is the smallesttransitive relation on "X" that contains "R".For example, if "X" is a set of airports and "xRy" means "there is a direct flight from airport "x" to airport "y", then the transitive closure of "R" is the relation "it is possible to fly from "x" to "y" in one or more flights." Or, if "X" is the set of humans (alive or dead) and "R" is the relation 'parent of', then the transitive closure of "R" is the relation "x" is an ancestor of "y".
Existence and description
For any relation "R", the transitive closure of "R" always exists. To see this, note that the intersection of any family of transitive relations is again transitive. Furthermore,
there exists at least one transitive relation containing "R", namely the trivial one: "X" × "X". The transitive closure of "R" is then given by the intersection of all transitive relations containing "R".We can describe the transitive closure of "R" in more concrete terms as follows. Define a relation "T" on "X" by saying "xTy"
iff there exists a finitesequence of elements ("x""i") such that "x" = "x"0 and:"x"0"Rx"1, "x"1"Rx"2, …, "x""n"−1"Rx""n", and "x""n""Ry"Formally, one writes:It is easy to check that the relation "T" is transitive and contains "R". Furthermore, any transitive relation containing "R" must also contain "T", so "T" is the transitive closure of "R".
Demonstration that "T" is the smallest transitive relation containing "R"
Let "A" be any set of elements.
Supposition: "GA" transitive relationship "RA""GA" "TA""GA". So, "(a,b)""GA""(a,b)""TA". So, that particular "(a,b)""RA".
Now, by definition of "T", we know that "n" "(a,b)""RnA". Then, "i", "i""n" "ei""A". So, there is a path from "a" to "b" like this: "aRAe1RA...RAe(n-1)RAb".
But, by transitivity of "GA" on "RA", "i", "i""n" "(a,ei)""GA", so "(a,e(n-1))""GA" "(e(n-1),b)""GA", so by transitivity of "GA", we get "(a,b)""GA". A Contradiction of "(a,b)""GA".
Therefore, "(a,b)""A""A", "(a,b)""TA" "(a,b)""GA". This means that "T""G", for any transitive "G" containing "R". So, "T" is the smallest transitive relationship containing "R".
Corollary
If "R" is transitive, then "R" = "T".
Uses
Note that the union of two transitive relations need not be transitive. In order to preserve transitivity, one must take the transitive closure. This occurs, for example, when taking the union of two
equivalence relation s or twopreorder s. In order to obtain a new equivalence relation or preorder one must take the transitive closure (reflexivity and symmetry—in the case of equivalence relations—are automatic).The transitive closure of a
directed acyclic graph or DAG is thereachability relation of the DAG and astrict partial order .Graph Theory
In
computer science the concept of transitive closure can be thought of as constructing a data structure that makes it possible to answer reachability questions [ [http://www.cs.sunysb.edu/~algorith/files/transitive-closure.shtml Transitive Closure and Reduction] ] . That is, can one get from node a to node d in one or more hops? A binary relation tells you only that node a is connected to node b, and that node b is connected to node c, etc. After the transitive closure is constructed, as depicted in the following figure, in an O(1) operation one may determine that node d is reachable from node a. The data structure is typically stored as a matrix, so if matrix [1] [4] = 1, then it is the case that node 1 can reach node 4 through one or more hops.Relationship to complexity
In
computational complexity theory , thecomplexity class NL corresponds precisely to the set of logical sentences expressible usingfirst-order logic together with transitive closure. This is because the transitive closure property has a close relationship with theNL-complete problemSTCON for findingdirected path s in a graph. Similarly, the class L is first-order logic with the commutative, transitive closure. When transitive closure is added tosecond-order logic instead, we obtainPSPACE .Related concepts
* The
transitive reduction of a relation "R" is the smallest relation having the transitive closure of "R" as its transitive closure. In general, it is not unique.Algorithms
Efficient algorithms for computing the transitive closure of a graph can be found [http://www.cs.hut.fi/~enu/thesis.html here] . The simplest technique is probably the
Floyd-Warshall algorithm .References
Wikimedia Foundation. 2010.