A Hasse diagram of thefactors of 60 ordered by theis-a-divisor-of relation
Inorder theory, aHasse diagram (/ˈhæsə/;German:[ˈhasə]) is a type ofmathematical diagram used to represent a finitepartially ordered set, in the form of adrawing of itstransitive reduction. Concretely, for a partially ordered set one represents each element of as avertex in the plane and draws aline segment or curve that goesupward from one vertex to another vertex whenevercovers (that is, whenever, and there is no distinct from and with). 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 afterHelmut Hasse (1898–1979); according toGarrett Birkhoff, they are so called because of the effective use Hasse made of them.[1] However, Hasse was not the first to use these diagrams. One example that predates Hasse can be found in an 1895 work by Henri Gustave Vogt.[2][3] 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 usinggraph drawing techniques.[4]
In some sources, the phrase "Hasse diagram" has a different meaning: thedirected acyclic graph obtained from the covering relation of a partially ordered set, independently of any drawing of that graph.[5]
Although Hasse diagrams are simple, as well as intuitive, tools for dealing with finiteposets, it turns out to be rather difficult to draw "good" diagrams. The reason is that, in general, there are many different possible ways to draw a Hasse diagram for a given poset. The simple technique of just starting with theminimal 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 thepower 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 agraded poset. The second diagram has the same graded structure, but by making some edges longer than others, it emphasizes that the4-dimensional cube is a combinatorial union of two 3-dimensional cubes, and that a tetrahedron (abstract 3-polytope) likewise merges two triangles (abstract 2-polytopes). The third diagram shows some of the internal symmetry of the structure. In the fourth diagram the vertices are arranged in a 4×4 grid.
If a partial order can be drawn as a Hasse diagram in which no two edges cross, its covering graph is said to beupward 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 alattice, then it can be drawn without crossings if and only if it hasorder dimension at most two.[6] 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.
It isNP-complete to determine whether a partial order with multiple sources and sinks can be drawn as a crossing-free Hasse diagram.[8] However, finding a crossing-free Hasse diagram isfixed-parameter tractable when parametrized by the number ofarticulation points andtriconnected components of the transitive reduction of the partial order.[9]
If they-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.[10] In particular, if the input poset is agraded 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.
Insoftware engineering /Object-oriented design, theclasses of a software system and theinheritance relation between these classes is often depicted using aclass diagram, a form of Hasse diagram in which the edges connecting classes are drawn as solid line segments with an open triangle at the superclass end.
Christofides, Nicos (1975),Graph theory: an algorithmic approach, Academic Press, pp. 170–174
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(PDF), Lecture Notes in Computer Science, vol. 2961, Springer-Verlag, pp. 589–590
Rival, Ivan (1985), "The diagram", in Rival, Ivan (ed.),Graphs and Order: The Role of Graphs in the Theory of Ordered Sets and Its Applications, Proceedings of the NATO Advanced Study Institute held in Banff, May 18–31, 1984, NATO Advanced Science Institutes Series C: Mathematical and Physical Sciences, vol. 147, Reidel, Dordrecht, pp. 103–133,MR0818494
Thulasiraman, K.; Swamy, M. N. S. (1992), "5.7 Acyclic Directed Graphs",Graphs: Theory and Algorithms, John Wiley and Son, p. 118,ISBN978-0-471-51356-8
Vogt, Henri Gustave (1895),Leçons sur la résolution algébrique des équations, Nony, p. 91