# Another Note on Dilworth's Decomposition Theorem

Authors: Wim Pijls; Rob Potharst
Journal: Journal of Discrete Mathematics
 (2013)

---

## Abstract

This paper proposes a new proof of Dilworth's theorem. The proof is based upon the minflow/maxcut property in flow networks. In relation to this proof, a new method to find both a Dilworth decomposition and a maximal antichain is presented.


---

## Body

## 1. Introduction

Several proofs are known for Dilworth's theorem. This theorem says that, in a posetP, a maximal antichain and a minimal path cover have equal size. Shortly after Dilworth's seminal paper [1] a “Note” [2] was published containing an algorithmic proof, that is, a proof which also gives a method to find a combination of a maximal antichain and a minimal path cover. The other proofs [1, 3–5] are nonalgorithmic. The key issue in [2] is the relation between a minimal path cover and a maximal antichain in P on the one hand and a maximal matching and a minimal vertex cover (in this order) in an associated bipartite graph B on the other hand. Dilworth's theorem is proved in [2] using König's theorem stating that, in a bipartite graph, a maximal matching and a minimal vertex cover have equal size.The combination of a maximal matching and a minimal vertex cover inB corresponds to a maxflow/mincut combination in a flow network B' akin to B. So the obvious algorithm for a minimal path cover along with a maximal antichain is executing a maxflow/mincut algorithm in B' associated indirectly to P.In the current paper a shortcut is proposed between maxflow/mincut and an optimal path cover jointly with an antichain. To a given posetP we associate a flow network N which is much simpler than graph B' constructed via a matching/vertex cover instance. A similar idea for finding a maximal antichain is found in [6]. However, the discussion in that paper was not connected with Dilworth's theorem.Other more complex algorithms in this domain can be found in [7–10]. For an application of the maximal antichain we refer to [11, 12].


## 2. Some Preliminaries

AposetP(V,<) is a partially ordered set V, where < denotes a transitive order relation. An ordered pair a,b∈V with a<b is called transitive if there exists an element c∈V such that a<c<b. A poset P(V,<) can be transformed into a directed acyclic graph D(V,A) in a straightforward manner. Each nontransitive pair a,b with a<b generates an arc (a,b)∈A. An example of a graph derived from a poset is given in Figure 1.Figure 1
A directed acyclic graph (DAG).Anantichain in a directed acyclic graph D(V,A) is a set of nodes, no two of which are included in any path of D(V,A). A path cover in D(V,A) is a collection of paths, not necessarily disjoint, such that every node is included in at least one path. The number of paths is called the size of the path cover. Now we can formulate Dilworth's decomposition theorem.Dilworth's Theorem. In a poset the size of a maximal antichain equals the size of a minimal path cover.This theorem can also be formulated for a directed acyclic graph (DAG for short). In Section3, the essential part of this paper, we deal with DAG's.Aflow network is a direct acyclic graph N(V,A) containing two special nodes s and t being the source and the sink, and two constraint functions ℓ and u mapping the arc set A into ℝ. A flowf in a network is a function f from A into ℝ which obeys the flow constraint given by ℓ(a)≤f(a)≤u(a) for all a∈A. Moreover, a flow has to meet the balance constraint defined by the equality ∑(j,i)∈A‍f(j,i)=∑(i,k)∈A‍f(i,k) for any node i≠s,t. Due to this balance constraint the outflow of s equals the inflow of t. This value is called the value of the flow.An integer-valued flowf in an acyclic network can be regarded as a path collection and vice versa.


## 3. A Maxcut/Minflow in a Network

An Associated Flow Network. To find a combination of a maximal antichain and a minimal path cover in a DAG we construct an acyclic flow network associated to the DAG under consideration.Definition. Given a directed acyclic graph D(V,A) the associated flow network N(V′,A′) is constructed as follows:(a)
for each nodev∈V, there are two nodes v1 and v2 in V′ and an arc (v1,v2) in A′;(b)
for each arc(v,w)∈A, there is an arc (v2,w1) in A′;(c)
in addition to the node pairs(v1,v2) defined in (a) the set V′ contains a source node s and a sink node t; there is an arc (s,v1) for each node v∈V without incoming arcs in D(V,A) and an arc (v2,t) for each node v∈V without outgoing arcs in D(V,A);(d)
the constraint functionℓ(a),a∈A′ equals 1 for the arcs a defined in (a) and equals 0 for the arcs a defined in (b) or (c); u≡+∞ holds for the other constraint.Figure 2 shows the flow network associated to the graph of Figure 1 (ignore the numbers for the moment). A feasible flow in N(V′,A′) hasf(v1,v2)≥ℓ(v1,v2)=1 for every v∈V and can be decomposed into a path cover for N. Dilworth's theorem will be proved using the minflow/maxcut equality in network N.Figure 2
The flow network associated to the graph of Figure1; the numbers at the arcs represent the minimal flow. (Nodes and arcs inside S are in bold).Minflow/Maxcut Reduces to Maxflow/Mincut. The problem of finding a flow of minimal value (minflow for short) is not given much attention in the literature. Only a few references can be found, for example, [13] and [12, Section 3.3]. For achieving a minflow in N(V',A') we apply a method different from those references. Maxflow is a classical problem discussed in many textbooks, for example, [14, 15]. We can reduce minflow to maxflow by establishing new capacities u~(i,j)=-ℓ(i,j) and ℓ~(i,j)=-u(i,j) for every arc (i,j)∈A. A maxflow f~ related to the new capacities is converted to a minflow f=-f~.In any maxflow algorithm an initial feasible flow is required. Most of the literature assumesℓ≡0 and in that special case an initial flow is trivial. However, in the generalized case a different approach is necessary. Construct an arbitrary path cover in N(V',A'). This path cover may be regarded as a flow f obeying the constraints ℓ and u in the above definiton. The related flow f~=-f is an initial feasible flow for the maxflow algorithm.The well-known maxflow/mincut relationship has a counterpart in the minflow theory. Acut(S,T) in a flow network N(V',A') is a pair of sets S⊂V' and T=V'∖S, such that s∈S and t∈T. In the generalized maxflow theory, the capacity of a cut is defined as ∑i∈S,j∈T‍u(i,j)-∑i∈T,j∈S‍ℓ(i,j). (The generalized case does not assume ℓ≡0). We have reduced the minflow problem to maxflow by inverting the constraint functions. Analogously, we invert the constraints in the definition of the capacity m of a cut (S,T):
(1)m=∑i∈S,j∈Tℓ(i,j)-∑i∈T,j∈Su(i,j).
Now the following property applies: the minimal value of a flow equals the maximal capacity of a cut. So using a modified capacity definition we have obtained the counterpart of the generalized maxflow/mincut theorem in networks with arbitrary constraints, see [14, Section 6.7].An arc(i,j) is called a forward arc if i∈S and j∈T; a backward arc has i∈T and j∈S. Given a minflow f and a cut (S,T) of maximal capacity (a maxcut), the forward arcs (i,j) satisfy f(i,j)=ℓ(i,j) and the backward arcs (i,j) satisfy f(i,j)=u(i,j), again analogously to the maxflow/mincut theory. To derive Dilworth's theorem, we first prove the following crucial lemma.Lemma.In networkN(V′,A′), a cut of maximal capacitymgenerates an antichain of sizem.Proof. Since each flow algorithm terminates after a finite number of iterations (apart from some pathological exceptions), f(i,j)=u(i,j)=+∞ cannot happen. Hence, there are no backward arcs in maxcut (S,T). The only forward arcs with ℓ-value ≠0 have the form (v1,v2). Define Q as the set of nodes v1∈V' such that (v1,v2) is a forward arc. Relation (1) transforms to
(2)m=∑i∈S,j∈Tℓ(i,j)=∑v1∈S,v2∈T1=∑v1∈Q1
and thus |Q|=m. We show by contradiction that Q is an antichain. Suppose a path includes two nodes v1 and w1 from Q. This path must also contain arc (v1,v2). Since v1,w1∈S and v2∈T, a backward arc is contained in the path. Hence, it is a contradiction.The minflow inN(V',A') has also value m and this flow can be decomposed into a path cover of size m. An antichain and a path cover in N(V',A') clearly correspond to an antichain and path cover in the original DAG.According to the definition of an antichain, a path cannot include two nodes of an antichain. This implies that the size of any path cover is larger than or equal to the size of any antichain. Since we have found a path cover and an antichain of the same sizem, we conclude that the minimal size of a path cover and the maximal size of an antichain are equal.Now, an algorithmic proof of Dilworth's theorem has been obtained. The result in this section is twofold: a new proof for Dilworth's theorem and a construction method for a maximal antichain along with a minimal path cover.Example. The minflow in the network of Figure 2 has value 5. The maxcut is given by S={s,a1,a2,e1,e2,h1,i1,b1,c1,d1} and T=V∖S. There are six forward arcs: (b1,b2), (c1,c2), (d1,d2), (h1,h2), (i1,i2), and (e2,j1). The set Q in the Lemma consists of five nodes and is equal to {b1,c1,d1,h1,i1}. Hence, the maximal antichain of the DAG in Figure 1 is {b,c,d,h,i}.


## 4. Discussion and Comparison

All antichain constructing methods proposed so far are based upon the relationship between the theorems of Dilworth and König, as proposed in [2]. From a poset P a bipartite graph B(V',A′′) is derived, where V' is the same set as in N(V',A') defined in Section 3. So B has two nodes for every element in the poset. By contrast, the set of arcs A′′ strongly differs from our set A'. Every ordered pair in P, regardless whether it is a transitive or a nontransitive one, becomes an arc in A′′, the mapping being one-to-one. Hence, A′′ is a huge set in general. To the huge bipartite graph B(V',A′′) a maximum matching algorithm is applied, which is essentially a maxflow algorithm. In each iteration one looks for an augmenting path. The number of iterations equals the size of the maximum matching. At the end a maximum matching and a minimum vertex cover of size m' are obtained, corresponding to, respectively, a minimal path cover and a maximal antichain in P of size m=|V|-m'. Because of the transitivity of the arcs, a cover of disjoint paths is generated, but this property does not matter when only a maximal antichain is asked for.Using the method proposed in this paper, a maxflow algorithm is applied toN(V',A') with inverted constraints. The difference between A' and the above set A′′ is significant. The number of iterations of the maxflow algorithm running on N(V',A') depends on the shape of the initial flow. Due to the small size of A' each iteration deals with a small number of arcs.Suppose that the sizem for the maximal antichain and the minimal path cover is relatively small compared to |V|. Then the number of arcs in B(V',A′′) is large and the number of iterations in the maxflow algorithm running on this graph B equals m'=|V|-m, a relatively large number. In that case the new method is superior to the old one.



---

*Source: 692645-2013-01-10.xml*