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.

1. Introduction

Several proofs are known for Dilworth's theorem. This theorem says that, in a poset , 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, 35] are nonalgorithmic. The key issue in [2] is the relation between a minimal path cover and a maximal antichain in on the one hand and a maximal matching and a minimal vertex cover (in this order) in an associated bipartite graph 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 in corresponds to a maxflow/mincut combination in a flow network akin to . So the obvious algorithm for a minimal path cover along with a maximal antichain is executing a maxflow/mincut algorithm in associated indirectly to .

In the current paper a shortcut is proposed between maxflow/mincut and an optimal path cover jointly with an antichain. To a given poset we associate a flow network which is much simpler than graph 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 [710]. For an application of the maximal antichain we refer to [11, 12].

2. Some Preliminaries

A poset is a partially ordered set , where denotes a transitive order relation. An ordered pair with is called transitive if there exists an element such that . A poset can be transformed into a directed acyclic graph in a straightforward manner. Each nontransitive pair with generates an arc . An example of a graph derived from a poset is given in Figure 1.

An antichain in a directed acyclic graph is a set of nodes, no two of which are included in any path of . A path cover in 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 Section 3, the essential part of this paper, we deal with DAG's.

A flow network is a direct acyclic graph containing two special nodes and being the source and the sink, and two constraint functions and mapping the arc set into . A flow in a network is a function from into which obeys the flow constraint given by for all . Moreover, a flow has to meet the balance constraint defined by the equality for any node . Due to this balance constraint the outflow of equals the inflow of . This value is called the value of the flow.

An integer-valued flow 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 the associated flow network is constructed as follows:(a)for each node , there are two nodes and in and an arc in ;(b)for each arc , there is an arc in ;(c)in addition to the node pairs defined in (a) the set contains a source node and a sink node ; there is an arc for each node without incoming arcs in and an arc for each node without outgoing arcs in ;(d)the constraint function equals 1 for the arcs defined in (a) and equals 0 for the arcs defined in (b) or (c); 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 has for every and can be decomposed into a path cover for . Dilworth's theorem will be proved using the minflow/maxcut equality in network .

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 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 and for every arc . A maxflow related to the new capacities is converted to a minflow .

In any maxflow algorithm an initial feasible flow is required. Most of the literature assumes 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 . This path cover may be regarded as a flow obeying the constraints and in the above definiton. The related flow is an initial feasible flow for the maxflow algorithm.

The well-known maxflow/mincut relationship has a counterpart in the minflow theory. A cut in a flow network is a pair of sets and , such that and . In the generalized maxflow theory, the capacity of a cut is defined as . (The generalized case does not assume ). We have reduced the minflow problem to maxflow by inverting the constraint functions. Analogously, we invert the constraints in the definition of the capacity of a cut : 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 is called a forward arc if and ; a backward arc has and . Given a minflow and a cut of maximal capacity (a maxcut), the forward arcs satisfy and the backward arcs satisfy , again analogously to the maxflow/mincut theory. To derive Dilworth's theorem, we first prove the following crucial lemma.

Lemma. In network , a cut of maximal capacity generates an antichain of size .

Proof. Since each flow algorithm terminates after a finite number of iterations (apart from some pathological exceptions), cannot happen. Hence, there are no backward arcs in maxcut . The only forward arcs with -value have the form . Define as the set of nodes such that is a forward arc. Relation (1) transforms to and thus . We show by contradiction that is an antichain. Suppose a path includes two nodes and from . This path must also contain arc . Since and , a backward arc is contained in the path. Hence, it is a contradiction.

The minflow in has also value and this flow can be decomposed into a path cover of size . An antichain and a path cover in 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 size , 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 . The maxcut is given by and . There are six forward arcs: , , , , , and . The set in the Lemma consists of five nodes and is equal to . Hence, the maximal antichain of the DAG in Figure 1 is .

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 a bipartite graph is derived, where is the same set as in defined in Section 3. So has two nodes for every element in the poset. By contrast, the set of arcs strongly differs from our set . Every ordered pair in , regardless whether it is a transitive or a nontransitive one, becomes an arc in , the mapping being one-to-one. Hence, is a huge set in general. To the huge bipartite graph 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 are obtained, corresponding to, respectively, a minimal path cover and a maximal antichain in of size . 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 to with inverted constraints. The difference between and the above set is significant. The number of iterations of the maxflow algorithm running on depends on the shape of the initial flow. Due to the small size of each iteration deals with a small number of arcs.

Suppose that the size for the maximal antichain and the minimal path cover is relatively small compared to . Then the number of arcs in is large and the number of iterations in the maxflow algorithm running on this graph equals , a relatively large number. In that case the new method is superior to the old one.