In order theory, a Hasse diagram (//; German: /ˈhasə/) is a type of mathematical diagram used to represent a finite partially ordered set, in the form of a drawing of its transitive reduction. Concretely, for a partially ordered set (S, ≤) one represents each element of S as a vertex in the plane and draws a line segment or curve that goes upward from x to y whenever y covers x (that is, whenever x < y and there is no z such that x < z < y). These curves may cross each other but must not touch any vertices other than their endpoints. Such a diagram, with labeled vertices, uniquely determines its partial order.
Hasse diagrams are named after Helmut Hasse (1898–1979); according to Birkhoff (1948), they are so-called because of the effective use Hasse made of them. However, Hasse was not the first to use these diagrams; they appear, e.g., in Vogt (1895). Although Hasse diagrams were originally devised as a technique for making drawings of partially ordered sets by hand, they have more recently been created automatically using graph drawing techniques.
The phrase "Hasse diagram" may also refer to the transitive reduction as an abstract directed acyclic graph, independently of any drawing of that graph, but this usage is eschewed here.
A "good" Hasse diagram
Although Hasse diagrams are simple as well as intuitive tools for dealing with finite posets, it turns out to be rather difficult to draw "good" diagrams. The reason is that there will in general be many possible ways to draw a Hasse diagram for a given poset. The simple technique of just starting with the minimal elements of an order and then drawing greater elements incrementally often produces quite poor results: symmetries and internal structure of the order are easily lost.
The following example demonstrates the issue. Consider the power set of a 4-element set ordered by inclusion . Below are four different Hasse diagrams for this partial order. Each subset has a node labelled with a binary encoding that shows whether a certain element is in the subset (1) or not (0):
The first diagram makes clear that the power set is a graded poset. The second diagram has the same graded structure, but by making some edges longer than others, it emphasizes that the 4-dimensional cube is a union of two 3-dimensional cubes. The third diagram shows some of the internal symmetry of the structure. In the fourth diagram the vertices are arranged like the fields of a 4×4 matrix.
If a partial order can be drawn as a Hasse diagram in which no two edges cross, its covering graph is said to be upward planar. A number of results on upward planarity and on crossing-free Hasse diagram construction are known:
- If the partial order to be drawn is a lattice, then it can be drawn without crossings if and only if it has order dimension at most two. In this case, a non-crossing drawing may be found by deriving Cartesian coordinates for the elements from their positions in the two linear orders realizing the order dimension, and then rotating the drawing counterclockwise by a 45-degree angle.
- If the partial order has at most one minimal element, or it has at most one maximal element, then it may be tested in linear time whether it has a non-crossing Hasse diagram.
- It is NP-complete to determine whether a partial order with multiple sources and sinks can be drawn as a crossing-free Hasse diagram. However, finding a crossing-free Hasse diagram is fixed-parameter tractable when parametrized by the number of articulation points and triconnected components of the transitive reduction of the partial order.
- If the y-coordinates of the elements of a partial order are specified, then a crossing-free Hasse diagram respecting those coordinate assignments can be found in linear time, if such a diagram exists. In particular, if the input poset is a graded poset, it is possible to determine in linear time whether there is a crossing-free Hasse diagram in which the height of each vertex is proportional to its rank.
- E.g., see Di Battista & Tamassia (1988) and Freese (2004).
- Garg & Tamassia (1995a), Theorem 9, p. 118; Baker, Fishburn & Roberts (1971), theorem 4.1, page 18.
- Garg & Tamassia (1995a), Theorem 15, p. 125; Bertolazzi et al. (1993).
- Garg & Tamassia (1995a), Corollary 1, p. 132; Garg & Tamassia (1995b).
- Chan (2004).
- Jünger & Leipert (1999).
- Baker, K. A.; Fishburn, P.; Roberts, F. S. (1971), "Partial orders of dimension 2", Networks 2 (1): 11–28, doi:10.1002/net.3230020103.
- Bertolazzi, R; Di Battista, G.; Mannino, C.; Tamassia, R. (1993), "Optimal upward planarity testing of single-source digraphs", Proc. 1st European Symposium on Algorithms (ESA '93), Lecture Notes in Computer Science 726, Springer-Verlag, pp. 37–48, doi:10.1007/3-540-57273-2_42.
- Birkhoff, Garrett (1948), Lattice Theory (Revised ed.), American Mathematical Society.
- Chan, Hubert (2004), "A parameterized algorithm for upward planarity testing", Proc. 12th European Symposium on Algorithms (ESA '04), Lecture Notes in Computer Science 3221, Springer-Verlag, pp. 157–168.
- Di Battista, G.; Tamassia, R. (1988), "Algorithms for plane representation of acyclic digraphs", Theoretical Computer Science 61 (2–3): 175–178, doi:10.1016/0304-3975(88)90123-5.
- Freese, Ralph (2004), "Automated lattice drawing", Concept Lattices, Lecture Notes in Computer Science 2961, Springer-Verlag, pp. 589–590. An extended preprint is available online: .
- Garg, Ashim; Tamassia, Roberto (1995a), "Upward planarity testing", Order 12 (2): 109–133, doi:10.1007/BF01108622.
- Garg, Ashim; Tamassia, Roberto (1995b), "On the computational complexity of upward and rectilinear planarity testing", Graph Drawing (Proc. GD '94), LectureNotes in Computer Science 894, Springer-Verlag, pp. 286–297, doi:10.1007/3-540-58950-3_384.
- Jünger, Michael; Leipert, Sebastian (1999), "Level planar embedding in linear time", Graph Drawing (Proc. GD '99), Lecture Notes in Computer Science 1731, pp. 72–81, doi:10.1007/3-540-46648-7_7, ISBN 978-3-540-66904-3.
- Vogt, Henri Gustav (1895), Leçons sur la résolution algébrique des équations, Nony, p. 91.
- Related media at Wikimedia Commons: