ハッセ図
半順序集合 (S, ≤) を視覚的に表現しようとした場合、どうすればよいだろうか? まず S の個々の元を頂点するグラフを描き、u ≤ v という関係をグラフ内の辺 (u, v) で表すとする。
このようにしてグラフを描いてみると、非常に混みあったグラフになる。実際、そのグラフには冗長な情報が多すぎる。半順序の必要条件は次の通りである。
a ≤ a (反射律)
a ≤ b かつ b ≤ c なら a ≤ c (推移律)
a ≤ b かつ b ≤ a なら a = b (反対称律)
さて、元々のグラフを考えてみると、まず u ≤ u という反射律が成り立つことから、ノード毎に (u, u) というループが存在する。
そこで、より細かい集合の分割がより小さいとする半順序集合 ({1,2,3,4}, ≤) についてループを除外したグラフを作る。すると次のようなグラフが得られる。
しかし、このグラフでも冗長な情報がまだ存在する。半順序の必要条件には、推移律がある。上のグラフでは (a,c)、(a,b)、(b,c) という辺が描かれている。この場合 (a,c) という辺は他の2つの辺から存在を推測できるため、描く必要はない。
以上から、推移関係と反射関係を考慮して残った関係だけを辺として描く。すると、「例」の節の3つ目の図が得られる。
下から2層目は元が1つの集合に対応するが、個々の頂点にどれを具体的に割り当てるかは様々な組合せがあるものの、これらを具体的に割り当てるとそれより上の層は自動的に固定される。図の複数の頂点のラベル付けをどのようにしても元の半順序が表せるため、これは自己同型の例でもある(特に断らない限り、辞書式順序を仮定することが推奨される)。
上の例は同じ順序についての異なるハッセ図を示しており、それぞれが元となる数学的構造の異なる面を反映している。左端の図は頂点の層ごとに元の数が対応している。右端の図はその構造の内部対称性を強く反映している。最後に真ん中の図は2つの立方体を繋いだような形になっており、冪集合 2 と product order 2 × 2 の間の関係を強調したものとなっている。
よりよい図を描くための様々なアルゴリズムが考案されているが、今のところよい図を描くには人間が介在した方がよい。もっとも、その人間もハッセ図を描くには一種の技量を必要とする。