Drawing Order Diagrams Through Two-Dimension Extension

Order diagrams are an important tool to visualize the complex structure of ordered sets. Favorable drawings of order diagrams, i.e., easily readable for humans, are hard to come by, even for small ordered sets. Many attempts were made to transfer classical graph drawing approaches to order diagrams. Although these methods produce satisfying results for some ordered sets, they unfortunately perform poorly in general. In this work we present the novel algorithm DimDraw to draw order diagrams. This algorithm is based on a relation between the dimension of an ordered set and the bipartiteness of a corresponding graph.


Introduction
Order diagrams, also called line diagrams or Hasse diagrams, are a great tool for visualizing the underlying structure of ordered sets.In particular they enable the reader to explore and interpret complex information.In such diagrams every element is visualized by a point on the plane.Each edge of the covering relation is visualized as an ascending line connecting its points.These lines are not allowed to touch other points.These strong requirements are often complemented with further soft conditions to improve the readability of diagrams.For example, minimizing the number of crossing lines or the number of different slopes.Another desirable condition is to draw as many chains as possible on straight lines.Lastly, the distance of points to (non-incident) lines should be maximized.
Experience shows that in order to obtain (human) readable drawings one has to balance those criteria.Based on this notion, there are algorithms that produce drawings of order diagrams optimizing towards some of the criteria mentioned above.Drawings produced by such algorithms are sufficient to some extent.However, they may not compete with those created manually by an experienced human.However, such an expert is often not available, too expensive, or not efficient enough to create a large number of order diagrams.Hence, finding efficient algorithms that draw diagrams at a suitable quality is still an open task.An exemplary requiring such algorithms is Formal Concept Analysis (FCA) [10], a theory that can be used to analyze and cluster data through ordering it.
In this work we present a novel approach which does not employ the optimization techniques as described above.For this we make use of the structure and its properties that are already encapsulated in the ordered set.We base our idea on the observation that ordered sets of order dimension two can be embedded into the plane in a natural way.Building up on this we show a procedure to embed the ordered sets of order dimension three and above by reducing them to the two-dimensional case.To this end we prove an essential fact about inclusionmaximal bipartite induced subgraphs in this realm.Based on this we link the naturally emerging N P-hard computation problem to a formulation as a SAT problem instance.Our main contribution with respect to this is Theorem 3.
We investigate our theoretical result on different real-world data sets using the just introduced algorithm DimDraw.Furthermore, we note how to incorporate heuristical approaches replacing the SAT solver for faster computations.Finally, we discuss in part surprising observations and formulate open questions.

Related Work
Order diagrams can be considered as acyclic (intransitive) digraphs that are drawn upward in the plane, i.e., every arc is a curve monotonically increasing in y-direction.A lot of research has been conducted for such upward drawings.A frequently employed algorithm-framework to draw such graphs is known as Sugiyama Framework [22].This algorithm first divides the set of vertices of a graph into different layers, then embeds each layer on the same y-coordinate and minimizes crossings between consecutive layers.Crossing minimization can be a fundamental aesthetic for upward drawings.However the underlying decision problem is known to be N P-hard even for the case of two-layered graphs [6].A heuristic for crossing reduction can be found in [5].The special case for drawing rooted trees can be solved using divide-and-conquer algorithms [19].Such divideand-conquer strategies can also be used for non-trees as shown in [18].Several algorithms were developed to work directly on order diagrams.Relevant for our work is the dominance drawing approach.There, comparable elements of the order relation are placed such that both Cartesian coordinates of one element are greater than the ones of the other [12].Weak dominance drawings allow a certain number of elements that are placed as if they were comparable [13] even when they aren't.Our approach is based on this idea.Previous attempts to develop heuristics are described in [14].If an ordered set is a lattice there are algorithms that make use of the structure provided by this.The authors in [21] make use of geometrical representations for drawings of lattices.In [8] a force directed approach is employed, together with a rank function to guarantee the "upward property" is preserved.A focus on additive diagrams is laid out in [9].

Notations and Definitions
We start by recollecting notations and notions from order theory [23].In this work we call a pair (X, R) an ordered set, if R ⊆ X × X is an order relation on a set X, i.e., R is reflexive, antisymmetric and transitive.In this setting X is called the ground set of (X, R).In some cases, we write (X, ≤) instead of (X, R) throughout this paper.We then use the notations (a, b) ∈ ≤, a ≤ b and b ≥ a interchangeably.We write a < b iff a ≤ b and a = b.Alike, if b ≥ a and b = a, write b > a.We say that a pair (a, b) ∈ X × X is comparable, if a ≤ b or b ≤ a, otherwise it is incomparable.An order relation on X is called linear (or total) if all elements of X are pairwise comparable.For (X, ≤) the order relation L on X is called a linear extension of ≤, iff L is a linear order and ≤ ⊆ L. If R is a family of linear extensions of ≤ and ≤ = L⊆R L, we call R realizer of ≤.
The minimal d such that there is a realizer of cardinality d for (X, ≤) is called its order dimension.We use the denotation of order dimension for ordered sets and order relations interchangeably.For a set X and C ⊆ X × X we denote For our work we consider simple graphs denoted by (V, E), where E ⊆ V 2 .For an ordered set (X, ≤), its comparability graph is defined as the graph (X, E), such that {a, b} ∈ E, if and only if a, b ∈ X are comparable.Similary the cocomparability graph (sometimes called incomparability graph) is the graph on X where {a, b} is an edge if and only if a, b ∈ X are incomparable.Two order relations on the same ground set are called conjugate to each other, if the comparability graph of one is the cocomparability graph of the other.We refrain from a formal definition of a drawing of (X, ≤).However we need to discuss the elements of such drawings used in our work.Each element of the ground set is drawn as a point on the plane.The cover relation is defined as cr(X, ≤) := {(a, b) ∈ ≤ | c ∈ X : a < c < b}.Each element of the cover relation is drawn as a monotonically increasing curve connecting the points.
From here on some definitions are less common.For (X, ≤) we denote the set of incomparable elements by inc(X, ≤).Two elements (a, b), (c, d) ∈ inc(X, ≤) are called incompatible, if their addition to ≤ creates a cycle in the emerging relation, i.e., if there is some sequence of elements c 1 , . . ., c n ∈ X, such that each pair (c i , c i+1 ) ∈ ≤ ∪ (a, b) ∪ (c, d) with i ∈ {1, . . ., n} and c n+1 = c 1 .We call the graph ((inc(X, ≤), E) with {(a, b), (c, d)} ∈ E, iff (a, b) and (c, d) are incompatible the transitive incompatibility graph.Denote this graph by tig(X, ≤).We say a pair

Drawing Ordered Sets of Dimension Two
Ordered sets of order dimension 2 have a natural way to be visualized using a realizer by their dominance drawings [12].Let (X, ≤) be an ordered set of dimension two.First define the position for each x ∈ X in a linear extension L as the number of vertices that are smaller, i.e., pos L (x) := {y ∈ X | y < x}.
be a realizer consisting of two linear extensions of ≤.Each element is embedded into a two-dimensional grid at the pair of coordinates (pos ≤1 (x), pos ≤2 (x)).Embedding this grid into the plane is done using the generating vector (−1, 1) for x 1 and (1, 1) for x 2 .Each point now divides the plane into four quadrants using the two lines that are parallel to x 1 and x 2 .It holds that a < b, if and only if the point b is in the quadrant above the point a by construction.Draw the elements of the cover relation as straight lines.This guarantees that all elements of the cover relation are drawn as monotonically increasing curves.In order to compute such drawings, a preliminary check of the two-dimensionality of the ordered set is required.If so computing a realizer in polynomial time is possible as a result of the following theorem.
Theorem 1 (Dushnik and Miller, 1941 [3]).The dimension of an ordered set (X, ≤) is at most 2, if and only if there is a conjugate order ≤ C on X.A realizer of P is given by ≤ given by R In 1977, Golumbic gave an algorithm [11] to check whether a graph is transitive orientable, i.e., whether there is an order on its vertices, such that the graph is exactly the comparability graph of this order.It computes such an order, if it exists.This algorithm runs in O(n 3 ), with n being the number of vertices of the graph.Combining this with Theorem 1 provides an algorithm to compute whether an ordered set is two-dimensional.Furthermore, it also returns a realizer, in the case of two-dimensionality.For the sake of completeness, note that there are faster algorithms (as fast as linear) [17]) for computing transitive orientations.However those only work if the graph is actually transitive orientable and return erroneous results otherwise.On a final note, deciding dimension 3 or larger is known to be N P-complete as shown by Yannakis in 1982 [24].This is in contrast to the just stated fact about two-dimensional orders.

Drawing Ordered Sets of Higher Dimensions
The idea of embedding two-dimensional orders does generalize in a natural way to higher dimensions, i.e., gives us a nice way to embed n-dimensional ordered sets into n-dimensional space (Euclidean space) by using an n-dimensional realizer.However, projecting an ordered set from a higher dimension into the plane turns out to be hard.See, for example, the projections of an ordered set in example Figure 1.For this reason our algorithm makes use of a different method to compute drawings of order diagrams for higher dimensions.
In short, the main idea of this section is the following: for a given order relation we want to insert some number of additional pairs in order to make it two-dimensional.This allows the resulting order to be drawn using the algorithm for the two-dimensional case described in the previous section.Afterwards we once again remove all the inserted pairs.By construction, the property that if a < b, the point a is inserted below b is still preserved.Such drawings are sometimes called weak dominance drawings [13].However, for each inserted pair (a, b), we obtain two points in the drawing that are drawn as if a and b were comparable.This poses the question for minimizing the number of inserted pairs.Figure 1.A three-dimensional ordered set embedded -based on its realizer -into three dimensional Euclidean space and then projected into the plane using a parallel projection from multiple angles.Even though the structure of the ordered set is recognizable, the drawings are all not satisfactory.Definition 1.Let (X, ≤) be an ordered set.A set C ⊆ inc(X) is called a twodimension-extension of (X, ≤), iff ≤ ∪ C is an order on X and the ordered set

Such an extension always exists: a linear extension of dimension one always exists. If an order contains exactly one incomparable pair it has dimension two.
It is known to be N P-complete to decide whether an ordered set can be altered to be two-dimensional by inserting k pairs [1].Hence, we propose an algorithm that tackles the problem for approximating the corresponding optimization problem.The idea of the algorithm is based on the following theorem.
Thus, for (X, ≤) of dimension greater than two, tig(X, ≤) is non-bipartite.We want to find a maximal induced bipartite subgraph of tig(X, ≤).
Recall the definition of tig(X, ≤) defined on inc(X, ≤) with incompatible pairs being connected.Call a cycle in tig(X, ≤) strict, iff for each two adjacent pairs (a, b) and (c, d) it holds that d < a and b < c.A strict path is defined analogously.
Lemma 2 (Doignon et al., [2]).Let (X, ≤) be an ordered set and let the pair v ∈ inc(X, ≤).Then the following statements are equivalent: i) v is in contained in an odd cycle in tig(X, ≤).ii) v is contained in a strict odd cycle in tig(X, ≤).
Remark 1.This is stated implicitly in their proof of Proposition 2, verifying the equality between the two chromatic numbers of a hypergraph corresponding to our cycles and a hypergraph corresponding to our strict cycles.Theorem 3. Let (X, ≤) an ordered set.Let C ⊆ inc(X, ≤) be minimal with respect to set inclusion, such that tig(X, ≤)\C −1 is bipartite.Then (X, ≤ ∪ C) is an ordered set.
Reflexivity: ∀x ∈ X we have (x, x) ∈ ≤ ⊆ ≤ ∪ C. Antisymmetry: assume (x, y) ∈ ≤ ∪ C and (y, x) ∈ ≤ ∪ C. We have to consider three cases.First, (x, y) ∈ ≤ and (y, x) ∈ ≤.Then x = y, as ≤ is an order relation.Secondly, (x, y) ∈ ≤ and (y, x) ∈ C. If (x, y) ∈ ≤, then x and y are comparable, i.e., the pair (y, x) can't be in inc(P, ≤).Then (y, x) ∈ C, a contradiction.Thirdly, (x, y) ∈ C and (y, x) ∈ C.This may not occur by Claim ( ).Transitivity: let (x, y) ∈ ≤ ∪ C and (y, z) ∈ ≤ ∪ C we show (y, z) ∈ ≤ ∪ C. We have to consider four cases.First, (x, y) ∈ ≤ and (y, z) ∈ ≤ implies (x, z) ∈ ≤.Secondly, (x, y) ∈ ≤ and (y, z) ∈ C and assume that (x, z) ∈ (≤ ∪ C).Then (z, x) ∈ C −1 , but (z, x) → (z, y), as (x, y) ∈ ≤.From Claim ( ) follows that (z, y) ∈ C −1 , a contradiction to (y, z) ∈ C. The case (x, y) ∈ C and (y, z) ∈ ≤ is treated analogously.Lastly, (x, y) ∈ C and (y, z) ∈ C and assume (x, z) ∈ C, i.e., (z, x) ∈ C −1 .There has to be an odd cycle in P 1 ∪ P 2 together with (y, z), otherwise (y, z) can be added to P 1 ∪ P 2 to create a larger biparite graph.By Lemma 2, there also hast to be a strict odd cycle.Let the neighbors of (y, z) in P 1 ∪ P 2 be (a, b) and (c, d).Then a < z, c < z, y < b and y < d, and the pairs (a, b) and (c, d) are connected by a strict path on an even number of vertices through the strict odd cycle.By the same argument there are pairs (e, f ) and (g, h) with e < y, g < y, x < f and x < h and (e, f ) and (g, h) connected by a strict odd path.We now show, that (z, x) is in an odd cycle with P 1 ∪ P 2 to yield a contradiction.For this consider the following paths A = (c, f )(z, x)(h, a), B = (d, h)(h, g) and C = (f, e)(e, b).Each of those is a path in tig(P, ≤) by definition.(h, a) and (d, h) there is a path on an even number of vertices in P 1 ∪ P 2 .To show this, let (a 1 , b 1 ), . . ., (a 2k , b 2k ) be the strict path on an even number of vertices connecting (a, b) and
Analogously we obtain a path between (c, f ) and (b, f ) on an even number of vertices.Moreover (h, g) and (f, e) are also connected by a path on an even number of vertices in P 1 ∪ P 2 , since (g, h) and (e, f ) are connected by an even path.Reversing all pairs of this path yields the required path.Combining the segments A, B and C with the paths connecting them yields an odd cycle in P 1 ∪ P 2 ∪ {(z, x)}, a contradiction.

The Importance of Inclusion-Maximality
Consider the standard example S 3 = (X, ≤) where the ground set is defined as and a i ≤ a j for i = j, b i ≤ b j for i = j and a i ≤ a j if and only if i = j.This example is well known to be a three-dimensional ordered set.However, it becomes two-dimensional by inserting a single pair (a i , b i ) into the order relation ≤ for some index i ∈ {1, 2, 3}, i.e., the transitive incomparability graph becomes bipartite if we remove for example the pair (b 1 , a 1 ).Now assume we do not require to removing a set minimal with respect to set inclusion, take for example both pairs (a 1 , b 1 ) and (b 1 , a 1 ).However the set (X, ≤ ∪ {(a 1 , b 1 ), (b 1 , a 1 )}) is not an ordered set, as both pairs (a 1 , b 1 ) and (b 1 , a 1 ) are in ≤ ∪ {(a 1 , b 1 ), (b 1 , a 1 )}.This is a conflict with a 1 = b 1 , i.e., we do not preserve the order property as the resulting relation is not antisymmetric.

Bipartite Subgraph is not Sufficient
From Theorem 3 one might conjecture that finding an inclusion-minimal bipartite subgraph of tig(X, ≤) is sufficient to find a two-dimensional extension of  (X, ≤).However, it may occur that two pairs are not incompatible in tig(X, ≤) and are incompatible in tig(X, ≤ ∪ C) with C being an inclusion-minimal set such that tig(X, ≤)\C −1 is bipartite.This can arise in particular, if the following pattern occurs: the ordered set contains the elements a, b, c and d, such that all elements are pairwise incomparable, except b < d and (c, a) ∈ C exhibits this observation, see Figure 2. Then (a, b) and (c, d) are not incompatible in tig(X, ≤), but they become incompatible with the relation ≤ ∪ C.An example for this is provided by the ordered set in Figure 3.The transitive incomparability graph of this ordered set has 206 vertices.By removing pairs (5,9), (3,13), (6,15), (17,15), (5,15), (5,13), (11,10), (9,6), (5,6), (4,15), (1,8), (3,15), (11,12), (2,8), (11,7), (0,15), (1,16), the transitive incomparability graph of this ordered set becomes bipartite.However, if we once again compute the transitive incomparability graph of the new ordered set, we see that it is not bipartite, i.e., the new ordered set is once again not two-dimensional.We have to add the additional pair (17,8) to make the graph two-dimensional.It may be remarked at this point that it is in fact possible to make the transitive incomparability graph bipartite by adding only eleven pairs (in contrast to the seventeen added in this particular example), see Figure 6.Those pairs give rise to a two-dimension extension.

Algorithm
Building up on the ideas and notions from the previous sections we propose the Algorithm DimDraw as depicted in Algorithm 1.Given an ordered set (X, ≤), one calls Compute_Coordinates.Until this procedure identifies a conjugate order using the Comupte_Conjugate_Order (and in turn the algorithm of Golumbic [11]), it computes bipartite subgraphs of the transitive incompatibility graphs.

Finding large induced bipartite subgraphs
Our algorithm has to compute an inclusion-minimal set of vertices, such that removing those vertices from the transitive incompatibility graph results in a bipartite graph.Deciding for a graph whether it is possible to make it bipartite by removing a set of cardinality k is known to be N P-complete [15].Even approximations are known to be in this complexity class [16].Therefore we propose different approaches.
7.1 Exact solution using a reduction to SAT Even for small example, i.e., orders on less than 30 elements, a naive approach is infeasible.As we will see in Section 8 the question for computing C results in 182 5 tests for an example on 19 elements (Figure 4) and 294 29 tests for example (Figure 5) on 24 elements.Therefore we need a more sophisticated solution for the problem.We reduce the problem for finding biparite subgraphs to a SAT problem and then solve this problem with a SAT-Solver, in our case MiniSat [7] in version 2.2.In other words we want to know for some graph G = (V, E) on n vertices and m edges whether by deleting k vertices we can make the graph bipartite.Solving is done by finding a partition of V into the three sets P 1 , P 2 , C −1 , such that P 1 and P 2 are independent sets and |C −1 | ≤ k.For this we construct a conjugative normal form as follows: for each vertex v i we have three variables, call them V i,1 , V i,2 , V i,3 .The first two variables indicate, whether the vertex is placed in P 1 or P 2 , respectively and the third variable indicates, whether the vertex is placed in C −1 .For each vertex we have to guarantees, that it is placed in at least one of P 1 , P 2 or C −1 , i.e., at least one of V i,1 , V i,2 , V i,3 is true for each i.We achieve this with the clause V i,1 ∨ V i,2 ∨ V i,3 for all i ∈ {1, . . ., n}.Also we want to guarantee that P 1 and P 2 are independent sets, i.e., no two vertices in P 1 or P 2 are connected by an edge.We achive this by adding the two clauses ¬V i,1 ∨ ¬V j,1 and ¬V i,2 ∨ ¬V j,2 for each edge {v i , v j } ∈ E. This ensures that no two vertices connected by an edge are placed in set P 1 or P 2 .Finally we have to guarantee, that there are at most k vertices in P 3 , i.e., that at most k of the variables {V 1,3 , V 2,3 , . . ., V n,3 } are true.There are multiple ways to achieve this.We employ the method as described in [20].This results in an additional (n − 1) • k auxiliary variables and 2nk + n − 3k − 1 clauses.Altogether our SAT instance has in total (n − 1)(k + 3) + 3 variables and 2m + 2nk + 2n − 3k − 1 clauses.For this CNF the following holds by construction.
Theorem 4. The SAT instance as constructed above is satisfiable if and only if G has an induced bipartite subgraph on n − k vertices.Now we build this SAT instance for k increasing from 1 until it is satisfiable.Then the set {v i | V i,3 = true} is exactly the subset of vertices we have to remove to make the graph bipartite.Obviously methods like binary search may be applied here.Furthermore, we may also plug heuristic procedures into our algorithm to find an inclusion-minimal set C. We experimented on this with a greedy algorithm, a simulated annealing approach and a genetic algorithm with  promising results, especially for the genetic algorithm.However, it is preferred to use the SAT algorithm as long as there is enough computational power and the problem instances are not too large.

Experimental evaluation
The DimDraw algorithm was originally designed with the idea in mind to draw the order diagram of lattices.Those are employed in a particular in Formal Concept Analysis (FCA), a mathematical theory for analyzing data.Note that any complete lattice can be represented by a concept lattice in FCA.We tested our algorithm on all lattice examples from a standard literature book on FCA [10].In all those cases the quality of the produced drawings came close to examples hand drawn by experts.For example, consider the lattice that arises from "Living Beings and Water" [10, p.18].In Figure 4 we compare the hand-drawn example (left) to the result drawn by our algorithm (right).For Figure 5 [10, p.40] there are two different solutions depicted, both having the minimal number of pairs inserted, note that the algorithm stops after it finds a single solution.
Because of the importance of drawings in FCA we tested the algorithm on every lattice with eleven or less vertices.The reader might want to have a look at the document containing all 44994 drawings on 7499 pages [4].Concluding the experiments we want to present an example that our algorithm also works on non-lattices.Consider the ordered set from Figure 3.While the hand-drawn version of this order diagram makes use of splines, our algorithm-generated version Figure 6 uses exclusively straight lines.
An interesting observation during the experiments was the following: for all examples of that we are aware, even including those not presented in this work, one pass of the SAT solver was sufficient for reducing the order dimension to two.This is surprising, in particular in light of Figure 3 from Section 5.2.

Conclusion and Outlook
We presented in this work a novel approach for drawing diagrams of order relations.To this end we employed an idea by Doignon et al. relating order dimension and bipartiteness of graphs and proved an extension.Furthermore, we linked the naturally emerging problem to SAT.Finally, we demonstrated various drawings in an experimental evaluation.The drawings produced by the algorithm were, in our opinion, satisfying.We would have liked to compare our algorithm (exact and heuristic type) to the heuristics developed in [14].Unfortunately, we were not able to reproduce their results based on the provided description.
A notable observation is the fact that in all our experiments the SAT-Solver blend of DimDraw was able to produce a solution in the first pass, i.e., the algorithm found a truly minimal two-dimension extension.This raises the natural question, whether the maximal induced bipartite subgraph approach does always result in a minimal two-dimension extension.Further open questions are concerned with employing heuristics and to improve the postprocessing stage.The SAT-solver version of DimDraw is included in the software conexp-clj 4 .At a later time we also want to include heuristic versions.

Claim.
The arrow relation is transitive, i.e., if (a, b) → (c, d) and (c, d) → (e, f ) then (a, b) → (e, f ).If (a, b) → (c, d) then c ≤ a and b ≤ d by definition.Similarly (c, d) → (e, f ) implies e ≤ c and d ≤ f .By transitivity of ≤ this yields that e ≤ a and b ≤ f which in turn implies that (a, b) → (d, f ).Claim ( ).Let (a, b), (c, d) ∈ inc(X, ≤) with (a, b) ∈ C −1 and (a, b) → (c, d), then (c, d) ∈ C −1 .Assume the opposite, i.e., (c, d) ∈ C −1 .Without loss of generality let (a, b) ∈ P 1 .As (c, d) ∈ C −1 there has to be a pair (e, f ) ∈ P 1 that is incompatible to (c, d), i.e., (e, f ) → (d, c), otherwise (c, d) can be added to P 1 without destroying the independet set.However (a, b) → (c, d) is equivalent to (d, c) → (b, a) and yields together with the transitivity of the arrow relation (e, f ) → (b, a).But than (e, f ) and (a, b) are incompatible, a contradiction since both are in the independent set P 1 .

Figure 2 .
Figure 2.An example how new incompatibilities can arise.≤ is the continous line, C is the dashed line.(a, b) and (c, d) are not incompatible in ≤ and incompatible in ≤∪C.

Figure 3 .
Figure 3.An example for an ordered set that has a transitive incompatibility graph with an inclusion-minimal bipartite subgraph of the transitive incompatibility graph that does not give rise to a two-dimension extension.

Figure 4 .
Figure 4. Two drawings of the "Living Beings and Water" lattice, by hand (left) and with our algorithm (right).

Figure 5 .
Figure 5.The "Drive concepts for motorcars" lattice.Drawn by an expert (left) and two drawings of our algorithm (middle and right).

Figure 6 .
Figure 6.A non-lattice example drawing produced by the algorithm.See Figure3for a hand-drawn version.

Figure 9 .
Figure 9.An example from [10, p.30].The handdrawn version is on the left, the algorithm-generated version on the right.

Figure 10 .
Figure 10.An example from [10, p.45].The handdrawn version is on the left, the algorithm-generated version on the right.

Figure 11 .
Figure 11.Order diagram of the lattice used in[9].From left to right: Hand drawn, Ganter's algorithm, our algorithm.

Figure 12 .
Figure 12.Order diagrams for boolean lattices of dimension 2, 3, 4 and 5 drawn by our algorithm