<?xml-model href='http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng' schematypens='http://relaxng.org/ns/structure/1.0'?><TEI xmlns="http://www.tei-c.org/ns/1.0">
	<teiHeader>
		<fileDesc>
			<titleStmt><title level='a'>On Approximating Degree-Bounded Network Design Problems</title></titleStmt>
			<publicationStmt>
				<publisher></publisher>
				<date>2020 Fall</date>
			</publicationStmt>
			<sourceDesc>
				<bibl> 
					<idno type="par_id">10300267</idno>
					<idno type="doi">10.4230/LIPIcs.APPROX/RANDOM.2020.39</idno>
					<title level='j'>Leibniz international proceedings in informatics</title>
<idno>1868-8969</idno>
<biblScope unit="volume"></biblScope>
<biblScope unit="issue"></biblScope>					

					<author>Guy Kortsarz Xiangyu Guo</author>
				</bibl>
			</sourceDesc>
		</fileDesc>
		<profileDesc>
			<abstract><ab><![CDATA[Directed Steiner Tree (DST) is a central problem in combinatorial optimization and theoretical computer science: Given a directed graph G = (V, E) with edge costs c ∈ ℝ_{≥ 0}^E, a root r ∈ V and k terminals K ⊆ V, we need to output a minimum-cost arborescence in G that contains an rrightarrow t path for every t ∈ K. Recently, Grandoni, Laekhanukit and Li, and independently Ghuge and Nagarajan, gave quasi-polynomial time O(log²k/log log k)-approximation algorithms for the problem, which are tight under popular complexity assumptions. In this paper, we consider the more general Degree-Bounded Directed Steiner Tree (DB-DST) problem, where we are additionally given a degree bound d_v on each vertex v ∈ V, and we require that every vertex v in the output tree has at most d_v children. We give a quasi-polynomial time (O(log n log k), O(log² n))-bicriteria approximation: The algorithm produces a solution with cost at most O(log nlog k) times the cost of the optimum solution that violates the degree constraints by at most a factor of O(log²n). This is the first non-trivial result for the problem. While our cost-guarantee is nearly optimal, the degree violation factor of O(log²n) is an O(log n)-factor away from the approximation lower bound of Ω(log n) from the Set Cover hardness. The hardness result holds even on the special case of the Degree-Bounded Group Steiner Tree problem on trees (DB-GST-T). With the hope of closing the gap, we study the question of whether the degree violation factor can be made tight for this special case. We answer the question in the affirmative by giving an (O(log nlog k), O(log n))-bicriteria approximation algorithm for DB-GST-T.]]></ab></abstract>
		</profileDesc>
	</teiHeader>
	<text><body xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Network design is a central problem in combinatorial optimization and computer science. To capture more practical situations, the more general model of network design with degreeconstraints was suggested in the early 90's <ref type="bibr">[22,</ref><ref type="bibr">8]</ref> and has attracted researchers in both theory and practice for decades. One of the most famous examples is the Degree-Bounded Minimum Spanning Tree (DB-MST) problem, which models the problem of designing a multi-casting network in which each node only has enough power to broadcast to a bounded number of its neighbors. This problem has been studied in a sequence of works (see, e.g., <ref type="bibr">[16,</ref><ref type="bibr">18,</ref><ref type="bibr">11,</ref><ref type="bibr">24]</ref>), leading to the breakthrough result of Goemans <ref type="bibr">[11]</ref> followed by the work of Singh and Lau <ref type="bibr">[24]</ref>, which settled the problem by giving an algorithm that outputs a solution with optimum cost, while violating the degree bound by an additive factor of +1. Since the works on DB-MST, many efforts have been dedicated to the study the generalizations of the problem: the Degree-Bounded Steiner Tree problem, in which the goal is to find a minimum-cost subgraph that connects all the terminals, while meeting the given degree bounds, was studied in <ref type="bibr">[17,</ref><ref type="bibr">21]</ref>. The Survivable Network Design problem, where each pair of nodes v, w are required to have at least &#955; vw edge-disjoint v-w paths, has also been studied in literature; see, e.g., <ref type="bibr">[20,</ref><ref type="bibr">21]</ref>.</p><p>Recently, degree-bounded network design problems have been studied in the online setting <ref type="bibr">[4,</ref><ref type="bibr">3,</ref><ref type="bibr">5]</ref>. Besides the standard (also called point-to-point) network design problems, <ref type="bibr">Dehghani et al. [4]</ref> also studied the Degree-Bounded Group Steiner Tree problem (DB-GST). They gave a negative result, which shows that it is not possible to approximate both cost and weight of the Online DB-GST problem simultaneously, even when the input graph is a star. More specifically, there exists an input demand sequence that forces any algorithm to pay a factor of &#8486;(n) either in the cost or in the degree violation. To date, there was no non-trivial approximation algorithm for DB-GST, either in the online or offline setting, and even when all the edges have zero-cost. This was listed as an open problem by <ref type="bibr">Hajiaghayi [14]</ref> at the 8th Flexible Network Design Workshop <ref type="bibr">(FND 2016)</ref>.</p><p>In this paper, we study a degree-bounded variant of the classic network design problem, the Degree-Bounded Directed Steiner Tree problem (DB-DST). Formally, in DB-DST, we are given an n-vertex directed graph G = (V, E) with costs on edges, a root vertex r, a set of k terminals K, and degree bounds d v for each vertex v. The goal is to find a minimumcost rooted tree T &#8838; G that contains a path from the root r to every terminal t &#8712; K, while respecting the degree bound, i.e., the out-degree of each vertex v in T is at most d v . Despite being a classic problem, there was no previous positive result on DB-DST as it is a generalization of DB-GST.</p><p>The barriers in obtaining any non-trivial approximation algorithm for DB-GST and DB-DST are similar. Most of the previous algorithms for these two problems either run on the metric closure of the input graph <ref type="bibr">[9,</ref><ref type="bibr">7,</ref><ref type="bibr">23]</ref>, require metric-tree embedding <ref type="bibr">[9,</ref><ref type="bibr">1,</ref><ref type="bibr">6]</ref> or use height-reduction techniques <ref type="bibr">[25,</ref><ref type="bibr">2,</ref><ref type="bibr">13,</ref><ref type="bibr">10]</ref>, all of which lose track of the degree of the solution subgraph.</p><p>We present a bi-criteria (O(log k log n), O(log 2 n))-approximation algorithm for DB-DST that runs in quasi-polynomial-time (see Section 1.1 for the definition), thus solving the open problem of Hajiaghayi <ref type="bibr">[14]</ref>. Our technique expands upon the recent result of Grandoni, Laekhanukit and Li <ref type="bibr">[13]</ref> for the Directed Steiner Tree problem. We observe that the algorithm in <ref type="bibr">[13]</ref> can be easily extended to the problem with degree bounds. Nevertheless, to amend the degree-constrained problem into their framework, we are required to prove a concentration bound for degrees, which is rather non-trivial. Notice that the O(log n log k)-approximation factor on the cost of the tree is almost tight due to the hardness of &#8486;(log 2-n) in <ref type="bibr">[15]</ref> for Directed Steiner Tree and the slightly improved hardness of &#8486;(log 2 n/ log log n) in <ref type="bibr">[13]</ref>.</p><p>While our result for DB-DST is (almost) tight on the cost guarantee, the degree violation factor O(log 2 n) is an O(log n) factor away from the approximation lower bound of &#8486;(log n) from the Set Cover hardness. To understand if the gap can be reduced, we study the special case of DB-DST obtained from the hardness construction in <ref type="bibr">[15]</ref>, namely the Degree-Bounded Group Steiner Tree problem on trees (DB-GST-T). In this problem, we are given an (undirected) tree T &#8226; = (V &#8226; , E &#8226; ) with edge-costs, a root r, k subsets of vertices (called groups) O 1 , . . . , O k &#8838; V and a degree bound d v for each vertex v &#8712; V &#8226; . The goal is to find a minimum-cost subtree T &#8838; T &#8226; that joins r to at least one vertex from each group O t , for every t &#8712; [k], while respecting the degree bound, i.e., the number of children of each vertex v in T is at most d v . We present an (O(log k log n), O(log n))-bicriteria approximation algorithm for DB-GST-T. So, the degree violation of our algorithm is tight and the cost-guarantee is almost tight. This improves upon the O(log n log k, log n log k)-bicriteria approximation algorithm due to <ref type="bibr">Kortsarz and Nutov [19]</ref> who observe that the randomized rounding algorithm in [9] also gives a guarantee on degree-violation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.1">Our Results</head><p>Our first result is an (O(log k log n), O(log 2 n))-bicriteria approximation for DB-DST that runs in quasi-polynomial time: We say that a randomized algorithm is an (&#945;, &#946;)-bicriteriaapproximation algorithm if it outputs a tree T containing an r&#8594;t path for every terminal t &#8712; K such that the number of children of every vertex v in T is at most &#946; &#8226; d v , and the expected cost of the tree is at most &#945; times the cost of the optimum tree that does not violate the degree constraints.</p><p>Theorem 1. There is a randomized (O(log n log k), O(log 2 n))-bicriteria approximation algorithm for the degree-bounded directed Steiner tree problem in n O(log n) -time.</p><p>To the best of our knowledge, our result for DB-DST is the first non-trivial bicriteria approximation for the problem. As we mentioned, the O(log n log k)-factor for the cost is almost tight due to the hardness results of <ref type="bibr">[15] and [13]</ref> for DST. There is a hardness of &#8486;(log n) for the degree violation factor from the Set Cover problem, even if we ignore the cost of the output tree.</p><p>Remark. As in <ref type="bibr">[13,</ref><ref type="bibr">10]</ref>, we could save a factor of log log n in the approximation factor for the problem, with a slight increase in the running time. However, this complicates the algorithmic framework. To deliver the algorithmic idea in a cleaner way, we choose to present the results with O(log n log k) approximation ratios.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>39:4</head><p>On Approximating Degree-Bounded Network Design Problems Our second result is for the degree-bounded group Steiner tree problem on trees (DB-GST-T). We obtain an O(log n log k), O(log n) -bicriteria approximation, which is (almost) tight on both factors: Theorem 2. There is a randomized O(log n log k), O(log n) -bicriteria approximation for the degree-bounded group Steiner tree problem on trees.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.2">Our Techniques</head><p>Our algorithm for DB-DST takes ingredients from both [13] and <ref type="bibr">[10]</ref>. As in these papers, we consider an optimum solution, and recursively partition it into balanced sub-trees; we then assign a "state" to each of these sub-trees. The tree structure of this recursive partition, as well as all of the states, form what we call a state tree. We solve the problem indirectly, by finding a good state tree, which we can transform back into a corresponding good solution. The state of a sub-tree contains a set of special vertices in the sub-tree that we call portals; these were used in <ref type="bibr">[10]</ref> to obtain their improved approximation algorithm for DST. We construct a super-tree T &#8226; that contains all possible state trees as sub-trees and reduce the problem considered into that of finding a good sub-tree of small cost in T &#8226; . This can be done by formulating a linear program (LP) relaxation and rounding the LP solution using a recursive procedure. The construction of the super-tree and the LP rounding techniques are similar to those in <ref type="bibr">[13]</ref>. To extend the algorithm to DB-DST, we need to store the degrees of all of the portals in the state.</p><p>This algorithmic framework outputs a so-called "multi-tree": This is a tree where a vertex or an edge can appear multiple times. Repeating the procedure for Q = O(log n log k) times, we obtain a set of Q multi-trees. This process violates the degree requirements and thus we obtain bicriteria approximation results. The analysis of this process is non-trivial as we need to prove a concentration bound on the number of times a vertex appears in a multi-tree.</p><p>Our technique for DB-GST-T is in observing that the rounding algorithm for GST-T (no degree bounds) in <ref type="bibr">[9]</ref> is indeed a generalization of random walk. As we slightly boost the branching probability by a constant factor, this (almost) does not affect the degree bound, but the probability of connecting the root vertex to each group is amplified dramatically. A drawback is that it also incurs a huge blow-up in the cost. To handle the blow-up, we stop amplifying the branching probability when the connecting probability is sufficiently large. The best (but inaccurate) way to illustrate our algorithm is by considering a random walk from the root vertex to a group O t . We change the random process by branching into two directions simultaneously in each step, and then stop the extra branching when it generates &#920;(log n) simultaneous random walks. Since we have O(log n) simultaneous random walks, the cost incurred by the process is blown-up by a factor O(log n), but the degree-violation is blown-up by only a factor 2. At the same time, the probability of reaching the group O t goes up by a factor &#8486;(log n). Thus, if we need O(log k log n) rounds to reach every group, then we now need only O(log k) rounds. There is no difference in the cost for running the algorithm for O(log k log n) rounds or O(log k) rounds (with an extra O(log n) factor in the cost), but it saves a factor in the degree-violation of O(log n).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>2</head><p>Preliminaries for Degree-Bounded Directed Steiner Tree</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Notations and Assumptions</head><p>In our algorithm and analysis for the DB-DST problem, a tree is always an out-arborescence. Given a tree T , we use root(T ) to denote its root. Given T and a vertex v in T , we use &#923; T (v) to denote the set of children of v, and &#923; * T (v) to denote the set of descendants of v (including v itself) in the tree T . A sub-tree T of T is a weakly-connected sub-graph of T ; such a T must be an out-arborescence. Sometimes, we shall use left and right children to refer to the two children of a vertex in a tree; in this case, the order of the two children is important and will be clearly specified. For an edge e = (u, v), we use head(e) = v to denote its head.<ref type="foot">foot_0</ref> For a triple &#958; = (u, v, v ) of three vertices, we use second(&#958;) = v and third(&#958;) = v to denote the second and third parameter of &#958;.</p><p>We shall assume each terminal t &#8712; K has only one incoming edge and no outgoing edges in G. This can be assumed w.l.o.g using the following simple operation: For every terminal t &#8712; K that does not satisfy the condition, we add a new vertex t , an edge (t, t ) with cost c (t,t ) = 0 and replace t with t in K. We increase d t by 1 and set d t = 0.</p><p>One more assumption we can make is that each non-terminal u &#8712; V \ K has at most 2 outgoing edges in G. To make sure that this holds, we focus on some non-terminal u with b &#8805; 3 outgoing edges. We replace the star centered at u with its b outgoing edges by a gadget which is a full binary-tree rooted at u with b leaves being the out-neighbors of u. For every newly added vertex u, we set d u = d max . This way every vertex in G will have at most 2 outgoing edges. The cost of the edges in the gadget can be naturally defined: every leaf edge (of this gadget) ending at w has cost c (u,w) , and all internal edges have zero cost. However, this operation changes the degree of vertices. To address this issue, we define a simple transformation function &#966; v : Z &#8594; Z for every v &#8712; V as follows: If v is a vertex in the original graph, then &#966; v is identically 1. Otherwise, v is a non-root internal vertex of some gadget and we define &#966; v to be the identity function. Then we can compute the original degree &#961; u of a vertex u in a tree T of G recursively as follows: &#961; u = 0 if u is a leaf, and &#961; u = v&#8712;&#923; T (u) &#966; v (&#961; v ) otherwise. So, we require that for every v in the output tree T , the original degree &#961; v of v is at most d v .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Balanced Tree Partition</head><p>We shall use the following basic tool as the starting point of our algorithm design. Its proof is elementary and deferred to Appendix B. Lemma 3. Let T = (V T , E T ) be an n-vertex binary tree. Then there exists a vertex</p><p>Given a tree T = (V T , E T ) as in the lemma, we can partition it into two trees T 1 = (V T1 , E T1 ) and T 2 = (V T2 , E T2 ), where T 2 contains vertices in &#923; * T (v) and T 1 contains vertices in V T \(&#923; * T (v)\{v}). First assume n &#8805; 4. Since 2n/3+1 &lt; n, we know that v = root(T ), thus implying root(T 1 ) = root(T ) = root(T 2 ) = v, which is a leaf in T 1 . Consequently, we have</p><p>which is strictly less than n. Thus, T 1 and T 2 are sub-trees that form a balanced partition of (the edges of) T . We call this procedure the balanced tree partitioning on T .</p><p>When n = 3, there are 2 types of trees. If the root has two children, then we could not make both |V T1 | and |V T2 | to be smaller than 3. If the tree is a path of 2 edges, then we can choose v to be the middle vertex and the procedure partitions the tree into two edges. Later, we shall apply the balanced tree partitioning procedure recursively. We stop the recursion when the tree is either an edge, or only contains the root and its 2 children. In other words, the tree has only 1 level of edges.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>39:6</head><p>On Approximating Degree-Bounded Network Design Problems</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Multi-Tree</head><p>We define a multi-tree in G as an intermediate structure. It is simply a tree over multi-sets of vertices and edges in G:</p><p>We say that each vertex a &#8712; V T is a copy of the vertex label(a) &#8712; V and each edge (a, b) &#8712; E T is a copy of the edge (label(a), label(b)) &#8712; E. So, we say that T is rooted at a copy of v &#8712; V , if label(root(T )) = v, and T contains a copy of some v &#8712; V if there exists some a &#8712; V T with label(a) = v. We extend the costs c e , the functions &#966; v and the degree bounds d v to their copies in a multi-tree as follows: for a vertex a and an edge (a, b) in a multitree,</p><p>Given a multi-tree T , the "original degree" &#961; a of a vertex a can be computed in the same way as before.</p><p>Definition 5 (Good Multi-Trees). Let T = (V T , E T ) be a multi-tree in G. We say that T is good if it is rooted at a copy of r, has leaves being copies of terminals, and the original degree of any vertex a in T is at most d a .</p><p>We can then state the main theorem for DB-DST, which we prove in Sections 3 to 5.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Theorem 6 (Main Theorem for DB-DST). There is an n</head><p>We show that this implies Theorem 1.</p><p>Proof of Theorem 1. We run the algorithm in Theorem 6 Q times to obtain Q good multitrees T 1 , T 2 , . . . , T Q , for some large enough Q = O(log n log k). Our output will contain all edges that appear in the Q multi-trees. Notice that the output may not be a tree, but we can remove edges so that it becomes a tree. Applying union bound, all terminals appear in the union of the Q trees with probability at least 0.9, when Q is big enough. By Property (6c) in the theorem statement, we have for every v,</p><p>The above inequality holds since the Q trees are produced independently.</p><p>Thus, if M = O(log n) is big enough, by Markov's inequality we have</p><p>.</p><p>The event on the left side is exactly that the number of copies of v in T 1 , . . . , T Q is at least M/s. Thus, with probability at least 0.8, every terminal t appears in one of the Q trees and every vertex v appears at most M/s = O(log 2 n) times in the trees. Taking the union of all trees and reflecting the edges in the original graph G, we have a sub-graph G of G containing a path from r to every terminal t &#8712; K. The total cost of edges in</p><p>We can take an arbitrary Steiner tree T in G as the output of the algorithm. This gives us an (O(log n log k), O(log 2 n))-bicriteria approximation algorithm for the degree-bounded directed Steiner tree problem. The running time of the algorithm is n O(log n) .</p><p>Organization. The remaining part of the paper is organized as follows. In Section 3, we define states and good state trees. In Section 4, we argue that the problem of finding a small cost valid tree can be reduced to that of finding a small cost state-tree. In Section 5, we present our linear programming rounding algorithm that finishes the proof of Theorem 6. Section 6 is dedicated to the proof of Theorem 2 for the degree-bounded group Steiner tree problem on trees (DB-GST-T).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">States and State-Trees</head><p>Given the optimum tree T * (which is binary by our assumptions) for the DB-DST problem, we can apply the balanced tree partitioning recursively to obtain a decomposition tree: We start from T * and partition it into two trees T 1 and T 2 using the balanced-tree-partitioning procedure, and then recursively partition T 1 and T 2 until we obtain sub-trees with 1 level of edges: Such a tree contains either a single edge, or two edges from the root. Then the decomposition tree is a full binary tree where each node corresponds to a sub-tree of T * . Due to the balance condition, the height of the tree will be O(log n). Throughout the paper, we shall use h = &#920;(log n) to denote an upper bound on the height of this decomposition tree. Thanks to its small depth, the decomposition tree becomes the object of interest. However, as each node in the tree corresponds to a sub-tree of the optimum solution T * , it contains too much information for the algorithm to handle. Instead, we shall only extract a small piece of information from each node that we call the state of the node. On one hand, a state contains much less information than a sub-tree does, so we can afford to enumerate all possible states for a node. On the other hand, the states of nodes in the decomposition tree still contain enough information for us to check whether the correspondent multi-tree is good. We call the binary tree of states a state tree; we require in a good state tree, the states of nodes satisfy some consistency constraints. Then we can establish a two-direction connection between good multi-trees and good state trees.</p><p>Given a valid tree T in G and a sub-tree T of T , we now start to make definitions related to the state of T w.r.t T . It is convenient to think that T is the optimum tree T * and T is a sub-tree of T = T * obtained from the recursive balanced-partitioning procedure since this is how we use the definitions. However, the definitions are w.r.t. general T and T ; from now on till the end of Section 3, we fix any valid tree T and its sub-tree T .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Portals</head><p>Other than root(T ), the state for T w.r.t. T contains the set of portals of T :</p><p>In general, the set of portals of T can be large, but if T is obtained from the recursive balanced-tree-partitioning procedure for T , then the number of portals can be shown to be at most h + 1. As we shall often use the root and set of portals together, we make the following definition:</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>39:8</head><p>On Approximating Degree-Bounded Network Design Problems Definition 8 (Root-Portals-Pair). A pair (r , S) is called a root-portals-pair for vertex r and portals S if r &#8712; S &#8838; V \ K.</p><p>It is easy to see that the root-portal-pairs for an internal node of the decomposition tree and its two children satisfy some properties stated in the following definition: Definition 9 (Allowable Child-Pair). Given three root-portals-pairs (r , S), (r , S 1 ) and (r , S 2 ), we say ((r , S 1 ), (r , S 2 )) is an allowable child-pair of (r , S) if r / &#8712; S, S 1 &#8746; S 2 = S &#8746; {r } and S 1 &#8745; S 2 = {r }.</p><p>The following claim motivates the definition of allowable child pairs:</p><p>2 ) be the two sub-trees obtained by applying the balanced tree partitioning on T . Let r = root(T ) = root(T 1 ), r = root(T 2 ) = r and S, S 1 , S 2 be the sets of portals in T , T 1 , T 2 respectively. Then, ((r , S 1 ), (r , S 2 )) is an allowable child-pair of (r , S).</p><p>Proof. First, r is not a portal of T since it is a non-root internal vertex in of T . Second, it is easy to see that</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Degree Vectors</head><p>The next piece of the information in a state is a degree vector:</p><p>As explained in section 2.1, &#961; v will be the original degree of v in the tree T .</p><p>Definition 12 (Consistency of degree vectors). Given a root-portals-pair (r , S), an allowable child-pair ((r , S 1 ), (r , S 2 )) of (r , S), three degree vectors &#961;, &#961; 1 and &#961; 2 for S, S 1 and S 2 respectively, we say &#961; 1 and &#961; 2 are consistent with &#961;, if for every v &#8712; S 1 \ {r }, we have</p><p>So, the degree vectors are consistent if there is no contradictory information among them.</p><p>Definition 13 (Edge/Triple Agreeing with Degree Vector). Given a root-portals-pair (r , S) with |S| &#8804; 2, a degree vector &#961; for S, and an edge (r , v) &#8712; E with {r , v} \ K = S, we say (r , v) agrees with</p><p>Similarly, given a root-portals-pair (r , S) with |S| &#8804; 3, a degree vector &#961; for S, and two edges</p><p>Notice that, in the above definition, either v &#8712; S or v &#8712; K. In the former case, &#961; v is defined; in the latter case &#961; v is not defined but we know &#966; v is identically 1. The same argument holds for v . The definition corresponds to the case when T is a base case of the recursive balanced tree partitioning, i.e., T contains only 1 level of edges. If T contains an edge e = (r , v), then the portal set of T is {r , v} \ K. We shall have &#961; r = (&#966; v (&#961; v ) or 1). Similarly, if T contains 3 vertices (r , v, v ) with r being the root, then we must have &#961; r = (&#966; v (&#961; v ) or 1) + (&#966; v (&#961; v ) or 1).</p><p>X. Guo, G. Kortsarz, B. Laekhanukit, S. Li, D. Vaz, and J. Xian 39:9</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">States and Good State-Trees</head><p>With degree vectors, we can define states and good state-trees: Definition 14. A state is a tuple (r , S, &#961;) where (r , S) is a root-portals-pair and &#961; is a degree vector for S.</p><p>The state of the tree T w.r.t T is the tuple (r , S, &#961;) with r = root(T ), S being the set of portals in T , and &#961; being the vector of original degrees of vertices in S w.r.t. the tree T .</p><p>Definition 15 <ref type="bibr">(Good State Trees)</ref>. A good state tree is a full binary tree &#964; of depth at most h, where every node p is associated with a state (r p , S p , &#961; p ), and every leaf o is associated with either an edge e o &#8712; E or a triple &#958; o such that the following conditions hold.</p><p>(15a) r root(&#964; ) , S root(&#964; ) = (r, {r}).</p><p>(15b) For any leaf o of &#964; , either e o or &#958; o agrees with &#961; o . (15c) For an internal node p in &#964; , letting q and o be the left and right children of p, then the pair ((r q , S q ), (r o , S o )) is an allowable child-pair of (r p , S p ) (so, r q = r p = r o ), and &#961; q and &#961; o are consistent with &#961; p .</p><p>We say that a terminal t &#8712; K is involved in a good state tree &#964; if there exists a leaf o of &#964; with t = head(e o ), or t &#8712; {second(&#958; o ), third(&#958; o )}. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>4</head><p>Reduction to Finding Good State-Trees</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">From a Valid Tree to a Good State-Tree Involving All Terminals</head><p>In this section, we show that the decomposition tree of the optimum tree T * can be turned into a good state tree &#964; * with desired properties. The procedure in the proof of the following lemma is only for the analysis purpose and is not a part of our algorithm.</p><p>Lemma 16. There is a good state-tree &#964; * involving all terminals with cost(&#964; * ) = cost(T * ).</p><p>Proof. As we alluded, the state tree &#964; * is constructed by taking the state for each node in the decomposition tree for T * . Formally, it is obtained by calling gen-state-tree(T * ) (defined in Algorithm 1). In the algorithm &#961; T * is the vector of original degrees of all vertices in T * .</p><p>Algorithm 1 gen-state-tree(T ).</p><p>1: create a node p with r p = root(T ), S p = portals of T and &#961; p being &#961; T * restricted to S p 2: if T has only 1 level of edges then 3:</p><p>if T contains a single edge e then let e p = e and return the single node p 4:</p><p>otherwise, T contains two edges (r , v) and (r , v ), let &#958; p = (r , v, v ) and return p 5: apply balanced tree partitioning to decompose T into T 1 and T 2 6: &#964; 1 &#8592; gen-state-tree(T 1 ), &#964; 2 &#8592; gen-state-tree(T 2 ) 7: return the tree &#964; obtained by combining p, &#964; 1 and &#964; 2 with edges (p, root(&#964; 1 )) and (p, root(&#964; 2 )), with root(&#964; 1 ) and root(&#964; 2 ) being the left and right children of p respectively</p><p>We first show that &#964; * is a good state tree, by showing that it satisfies all the properties in Definition 15. Property (15a) trivially holds by the way we define the parameters for the root recursion of gen-state-tree. Property (15b) holds by that each &#961; p is &#961; T * restricted to S p . Property (15c) follows from the same facts and Claim 10. cost(&#964; * ) = e&#8712;E T * c e = cost(T * ) since every edge in T * is counted exactly once in &#964; * .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">From a Good State Tree to a Good Multi-Tree</head><p>Now we focus on the other direction of the reduction and prove the following lemma:</p><p>Lemma 17. Given a good state tree &#964; , we can efficiently construct a good multi-tree T with cost(T ) = cost(&#964; ). Moreover, if a terminal t &#8712; K is involved in &#964; , then T contains a copy of t.</p><p>Proof. The multi-tree T is constructed by joining the edges associated with all leaf nodes o in &#964; using a recursive procedure. For each node p in &#964; , we shall construct a multi-tree T p for p, as well as a mapping &#960; p from S p to vertices in T p . The multi-tree T p and the mapping &#960; p satisfy the following properties:</p><p>In particular, the two properties imply that root(T p ) is a copy of r p .</p><p>The trees and mappings are constructed from the bottom to the top of the tree &#964; . Focus on a leaf node p with e p = (r , v). If e p is defined, then T p only contains a copy of the edge (r , v). &#960; p maps r to the copy of r , and if v / &#8712; K (thus, v &#8712; S p ), v to the copy of v in T p . Otherwise &#958; p is defined. Then T p contains a tree with two edges: a copy of (r p , second(&#958; p )) and a copy of (r p , third(&#958; p )). &#960; p can also be defined naturally. Now consider the case that p is an internal node and let q and o be its left and right children. Then, we have r p = r q , r o / &#8712; S p , S q &#8746; S o = S p &#8746; {r o } and S q &#8745; S o = {r o } by Property (15c). Then we identify &#960; q (r o ) with &#960; o (r o ) = root(T o ), and then the multi-tree T p is the new tree containing vertices in T q and T o . Notice that both &#960; q (r o ) and &#960; o (r o ) are copies of r o ; thus, the obtained T p can be well-defined. The mapping &#960; p is just the combination of &#960; q and &#960; o : For a vertex v &#8712; S q , let &#960; p (v) = &#960; q (v); for a vertex v &#8712; S o , let &#960; p (v) = &#960; o (v); since S q &#8745; S o = {r o } and we identified &#960; q (r o ) with &#960; o (r o ), the mapping is well-defined. Also, it is easy to see that (P1) and (P2) holds for T p and &#960; p .</p><p>Our final multi-tree for &#964; will be T = T root(&#964; ) . It is straightforward to see that if t &#8712; K is involved in &#964; , then T contains a copy of t. Notice that all the &#961; p -vectors are consistent with each other, and for every leaf o, e o or o agrees with &#961; o . Thus, aggregating all the &#961; p vectors will recover the vector &#961; T of original degrees of vertices in &#961; T . So, the multi-tree T is good since every</p><p>Finally, the running time of the algorithm is polynomial in the size of the state-tree &#964; .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>5</head><p>Finding a Good State Tree using LP Rounding</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Extended State Trees and Construction of T 0</head><p>With the relationship between good multi-trees and good state trees established, we can now focus on the problem of finding a good state-tree of small cost involving many terminals. We shall construct a quasi-polynomial sized tree T &#8226; so that every good state-tree &#964; corresponds to a sub-tree T of T &#8226; satisfying some property. Roughly speaking, T &#8226; is the "super-set" of all potential good state-trees &#964; . However, since the consistency conditions are defined over three states for a parent and its two children, it is more convenient to insert a "virtual" node between every internal node and its two children. Also, it is convenient to break a leaf state node o into two nodes, one containing the state information and the other containing e o or &#958; o . Formally, for a good state-tree &#964; , we construct a correspondent tree T as follows.</p><p>1. Let T be a copy of &#964; . All nodes in T are called state nodes. 2. For every internal state node p in T with left and right children p 1 and p 2 , we create a virtual node q and replace the two edges (p, p 1 ) and (p, p 2 ) with 3 edges (p, q), (q, p 1 ) and (q, p 2 ); p 1 is still the left child and p 2 is the right child. 3. For every leaf state node p, we create a base node o and let o be the child of p. Then we move the e p or &#958; p information from the node p to node o: If e p is defined, then we let e o = e p and undefine e p ; otherwise, let &#958; o = &#958; p and undefine &#958; p . 4. We add a super node r and an edge from r to the root of T. r will be the new root for T.</p><p>We call this T the extended state-tree for &#964; ; we say T is good if its correspondent &#964; is good. Clearly, there is a 1-to-1 correspondence between good state trees and good extended trees. Our T &#8226; will be the "super-set" of all potential good extended state trees T. Formally, we create a super node r to be the root of T &#8226; . Then, for every &#961; r &#8712; [1, d r ], we call cnstr-T &#8226; (0, r, {r}, &#961; = (&#961; r )) to obtain a tree and let its root be a child of r.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Algorithm 2 cnstr-T &#8226; (h , r , S, &#961;).</head><p>1: create a state node p with (r p , S p , &#961; p ) = (r , S, &#961;) 2: for every (r , v) &#8712; E such that {r , v} \ K = S and (r , v) agrees with &#961; do for every allowable child-pair ((r , S 1 ), (r , S 2 )) of (r , S) do 10:</p><p>for every pair of degree vectors &#961; 1 for S 1 and &#961; 2 for S 2 such that &#961; 1 and &#961; 2 are consistent with &#961; do 11: create a "virtual node" q and let q be a child of p 12:</p><p>let the left and right sub-trees of q be T 1 and T 2 respectively 15: return the tree T rooted at p</p><p>The following claim is immediate from the construction of T &#8226; . Claim 18. A subtree T of T &#8226; with root(T) = root(T &#8226; ) is a good extended state tree if and only if the following happens:</p><p>The super node in T has exactly one child (which is a state node). Each state node in T has exactly one child (which is a base node or a virtual node).</p><p>For each virtual node q in T, both q's children in T &#8226; are in T. On the other hand, every good extended tree T of depth at most h + 1 is a sub-tree of T &#8226; with root being root(T &#8226; ). Also, we say that a vertex v is involved in T if there is a base node o in T with v = head(e o ) or v &#8712; {second(&#958; o ), third(&#958; o )}. The cost of T, denoted as cost(T), is defined as the sum of c(o) over all base nodes in T. So, the problem now becomes finding a small-cost good extended state tree in T &#8226; that involves each terminal with large probability.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">LP Formulation</head><p>We formulate an LP relaxation for our task. Let V &#8226; be the set of nodes in T &#8226; , r = root(T &#8226; ) and let V &#8226; state , V &#8226; virt and V &#8226; base be the sets of state, virtual and base nodes in T &#8226; respectively. Notice that there is only one super node, which is the root r. For every v &#8712; V , let</p><p>, third(&#958; o )}} be the set of base nodes involving v. Let T * be our target good extended state tree; this is the tree correspondent to the good state tree &#964; * . Then, in our LP, we have a variable x p for every p &#8712; V &#8226; , that indicates whether p is in the T * or not. min</p><p>(1)</p><p>(2)</p><p>The objective function of LP ( <ref type="formula">1</ref>) is to minimize the total cost of all leaves in T * . Constraint (2) requires that for every state or super node p in T * , exactly one child of p is in T * . Constraint (3) requires that a virtual node q in T * has both its children in T * . Constraint (5) says for every node p in T * and every terminal t &#8712; K, there is a most one descendant base node o of p that is in O t . In the whole tree T * , exactly one leaf node o has t = head(e o ) or t &#8712; {second(&#958; o ), third(&#958; o )}, for every t &#8712; K (Constraint (6)); in the LP, all the variables are between 0 and 1 (Constraint (4)).</p><p>Notice that (5) for p = r and any t &#8712; K and (6) for the same t imply that x r = 1. Constraint ( <ref type="formula">2</ref>) and (3) imply that the x values over the nodes of a root-to-leaf path in T &#8226; are non-increasing.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">Rounding Algorithm</head><p>Given a valid solution x to LP (1), our rounding algorithm will round it to obtain the set V &#8838; V &#8226; , which induces a good state tree. The algorithm is very similar to that of <ref type="bibr">[9]</ref> with the only one difference: For every state node or super-node p that is added to V, we add exactly one child q of p to V, while the algorithm of [9] makes independent decisions for each child. The algorithm is formally described in Algorithm 3. In the main algorithm, we simply call round(r). It is straightforward to see that the tree induced by round(r) is a good extended state tree. The following claim also holds:</p><p>Let V be the random set returned by round(p). Then we have Pr[q &#8712; V] = xq xp . Applying the above claim for p = r and every q &#8712; V &#8226; base , we have that the expected cost of the tree induced by V is exactly cost(x).</p><p>The main theorem we need about the rounding algorithm is as follows:</p><p>randomly choose a child q of p according to probability vector</p><p>return {p} &#8746; round(left child of p) &#8746; round(right child of p) 6: else return {p} Theorem 20. Let V be the random set returned by round(r). Then, for any terminal</p><p>h+1 . Theorem 20 was proved <ref type="bibr">[9]</ref> for the original rounding algorithm and was reproved in <ref type="bibr">[23]</ref>. However, adapting the analysis to our slightly different rounding algorithm is straightforward and thus we omit the proof of the theorem here.</p><p>We now wrap up and finish the proof of the main theorem (Theorem 6) except for Property (6c), of which the proof is deferred to Appendix A due to the space constraint. We solve LP(1) to obtain a solution x. Notice that cost(x) &#8804; cost(T * ) = cost(&#964; * ) = cost(T * ). Let V &#8592; round(r). Then by Claim 18 and the rounding algorithm, the tree T induced by V is a good extended state tree. Let &#964; be the good state tree correspondent to T, and let T be the good multi-tree in G constructed using the procedure in Section 4.2. The cost of the multi-tree T is at most cost(x). By Theorem 20, for every t &#8712; K, the probability that t is involved T is at least 1/(h + 1) = &#8486;(1/ log n).</p><p>Let us consider the running time of the algorithmic framework, which is polynomial on the size of the tree T &#8226; . First notice that if ((r , S 1 ), (r , S 2 )) is an allowable child pair of (r , S), then we have |S 1 |, |S 2 | &#8804; |S| + 1 since S 1 &#8746; S 2 = S &#8746; {r }. Thus, a state-node p at the h -th level in T &#8226; (the children of r have level 0 and for simplicity we do not consider super and virtual nodes when counting levels) has |S p | &#8804; h + 1. Thus, every state node p in</p><p>Then we consider the degree of the tree T &#8226; , which is the maximum number of possible children of a state node p with (r p , S p , &#961; p ) = (r , S, &#961;). First, there are at most n &#215; 2 |Sp| &#8804; n &#8226; 2 h+1 different allowable child pairs ((r , S 1 ), (r , S 2 )) of the pair (r , S): there are at most n choices for r and 2 h ways to split S into S 1 and S 2 . Then, for a fixed allowable child pair ((r , S 1 ), (r , S 2 )), we consider the number of pairs of degree vectors &#961; 1 , &#961; 2 such that &#961; 1 and &#961; 2 are consistent with &#961;. This is determined by the value of &#961; 1 r = &#961; 2 r , which has at most d max possibilities. So, the number of virtual children of a state node is at most n O(log n) . So the running time of the LP rounding algorithm is n O(log n) . This finishes the proof of Theorems 6 except for Property (6c), whose is deferred to Appendix A.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Bicriteria-Approximation Algorithm for Degree-Bounded Group Steiner Tree on Trees</head><p>In this section, we prove Theorem 2, which is repeated here.</p><p>Theorem 2. There is a randomized O(log n log k), O(log n) -bicriteria approximation for the degree-bounded group Steiner tree problem on trees.</p><p>We first set up some notations for the theorem. Recall that T &#8226; is the input tree, V &#8226; denotes the set of vertices of T &#8226; , and r denotes the root of T &#8226; . For simplicity, we assume the costs are on the vertices instead of edges: Every vertex u &#8712; V &#8226; has a cost c u &#8805; 0. Notice that this does not change the problem. We have k groups indexed by <ref type="bibr">[k]</ref>. For each group t &#8712; [k], we are given a set O t &#8838; V &#8226; of leaves in T &#8226; . W.l.o.g, we assume all O t 's are disjoint. Every vertex v &#8712; V is given a degree bound D v . The goal of the problem is then to output the smallest cost subtree T of T &#8226; that satisfies the degree constraints and contains the root r and one vertex from each O t , t &#8712; [k]. Since now we only have one tree T &#8226; , we use the following notations for children and descendants: For every vertex u &#8712; V &#8226; , let &#923; u denote the set of children of u in T &#8226; , and &#923; * u to denote the set of descendants of u in T &#8226; (including u itself). Now we describe the LP relaxation we use for our problem. For every vertex u &#8712; T &#8226; , we use x u to indicate whether u is chosen or not (in the correspondent integer program). LP ( <ref type="formula">7</ref>) is a valid LP relaxation for the DB-GST-T problem:</p><p>In the correspondent integer program, the objective we try to minimize is u&#8712;V &#8226; c u x u , i.e, the total cost of all verticies we choose. Constraint (8) says that if we choose a vertex v, then we must choose its parent u. Constraint (9) requires for every group t, exactly one vertex in O t is added to the tree. Constraint (10) holds since if u is chosen, at most one vertex in &#923; * u &#8745; O t is chosen for every group t. Constraint (11) is the degree constraint. In the LP relaxation, we require each x u to take value in [0, 1] (Constraint ( <ref type="formula">12</ref>)). Notice that (9) and (10) for the root r imply that x r = 1.</p><p>Modifying the LP solutions. Solving LP (7), we can obtain an optimum LP solution (x u ) u&#8712;V &#8226; . In our rounding algorithm, it would be convenient if every x u is a (non-positive) integer power of 2 that is not too small. So, we shall modify the LP solution using the following operations, which may violate many of the LP constraints slightly. For every v &#8712; V &#8226; with x v &lt; 1 2n , we change x v to 0. This can only decrease the cost of the solution. It is easy to see that Constraints (8), ( <ref type="formula">10</ref>) and (11) will not be violated. Constraint (9) may not hold any more, but we still have</p><p>We can remove all vertices v with x v = 0 from the instance and thus assume x v &#8805; 1 2n for every v &#8712; V &#8226; . Next, we increase each x v to the smallest (non-positive) integer power of 2 that is greater than or equal to x v . This will violate many constraints in the LP by a factor of 2. We list the properties that our new vector (x u ) u&#8712;V &#8226; has: (P1) For every u &#8712; V &#8226; , x u is an integer power of 2 between 1 2n and 1. (P2) The x values along any root-to-leaf path in </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>39:15</head><p>(P4)</p><p>where opt is the cost of the optimum integer solution.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.1">The rounding algorithm</head><p>We now describe our rounding algorithm. We define two important global parameters: L := log(2n) and &#947; := log L -2. We say an edge (u, v) with v &#8712; &#923; u has "hop value" 1 if x u &lt; x v and 0 if x u = x v . For every vertex u &#8712; V &#8226; , we define u to be the sum of hop values over all edges in the path from the root to u in T &#8226; . Thus, for every u &#8712; V &#8226; and v &#8712; &#923; u , we have vu &#8712; {0, 1}, and v = u if and only if x v = x u . By Properties (P1) and (P2), we have that v &#8712; [0, L] for every v &#8712; V &#8226; .</p><p>Our rounding algorithm is applied on some scaled solution x , which is defined as follows:</p><p>x u = 2 min{ u ,&#947;} x u , for every u &#8712; V &#8226; .</p><p>As we mentioned in the introduction, this change will increase the probability of choosing v conditioned on choosing u by a factor of 2, for some</p><p>We prove one important property for x , which is necessary for us to run the recursive rounding algorithm.</p><p>Claim 21. For every u &#8712; V &#8226; and v &#8712; &#923; u , we have x v &#8804; x u .</p><p>Proof. If x v = x u , then the edge (u, v) has hop value 0 and thus v = u . In this case we have x v = x u as well. Otherwise, we have x v &#8804; x u /2 and h v = h u + 1. So, min {h v , &#947;} &#8804; min {h u , &#947;} + 1 and therefore x v &#8804; x u .</p><p>Notice that x r = 1 and every x v is an integer power of 2 between 2 -L and 1. Our recursive rounding algorithm is run over x . In the procedure recursive-rounding(u), we add u to our output tree and do the following: for every v &#8712; &#923; u , with probability x v /x u independent of all other choices, we call recursive-rounding(v). In the root recursion, we shall call recursive-rounding(r).</p><p>Our final algorithm will repeat the recursive procedure M times independently, for a large enough M = O(log k). Let T 1 , T 2 , &#8226; &#8226; &#8226; , T M be the M trees we obtained from the M repetitions. Our final tree T will be the union of the M trees.</p><p>We first analyze the expected cost of T . First focus on the tree T 1 . It is easy to see that the probability u is chosen by T 1 is exactly x u &#8804; 2 &#947; x u = O(L)x u . Therefore, the expected cost of T 1 is at most O(L) &#8226; opt by Property (P6). Therefore, the expected cost of the tree T is at most</p><p>We then analyze the degree constraints on T . Given that u is selected by T 1 , the probability that we select a child of v of u is</p><p>xu . By Property (P5), we have</p><p>Even if we condition on the event that u appears in all the M trees, the degree of u is the summation of many independent random {0, 1}-variables. The expectation of the summation is at most</p><p>Using Chernoff bound, one can show that the probability that the degree of u is more than O(log n) &#8226; d u is at most 1 10n , for some large enough O(log n) factor. Therefore, with probability at least 0.9, every node u in T has degree at most O(log n) &#8226; d u . Therefore, we proved that the degree violation factor of our algorithm is O(log n), as claimed in Theorem 2.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.2">Analysis of connectivity probability</head><p>It remains to show that with high probability, the tree T contains a vertex from every group. This is the goal of this section. Till the end of the section, we focus on the tree T 1 and a fixed group t. For every vertex u &#8712; V &#8226; , we define E u to be the event that u is chosen by T 1 . Our goal is to give a lower bound on Pr[ o&#8712;Ot E o ], i.e., the probability that some vertex in O t is chosen by the tree T 1 .</p><p>Notice that when two adjacent nodes in T &#8226; have the same x value, then the child is chosen whenever the parent is. Thus, we can w.l.o.g contract any sub-tree of nodes in T &#8226; with the same x value into one single super-vertex, without changing the rounding algorithm. Notice that if two adjacent vertices u &#8712; V &#8226; , v &#8712; &#923; u have u = v , then we have x u = x v and thus x u = x v . So, we contract every maximal sub-tree of vertices in T &#8226; with the same value. After this operation, for every u &#8712; V &#8226; , u is exactly the level of u in the tree T</p><p>we can remove all its descendants without changing the analysis in this section. So, again we have that O t only contains leaves.</p><p>For every vertex u, we define z u := o&#8712;Ot&#8745;&#923; * u x o . Notice that z u &#8804; 2x u by Property (P4). In the following, we shall bound Pr o&#8712;Ot&#8745;&#923; * u E o E u for every u &#8712; V &#8226; from bottom to top. This is done in two stages due to the threshold &#947; we used when we define x variables. First we consider the case when u &#8805; &#947; and then we focus on the case when u &lt; &#947;. The two stages are captured by Lemmas 22 and 23 respectively.</p><p>Lemma 22. For a vertex u with u &#8805; &#947;, we have Pr</p><p>Similar lemmas have been proved multiple times in many previous results. Since our parameters are slightly different, we provide the complete proof in Appendix B. The lemma implies that for every u with u &#8805; &#947;, we have Pr 2L and for every &#8712; [0, &#947; -1], define &#945; = 2&#945; +1 -4&#945; 2 +1 . It is easy to see that for every &#8712; [0, &#947;], we have &#945; &#8804; 2 &#947;- 2L . Then, we have for every</p><p>Therefore, we have</p><p>The second inequality used that 1 -&#952; &#8805; e -2&#952; for every &#952; &#8712; (0, 1/2). The last equality used that &#947; = log L -2 and thus 2 &#947; = &#920;(L).</p><p>With the &#945; values defined, we also have the following lemma for the case when u &#8804; &#947;:</p><p>Lemma 23. For every vertex u = &#8804; &#947;, we have Pr</p><p>The proof of this lemma is deferred to Appendix B. Applying the lemma for the root r of T &#8226; , we have that Pr As is typical, we shall introduce a parameter s &gt; 0 and consider the expectation the random exponential variables e smp (we use e for the natural constant). We shall bound E[e smp |p &#8712; V] from bottom to top by induction. So, in this proof, it is more convenient to for us to use a different definition of levels: the level of a node p in T &#8226; is the maximum number of edges in a path in T &#8226; starting from p. So, the leaves have level 0 and for an internal node p in T &#8226; , the level of p is 1 plus the maximum of the level of q over all children q of p. We define an &#945; i for every integer i &#8805; 0 as &#945; 0 = e s and &#945; i = e &#945;i-1-1 , &#8704;i &#8805; 1. Notice that &#945; 0 , &#945; 1 , . . . is an increasing sequence. Thus, we can induce the following lemma.</p><p>Lemma 24. For any node p in T &#8226; of level at most i, E e smp p &#8712; V &#8804; &#945; zp/xp i . Proof. We prove the lemma by induction on i. If i = 0, then p is a leaf, and thus, we have either z p = 0 or z p = x p , depending on whether p &#8712; O v or not. If z p = 0, then m p is always 0, and thus, E e smp p &#8712; V = 1 = &#945; zp/xp 0 . If z p = x p , then m p is always 1 (conditioned on p &#8712; V), and thus, E e smp p &#8712; V = e s = &#945; zp/xp 0 . So, the lemma holds if i = 0. Now, let i &#8805; 1 be any integer and we assume the lemma holds for i -1. We shall prove that it also holds for i. Focus on a node p of level at most i. Then all children q of p have level at most i -1. If p is a virtual node, then p &#8712; V implies that both children of p in V. Since the two children are handled independently in the rounding algorithm, we have</p><p>If p is the super node or a state node, then we have q&#8712;&#923; T &#8226; (p) x q = x p . Conditioned on p &#8712; V, the rounding procedure adds exactly one child q of p to V. Then, we have</p><p>x q</p><p>x p E e smq q &#8712; V = 1 + q&#8712;&#923; T &#8226; (p)</p><p>x q</p><p>x p E[e smq q &#8712; V] -1</p><p>Thus, we always have To see the second inequality in the last line, we notice the following three facts: (i) &#945; &#952; i-1 -1 is a convex function of &#952; and when &#952; = 0 its value is 0, (ii) z q /x q &#8712; [0, 1] for every q in the summation, and (iii) i-1 -1). The equality in the last line is by the definition of &#945; i .</p><p>Let h = &#920;(h) = &#920;(log n) be the level of the root. Now, we set s = ln(1 + 1 2h ). We prove inductively the following lemma: Lemma 25. For every i &#8712; [0, h ], we have &#945; i &#8804; 1 + 1 2h -i .</p><p>The inequality in the first line used the induction hypothesis:</p><p>is the probability that we choose v in T 1 conditioned on that we choose u, and 1 2(L-) zv xv is the lower bound on the probability that we choose some vertex in O t &#8745; &#923; * v conditioned on that v is chosen. The equality in the line used that x u = 2 &#947; x u and x v = 2 &#947; x v . The inequality in the second line used that 1 -&#952; &#8804; e -&#952; for every real number &#952;. The first inequality in the third line used that e -&#952; &#8804; 1 -&#952; + &#952; 2 2 for every &#952; &#8805; 0. The second inequality in the line used Property 4, which says zu xu &#8804; 2. The last inequality used that (2(L -) -1) &#8226; 2(L -+ 1) &#8805; 4(L -) 2 since L -&#8805; 1.</p><p>Lemma 23. For every vertex u = &#8804; &#947;, we have Pr</p><p>Proof. We prove this lemma via mathematical induction. The lemma holds if = &#947; as we mentioned. So, we assume &lt; &#947; and the lemma holds with replaced by + 1. If u is a leaf, then we have Pr</p><p>xu and the lemma holds. So, again we assume u is not a leaf. Then,</p><p>To see the equality in the first line, we notice that x u = 2 x u and x v = 2 +1 x v for every v &#8712; &#923; u . Many other inequalities used the same arguments as in Lemma 22.</p></div><note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0"><p>[12]  mistakenly called u the head and v the tail. We follow the common convention to call v the head.</p></note>
		</body>
		</text>
</TEI>
