Multidimensional Dominance Drawings and Their Applications

: In a dominance drawing Γ of a directed acyclic graph (DAG) G , a vertex v is reachable from a vertex u if, and only if all the coordinates of v are greater than or equal to the coordinates of u in Γ . Dominance drawings of DAGs are very important in many areas of research. They combine the aspect of drawing a DAG on the grid with the fact that the transitive closure of the DAG is apparently obvious by the dominance relation between grid points associated with the vertices. The smallest number d for which a given DAG G has a d -dimensional dominance drawing is called dominance drawing dimension, and it is NP-hard to compute. In this paper, we present efﬁcient algorithms for computing dominance drawings of G with a number of dimensions respecting theoretical bounds. We ﬁrst describe a simple algorithm that shows how to compute a dominance drawing of G from its compressed transitive closure. Next, we describe a more complicated algorithm, which is based on the concept of modular decomposition of G , and obtaining dominance drawings with a lower number of dimensions. Finally, we consider the concept of weak dominance, a relaxed version of the dominance, and we discuss interesting experimental results.


Introduction
Dominance drawings of directed acyclic graphs (DAGs) are very important in many areas of research, including graph drawing [1], computational geometry [2], and information visualization [3], even in very large databases [4], just to mention a few. They combine the aspect of drawing a DAG on the grid with the fact that the transitive closure of the DAG is apparently obvious by the dominance relation between grid points associated with the vertices. In other words, in a dominance drawing, a vertex v is reachable from a vertex u if, and only if all the coordinates of v are greater than or equal to the coordinates of u in Γ. Notice that it is not possible to find dominance drawings in two-dimensions for most DAGs. The smallest number d for which a given DAG G has a d-dimensional dominance drawing is called a dominance drawing dimension, and it is NP-hard to compute [5]. We denote by dd(G) the dominance drawing dimension of G. In this paper, we present algorithms for computing a k-dimensional dominance drawing of G, where k ≥ dd(G). Our algorithms are efficient and based on various decomposition techniques.
An st-graph is a DAG with one source s and one sink t. Every DAG can be transformed into an st-graph by adding a virtual source and connecting it to all the sources and by adding a virtual sink and connecting all the sinks to it. In this paper, we assume, without loss of generality, that every DAG is an st-graph. Let G = (V, E) be an st-graph. There are linear-time algorithms for computing two-dimensional dominance drawings of st-graphs that are planar (st-planar graphs) [6]. For non-planar st-graphs, more than two dimensions are usually required. A k-dimensional (k ≥ 1) drawing of G is a drawing of G having k dimensions that we denote by D 1 , . . . , D k . For every h ∈ [1, k] and v ∈ V, D h (v) is the coordinate in the dimension D h of v. In a k-dimensional dominance drawing of G, given Lemma 1. For any st-graph G, it is possible to decide in linear time if dd(G) = 2 [7,8], while it is NP-complete to decide if dd(G) = k for any k ≥ 3 [5]. If G is upward planar, it is possible to construct a two-dimensional dominance drawing of G in linear time [2].
Given a k-dimensional dominance drawing of a DAG G, it is possible to test the existence of a path connecting any two vertices of G in O(k) time. DAGs are used to represent information in databases. Computing dominance drawings of such DAGs having a low number of dimensions would be important in practice. Unfortunately, most of the existing algorithms for constructing dominance drawings require the input DAG to have specific properties, for example, to be planar, as stated in Lemma 1. For this reason, a relaxed version of dominance drawing, called weak dominance drawing, was introduced in [9]. The "if and only if" condition of dominance becomes an "if" condition in the weak dominance. This implies that the non-existence of a path between the two vertices is guaranteed by finding a dimension D for which D(u) > D(v), but the existence of a path is not guaranteed even if D(u) ≤ D(v) for all dimensions D of Γ. Hence, there is a falsely implied path (fip) between u and v when there is no path between u and v, even though D(u) ≤ D(v) for every dimension D of Γ. The existence of fips cannot be excluded since the number of dimensions in a weak dominance drawing is typically significantly less than dd(G).
Li, Hua, and Zhou considered high-dimensional weak dominance drawings in order to obtain efficient solutions to the reachability query problem [10]. Their experimental results show that their algorithms compute weak dominance drawings using few dimensions and having few fips. Extending their work, Lionakis et al. [11] showed that, for the same families of graphs considered in [10] and by using a number of dimensions similar to the one used in [10], it is possible to compute dominance drawings (i.e., 0 fips).
The technique used in [11] is similar to the one described in Section 2 of this paper. The computational time required to compute dominance drawings in [11] is still higher than the one to compute weak dominance drawings [10]. However, these results suggest that a possible direction for this line of research is to actually use directly dominance drawings instead of weak dominance drawings.
This technique is based on the concept of compressed transitive closure, which is a data structure introduced in [12] that can be used to answer any reachability query in O(1) and requires O(kn) space, where k is a parameter less than or equal to n.
In Section 3, we present algorithms that compute dominance drawings with a reduced number of dimensions, k, and show that k is a good upper bound of the dominance dimension number of a DAG. These algorithms are based on a clever decomposition of a DAG denoted by modular decomposition, where a module of a DAG G = (V, E) is a Definition 1. A chain cover S c of G is a set of chains of G having the following two properties: (a) S c is a partition of G \ {s, t}; (b) s and t are contained in every chain of S c .
An antichain A is a set of vertices such that any pair of vertices v, w ∈ A is incomparable. Notice that the maximum cardinality of an antichain is equivalent to the width of G. Dilworth [15] proves that the minimum number of chains needed to cover all the vertices of an st-graph G is equivalent to the maximum cardinality of the antichain G. We have the following lemma: Lemma 3. Let G be an st-graph with n vertices and let f be its width. The minimum cardinality of a chain cover of G is f [15]. Additionally, it is possible to compute a chain cover of G with cardinality f in O( f n 2 ) time [16].
See Figure 1a, where S c = {C 1 , C 2 } is a chain cover of graph G. Since f = |S c | = 2, by Lemma 3 S c is a chain cover of G with minimum cardinality.
For the rest of this paper, we assume that G = (V, E) is an st-graph and we denote by n, m, and f the number of vertices, the number of edges, and the width of G, respectively. By Inequality (2) of Lemma 2, we have dd(G) ≤ f . In this section, we present a simple and efficient algorithm to compute an f -dimensional dominance drawing of G. We first show how to compute a data structure called the compressed transitive closure of G [12], and then we show that this data structure can be easily used to obtain a dominance drawing.
The compressed transitive closure was presented in [12]. Given a chain cover of G of size k, the compressed transitive closure is a set of n arrays of size k, each one associated to a vertex of G. The compressed transitive closure is an efficient tool for answering reachability queries that has low storage requirements and, as we are going to show later, it can be computed in O(km) time if a chain cover S c is given as an input, where k is the cardinality of S c .
As we are going to observe later, the compressed transitive closure can answer any reachability query in O(1) time, and not O(k). Similarly, the dominance drawing described in this section can be used to answer any reachability query in O(1) time. We show that if we see every array of the compressed transitive closure as the coordinates of the corresponding vertex of G in an k-dimensional drawing Γ of G, then drawing Γ is a dominance drawing of G.
Given a chain cover S c of cardinality k, computing the compressed transitive closure requires O(km) time. Since computing S c having cardinality f requires O( f n 2 ) time by Lemma 3, we have that it is possible to compute an f -dimensional dominance drawing of any DAG G in O( f n 2 ) time. To the best of our knowledge, this is the first polynomial-time algorithm to compute a dominance drawing of G in f dimensions.
Let S c = {C 1 , . . . , C k } be a chain cover of G. As we said before, we show that the compressed transitive closure of G given S c can be seen as a k-dimensional dominance drawing of G. Before defining the compressed transitive closure, we introduce some notation. By Property (a) of a chain cover, each vertex v of G \ {s, t} belongs to exactly one chain, say C i , of S c . We denote v by (i, j) meaning that v is the jth vertex of chain C i ∈ S c . A similar notation is also used in [12,16]. By Property (b) of a chain cover, s and t belong to every chain of S c , and we define s = (i, 0) and t = (i, |C i |) for every i ∈ [1, k]. An example is shown in Figure 1a. According to this notation, we have: As we said before, the compressed transitive closure of G given a chain cover S c = {C 1 , . . . , C k } of G is a data structure that can answer any reachability query in O(1) time that can be computed in O(km) time and that requires O(kn) space. More precisely, it is a set of n arrays of integers of size k so that every vertex u of G is assigned to the reachability array A u , and the following property holds: Property 1 (Reachability Property [12]). Let u be any vertex of G and A u be its reachability array. For any vertex v = (p, q) of G there exists a directed path from u to v if, and only if In other words, vertex u = (p, A u [p]) is the vertex having the lowest position in C p so that there is a path from u to u . Consequently, there is a path from u to a vertex v ∈ C p if, and only if the position q of v = (p, q) in C p is not lower than the position A u [p] of u in C p . Notice that if u = v, then the directed path exists and it is the empty path and, consequently, u = (p, q) = (p, A u [p]).  2). The value in position 1 of the reachability array of v 1 equals the position of v 4 in C 1 and, consequently, We now present the algorithm to compute the compressed transitive closure [12]. The input is an st-graph G = (V, E) and a chain cover S c = {C 1 , . . . , C k } of G. The output is the reachability array A u for every u ∈ V, that is, the compressed transitive closure of G given S c . Algorithm 1 has two steps: the Initialization and the Update.

Algorithm 1 Compressed transitive closure computation.
Input: An st-graph G = (V, E) and a chain cover • Update: Compute a topological order T of G. For every l = n, . . . , 1: 1.
Let u = (i, j) be the vertex so that T(u) = l; 2.
For every w ∈ {u 1 , . . . , u c } and every h ∈ Observe that the above algorithm requires O(kn) time, since, for every vertex of the graph, you compute k operations. See the Step Update 3. We now show that if we use the reachability array A u as the coordinates of u in a k-dimensional drawing of G for every vertex u, then we obtain a dominance drawing. See Algorithm 2.

Algorithm 2 CC-Draw (Chain Cover Draw).
Input: An st-graph G = (V, E) and a chain cover We denote by Γ(G, S c ) the output of Algorithm 1 when G and S c are given to the algorithm as an input. Refer to Figure 1. Figure 1c depicts the two-dimensional dominance drawing of G computed by using the chain cover S c = {C 1 , C 2 } depicted in Figure 1a. The compressed transitive closure of G given S c is depicted in Figure 1b. For example, Two vertices are placed in the same position in In a drawing of a graph, two distinct vertices are never placed in the same position by definition. The following lemma shows that two vertices are never placed in the same position in Γ(G, S c ) and that, consequently, Γ(G, S c ) is a drawing of G. Proof. Let S c = {C 1 , . . . , C l }, u = (i, j), and v = (p, q). Suppose first that u and v belong to the same chain, that is, p = i. In this case, u = (i, j) and v = (i, q). In addition, j = q since u and v are two distinct vertices. We have It follows that D i (u) = D i (v) and that, consequently, u and v are not placed in the same position in Γ(G, S c ). Suppose that u and v belong to two distinct chains, that is, . Suppose by contradiction that the vertices u and v are placed in the same position in Γ(G, S c ). In this case, D i (u) = D i (v) and D p (u) = D p (v) and, consequently, By the Reachability Property, u and v are the vertices having the lowest position in C p and C i so that there exist a directed path from u to u and from v to v , respectively. Since u = v and v = u , it follows that there is a path connecting v to u and there is another path connecting u to v. It implies that there must be a cycle that contains v and u in G, which is a contradiction. It follows that u and v are not placed in the same position in Γ(G, S c ).
Notice that if u and v were placed in the same position, not only Γ(G, S c ) could not be considered a drawing of G, but also Γ(G, S c ) would not have the property of a dominance drawing. Indeed, in this case and, consequently, the property of the dominance drawing would imply the existence of a path from u to v and a path from v to u and, consequently, the existence of a cycle in G.
The following theorem shows that drawing Γ(G, S c ) is a dominance drawing of G and that it can be computed in O(km) time. Proof. The fact that computing Γ(G, S c ) requires O(km) time is a direct consequence of the fact that given S c as input, the compressed transitive closure of G given S c can be computed in O(km) [12]. We now prove that Γ(G, S c ) is a k-dimensional dominance drawing of G. Let u = (i, j) and v = (p, q) be any two distict vertices of G. By Lemma 4 u and v are not placed in the same position in Γ(G, S c ). We prove that By Lemma 3 computing S c = {C 1 , . . . , C k } so that f = k requires O( f n 2 ) time. Hence, the following theorem is a consequence of Lemma 3 and Theorem 1.

Theorem 2.
Let G be an st-graph with n vertices and m edges and let f be its width. It is possible to compute an f -dimensional dominance drawing of G in O( f n 2 ) time.

Transitive Modules and Dominance Drawings
Let G be an st-graph. In this section, we first discuss the concept of transitive module of G, which is a module of the transitive graph of G. Second, we present Lemma 5, which shows a bound for dd(G) not higher than the bounds of Lemma 2. In Section 3.1 we present an algorithm computing dominance drawings respecting the bound of Lemma 5 and in Section 3.2 we discuss its time complexity. The algorithm of Section 2 is simpler than the one described in Section 3.1. On the other hand, as we show in Section 3.3, there exists graph for which the dominance drawings computed by the algorithm of Section 3.1 have O(n) less dimensions with respect to the dominance drawings computed by the algorithm of Section 2.
A module M of G is a non-empty subset of V such that either |M| = 1 or, for any two vertices v 1 , v 2 ∈ M and any vertex u ∈ V \ M: (v 1 , u) ∈ E if, and only if (v 2 , u) ∈ E; (u, v 1 ) ∈ E if, and only if (u, v 2 ) ∈ E. The congruence partition C P of V is a partition of V into modules. The quotient graph G/C P is the graph obtained from G by merging the nodes of each module of C P . For a given module M ∈ C P , we denote by µ the vertex representing M in G/C P . Figure 2a shows an st-graph G and a congruence partition C P = {M 1 , . . . , M 14 } of it. Figure 2b shows the quotient graph G/C P . In this paper, we use the concept of transitive module, transitive congruence partition, and transitive quotient graph of G, defined as a module, a congruence partition, and a quotient graph of the transitive closure graph G * of G. This concept is also used in [17], but there they simply call "module" a transitive module.
Formally, a transitive module M * of G is a non-empty subset of V such that either |M * | = 1 or, for any two vertices v 1 , v 2 ∈ M * and any vertex u ∈ V \ M * : there is a path connecting v 1 to u if, and only if there is a path connecting v 2 to u; there is a path connecting u to v 1 if, and only if there is a path connecting u to v 2 . A transitive congruence partition C * P of G is a partition of G into transitive modules. The transitive quotient graph G/C * P is the graph obtained from G by merging the nodes of each transitive module of C * P . For a given module M * ∈ C * P , we denote by µ * the vertex representing M * in G/C * P . Notice that every module of G is also a transitive module of G. Hence, the concepts of transitive module, transitive congruence partition, and transitive quotient graphs are a generalization of the concept of module, congruence partition, and quotient graph. For the rest of the paper, since we are going to talk only about transitive modules, transitive congruence partition, and transitive quotient graph, we will omit the symbol " * " in the notation in order to simplify our presentation. Figure 2c shows the st-graph G depicted in Figure 2a and a transitive congruence partition C P = {M 1 , M 2 , M 3 , M 4 } of G that is not a congruence partition. Figure 2d shows the transitive quotient graph G/C P .
The modular decomposition of G is a tree describing a decomposition of G based into modules of G. The root of the tree is the module M = V, containing all the vertices of G, and the leaves of the tree are the singleton modules, where every singleton contains a vertex of G. The children of every non-leaf node M of the tree are the module of G contained in M and that are not contained in any other module contained in M.
The modular decomposition can be computed in O(m) time and it requires O(n) time to obtain a congruence partition and the correspondent quotient graph of G from a modular decomposition of G. For further details about modular decomposition see [18]. Computing a transitive congruence partition of G requires O(nm) time, since we can obtain it by computing a congruence partition of the transitive closure graph of G.
Let C P = {M 1 , . . . , M h } be a transitive modular decomposition of G and let G i = (M i , E i ), where E i is the subset of edges of E that are incident to two vertices of M i . The congruence dimension of G given C P is the value cd(G, C P ) = max{dd(G 1 ), . . . , dd(G h ), dd(G/C P )}. Since each G i is a subgraph of G and G/C P is obtained from G, one might consider that dd(G) ≥ cd(G, C P ). In [19] it is proved that cd(G, C P ) is an upper bound to dd(G).

Lemma 5.
For every st-graph G and any transitive congruence partition C P of G, the following relation holds: dd(G) ≤ cd(G, C P ) [19].
In Section 3.1 we show an algorithm to compute dominance drawings with the bound stated in Lemma 5. More formally, we describe an algorithm to compute a dominance drawing Γ(G, S dd ) of any st-graph G having q = cd(G, C P ) dimensions given the set of a q-dimensional dominance drawing S dd = {Γ 0 , Γ 1 , . . . , Γ h } of the graphs G 0 , G 1 , . . . , G h associated to a transitive congruence partition C P of G, where G 0 = G/C P . In Section 3.2 we discuss the time complexity of the algorithm.

Algorithm 2 (Proof of Lemma 5)
Let C P = {M 1 , . . . , M h } be a transitive congruence partition of G. Assume that, for any two vertices u and v so that u ∈ M j and v ∈ M i , if there is a path connecting u to v in G, then j ≤ i. It is possible to compute a labeling so that the above propriety holds by: Computing a topological sorting T of the vertices of the st-graph G/C P (which is the quotient graph); setting i equal to the topological number of µ i , T(µ i ), for any transitive module M i ∈ C P . Note that the two transitive congruence partitions depicted in Figure 2a,c (where the one of (a) is also a congruence partition) have a labeling with this property.
We denote graph G/C P by G 0 = (V 0 , E 0 ). Let S dd = {Γ 0 , Γ 1 , . . . , Γ h } be an ordered set of q-dimensional dominance drawings so that, for every i ∈ [1, h], Γ i is a q-dimensional dominance drawing of G i . We prove that given S dd , it is possible to obtain a q-dimensional dominance drawing of G. Then, since dd(G i ) ≤ cd(G, C P ) for every i ∈ [0, h] by definition of congruence dimension, the proof of Lemma 5 is a direct consequence of the fact that it is possible to set q = cd(G, C P ). See, for example, Figure 3 that depicts the drawings Γ 0 , . . . , Γ 4 for the graph depicted in Figure 2c with transitive congruence partition C P = {M 1 , . . . , M 4 }. The transitive quotient graph G 0 is depicted in Figure 2d.
Notice that, given any dominance drawing Γ of G with q < q dimensions of a graph, it is possible to obtain a dominance drawing with q dimensions of the graph by adding to Γ q − q dimensions and by assigning to all the vertices of G the same position in the new dimensions. Hence, the assumption that all the drawings in the set S dd have the same number of dimensions, q, is without loss of generality. Figure 3. The drawings Γ 0 , . . . , Γ 4 for the graph G depicted in Figure 2c with transitive congruence partition C P = {M 1 , . . . , M 4 }. The transitive quotient graph G 0 = G/C P is depicted in Figure 2d.
We now show Algorithm 3, which computes a q-dimensional dominance drawing Γ(G, S dd ) of G. The algorithm consists of two steps, presented in detail in Sections 3.1.1 and 3.1.2. We now give an overview of the algorithm.
Step 2: Compute a drawing Γ(G, S dd ) (see Figure 4b) by using, for every vertex v ∈ M i , the coordinates of µ i in the skeleton drawing Γ 0 and of v in Γ i in order to set the coordinates of v in Γ(G, S dd ) (see details in Section 3.1.2).
In Section 3.1.2 we prove that Γ(G, S dd ) is a q-dimensional dominance drawing.
3.1.1. Details of Step 1 of Algorithm 2: Preparing the Skeleton Drawing Γ 0 We first introduce some notation. Let D i p be the pth dimension in drawing Γ i ∈ S dd and max i p a number so that D i For every µ i ∈ G 0 , we define the set U i p to be the subset of V 0 so that, for any µ j ∈ V 0 , µ j ∈ U i p if, and only if one of the two following cases holds: , µ j is not reachable from µ i according to the labeling defined at the beginning of the section). Notice that the two cases never hold for µ i and that, consequently, Figure 3 for an example of the notation max i p , U i p , and shi f t i p defined above. The values shi f t i 1 , for i ∈ [1,4], are computed as follow.
Let Γ 0 be a q-dimensional drawing of G 0 having dimensions D  introduced and we show two recent papers showing that this concept can be very useful in practice. Given two vertices u and v of a DAG G, checking if there exists a directed path from u to v is denoted by reachability query. The problem of answering efficiently to reachability queries is widely studied in the literature. See, for example [10,17,20]. See also the following two very recent papers [21,22] and see [23] for a survey.
Dominance Drawing is a concept that can be very useful for answering reachability queries, that is, checking the existence of a path connecting two vertices in graph databases.Recall that given a dominance drawing of a DAG G having k dimensions, it is possible to answer to a reachability query very efficiently in O(k) time by using O(kn) space. By using some clever strategy, as for the algorithm described in Section 2, the time can also be O(1), that is, independent of the number of dimensions.
Computing dominance drawings of DAGs having a low number of dimensions would be important in practice. Unfortunately, most of the existing algorithms obtaining dominance drawings require the input DAG to have specific properties, that is, to be planar, as stated in Lemma 1. The algorithms that we presented so far avoid this problem, since no restriction on the input graph is given. On the other hand, the computational time required to compute dominance drawings is still not linear. For example, for the algorithm described in Section 2 computes f -dimensional dominance drawings in O( f n 2 ) time, where n and f are the number of nodes and the width of G, respectively. When the number of vertices is very large, computing such drawings can be prohibitively expensive. By using heuristics for the computation of (sub-optimal) chain covers we can make the algorithms faster. Another possibility is to relax the concept of dominance. As we are going to observe in the rest of this section, this direction was studied by several authors.
The concept of weak dominance, a relaxed version of dominance, was introduced in [9]. The "if and only if" of dominance becomes an "if" in weak dominance. Namely, in a weak dominance drawing Γ of a DAG G = (V, E), two vertices u, v ∈ V are incomparable in G if there exists two dimensions D and D such that D(u) < D(v) and D (v) < D (u). Unfortunately, u and v can be incomparable while D(u) ≤ D(v) for any dimension D of Γ. In this case there is a falsely implied path (fip) between u and v. Clearly, any DAG G admits a k-dimensional weak dominance drawing for any integer k. For example, any topological order of the vertices of G is a one-dimensional weak dominance drawing of G. In [24] it is studied an interesting variation of the weak dominance drawing problem.
Given a weak dominance drawing Γ, if there are two dimensions D and D of Γ such that D(u) ≤ D(v) and D (u) ≥ D (v), then u and v are incomparable. This computation requires O(k) time. Otherwise, more expensive computations are needed to check weather there is a path connecting u and v. For example, a Breadth First Search (BFS) would take O(n + m) time per search. Minimizing the number of fips minimizes the number of BFS operations required by the drawing and, consequently, the average time required for a reachability query. Notice that minimizing the number of fips is NP-hard [9,25]. The weak dominance drawings were recently used to construct compact representations of the reachability information in databases [4,10].
Interesting experiments on algorithms computing weak dominance drawings are presented in [4,10]. They show that by using weak dominance drawings, it is possible to answer reachability queries more efficiently with respect to previous results. In [10] they use weak dominance drawing with more than two dimensions in order to have less fips and they show that even by using few dimensions, that is, by using almost linear space, it is possible to improve the results significantly. Extending [10], Lionakis et al. [11] show that, for the same families of graphs considered in [10] and by using a number of dimensions similar to the ones used in [10], it is possible to compute dominance drawings (i.e., 0 fips).
The technique used in [11] is similar to the one described in Section 2 of this paper. The computational time required to compute dominance drawings in [11] is still higher than the one to compute weak dominance drawings [10]. However, these results suggest that a possible direction for this line of research is to actually use directly dominance drawings instead of weak dominance drawings. In fact, in Section 3 we presented algorithms that compute dominance drawings with a reduced number of dimensions with respect to the ones presented in Section 2, and consequently in [10,11].

Conclusions and Open Problems
In this paper, we reviewed some mathematical results on dominance drawings of DAGs and their dimension, and presented an efficient algorithm that, for every st-graph G with width f , constructs an f -dimensional dominance drawing. As far as we know, these are the most efficient algorithms to construct dominance drawings for any input DAG with a number of dimension that is described by the theoretical bounds.
We used the concept of congruence dimension cd(G, C P ) of G given a transitive congruence partition C P of G, and we presented an efficient algorithm to compute a dominance drawing of G in cd(G, C P ) dimensions. The congruence dimension cd(G, C P ) of G is a better upper bound of the dominance dimension of G. Indeed, we showed that there exists a family of graphs so that for every graph H of the family the best-known upper bound of dd(H), according to Hiraguchi's Theorem (Inequality (1) of Lemma 2), was n 2 and we proved that, according to Lemma 5, dd(H) = 3.
Notice that the number of dimensions used by a dominance drawing may be large, and the algorithm to compute it requires O( f n 2 ) time. Therefore, it may be prohibitive for very large data sets as the ones used recently by the database community. There are three ways to approach these problems from theoretical and practical points of view: • Use a relaxed version of dominance drawing called weak dominance drawing, see [9]. The existence of fips cannot be excluded since the number of dimensions in a weak dominance drawing is typically significantly less than dd(G). Hence, computing such drawings with few fips is central to any approach involving weak dominance drawings. Recall that minimizing the number of fips is NP-hard [9,25]. Additionally, using more dimensions in a weak dominance drawing reduces the number of fips. It would be interesting to experimentally study this tradeoff. • Explore heuristics in order to compute dominance drawings of DAGs in "almost linear time", even if they need a higher number of dimensions. This would be another interesting research direction given the high complexity required by current algorithms. • Finally, an interesting theoretical open problem is to find algorithms that construct dominance drawings of similar quality as the ones computed by the current algorithms (that require O( f n 2 ) time) but in less time, or prove a non-trivial lower bound for this construction.
Author Contributions: G.O. and I.G.T. contributed equally to this work. All authors have read and agreed to the published version of the manuscript.