Popular branchings and their dual certificates

Let G be a digraph where every node has preferences over its incoming edges. The preferences of a node extend naturally to preferences over branchings, i.e., directed forests; a branching B is popular if B does not lose a head-to-head election (where nodes cast votes) against any branching. Such popular branchings have a natural application in liquid democracy. The popular branching problem is to decide if G admits a popular branching or not. We give a characterization of popular branchings in terms of dual certificates and use this characterization to design an efficient combinatorial algorithm for the popular branching problem. When preferences are weak rankings, we use our characterization to formulate the popular branching polytope in the original space and also show that our algorithm can be modified to compute a branching with least unpopularity margin. When preferences are strict rankings, we show that “approximately popular” branchings always exist.

This reveals the connection to branchings in simple graphs where nodes correspond to voters and the edge (x, y) indicates that voter x is an approved delegate of voter y. 2 Every root in the branching casts a weighted vote on behalf of all her descendants. We assume that voters rate branchings only based on their predecessors. This is justified when approved delegates are considered to be more competent both in deciding on the issue as well as in assessing the competence of others. What is a good mechanism to select representatives for voters? A crucial aspect in liquid democracy is the stability of the delegation process [3,14]. For the model described above, we propose popular branchings as a new concept of stability.
Not  (d, c)} that is more popular than B . It is easy to check that this instance has no popular branching.

Our problem and results
The popular branching problem is to decide if a given digraph G admits a popular branching or not, and if so, to find one. We show that determining whether a given branching B is popular is equivalent to solving a min-cost arborescence problem in an extension of G with appropriately defined edge costs (these edge costs are a function of the branching). The dual LP to this arborescence problem gives rise to a laminar set system that serves as a certificate for the popularity of B, if it is popular. This dual certificate is crucial in devising an algorithm for efficiently solving the popular branching problem. Theorem 1.2 Given a directed graph G where every node has preferences in arbitrary partial order over its incoming edges, there is a polynomial-time algorithm to decide if G admits a popular branching, and if so, to find one.
The proof of Theorem 1.2 is presented in Sect. 3; it is based on a characterization of popular branchings that we develop in Sect. 2. In applications like liquid democracy, it is natural to assume that the preference order of every node is a weak ranking, i.e., a ranking of its incoming edges with possible ties. In this case, the proof of correctness of our popular branching algorithm leads to a formulation of the popular branching polytope B G , i.e., the convex hull of incidence vectors of popular branchings in G. Theorem 1.3 Let G be a digraph on n nodes and m edges where every node has a weak ranking over its incoming edges. The popular branching polytope of G admits a formulation of size O(2 n ) in R m , and has Ω(2 n ) facets.
Though the above formulation has an exponential number of constraints, it admits an efficient separation oracle. As a consequence, when G has edge costs and node preferences are weak rankings, the min-cost popular branching problem can be efficiently solved. Thus we can efficiently solve extensions of the popular branching problem where we minimize the largest rank used or allow constraints for forced/forbidden edges when node preferences are weak rankings. In contrast, we show that the mincost popular branching problem is NP-hard when node preferences are in arbitrary partial order in Section 6. Relaxing popularity. Since popular branchings need not always exist in G, this motivates relaxing popularity to approximate popularity-do approximately popular branchings always exist in any instance G? An approximately popular branching B may lose an election against another branching, however the extent of this defeat will be bounded. There are two measures of unpopularity: unpopularity factor u(·) and unpopularity margin μ(·), defined as follows: and A branching B is popular if and only if u(B) ≤ 1 or μ(B) = 0. We show the following results.

Theorem 1.4 A branching with minimum unpopularity margin in a digraph
where every node has a weak ranking over its incoming edges can be efficiently computed. In contrast, when node preferences are in arbitrary partial order, the minimum unpopularity margin problem is NP-hard. Theorem 1.5 Let G be a digraph where every node has a strict ranking over its incoming edges. Then there always exists a branching B in G with u(B) ≤ log n . Moreover, for every n, we can show an instance G n on n nodes with strict rankings such that u(B) ≥ log n for every branching B in G n .
Hardness results for restricted popular branching problems. A natural optimization problem here is to compute a popular branching where no tree is large. In liquid democracy, a large-sized tree shows a high concentration of power in the hands of a single voter, and this is harmful for social welfare [20]. When there is a fixed subset of root nodes in a directed graph, it was shown in [20] that it is NP-hard to find a branching that minimizes the size of the largest tree. To translate this result to popular branchings, we need to allow ties, whereas Theorem 1.6 below holds even for strict rankings. Another natural restriction is to limit the out-degree of nodes; Theorem 1.6 also shows that this variant is computationally hard. The proof of Theorem 1.6 can be found in the online supplement or in the full version [28] of our paper. Theorem 1. 6 Given a digraph G where each node has a strict ranking over its incoming edges, it is NP-hard to decide if there exists (a) a popular branching in G where each node has at most 9 descendants; (b) a popular branching in G with maximum out-degree at most 2.
We also consider popular mixed branchings in the online supplement and in the full version [28]. A mixed branching P is a probability distribution (or lottery) over branchings in G, i.e., P = {(B 1 , p 1 ) . . . , (B k , p k )}, where B i is a branching in G for each i and k i=1 p i = 1, p i ≥ 0 for all i. The notion of popularity extends naturally to mixed branchings and we show that popular mixed branchings always exist in G; moreover, a popular mixed branching can be computed in polynomial time.
Background and Related Work. The notion of popularity was introduced by Gärdenfors [19] in 1975 in the domain of bipartite matchings. Algorithmic questions in popular matchings have been well-studied for the last 10-15 years [1,2,8,9,15,16,22,[24][25][26][27]29,32]. Algorithms for popular matchings were first studied in the one-sided preferences model where vertices on only one side of the bipartite graph have preferences over their neighbors. Popular matchings need not always exist here and there is an efficient algorithm to solve the popular matching problem [1]. The functions unpopularity factor/margin were introduced in [32] to measure the unpopularity of a matching; it was shown in [32] that it is NP-hard to compute a matching that minimizes either of these quantities. In the domain of bipartite matchings with two-sided strict preferences, popular matchings always exist since stable matchings always exist [18] and every stable matching is popular [19].
The concept of popularity has previously been applied to (undirected) spanning trees [10][11][12]. In contrast to our setting, voters have rankings over the entire edge set. This allows for a number of different ways to derive preferences over trees, most of which lead to hardness results. Techniques. Starting from an LP formulation for determining the unpopularity margin of a given branching, we use LP duality to characterize popular branchings in terms of dual certificates. A dual certificate for a given branching is a family of subsets of the node set V exhibiting a certain combinatorial structure. A certificate of size k implies that the unpopularity margin of the branching is at most n − k, and thus a certificate of size n constitutes a proof that the branching is popular. This is analogous to characterizing popular matchings in bipartite graphs in terms of witnesses (see [15,25,27]). However, such witnesses are points in R n rather than set families and their structure is far simpler than that of dual certificates for popular branchings.
Our algorithm constructs a partition X of V such that if G admits popular branchings, then there has to be some popular branching in G with a dual certificate of size n supported by X (see Sect. 3). Moreover, when nodes have weak rankings, X supports some dual certificate of size n to every popular branching in G: this leads to the formulation of the popular branching polytope B G (see Sect. 6). Our positive results on low unpopularity branchings are extensions of our algorithm (these results are in Sect. 4 and Sect. 5). Notation. The preferences of node v on its incoming edges are given by a strict partial order ≺ v , so e ≺ v f means that v prefers edge f to edge e. We use e ∼ v f to denote that v is indifferent between e and f , that is, neither e ≺ v f nor e v f holds. The relation ≺ v is a weak ranking if ∼ v is transitive. In this case, ∼ v is an equivalence relation and there is a strict order on the equivalence classes. When each equivalence class has size 1, we call it a strict ranking.

Dual certificates
We add a dummy node r to G = (V G , E G ) as the root and make (r , v) the least preferred incoming edge of any node v in G. Let D = (V ∪ {r }, E) be the resulting graph where V = V G and E = E G ∪ {(r , u) : u ∈ V }. An r-arborescence in D is an out-tree with root r (throughout the paper, all arborescences are assumed to be rooted at r and to span V , unless otherwise stated).
Note that there is a one-to-one correspondence between branchings in G and arborescences in D (simply make r the parent of all roots of the branching). A branching is popular in G if and only if the corresponding arborescence is popular among all arborescences in D. 3 We will therefore prove our results for arborescences in D. The corresponding results for branchings in G follow immediately by projection, i.e., removing node r and its incident edges.
For an arborescence A in D, there is a simple way to check if A is popular in D.
, we can conclude the following.

Proposition 2.1 Let A be a min-cost arborescence in D with respect to c A . Then μ(A) = n − c A (A ). In particular, A is popular in D if and only if it is a min-cost arborescence in D with edge costs given by c A .
Consider the following linear program LP1, which computes a min-cost arborescence in D, and its dual LP2. For any non-empty X ⊆ V , let δ − (X ) be the set of edges entering the set X in the graph D.
For any feasible solution y to LP2, let F y := {X ⊆ V : y X > 0} be the support of y. Inspired by Edmonds' branching algorithm [13], Fulkerson [17] gave an algorithm to find an optimal solution y to LP2 such that y is integral. From an alternative proof (Theorem 6.13 in [30]), we get Lemma 2.2. A family of sets S is called laminar if for any two sets S, S ∈ S we have: S ⊆ S or S ⊆ S or S ∩ S = ∅.

Lemma 2.2
There exists an optimal, integral solution y * to LP2 such that F y * is laminar.
Let y be an optimal, integral solution to LP2 such that F y is laminar. Note that for any nonempty X ⊆ V , there is an e ∈ A ∩ δ − (X ) and thus y X ≤ c A (e) = 1. This implies that y X ∈ {0, 1} for all X . We conclude that F y is a dual certificate for A in the sense of the following definition.  For the rest of this section, let Y be a dual certificate maximizing |Y|.

Observation 2.5 For every
Observation 2.5 is implied by the fact that e = (r , v) is an edge in D for every v ∈ V and c A (e) ≤ 2. For the case when A is popular, Lemma 2.4 establishes the following one-to-one correspondence between the nodes in V and the sets of Y: For every set X ∈ Y, there is a unique edge (u, v) ∈ A that enters X . We call v the entry-point for X . Conversely, we let Y v be the unique set in Y for which v is the entry-point; thus Laminarity of Y yields the following corollary of Lemma 2.4 and Observation 2.5: The following definition of the set of safe edges S(X ) with respect to a subset X ⊆ V will be useful. Let S(X ) be the set of edges (u, v) in E[X ] := E ∩ (X × X ) such that properties 1. and 2. hold:

Observation 2.7 If A is popular, then
Proof Let X ∈ Y with |X | > 1. By Corollary 2.6, for every node v ∈ X other than the entry-point for enters exactly one dual set, i.e., {v}, implying c A (e) ≥ 1 by LP2. By contrast, any edge (w, v) ∈ E where w / ∈ X enters two of the dual sets: X and {v}, yielding , these conditions induce exactly the constraints 1. and 2. given above, showing that the edge A(v) must be safe.

Popular branching algorithm
We are now ready to present our algorithm for deciding if D admits a popular arborescence or not. For each v ∈ V , step 1 of the algorithm builds the largest set X v such that v can reach all nodes in X v using edges in S(X v ). To construct the sets X v we make use of the monotonicity of S(·), which follows directly from the definition of safe edges: We will establish later that the collection X = {X v : v ∈ V } is laminar (see Lemma 3.2). In steps 2-3, the algorithm contracts each maximal set in X into a single node and builds a graph D on these nodes and r . For each contracted set X ∈ X , edges leading to node X in D correspond to undominated edges in D leading from outside X to the candidate entry-points of X , which are nodes v ∈ X such that X = X v . Theorems 3.3-3.4 show that D admits a popular arborescence if and only if D admits an arborescence.
Our algorithm for computing a popular arborescence in D is given below. An example of the execution of the algorithm is shown in Fig. 1.
-if e is undominated (i.e., e ⊀ v e ) among all edges e ∈ δ − (X v ), then Else return "No popular arborescence in D".
Correctness of the above algorithm. We first establish the laminarity of the sets X u for u ∈ V constructed in step 1 of the algorithm.
Proof We start by proving the second statement. Let v ∈ V and u ∈ X v . We first show that X i u ⊆ X i v for any i, where we set X i v := X v whenever X i v is not defined by the above algorithm. The claim clearly holds for i = 0. Let i be the smallest index This concludes the proof of the second statement. Now we will show the laminarity of X . For contradiction, assume there exist s, t ∈ V such that X s and X t cross, i.e., their intersection is non-empty and neither contains the other. Then, by the second statement of the lemma, neither s ∈ X t nor t ∈ X s can hold. So we have that s / ∈ X t and t / ∈ X s . Let (x, y) be an edge in S(X t ) such that y ∈ X s ∩ X t but x ∈ X t \ X s ; since each node in X t is reachable from t in S(X t ), such an edge exists. Since y ∈ X s \ {s}, there also exists an edge (u, y) in S(X s ). As x / ∈ X s but (u, y) ∈ S(X s ), we know that (u, y) y (x, y) which contradicts (x, y) ∈ S(X t ).

Fig. 1
The left figure shows an example for the graph D, i.e., the input instance extended by a root node r . Some outgoing arcs from the root are omitted in D. Solid arcs are preferred over dashed arcs which are preferred over dotted arcs. Grey areas correspond to sets in X . The right figure depicts the corresponding graph D constructed by our algorithm. Any arborescence in D can be extended to a popular arborescence in D. e.g., the arborescence indicated by bold blue arcs is popular Proof We start by showing that A * is an arborescence in D. Laminarity of X implies that the sets in X are pairwise disjoint. Moreover, by construction, each node in V is included in at least one set in X , namely v ∈ X v for each v ∈ V . Hence, X forms a partition of V . Thus each w ∈ V has exactly one incoming edge in A * : an We now establish that A * is popular by showing that Y : We now show that for all v ∈ V , the incoming edges satisfy the constraints in LP2. Suppose

Theorem 3.4 If D has a popular arborescence, then our algorithm finds one.
Before we prove Theorem 3.4, we need Lemma 3.5 and Lemma 3.6.

Lemma 3.5 Let A be a popular arborescence and
and one of the following two cases must be true:

Lemma 3.6 Let A be a popular arborescence in D and let X ∈ X . Then A enters X exactly once, and it enters X at some node
Proof Let X ∈ X and let A be a popular arborescence which enters X at some node However, c A (e) ≤ 1 since e ∈ S(X ) must be an undominated edge, a contradiction to the feasibility of Y.
We next show that v ∈ entry(X ). Let s ∈ entry(X ). By the previous paragraph and It remains to prove that A enters X only once. Suppose for contradiction that there exist two nodes

Proof (of Theorem 3.4) Assume there exists a popular arborescence
We will show that there exists an arborescence in D . By Lemma 3.6, for each X ∈ X there exists exactly one violates the dual constraint for (u , v), a contradiction. Hence, e X is undominated among the edges of δ − (X ) ∩ δ − (v) and so our algorithm creates an edge f (e X ) in E pointing to X . Using that A is an arborescence in D, it is straightforward to verify that the edges { f (e X ) : X ∈ X } form an arborescence A in D . Thus our algorithm returns an edge set A * , which by Theorem 3.3 must be a popular arborescence in D.
Observe that step 1, the bottleneck step, takes O(mn) time per node. An arborescence in D can be found by breadth first search, i.e., in time O(n + m ) where n and m are the number of vertices and edges in D , respectively. Thus the running time of the algorithm is O(mn 2 ), and Theorem 1.2 follows.

Branchings with minimum unpopularity margin
Recall the definition of the unpopularity margin for branchings from Sect. 1. Again, instead of studying minimum unpopularity margin branchings within the digraph G, we look at r -arborescences of minimum unpopularity margin within the digraph D as constructed in Sect. 2. It is easy to see that the unpopularity margin of a branching in G is the same as the unpopularity margin of the corresponding arborescence in D. 4 Thus we are looking for an arborescence of minimum unpopularity margin in D. We further obtain the following variant of Lemma 2.4 which proves useful in bounding the unpopularity margin of a given arborescence in D.

Lemma 4.1 Let A be an arborescence in D and Y be a dual certificate for A. Then
Proof Let A be a min-cost arborescence in D with respect to c A . Recalling the pair of integral LPs LP1 and LP2 from Sect. 2, we observe that A corresponds to an optimal solution to LP1 of value c A (A ) and Y corresponds to a feasible solution to LP2 of value |Y|. We conclude that c A (A ) ≥ |Y| by LP duality. Thus, Proposition 2.1 implies that μ(A) = n − c A (A ) ≤ n −|Y|. If Y has maximum cardinality, it is optimal to LP2 and the inequality becomes an equality by strong duality.

A simple extension of our algorithm: algorithm MinMargin
Our algorithm from Sect. 3 can be extended to compute an arborescence with minimum unpopularity margin when nodes have weak rankings. If D does not admit an arborescence, algorithm MinMargin below computes a maximum-size branching B in D and adds edges from r to all root nodes in B to construct an arborescence. This arborescence in D is then transformed into an arborescence in D. Figure 2 shows an example execution of the algorithm.
1. Let D be the graph constructed in the algorithm in Sect. 3, and let B be a branching of maximum size in D .

Theorem 4.2 When nodes have weak rankings, Algorithm MinMargin returns an arborescence with minimum unpopularity margin in D.
To prove Theorem 4.2, we first show in Lemma 4.3 that the size of the set R 2 is an upper bound on the unpopularity margin of the arborescence A * returned by Algorithm MinMargin. Then we introduce the concept of completeness of dual certificates, which can be used to show that any arborescence in D has unpopularity margin at least |R 2 |. We remark that only the latter bound requires the properties of weak rankings, whereas the algorithm itself and Lemma 4.3 hold for arbitrary partialorder preferences. Suppose v ∈ R 2 . Then v is not contained in any set of Y, so the constraint for e = (w, v) is not violated.
Suppose Suppose v ∈ V \ (R 1 ∪ R 2 ). Let s ∈ R 1 ∪ R 2 be the unique node in R 1 ∪ R 2 with v ∈ X s . Then (u, v) ∈ A s by construction of A * . Edge e = (w, v) enters at most two sets of Y if w / ∈ X s and exactly one set if w ∈ X s . If w / ∈ X s , then by construction of A s and property 2 of S(X s ), it holds that (w, v) is dominated by (u, v), and hence c A * (e) = 2. If w ∈ X s , then by construction of A s and property 1 of S(X s ), (w, v) does not dominate (u, v), and hence c A * (e) ∈ {1, 2}. Thus, Y is a dual certificate for A * of size n − |R 2 |.

Lemma 4.4 Let A be an arborescence in D. For Z
Proof The proof is a direct analog of the proof of Lemma 3.5, with Z taking the role of Y v and noting that this proof only makes use of dual constraints for nodes w ∈ Y v \{v}.
For Observation 4.5 recall that the weakly connected components of a directed graph are the connected components of its induced undirected graph. Proof Assume for contradiction that δ − D (C ) = ∅ for all C ⊆ C. Hence, every X ∈ C is reachable from {r } ∪ X \ C in D . Consequently, we can modify B by attaching each X ∈ C to one of the other connected components of B , increasing its size by 1. This contradicts the maximality of B .
Completeness of dual certificates. Let A be an arborescence in D and Y a dual certificate for A. If an edge (u, v) ∈ A enters a set Y ∈ Y we say that Y belongs to v. Note that every set of Y belongs to some node and, since c A (e) = 1 for every e ∈ A, at most one set may belong to a node. However, if |Y| < n, the same set of Y may belong to multiple distinct nodes and there may be nodes to which no set in Y belongs. We say that Y is complete on S ⊆ V , if |{Y ∈ Y : Y belongs to some v ∈ S}| = |S|. Note that if Y is complete on S, then for each v ∈ S there is a unique set Y v ∈ Y belonging to v, and for any two distinct nodes v, v ∈ S we have Y v = Y v . In the following proof of Theorem 4.2 we will show that there exist |R 2 | disjoint node sets for which no dual certificate of any arborescence can be complete.

Proof (of Theorem 4.2) Let
A be an arborescence with minimum unpopularity margin and Y a dual certificate for A with maximum cardinality. We will show that |Y| ≤ n − |R 2 |. By Lemmas 4.1 and 4.3 this implies μ(A) ≥ |R 2 | ≥ μ(A * ), which proves the theorem.
Note that there is a one-to-one correspondence between nodes in R 2 and the connected components of B in D not containing r . Let C be such a connected component. By Observation 4.5, there exists some C ⊆ C with δ − D (C ) = ∅. We will show that Y is not complete on S := X ∈C X . As the sets S are disjoint for distinct connected components C, there exist |R 2 | pairwise disjoint sets on which Y is not complete. Since each set of Y belongs to some node of V , and at most one set belongs to each node, this implies |Y| ≤ n − |R 2 |.
It remains to show that Y is not complete on S. Assume for contradiction that Y is complete on S and for each v ∈ S let Y v be the unique set belonging to v. Consider any edge e = (u, v) ∈ A ∩ δ − D (S) at which A enters S. We will show that Y v ∩ S and v fulfill the requirements of Lemma 4.4, but that Y v ∩ S X v , deriving a contradiction. Thus Y cannot be complete on S.
In the proof of the first claim, we rely on our assumption that the preferences are given by a weak ranking.

Proof of Claim
By the laminarity of Y and its completeness on S, we know that Y x ∩ S = {x}. Indeed, assuming that x is a node in Y x ∩ S other than x, the sets Y x , Y x , and Y v would necessarily contradict Observation 2.5. We distinguish two cases: Case 2: w ∈ Y v \S. In that case e enters the two sets Y v ∩S and {x}. We need to prove c A (e ) = 2. Consider the set X ∈ C that contains x. Note that δ − D (C ) = ∅ implies that e must be dominated by some edge f entering X at x. Without loss of generality we can choose f such that it is undominated among all edges in δ . Clearly, f enters the set {x} ∈ Y Z ,v . Note that f cannot enter S, because δ − D (C ) = ∅ and f is not dominated by edges entering X ⊆ S. So we can apply the statement of the previous case to f ,

Proof of Claim
Let X ∈ X be the unique set of X with v ∈ X .
Case 1: X v = X . Let s ∈ V with X s = X . Note that v ∈ X implies s ∈ X ⊆ S. By construction of X s there exists an s-v-path P ⊆ S(X ) containing only safe edges for X s . Recall that a safe edge cannot be dominated by any other edge. If s / ∈ Y v , then there is an edge (u , v ) ∈ P entering Y v . If v = v, then the non-dominated edge (u , v ) enters two sets of Y, a contradiction. If v = v, then (u , v ) dominates (u, v) ∈ A but enters Y v , again a contradiction. We conclude that s ∈ Y v . However, as there must be an edge e = (u , v) entering X v at v and dominating e. Without loss of generality, we can choose e such that it is undominated among all edges in δ − This completes the proof of Theorem 4.2.

Unpopularity margin under partial preference orders
The following theorem shows that Algorithm MinMargin cannot be extended for the case where each node v has an arbitrary partial order over δ − (v).

Theorem 4.6 Given a directed graph where each node has a partial preference order over its incoming edges and an integer k ≤ n, it is NP-hard to decide if there exists a branching with unpopularity margin at most k.
Proof We reduce from the NP-complete problem 3D-Matching where we are given disjoint sets X , Y , Z of equal cardinality and T ⊆ X ×Y × Z , and we ask if there exists M ⊆ T with |M| = |X | such that for distinct (x, y, z), (x , y , z ) ∈ M it holds that x = x , y = y and z = z ; such an M is called a 3D-matching. W.l.o.g. we assume that |X | > 3 and every x ∈ X ∪ Y ∪ Z is in some t ∈ T . For any t = (x, y, z) ∈ T we define S(t) := {x, y, z}.
We construct a digraph D = (V ∪ {r }, E) together with a partial order v over the incoming edges of v for each v ∈ V as follows. For every x ∈ X ∪ Y ∪ Z we introduce a node gadget consisting of a lower node x l and an upper node x u . There exist two parallel edges, d (1) x and d (2) x , from x u to x l , and there exist two parallel edges, r (1) x and r (2) x , from r to x l . Moreover, the upper node x u has an incoming edge from the upper node of every other node gadget, i.e., (x u , x u ) ∈ E for all x ∈ X ∪ Y ∪ Z \ {x}. Lastly, there exists an incoming edge from r to the upper node which we call r (3) x . For each t ∈ T we introduce a hyperedge gadget consisting of six edges in D. More precisely, for each x ∈ S(t) we introduce two parallel edges from x l to x u which we call t (1) x and t (2) x . This finishes the definition of D. Let us now define the preferences { v : v ∈ V }. A lower node x l has the following preferences over its incoming edges: x r (2) x , and all other pairs are not comparable. The preferences of an upper node x u are as follows: and all other pairs are not comparable. See Fig. 3 for an illustration. Note that the digraph D has the special property that every node v ∈ V has at least one incoming edge from r . As a consequence, any branching B in D minimizing μ(B) must in fact be an arborescence rooted at r . Moreover, we can apply Lemma 4.1 to any given arborescence A in D as usual. In the following we show that there exists a 3D-matching M ⊆ T with |M| = |X | iff there exists an r -arborescence in D with unpopularity margin at most 2|X |.
First, let M ⊆ T be a 3D-matching with |M| = |X |. We construct an arborescence A together with a feasible dual certificate Y with |Y| = 4|X |. By Lemma 4.1, this suffices to show that A has unpopularity margin at most 6|X | − 4|X | = 2|X |. We  (1) x It is easy to verify that A is indeed an r -arborescence. It remains to show that Y is a feasible dual solution.
First consider a node x l for x ∈ X ∪ Y ∪ Z which has four incoming edges. The edges d (1) x and d (2) x do not enter any set in Y and hence do not violate any constraint in the dual LP. Moreover, since node x l is indifferent between r (1) x and r (2) x , we obtain c A (r (1) x ) = c A (r (2) x ) = 1 and hence, none of the constraints corresponding to an edge entering x l is violated.
Now consider x u for x ∈ X ∪ Y ∪ Z . Let S(t) = {x, y, z} for the hyperedge t in M containing x. We obtain c A ((y u , x u )) = c A ((z u , x u )) = c A (e) = 1 for any edge e pointing from x l to x u , while for any other incoming edge e of x u we get c A (e) = 2. By construction of Y, the first group of edges enter only the set {x u } of Y, while the second group of edges enter two sets of Y. Thus none of the constraints is violated. This shows the first direction of the equivalence.
For the reverse direction, let A be an r -arborescence of unpopularity margin at most 2|X |. Let Y be a corresponding laminar certificate of size |Y| = 4|X |.
Since the number of sets in Y is greater than the number of node gadgets, there exist node gadgets which intersect with more than one set from Y. Let x ∈ X ∪ Y ∪ Z be a node such that the corresponding node gadget intersects with at least two sets ∈ Y 2 (w.l.o.g. after possibly swapping Y 1 and Y 2 ).
First, assume for contradiction that Y 1 ∩ Y 2 = ∅. Then, {r (1) x , r (2) x } ∩ A = ∅ since otherwise c A (d (1) x ) = 0 or c A (d (2) x ) = 0, however, both of them enter a set from Y. This implies that {t (1) x , t (2) x } ∩ A = ∅ for all t ∈ T such that x ∈ S(t) since otherwise A would contain a cycle. Therefore, no matter which other incoming edge of x u is used by A, there exists an edge e ∈ E from x l to x u such that c A (e) = 0. But this contradicts Y 1 ∩ Y 2 = ∅, as e cannot enter any set in Y. We conclude that Y 1 and Y 2 intersect and since Y is laminar we can assume w.l.o.g. that Y 2 ⊆ Y 1 . Second, assume for contradiction that x l / ∈ Y 1 . Observe that, no matter which edge points towards x u within A, both t (1) x or t (2) x have a cost of at most 1 in c A , for any triple t ∈ T containing x. However, both of these edges enter two sets from Y, a contradiction. An analogous argument shows x u ∈ Y 1 . Finally note that x l can be contained in at most one set of Y, as no arc dominates both r (1) x and r (2) x at the same time and therefore min{c A (r (1) x ), c A (r (2) x )} ≤ 1. Thus Note that we have proved these properties for any two sets in Y that intersect {x u , x l }; however there cannot exist three sets in Y such that any two of them fulfill these conditions (i.e., that one of them contains both x u and x l , the other contains only x u but not x l ). Therefore, this also suffices to argue that there exist at most two sets from Y intersecting with x's node gadget. Let As a consequence of the above observation, no node gadget can intersect with more than two sets of Y and therefore |Y \ S| ≤ 3|X | implying |S| ≥ |X |. For every Y 1 ∈ S we select a representative x(Y 1 ) ∈ X ∪ Y ∪ Z whose node gadget intersects with Y 1 and one other set Y 2 from Y. Consider the node gadget of x := x(Y 1 ). Recall that x u ∈ Y 1 ∩ Y 2 and x l ∈ Y 1 \ Y 2 and that A(x u ) must be an edge starting at x l , as established in the preceding paragraph. We claim that A(x u ) = t (1) x for some t ∈ T . Assume for contradiction that x u is entered by t (2) x for some t ∈ T . Note that t (2) x is incomparable with the edges (y u , x u ) for each y ∈ X ∪ Y ∪ Z \ t, and thus none of these edges can cross both Y 1 and Y 2 . As Y 2 ⊆ Y 1 , we conclude that Y 1 contains x u and all 3|X | − 3 nodes y u for y ∈ X ∪ Y ∪ Z \ t. As the sets in S do not overlap, our assumption that |X | > 3 yields the contradiction |X | ≤ |S| ≤ 3 < |X |. Thus, A(x u ) = t (1) x for some t = (x, y, z) ∈ T . This implies {x u , y u , z u } ⊆ Y 1 , since c A ((y u , x u )) = c A ((z u , x u )) = 1. We conclude that neither y nor z is included in any other set of S. Thus, M := {t ∈ T : t (1) x(Y 1 ) ∈ A, Y 1 ∈ S} is a 3D-matching of size |X |.

Branchings with low unpopularity factor
Recall the definition of unpopularity factor from Sect. 1. As done in the previous section, instead of studying branchings in the digraph G, we look at r -arborescences within the digraph D. The unpopularity factor of any branching in G is the same as the unpopularity factor of the corresponding arborescence in D. Given any arborescence A and value t, there is a simple method to verify if u(A) ≤ t or not. This is totally analogous to our method from Sect. 2 to verify popularity, and it involves computing a min-cost arborescence in D with the following edge costs. For e = (u, v) in D, define:

Proof For any arborescence A , we have c A (A ) = t · φ(A, A ) − φ(A , A) + n. In particular, c A (A) = n. Hence, A is a min-cost arborescence with respect to c
Lemma 5.2 follows from Lemma 5.1 and LP duality.

Lemma 5.2 Arborescence A satisfies u(A) ≤ t if and only if there exists a dual feasible solution y to LP2 with c A (e) as defined above with X y X = n.
Proof of Theorem 1. 5 We now assume that node preferences are strict; thus we may assume the graph to be simple, and nodes to have preferences over their in-neighbors. We modify our algorithm from Sect. 3 to compute an arborescence A in D = (V ∪ {r }, E) such that u(A) ≤ log n .

Initially all nodes in
-select any active node v such that X i v = X ; deactivate all u ∈ X \ {v}. {now v is the only active node in X} -if v is reachable from r using edges in E , then deactivate v. {this means all nodes in X are reachable from r} 7. If there exists any active node, then set i = i + 1 and go to step 3 above. 8. Compute an arborescence A in (V ∪ {r }, E ) and return A.
See Fig. 4 for an illustration of the algorithm. When reaching step 8, there can be no active node. This means that every node is reachable from r using the edges in E , and so there exists an arborescence A in (V ∪ {r }, E ). We now bound its unpopularity factor. Let e 1 , . . . , e be the edges in E at the end of the algorithm in the order that they were added to E (breaking ties arbitrarily among the edges added in the same iteration). Let E j := {e 1 , . . . , e j } and note that for every i there is a j such that X i ⊆ X (E j ). Since the subset of a laminar family is also laminar, it thus suffices to show that X (E j ) is laminar for every j, which we show by induction on j. This is trivial for j = 0 with E 0 = ∅. For some j ≥ 0, let e j+1 = (u, v). Note that, for w ∈ V , adding e j+1 to E j results in Fig. 4 The figure illustrates the execution of the algorithm from the proof of Theorem 1.5 for the example instance given in Fig. 1. The three pictures illustrate the iterations i = 1, i = 2, and i = 3, respectively. Grey areas depict the sets in X i−1 and only edges from the set E as defined in step 3 are shown. Deactivated nodes are indicated by unfilled circles and active nodes by filled circles. The tie-breaking in step 6 was performed arbitrarily u ∈ X w (E j ) and X w (E j+1 ) = X w (E j ) otherwise. Combining this with the fact that X v (E j ) is a ⊆-maximal set in the (by the induction hypothesis) laminar family X (E j ), we conclude that X (E j+1 ) is also laminar.

Proof
Since v was not deactivated in iteration i, it means that all nodes in X i v \{v} were deactivated in that iteration. This implies that v / ∈ X i v , and symmetrically, v /

Lemma 5.5 If the while-loop terminates after t + 1 iterations, then u(
: v ∈ V and v got deactivated in the i-th iteration} and let Y = i Y i . For X ⊆ V , let y X = 1 if X ∈ Y and y X = 0 otherwise. For each node v, there is a corresponding set X i−1 v in Y, and by Lemma 5.4, the sets corresponding to distinct nodes are distinct. Hence, we have X ⊆V y X = n. Consider any v ∈ V . Again by Lemma 5.4 for each i, there is at most one set in Y i containing v. Thus X :e∈δ − (X ) y X ≤ t + 1 for any edge e pointing to v. Furthermore, the algorithm ensures that the edge (u * , v) ∈ A is the most preferred edge entering v among all edges with tail outside X i−1 v . So every other edge e = (u, v) with u / ∈ X i−1 v is ranked worse than (u * , v) ∈ A and thus c A (e) = t + 1. This proves that y is a feasible dual solution for A, so u(A) ≤ t.

Lemma 5.6
The while-loop runs for at most log n + 1 iterations.
Proof Every node v that is active at the start of some iteration either becomes reachable from r in this iteration or it joins a weakly connected component with at least one other active node. At the end of each iteration, there is at most one active node in each weakly connected component. So the number of active nodes is reduced by a factor of 1/2 in each iteration. Thus the number of active nodes at the end of the i-th iteration of the while-loop is at most n/2 i . Hence the while-loop can run for at most log n + 1 iterations.
Combining Lemmas 5.6 and 5.5, the first part of Theorem 1.5 follows.
A tight example. We now describe an instance on n nodes with strict preferences where every branching has unpopularity factor at least log n . For convenience, let n = 2 k for some integer k. We construct an instance G k on vertex set V = {v 0 , . . . , v n−1 }, where every node has in-degree k = log n. The instance on 4 vertices a, b, c, d given in Sect. 1 is, in fact, G 2 .
-For 0 ≤ i ≤ n/2 − 1, the nodes v 2i and v 2i+1 are each other's top in-neighbors. Thus The other preference orders are analogous. As an example, let n = 8 and V = {v 0 , v 1 , . . . , v 7 }. The preferences of each node is then defined as below: For any branching in G k on 2 k nodes, we claim its unpopularity factor is at least k. We will prove this claim by induction on k. The base case, i.e., k = 1, is trivial. So let us assume that we have u(B) ≥ i for any branchingB in G i . Consider G i+1 . Note that v 2 j and v 2 j+1 are each other's top choice in-neighbors for 0 ≤ j ≤ 2 i − 1. Let B be any branching in G i+1 . Suppose it is the case that in B, for some j: neither v 2 j is v 2 j+1 's in-neighbor nor v 2 j+1 is v 2 j 's in-neighbor. Then u(B) = ∞, because by making v 2 j the in-neighbor of v 2 j+1 , no node is worse-off and v 2 j+1 is better-off. We assume u(B) < ∞. So it is enough to restrict our attention to the case where for each j we have in B: For each j ∈ {0, . . . , 2 i − 1}, contract the set {v 2 j , v 2 j+1 } into a single node in the graph G i+1 . The new graph (call it G i ) is on 2 i nodes and it is exactly the same as G i except that there are 2 parallel edges between every adjacent pair of nodes now -both these edges have the same rank.
Perform the same contraction step on the branching B as well. By ( * ), it follows that the contracted B (call it B ) is a branching such that B uses at most 1 edge in any pair of parallel edges in G i . Thus B is a branching in G i and we can use induction hypothesis to conclude that u(B ) ≥ i.

Claim
There is a branching A in G i such that φ(A , B ) ≥ i and φ(B , A ) = 1. Moreover, the lone vertex that prefers B to A is a root in A .
We will first assume the above claim and finish our proof on u(B). Then we will prove this claim. Opening up the size-2 supernodes in B will create B: let us run the same "opening up" step on A to create a branching A in G i+1 . So φ(A, B) ≥ i and φ(B, A) = 1. We will now modify A to A * so that φ(A * , B) ≥ i + 1 and φ(B, A * ) = 1.
Let v 2 j be the lone vertex that prefers B to A. By the "opening up" step in B, v 2 j+1 has v 2 j as its in-neighbor. The branching A * will affect only the 2 nodes v 2 j and v 2 j+1 in A. Every other node will have the same in-neighbor in A * as in A. The above claim tells us that v 2 j is a root in A. Make v 2 j+1 a root in A * and v 2 j 's in-neighbor will be v 2 j+1 . The node v 2 j was the only node that preferred B to A and now v 2 j prefers A * to B. However there is one node that prefers B to A * : this is v 2 j+1 . Recall that v 2 j+1 's in-neighbor in B, just as in A, is its top-choice neighbor v 2 j while v 2 j+1 is a root in A * . Thus φ(A * , B) ≥ i + 1 and φ(B, A * ) = 1.

Proof of Claim
LetÃ be a branching that maximizes φ(Ã, B )/φ(B ,Ã). Let {u 1 , . . . , u j } be the nodes that prefer B toÃ. There is no loss in assuming that u 1 , . . . , u j are root nodes inÃ. For each i, let n i be the number of nodes in the arborescence rooted at u i inÃ that have different in-neighbors inÃ and B -note that each of these nodes prefersÃ to B (since the ones who prefer B toÃ are root nodes inÃ).
Let n t = max{n i : 1 ≤ i ≤ j}. LetÃ t be the maximal sub-arborescence ofÃ rooted at u t , and let X be those n t nodes inÃ t that preferÃ to B . We construct a branching A . Let us define an arborescence A t rooted at u t by modifyingÃ t as follows: for each w / ∈Ã t that is the descendant of some v ∈Ã t in B , we add B (w). We define A as the branching that contains A t and for which So each node inÃ t has the same in-neighbor in A as in B , except for the nodes in X ∪ {u t }.
The n t nodes in X prefer A to B , and u t prefers B to A , so we have φ(A ,B ) φ(B ,A ) = n t . By u(B) < ∞ we get u(B ) < ∞, which implies that every node that prefersÃ to B is contained in a sub-arborescence ofÃ rooted at one of the nodes u 1 , . . . , u j . Thus φ (B ,Ã) and the claim follows.
This concludes the proof of Theorem 1.5.

The popular branching polytope
We now describe the popular arborescence polytope of D = (V ∪ {r }, E) when every node has a weak ranking over its incoming edges. Projecting out variables x (r ,v) for all v ∈ V from these constraints will give us the formulation of the popular branching polytope B G of G.
The arborescence polytope A D of D is described below [30].
e∈E [X ] x e ≤ |X | − 1 ∀ X ⊆ V , |X | ≥ 2. (1) We will define a subgraph D * = (V ∪ {r }, E D * ) of D: this is essentially the expanded version of the graph D from our algorithm. The edge set of D * is: Thus each set X ∈ X , which is a node in D , is replaced in D * by the nodes in X and with the edges in S(X ) between them. We also replace edges in D between sets in X by the original edges in E. Lemma 6.1 If every node has a weak ranking over its incoming edges, then every popular arborescence in D is an arborescence in D * that includes exactly |X | − 1 edges from S(X ) for each X ∈ X .
Proof Let A be a popular arborescence in D and let X ∈ X . By Lemma 3.6 we know |A ∩ δ − (X )| = 1, and the proof of Theorem 3.4 tells us that the unique edge Let e enter w ∈ Y u . Since e ∈ S(X ), we have e w A(w) or e ∼ w A(w), hence c A (e) ∈ {0, 1}. If w = u, then {w} ∈ Y by Corollary 2.6, and hence e enters two sets Y u and {w}-thus the constraint in LP2 corresponding to edge e is violated. If w = u, then e ∈ S(X ) and A(u) ∈ E[X ] \ S(X ) imply that e ∼ u A(u) is not possible, because u has a weak ranking over its incoming edges (note that for any two edges f and f in δ − (u) ∩ E[X ] that are tied in the preference list of u, . Since e is undominated, this implies e u A(u), yielding c A (e) = 0. Since e enters Y u , the constraint corresponding to e in LP2 is again violated. So A(u) ∈ S(X ), i.e., A ∩ E[X ] ⊆ S(X ).
Hence, every popular arborescence in D satisfies constraints (1)-(2) along with constraints (3) given below, where E D * is the edge set of D * .

e∈E[X ]
x e = |X | − 1 ∀ X ∈ X , |X | ≥ 2 and x e = 0 ∀ e ∈ E \ E D * (3) Note that constraints (3) define a face F of the arborescence polytope A D of D. Thus every popular arborescence in D belongs to face F.
Consider a vertex in face F: this is an arborescence A in D of the form A ∪ X ∈X A X where (i) A X is an arborescence in (X , S(X )) whose root is an entry-point of X and (ii) A = {e X : X ∈ X } where e X is an edge in D * entering the root of A X . Observe that A is a possible output of the algorithm presented in Sect. 3 (with appropriate tie breaking). Therefore, by Theorem 3.3, A is popular in D. Thus we can conclude Theorem 6.2.

Theorem 6.2 If each node has a weak ranking over its incoming edges, then face F defined by constraints (1)-(3) is the popular arborescence polytope of D.
So the popular branching polytope B G is described by constraints (1) (2) is replaced by e∈δ − G (v) x e ≤ 1, i.e., we project out x (r ,v) . This shows the upper bound given in Theorem 1.3. A compact extended formulation. We now describe a compact extended formulation of the popular arborescence polytope of D when node preferences are weak rankings. We know from Lemma 6.1 that every popular arborescence in D is an arborescence in D * that includes exactly |X | − 1 edges from S(X ) for each X ∈ X . Conversely, any such arborescence in D * is a popular arborescence in D (as a consequence of Theorem 3.3).
Thus the popular arborescence polytope of D is the face of the arborescence polytope of D * that corresponds to the constraints e∈E D * [X ] x e = |X |−1 for all X ∈ X . Let A D * be the arborescence polytope of D * = (V ∪ {r }, E D * ). We will now use a compact extended formulation of A D * .
Recall that |V | = n. Let P D * be the polytope defined by constraints (4)- (7) on variables x e , f v e for e ∈ E D * and v ∈ V . It is known [7] that P D * is a compact extended formulation of the arborescence polytope A D * . Note that A D * is the projection of P D * on to x-space.
x e ≥ f v e ≥ 0 ∀v ∈ V and e ∈ E D * (4) For any X ⊆ V with |X | ≥ 2, the constraint e∈E D * [X ] x e ≤ |X | − 1 is a valid inequality for A D * and also for P D * . Thus the intersection of A D * along with the tight constraints e∈E D * [X ] x e = |X | − 1 for all X ∈ X is a face of A D * . Call this face F D * -this is the popular arborescence polytope of D.
Consider the face of P D * that is its intersection with e∈E D * [X ] x e = |X | − 1 for all X ∈ X . This face of P D * is an extension F D * . The total number of constraints used to describe this face of P D * is O(mn). Lower bound for the popular branching polytope B G of G. Let G = (V , E) be the complete bidirected graph where every node v ∈ V regards all other nodes u ∈ V as top-choice in-neighbors. Here X = {V }. We claim that in any minimal system contained in (1)-(3) (after projecting out variables x (r ,v) for all v ∈ V ), the constraint e∈E [X ] x e ≤ |X | − 1 for every X ⊂ V with |X | ≥ 2 has to be present. This is because a cycle on the nodes in X along with any rooted arborescence A on V \ X satisfies all the remaining constraints. Thus any minimal system of inequalities from (1)-(3) that describes B G has to contain 2 n − n − 2 inequalities from (1): one for every X ⊂ V with |X | ≥ 2. Since inequalities in a minimal system are in one-to-one correspondence with the facets of the polyhedron they describe [7,Theorem 3.30], the lower bound given in Theorem 1.3 follows.
Min-cost Popular Branching under Partial Preference Orders. The results above imply that the min-cost popular branching problem has a polynomial time algorithm when every node has a weak ranking over its incoming edges. The following theorem reveals that the assumption of weak rankings is indeed crucial, as the problem becomes NPhard when nodes preferences are in arbitrary partial order. At an intuitive level, the construction makes use of the fact that for arbitrary partial orders, an edge that is incomparable to a safe edge need not be safe itself, and hence popular arborescences can contain differing numbers of safe edges with respect to the sets in X . We show that finding a popular arborescence with a mimimum number of such safe edges is NP-hard. Theorem 6.3 Given a directed graph where node preferences are in arbitrary partial order, a cost vector γ on the edges, and a number k, it is NP-hard to decide whether there exists a popular branching of cost at most k.
Proof We reduce from Vertex Cover: Given an undirected graph G = (V , E ) and a number k , does there exist a subset of at most k vertices of G that contains at least one endpoint of every edge? We construct an instance of the minimum-cost popular branching problem as follows. First we construct a digraph D = (V ∪{r }, E). This node set of D comprises the root r , a special node w, the node set of G , and a node w e for every edge e ∈ E , i.e., V = V ∪ W ∪ {w} where W = {w e : e ∈ E }.
The node w has an incoming edge f e from w e for each e ∈ E , with γ ( f e ) = ∞. It also has an incoming edge r w from the root r , with γ (r w ) = 0. Node w's preferences are such that w is indifferent about the edges f e for e ∈ E , but each of these edges dominates r w .
Each node w e for some e ∈ E with endpoints u, v ∈ V has five incoming edges in D: -two incoming edges p e,u and p e,v from w with γ (p e,u ) = γ (p e,v ) = 0, -an incoming edge q e,u from u with γ (q e,u ) = ∞ and an incoming edge q e,v from v with γ (q e,v ) = ∞, -an incoming edge r e from r with γ (r e ) = ∞. The preferences of w e are as follows: p e,u dominates q e,v , p e,v dominates q e,u , and r e is dominated by every other incoming edge. All other pairs of edges are incomparable for w e .
Finally, every node v ∈ V has three incoming edges: an edge r v from r with γ (r v ) = ∞ and two edges z  We show that S is a vertex cover in G . To this end, consider any edge e ∈ E with endpoints u and v. Note that A(w e ) ∈ {p e,u , p e,v } as these are the only incoming edges of w e with finite cost. Without loss of generality assume that A(w e ) = p e,u . Note that this implies c A (q e,u ) = 1 because p e,u and q e,u are incomparable with respect to w e 's preferences. Observe that A(w) = r w as this is the only incoming edge to w with finite cost. Because f e w r w , this implies c A ( f e ) = 0 and hence w e ∈ Y w . By Corollary 2.6, we get Y w e = {w e }. This implies u ∈ Y w , as otherwise q e,u would enter both Y w and Y w e , contradicting the feasibility of the dual certificate, as c A (q u ) = 1. We deduce that r u enters both Y w and Y u , and thus c A (r u ) = 2 by dual feasibility. This is only possible if A(u) = z yes u , as z yes u is the only edge dominating r u . We conclude that u ∈ S and hence e is covered in S. This shows that a popular arborescence of cost k in D can be turned into a vertex cover of cardinality k in G .
For the reverse direction, consider any vertex cover S ⊆ V in G . We construct an arborescence A. For each v ∈ V , we let A(v) = z yes v if v ∈ S and A(v) = z no v otherwise. For each e ∈ E , let A(w e ) = p e,v where v ∈ S is one of the endpoints of e that is in the vertex cover. Finally, let A(w) = r w . It is easy to see that A constructed in this way is an arborescence of cost |S|, as the only edges with non-zero cost are the edges z yes v for v ∈ S. To show that A is popular, we construct a dual certificate Y = {Y x | x ∈ V } as follows. Let Y w = {w}∪W ∪ S and let Y x = {x} for all x ∈ V \{w}. We verify that this defines a dual certificate for A. First, consider any edge entering w. This edge is either the edge r w ∈ A, which enters exactly the set Y w , or it is an edge of type f e for some e ∈ E . Because w e ∈ Y w , such an edge does not enter any set in Y. Next consider the edges entering a node w e for some e ∈ E with endpoints u and v. W.l.o.g., let u ∈ S be the endpoint with A(w e ) = p e,u . Note that c A ( p e,u ) = c A ( p e,v ) = 1 and both p e,u and p e,v enter exactly the set Y w e . Furthermore, c A (q e,u ) = 1, c A (q e,v ) = c(r e ) = 2 as p e,u is incomparable to q e,u but dominates both q e,v and r e . As u ∈ S ⊆ Y w , the edge q e,u enters only the set Y w e . As w e is contained in two sets of Y, the dual feasibility constraints for the edge q e,v and r e are also fulfilled. Now consider the edges entering some node u ∈ S. Note that u is contained exactly in the sets Y u and Y w . Furthermore c A (z yes u ) = c A (z no u ) = 1 and c A (r u ) = 2, since A(u) = z yes u dominates r u and is incomparable to z no u . The former two edges originate at w ∈ Y w and thus only enter Y u , hence dual feasibility is fulfilled for all edges entering u. Finally, consider any edge entering some node u ∈ V \ S. Note that c A (z yes u ) = c A (z no u ) = c A (r u ) = 1 as A(u) = z no u , which is not dominated by any edge. Because u is only contained in Y u , dual feasibility is fulfilled at u. We thus showed that Y is a dual certificate for A.