# Semi-Matchings for Bipartite Graphs and Load Balancing

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Semi-Matchings for Bipartite Graphs and Load Balancing Nicholas J. A. Harvey Richard E. Ladner László Lovász Tami Tamir Abstract We consider the problem of fairly matching the left-hand vertices of a bipartite graph to the right-hand vertices. We refer to this problem as the optimal semi-matching problem; it is a relaxation of the known bipartite matching problem. We present a way to evaluate the quality of a given semi-matching and show that, under this measure, an optimal semimatching balances the load on the right hand vertices with respect to any L p -norm. In particular, when modeling a job assignment system, an optimal semi-matching achieves the minimal makespan and the minimal flow time for the system. The problem of finding optimal semi-matchings is a special case of certain scheduling problems for which known solutions exist. However, these known solutions are based on general network optimization algorithms, and are not the most efficient way to solve the optimal semi-matching problem. To compute optimal semi-matchings efficiently, we present and analyze two new algorithms. The first algorithm generalizes the Hungarian method for computing maximum bipartite matchings, while the second, more efficient algorithm is based on a new notion of cost-reducing paths. Our experimental results demonstrate that the second algorithm is vastly superior to using known network optimization algorithms to solve the optimal semi-matching problem. Furthermore, this same algorithm can also be used to find maximum bipartite matchings and is shown to be roughly as efficient as the best known algorithms for this goal. Key words: bipartite graphs, load-balancing, matching algorithms, optimal algorithms, semi-matching MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, MA, USA. Department of Computer Science and Engineering, University of Washington, Seattle, WA, USA. {ladner, Microsoft Research, Redmond, WA, USA.

5 The online version of this problem, in which the jobs arrive sequentially and must be assigned upon arrival, has been studied extensively in recent years [4] [6] [7]. A comprehensive survey of the various models, and different objective functions is given in [5]. Optimal semi-matchings were concurrently and independently studied by Abraham [, Section 4], under the name balanced matchings. His work contains a proof of our Theorem 3.9 and presents an algorithm for finding optimal semi-matchings. His algorithm differs from our algorithms A SM and A SM2, but has theoretical performance similar to that of A SM. 2.3 Representation as Known Optimization Problems The optimal semi-matching problem can be represented as special instances of two well-known optimization problems: weighted assignment and min-cost max-flow. However, Section 6 shows that the performance of the resulting algorithms is inferior to the performance of our algorithms presented in sections 4 and 5. j C j, and in particular the case in which p i,j Recall that the scheduling problem R {, }, can be solved optimally [8] [4]. We now show that the optimal semi-matching problem can be reduced to the scheduling problem R p i,j {, } j C j. A semi-matching instance can be represented as a scheduling problem instance as follows: Each U-vertex represents a job, and each V -vertex represents a machine. For any job j and machine i, we set p i,j = if the edge {u j, v i } exists, and otherwise p i,j =. Clearly, any finite schedule for the scheduling problem determines a feasible semi-matching. In particular, a schedule that minimizes the flow time determines an optimal semi-matching. Thus, an algorithms for R j C j can solve the j C j are optimal semi-matching problem. We note that current optimal algorithms for R using as a subroutine a weighted assignment algorithm for a bipartite graph having n + nm vertices [8] [4]. The min-cost max-flow problem is one of the most important combinatorial optimization problems [3]. Indeed, the weighted assignment problem can be reduced to min-cost max-flow problem. Thus, from the above discussion, it should be clear that a semi-matching problem instance can be recast as a min-cost max-flow problem. We now describe an alternative, more compact, transformation of the optimal semi-matching problem to a min-cost max-flow problem. Given G = (U V, E), a bipartite graph giving an instance of a semi-matching problem, we show how to construct a network N such that a min-cost max-flow in N determines an optimal semi-matching in G. The network N is constructed from G by adding at most U + 2 vertices and 2 U + E edges (see Figure ). The additional vertices are a source s, a sink t, and a set of cost centers C = {c,..., c }, where U is the maximal degree of any V -vertex. Edges with cost 0 and capacity connect s to each of the vertices in U. The original edges connecting U and V are directed from U to V and are given cost 0 and capacity. For each v V, v is connected to cost centers c,..., c deg(v) with edges of capacity and costs, 2,..., deg(v) respectively. Edges with cost 0 and infinite capacity connect each of the cost centers to the sink, t. We now prove the validity of this reduction. 5

6 (a) Figure : (a) shows a graph in which the bold edges form an optimal semi-matching. (b) shows the corresponding min-cost max-flow problem. Each edge is labeled with two numbers: a cost, and a capacity constraint. Bold edges carry one unit of flow and doubly-bold edges carry two units of flow. (b) Lemma 2. If f is a maximum flow in N then f determines a semi-matching in G. Proof: We may assume that f is integral since standard flow algorithms always return integral solutions. Since there are no isolated U-vertices, the n edges connecting s and U are a minimum cut in the network N. Since all edges from s to U have unit capacity, the total capacity of this cut is n. When this cut is saturated, each U-vertex must send one unit of flow to a single V -vertex, since the flow is integral. Thus the flow matches each U-vertex with a V -vertex. Since the value of the maximum flow is equal to the capacity of the minimum cut, this cut is saturated in any maximum flow, and therefore the flow in f induces a semi-matching. Lemma 2.2 If M is a semi-matching in G, there exists a corresponding maximum flow f in N with equal cost. Proof: The flow f is defined as follows: for each u U, one flow-unit is sent from s to u and then to the V -vertex to which u is matched. For each v V, each flow unit arriving at v is sent to the available edge of least cost connecting v with a cost-center, and then to t. By definition of the edges from V to C, the total cost of the flow on those edges is m degm (v i ) i= j= j. Since all other edges have zero cost, this is also the cost of the whole flow. In particular, if the optimal semi-matching has cost C opt then the min-cost max-flow in N has cost C opt. We now extend Lemma 2. to show that a min-cost max-flow in N determines a semi-matching with the same cost. Lemma 2.3 If f opt is a minimum-cost maximum-flow in N and M is the corresponding semimatching in G, then the cost of f opt equals the total cost of M. Proof: As before, we assume that f opt is integral. In any minimum-cost flow, the flow-units leaving each v V must be sent to the cost-centers using edges with least cost. That is, if f(v i ) is the total amount of flow leaving v i then the flow is sent to cost-centers c,..., c f(vi ). Since all the other edges in N have cost zero, the total cost of the flow is m f(vi ) i= j= j. In the matching 6

7 M induced by f opt, each u U is matched to a v i V if and only if there is one flow unit on the edge (u, v i ). Therefore, f(v i ) = deg M (v i ), and the total cost of f opt is exactly T (M). 3 Properties of Optimal Semi-Matchings This section proves various important properties of optimal semi-matchings. Section 3. characterizes when a semi-matching is optimal. Section 3.2 generalizes the notion of optimality to other cost functions. Section 3.3 proves that an optimal semi-matching always contains a maximum matching and discusses various consequences. Section 3.4 proves that an optimal semi-matching is also optimal with respect to any L p -norm and the L -norm. 3. Characterization of Optimal Semi-Matchings An important theorem from network flow theory is that a maximum flow has minimum cost if and only if no negative-cost cycle exists [3, Theorem 3.8]. We now prove an analogous result for semi-matchings. In Section 5 we describe the Algorithm A SM2 which is based on this property. Theorem 3. M exists. A semi-matching M is optimal if and only if no cost-reducing path relative to Proof: Let G be an instance of a semi-matching problem, and let M be a semi-matching in G. Clearly if M is optimal then no cost-reducing path can exist. We show that a cost-reducing path must exist if M is not optimal. Let O be an optimal semi-matching in G, chosen such that the symmetric difference O M = (O \ M) (M \ O) is minimized. Assume that M is not optimal, implying that M has greater total cost than O: i.e., T (O) < T (M). Recall that deg O (v) and deg M (v) denote the number of U-vertices matched with v by O and M respectively. Let G d be the subgraph of G induced by the edges of O M. Color with green the edges of O \ M and with red the edges of M \ O. Direct the green edges from U to V and the red edges from V to U. Claim 3.2 The graph G d is acyclic, and for every directed path P in G d from v V to v 2 V, we have deg O (v 2 ) deg O (v ). Proof: Let P = (v,..., v 2 ) be a directed path in G d. By the choice of directions for the edges, P must consist of alternating red and green edges. If deg O (v 2 ) > deg O (v ) + then P (in reverse order) is a cost-reducing path for O, in contradiction to the optimality of O. If deg O (v 2 ) = deg O (v ) +, then by alternating the assignment of the U-vertices along P we get an optimal assignment with smaller symmetric difference from M, again in contradiction to the choice of O. Therefore, we must have that deg O (v 2 ) deg O (v ). A similar argument shows that G d is also acyclic. Both O and M are semi-matchings, implying that v deg O(v) = v deg M(v) = U. Since T (O) < T (M), there must exist v V such that deg M (v ) > deg O (v ). Starting from v, 7

8 we build an alternating red-green path P as follows. () From an arbitrary vertex v V, if deg M\O (v) and deg M (v) deg M (v ), we build P by following an arbitrary red edge directed out from v. (2) From an arbitrary vertex u U, we build P by following the single green edge directed out from u. Such a green edge must always exist. (3) Otherwise, we stop. By Claim 3.2, G d is acyclic and therefore P is well-defined and finite. Let v 2 V be the final vertex on the path. There are two cases. Case : deg M (v 2 ) < deg M (v ). Thus P is a cost-reducing path relative to M. Case 2: deg M\O (v 2 ) = 0. In this case, we know that deg M (v 2 ) < deg O (v 2 ) since P arrived at v 2 via a green edge. By Claim 3.2, we must also have that deg O (v 2 ) deg O (v ). Finally, recall that v was chosen such that deg O (v ) < deg M (v ). Combining these three inequities yields: deg M (v 2 ) < deg O (v 2 ) deg O (v ) < deg M (v ). This implies that deg M (v 2 ) < deg M (v ), and so P is a cost-reducing path relative to M. Since P is a cost-reducing path relative to M in both cases, the proof is complete. 3.2 Optimality with Respect to Other Cost Functions So far we have considered only the objective of minimizing T (M) = m i= cost M(v i ), where cost M (v) = deg M (v) i= i = (deg M (v)+)deg M (v) 2. Recall that this expression gives the flow time of the tasks schedule. In this section we show that in fact our results capture a wider set of objectives, given by different cost functions. We show that an optimal semi-matching is optimal with respect to any of these cost functions. In other words, an optimal semi-matching minimizes flow time as well as many other important properties of the system. Definition 3. A cost function for a matching M is a function cost f (M) = m i= f(deg M (v i )), where f : R + R is a strictly convex function. If f is weakly convex then cost f (M) is called a weak cost function. For example, T (M) is the cost function induced by the function f(x) = x j= j = x(x+)/2. Lemma 3.3 Let P be a cost-reducing path. For any cost function cost f, switching matching and non-matching edges along P yields a semi-matching M = P M such that cost f (M ) < cost f (M). If cost f is a weak cost function then cost f (M ) cost f (M). Proof: First, we need the following property of convex functions: Claim 3.4 If f is strictly convex then x > y implies f(x + ) f(x) > f(y + ) f(y). If f is weakly convex then the inequality holds but is not strict. Proof: A property of strictly convex functions is that f(b) f(a) b a < f(c) f(a) c a < f(c) f(b ) c b if a < b < c and a < b < c (see, for example, [8]). Setting a = y, b = y +, b = x and c = x + we obtain that f(y + ) f(y) < f(x+) f(y) x+ y < f(x + ) f(x). If f is weakly convex then all stated inequalities hold but are not strict. 8

9 Next, consider the matching M and the cost-reducing path P = (v,..., v k ). Let x = deg M (v ) and y = deg M (v k ). The change in cost f at v due to switching edges along path P is f(x) f(x + ). Similarly, the change in cost f at v k is f(y + ) f(y). Therefore cost f (M ) = cost f (M) ( f(x + ) f(x) ) + ( f(y + ) f(y) ). Applying Claim 3.4 completes the proof. Using Lemma 3.3 we can extend Theorem 3. as follows. Theorem 3.5 Let M be a semi-matching. If cost f is a strict cost function and if M is optimal with respect to cost f then no cost-reducing path relative to M exists. The converse holds even if cost f is a weak cost function: if no cost-reducing path relative to M exists then M is optimal with respect to cost f. Proof: Identical to the proof of Theorem 3.. Thus, if M is optimal with respect to a strict cost function then no cost-reducing path relative to M exists. Also, if M has no cost-reducing paths then M is optimal with respect to every cost function. Corollary 3.6 A semi-matching M that is optimal with respect to any strict cost function is optimal with respect to every cost function, strict or weak. 3.3 Optimal Semi-Matchings Contain Maximum Matchings In this section, we prove that every optimal semi-matching must contain a maximum bipartite matching; furthermore, it is a simple process to find these maximum matchings. Thus, the problem of finding optimal semi-matchings indeed generalizes the problem of finding maximum matchings. Theorem 3.7 Let M be an optimal semi-matching in G. Then there exists S M such that S is a maximum matching in G. Proof: Given a semi-matching M (not necessarily an optimal one), we may construct an ordinary matching (not necessarily a maximum one) by selecting one incident M-edge for each vertex v V. If there are l vertices in V with deg M (v) > 0, then the resulting matching is of size l. Conversely, any matching can be extended to a semi-matching (not necessarily an optimal one) by adding one arbitrary incident edge for any unmatched u in U. Thus, any matching, and in particular any maximum one, is contained in some semi-matching. In order to show that an optimal semi-matching contains a maximum matching, we show that an optimal semi-matching minimizes the number of unmatched V -vertices (i.e., vertices v V with deg M (v) = 0). Define f : R + R such that f(x) = 0 for x and f(x) = x for x >. Note that f is weakly convex so cost f is a weak cost function. Let M be an optimal semi-matching (i.e., with respect to T (M)). M is therefore optimal with respect to cost f by Corollary 3.6. cost f is defined such that if deg M (v) > 0 then v contributes deg M (v) to the total cost. Summing over 9

10 all v V, cost f (M) = n l, where l is the number of vertices in V with at least one incident edge in M. Since M minimizes cost f, it maximizes l. By our previous remarks, M contains a matching of size l, so M contains a maximum matching. The converse of this theorem is not true. As demonstrated in Appendix C, not every maximum matching can be extended to an optimal semi-matching. Corollary 3.8 Let M be an optimal semi-matching in G. Define α(m) to be the number of right-hand vertices in G that are incident with at least one edge in M. Then the size of a maximum matching in G is α(m). In particular, if G has a perfect matching and M is an optimal semi-matching in G, then M is a perfect matching. Corollary 3.8 yields a simple algorithm for computing a maximum matching from an optimal semi-matching M: for each v V, if deg M (v) >, select one arbitrary edge from M that is incident with v. 3.4 Optimality with Respect to L p -norm and L -norm Let x i = deg M (v i ) denote the load on machine i, that is, the number of tasks assigned to machine i. The L p -norm of the vector X = (x,..., x m ) is X p = ( m i= xp i )/p. In this section we show that an optimal semi-matching is optimal with respect to the L p -norm of the vector X for any finite p; in other words, optimal semi-matchings minimize X p of the load vector. (All semi-matchings have X = U, and hence are optimal with respect to the L -norm). Theorem 3.9 Let < p <. A semi-matching is optimal if and only if it is optimal with respect to the L p -norm of its load vector. Proof: Fix any p > and define f p (x) = x p. Note that f p is strictly convex so cost fp is a strict cost function. Let X be the load vector for M. Since X p = cost fp (M) /p, M optimizes X p if and only if it optimizes cost fp. By Corollary 3.6, M is optimal with respect to cost fp if and only if M is an optimal semi-matching. Another common measure for load balancing is the variance of the loads on the machines. The following theorem shows that optimal semi-matchings are also optimal for this objective. Theorem 3.0 A semi-matching M is optimal if and only if Var v V {deg M (v)} is minimized. Proof: Let µ = n/m be the mean of deg M (v) where v V. Define f Var (x) = (x µ) 2 and note that cost fvar is a strict cost function. By Corollary 3.6, M is optimal with respect to cost fvar if and only if M is an optimal semi-matching. Another important optimization objective in practice is minimizing the makespan, which is the maximal load on any machine. This is achieved by minimizing the L -norm of the machines load vector X. As we show below, optimal semi-matchings do minimize the L -norm of X, and thus are an ultimate solution that simultaneously minimizes both the flow time and the makespan. Recall that V = m and consider the function f defined by f (x) = (m + ) x. Note that cost f is a strict cost function. 0

11 Claim 3. A semi-matching that minimizes cost f minimizes the maximal load on a single V -vertex. Proof: Let M be an assignment that minimizes cost f. Assume that M does not minimize the maximal load on a single V -vertex, and that this objective is achieved by a different assignment M. Let and be the maximal load on a single V -vertex in M and M respectively. Thus, cost f (M) (m + ) and cost f (M ) m(m + ) (at worst, all m of the V -vertices have load ). However, since, it follows that cost f (M ) < cost f (M), which is a contradiction. Theorem 3.2 An optimal semi-matching M is also optimal with respect to the L -norm. Proof: Since cost f is a cost function, Corollary 3.6 implies that M is optimal with respect to cost f. By Claim 3., this implies that M minimizes the maximal load on a V -vertex. Therefore M is optimal with respect to the L -norm. The converse of Theorem 3.2 is not valid; that is, minimizing the L -norm does not imply minimization of other cost functions. The converse of Theorem 3.2 fails to hold because the converse of Claim 3. does not hold: minimizing the makespan does not necessarily minimize cost f. A semi-matching that minimizes only the L -norm is given in Appendix C. 4 A SM : An O( U E ) Algorithm for Optimal Semi-Matchings In this section we present our first algorithm, A SM, for finding an optimal semi-matching. The time complexity of A SM is O( U E ), which is identical to that of the Hungarian algorithm [5] [6, Section 5.5] for finding maximum bipartite matchings. Indeed, A SM is merely a simple modification of the Hungarian algorithm, as we explain below. The Hungarian algorithm for finding maximum bipartite matchings considers each left-hand vertex u in turn and builds an alternating search tree, rooted at u, looking for an unmatched right-hand vertex (i.e., a vertex v V with deg M (v) = 0). If an unmatched right-hand vertex v is found, the matching and non-matching edges along the u-v path are switched so that u and v are no longer unmatched. Similarly, A SM maintains a partial semi-matching M, starting with the empty set. In each iteration, it considers a left-hand vertex u and builds an alternating search tree rooted at u, looking for a right-hand vertex v such that deg M (v) is as small as possible. To build the tree rooted at u we perform a directed breadth-first search in G starting from u, where edges in M are directed from V to U and edges not in M are directed from U to V. We select in this tree a path P from u to a least loaded V -vertex reachable from u. We increase the size of M by forming P M; in other words, we add to the matching the first edge in this path, and switch the next matching and non-matching edges along the remainder of the path. As a result, u is no longer unmatched and deg M (v) increases by. We repeat this procedure of building a tree and extending the matching accordingly for all of the vertices in U. Since each iteration matches a vertex in U with a single vertex in V

13 Find an initial semi-matching, M While there exists a cost-reducing path, P Reduce the cost by switching the matching and non-matching edges on path P Figure 2: Overview of A SM2 the vertex v i is reachable from v. Let P = (u,..., v ) be the path from u to the least loaded vertex in T. Note that v i must appear in path P. Thus, the path from v to v i can be extended to reach v using the suffix of P from v i to v. All the edges of this suffix are available before u is added, since they were all available to T. The load on v must be at least x, otherwise the above path from v to v is a cost-reducing path which exists before P. Combining Claims 4.2 and 4.3 contradicts the execution of A SM, and therefore P cannot exist. To bound the running time of A SM, observe that there are exactly U iterations. Each iteration requires at most O( E ) time to build the alternating search tree and at most O(min{ U, V }) time to switch edges along the alternating path. Thus the total time required is at most O( U E ). This O( U E ) bound is the same upper-bound as for the Hungarian algorithm. However, in practice A SM is slower than the Hungarian algorithm because it tends to build a very large search tree in each iteration. The following section presents another algorithm which is much more efficient in practice. 5 A SM2 : An Efficient Practical Algorithm This section describes A SM2, another algorithm for finding optimal semi-matchings. Our analysis of this algorithm s runtime gives an upper bound of O(min{ U 3/2, U V } E ), which is worse than the bound of O( U E ) for algorithm A SM. However, our analysis for A SM2 is loose; in practice, A SM2 performs much better than A SM, as our experiments in Section 6 show. Theorem 3. proves that a semi-matching is optimal if and only if the graph does not contain a cost-reducing path. A SM2 uses that result to find an optimal semi-matching. Figure 2 gives an overview of the A SM2 algorithm. Since each iteration reduces the total cost by an integral amount, the cost can only be reduced a finite number of times, so this algorithm must terminate. Moreover, if the initial assignment is nearly optimal, the algorithm terminates after few iterations. As was the case for A SM, network flows give an alternative characterization of algorithm A SM2. As described in Section 2.3, G can be represented as a network N. Regarding G as a compact representation of N, A SM2 is an efficient implementation of the generic cycle canceling algorithm [3, Section 9.6] on G. Finding an Initial Semi-Matching: The first step of algorithm A SM2 is to determine an initial semi-matching, M. A simple approach would be to arbitrarily assign each left-hand vertex 3

14 to a right-hand vertex. However, as a general rule, finding an initial matching with lower cost tends to reduce the number of iterations required to achieve optimal cost. Our experiments have shown that the following greedy algorithm works well in practice. First, the U-vertices are sorted by increasing degree. Each U-vertex is then considered in turn and assigned to a V -neighbor with least load. In the case of a tie, a V -neighbor with least degree is chosen. The purpose of considering vertices with lower degree earlier is to allow more constrained vertices (i.e., ones with fewer neighbors) to choose their matching vertices first. The same rule of choosing the least loaded V -vertex is also commonly used in the online case [4]. However, in the online case it is not possible to sort the U-vertices or to know the degree of the V -vertices in advance. The pseudocode of this algorithm is given in Appendix B. The total time required to find this initial matching is O( E ), since every edge is examined exactly once, and the sorting can be done using bucket sort. Our experiments have shown that sorting U is effective in practice at reducing the cost of the initial matching, and hence reducing the number of iterations required to achieve optimal cost. Finding Cost-Reducing Paths: The critical operation of the A SM2 algorithm is the method for finding cost-reducing paths. As a simple approach, we can determine if a particular vertex v V is the initial vertex of a cost-reducing path simply by growing a depth-first search tree of alternating paths rooted at v. To determine if G has any cost-reducing paths at all, it suffices to perform m depth-first searches, one from each vertex v V. This simple algorithm unfortunately performs much redundant work. The following claim leads to an approach for avoiding this redundant work. Claim 5. Let v, w V be such that deg M (v) deg M (w) and there is an alternating path from v to w. If there is no cost-reducing path starting from v then there is no cost-reducing path starting from w. Proof: We prove the contrapositive. Since there is an alternating path from v to w, any cost-reducing path starting from w can be extended to a cost-reducing path starting from v. Our algorithm for finding cost-reducing paths works as follows. First we find a vertex v V such that v has not been visited by any previous depth-first searches and deg M (v) is maximum over all such vertices. To find a such a vertex v quickly, the non-visited V -vertices are maintained sorted by their load in an array of U + buckets. Next we build a depth-first search tree of alternating paths rooted at v in the usual manner. If this depth-first search tree does not contain a cost-reducing path then Claim 5. shows that there is no cost-reducing path starting from any of the vertices that were visited. Since this algorithm considers each edge in G at most once and there are only U + buckets, it finds a cost-reducing path or lack thereof in O( U + E ) = O( E ) time. After finding a cost-reducing path, we reduce the cost of the matching by switching matching and non-matching edges along the path. This step clearly takes O( E ) time as well. Recall that this switching process only affects the load on the first and last vertices on the path. Analysis of A SM2 : As argued earlier, the initial matching can be found in O( E ) time. Fol- 4

16 Practical Considerations: The simplified pseudocode for A SM2 given in Appendix B suggests that each iteration builds a depth-first search forest and finds a single cost-reducing path. In practice, a single DFS forest often contains numerous vertex-disjoint cost-reducing paths. Thus, our implementation repeatedly performs linear-time scans of the graph, growing the forest and removing cost-reducing paths. We repeatedly scan the graph until a scan finds no cost-reducing path, indicating that optimality has been achieved. Our bound of O(min{ U 3/2, U V }) iterations is loose: Experiments show that significantly fewer iterations are required in practice. We were able to create bad graphs, in which the number of iterations needed is Ω( U 3/2 ); however, most of the cost-reducing paths in these graphs are very short, thus each iteration takes roughly constant time. While our bound for A SM2 is worse than our bound for A SM, we believe that the choice of A SM2 as the best algorithm is justified already by its performance in practice, as described in the next section. Variants of A SM2, in which each iteration seeks a cost-reducing path with some property (such as maximal difference in load between first and last vertex ), will also result in an optimal semi-matching. It is unknown whether such algorithms yield a better analysis than A SM2, or whether each iteration of such algorithms can be performed quickly in practice. 6 Experimental Evaluation We implemented a program to execute A SM, A SM2 and various known algorithms on a variety of benchmark input graphs. Our simulation program was implemented in C and run on a 2.4GHz Pentium 4 machine with 52MB of RAM. Each input graph is a random graph from a particular family. The graph generators for each family, and the following descriptions of them, are from [9]. All graphs have U = V. FewG and ManyG: The U-vertices and V -vertices are divided into k groups of equal size. The FewG family has k = 32 and the ManyG family has k = 256. Each vertex in the j th group of U chooses y random neighbors from the (i ) th through (i + ) th group of V, where y is binomially distributed with mean 5. Grid: The graph is an approximate d-dimensional grid. d is chosen such that the average degree is roughly 6. Hexa: The vertices on each side are partitioned into n/b blocks of size b. One random bipartite hexagon is added between each block i on one side and each of the blocks i + k on the other side, with k K for some K. The parameters b and K are chosen by the program in such a way that an average degree of 6 is achieved (i.e., 3K/b = 6), but few pairs of hexagons have more than one vertex in common. Hilo: The i th U-vertex is connected to the j th V -vertex, for all positive j with i 0 j i. Rope: The U-vertices and V -vertices are partitioned into t = n/6 blocks of size 6, denoted U 0... U t and V 0... V t. Block i on one side is connected to block i+ on the other side, for i = 0... t 2; block U t is connected to block V t. Thus the graph is a rope that zigzags between the two sides of the graph. Consecutive pairs of blocks along the rope 6

17 are connected alternately by perfect matchings and random bipartite graphs of average degree 5. Zipf: The i th U-vertex is connected to the j th V -vertex with probability roughly proportional to /(ij). The constants are chosen such that the average degree is 6. First, we compared A SM and A SM2 with known techniques for computing optimal semimatchings based on the transformation to the assignment problem. To solve the assignment problem, we used two available algorithms: CSA [], and LEDA [7]. For the CSA algorithm, the transformed graph was augmented with additional vertices and edges to satisfy CSA s requirement that a perfect assignment exist. Table (a) summarizes the results of these experiments on graphs with 2 6 vertices. Appendix D contains graphs of the experimental results over a wide range of graph sizes. In both cases we measured the elapsed execution time of these algorithms, excluding the time to load the input data. The reported value is the mean over five execution runs, each using a different random seed to generate the input graph. Large input graphs (after being transformed into an assignment problem) exceeded the memory of our test machine and no reasonable results could be recorded. Therefore we do not report CSA and LEDA results for all input sizes. These results show that A SM2 is much more efficient than assignment algorithms for the optimal semi-matching problem on a variety of input graphs. Next, we compared A SM and A SM2 with two algorithms for computing maximum bipartite matchings from [9]: BFS, their fastest implementation based on augmenting paths, and LO, their fastest implementation based on the push-relabel method. Table (b) summarizes the results of these experiments on graphs with 2 9 vertices. Appendix D contains graphs of the experimental results over a wide range of graph sizes. As before, the reported value is the mean of the execution time over five graphs with different seeds. These results show that A SM2 is roughly as efficient as LO, the best known algorithm for the maximum bipartite matching problem, on a variety of input graphs. 7 Conclusions and Future Work This paper has introduced the optimal semi-matching problem for bipartite graphs. We have seen how this problem can be reduced to known network optimization problems, and that solutions to this problem minimize all L p -norms, including the L -norm. We have presented two new algorithms for solving this problem, A SM and A SM2 ; the former has a good worst-case time bound, and the latter performs very well in practice. A SM2 also solves the maximum bipartite matching problem with roughly the same efficiency as the best known algorithms. We feel that our analysis of A SM2 is not the best possible. As future work, we plan to investigate improved bounds for this algorithm. Other future work may include a generalization of the semi-matching problem to allow weighted edges in the graph. As in the unweighted case, one can adopt network optimization algorithms to compute optimal weighted semi-matchings; thus, the challenge is in developing algorithms for the weighted problem with similar efficiency to our current algorithms for the unweighted problem. We acknowledge Andrew Goldberg s assistance in finding such a transformation with a linear number of additional vertices and edges. 7

18 (a) Graph A SM A SM2 CSA LEDA FewG Grid Hexa Hilo ManyG Rope Zipf Total >7.37 > (b) Graph A SM2 BFS LO FewG Grid Hexa Hilo ManyG Rope Zipf Total Table : (a) gives the execution time in seconds of four algorithms for the optimal semi-matching problem, on a variety of graphs with 65,536 vertices. indicates that no results could be recorded since the graph exceeded the memory of our test machine. (b) gives the execution time in seconds of three algorithms for the maximum bipartite matching problem, on a variety of graphs with 524,288 vertices. References [] D. Abraham. Algorithmics of two-sided matching problems. Master s thesis, Department of Computing Science, University of Glasgow, [2] Active Directory. [3] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network Flows: Theory, Algorithms, and Applications. Prentice Hall, 993. [4] B. Awerbuch, Y. Azar, E. Grove, M. Y. Kao, P. Krishnan, and J. S. Vitter. Load Balancing in the L p Norm. In Proceedings of the IEEE Symposium on Foundations of Computer Science, 995. [5] Y. Azar. On-line Load Balancing. In A. Fiat and G. Woeginger, editors, Online Algorithms: The State of the Art (LNCS 442), chapter 8. Springer-Verlag, 998. [6] Y. Azar, A. Z. Broder, and A. R. Karlin. On-line load balancing. Theoretical Computer Science, 30():73 84, 994. [7] Y. Azar, J. Naor, and R. Rom. The Competitiveness of On-line Assignments. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, 992. [8] J. L. Bruno, E. G. Coffman, and R. Sethi. Scheduling independent tasks to reduce mean finishing time. Communications of the ACM, 7: , 974. [9] B. V. Cherkassky, A. V. Goldberg, P. Martin, J. C. Setubal, and J. Stolfi. Augment or push: a computational study of bipartite matching and unit-capacity flow algorithms. ACM J. Exp. Algorithmics, 3(8), 998. Source code available at [0] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. MIT Press, second edition,

19 [] A. Goldberg and R. Kennedy. An efficient cost scaling algorithm for the assignment problem. Math. Prog., 7:53 78, 995. Source code available at [2] R. L. Graham, E. L. Lawler, J. K. Lenstra, and A. H. G. Rinnooy Kan. Optimization and approximation in deterministic sequencing and scheduling: A survey. Ann. Discrete Math, 5: , 979. [3] J. Hopcroft and R. Karp. An n 5/2 algorithm for maximum matchings in bipartite graphs. SIAM J. Computing, 2:225 23, 973. [4] W. A. Horn. Minimizing average flow time with parallel machines. Operations Research, 2: , 973. [5] H. W. Kuhn. The Hungarian method for the assignment problem. Naval Res. Logist. Quart., 2:83 97, 955. [6] E. Lawler. Combinatorial Optimization: Networks and Matroids. Dover, 200. [7] K. Melhorn and S. Näher. LEDA: A Platform for Combinatorial and Geometric Computing. Cambridge University Press, 999. [8] W. Rudin. Principles of Mathematical Analysis. McGraw-Hill, third edition,

20 A Pseudocode of A SM Algorithm Find an optimal semi-matching via a modified Hungarian algorithm. // M is the semi-matching that is built by this algorithm. Initially M is empty. // Q is a queue used for performing breadth-first search. Initially Q is empty. For each root U // Perform breadth-first search from root Remove all entries from Q Enqueue(Q, root) // S is the set of vertices visited during this breadth-first search Let S = { root } // bestv is the V-vertex with least load found so far Let bestv = null While Q is not empty Let w = Dequeue(Q) If w U Then Let N = UnmatchedNeighbors(w) Else Let N = MatchedNeighbors(w) If bestv = null Or deg M (w) < deg M (bestv) Then Let bestv = w For each n N Let Parent(n) = w Enqueue(Q, n) Let S = S N // Switch edges along path from bestv to root, thus increasing the size of M Let v = bestv Let u = Parent(v) Add {u,v} to M While u root Let v = Parent(u) Remove {u,v} from M Let u = Parent(v) Add {u,v} to M In this pseudocode, MatchedNeighbors(w) returns a set containing all neighbors of vertex w that are matched with vertex w. Similarly, UnmatchedNeighbors(w) returns all neighbors of vertex w that are not matched with vertex w. 20

### Semi-Matchings for Bipartite Graphs and Load Balancing

Semi-Matchings for Bipartite Graphs and Load Balancing Nicholas J. A. Harvey 1, Richard E. Ladner 2,László Lovász 1, and Tami Tamir 2 1 Microsoft Research, Redmond, WA, USA, {nickhar, lovasz}@microsoft.com

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

### Decentralized Utility-based Sensor Network Design

Decentralized Utility-based Sensor Network Design Narayanan Sadagopan and Bhaskar Krishnamachari University of Southern California, Los Angeles, CA 90089-0781, USA narayans@cs.usc.edu, bkrishna@usc.edu

### Partitioning edge-coloured complete graphs into monochromatic cycles and paths

arxiv:1205.5492v1 [math.co] 24 May 2012 Partitioning edge-coloured complete graphs into monochromatic cycles and paths Alexey Pokrovskiy Departement of Mathematics, London School of Economics and Political

### Analysis of Algorithms, I

Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

### ! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

### Exponential time algorithms for graph coloring

Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].

### Ph.D. Thesis. Judit Nagy-György. Supervisor: Péter Hajnal Associate Professor

Online algorithms for combinatorial problems Ph.D. Thesis by Judit Nagy-György Supervisor: Péter Hajnal Associate Professor Doctoral School in Mathematics and Computer Science University of Szeged Bolyai

### ! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

### Social Media Mining. Graph Essentials

Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures

### Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs Kousha Etessami U. of Edinburgh, UK Kousha Etessami (U. of Edinburgh, UK) Discrete Mathematics (Chapter 6) 1 / 13 Overview Graphs and Graph

### Week 5 Integral Polyhedra

Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

### MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

MapReduce and Distributed Data Analysis Google Research 1 Dealing With Massive Data 2 2 Dealing With Massive Data Polynomial Memory Sublinear RAM Sketches External Memory Property Testing 3 3 Dealing With

### SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

### An Empirical Study of Two MIS Algorithms

An Empirical Study of Two MIS Algorithms Email: Tushar Bisht and Kishore Kothapalli International Institute of Information Technology, Hyderabad Hyderabad, Andhra Pradesh, India 32. tushar.bisht@research.iiit.ac.in,

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### 5.1 Bipartite Matching

CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

### Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

### Minimize subject to. x S R

Chapter 12 Lagrangian Relaxation This chapter is mostly inspired by Chapter 16 of [1]. In the previous chapters, we have succeeded to find efficient algorithms to solve several important problems such

### Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques My T. Thai 1 Overview An overview of LP relaxation and rounding method is as follows: 1. Formulate an optimization

### Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like

### Fairness in Routing and Load Balancing

Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria

### Large induced subgraphs with all degrees odd

Large induced subgraphs with all degrees odd A.D. Scott Department of Pure Mathematics and Mathematical Statistics, University of Cambridge, England Abstract: We prove that every connected graph of order

Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

### 2.3 Convex Constrained Optimization Problems

42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

### Distributed Computing over Communication Networks: Maximal Independent Set

Distributed Computing over Communication Networks: Maximal Independent Set What is a MIS? MIS An independent set (IS) of an undirected graph is a subset U of nodes such that no two nodes in U are adjacent.

### each college c i C has a capacity q i - the maximum number of students it will admit

n colleges in a set C, m applicants in a set A, where m is much larger than n. each college c i C has a capacity q i - the maximum number of students it will admit each college c i has a strict order i

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### A Turán Type Problem Concerning the Powers of the Degrees of a Graph

A Turán Type Problem Concerning the Powers of the Degrees of a Graph Yair Caro and Raphael Yuster Department of Mathematics University of Haifa-ORANIM, Tivon 36006, Israel. AMS Subject Classification:

### Labeling outerplanar graphs with maximum degree three

Labeling outerplanar graphs with maximum degree three Xiangwen Li 1 and Sanming Zhou 2 1 Department of Mathematics Huazhong Normal University, Wuhan 430079, China 2 Department of Mathematics and Statistics

### 6.852: Distributed Algorithms Fall, 2009. Class 2

.8: Distributed Algorithms Fall, 009 Class Today s plan Leader election in a synchronous ring: Lower bound for comparison-based algorithms. Basic computation in general synchronous networks: Leader election

### Combinatorial 5/6-approximation of Max Cut in graphs of maximum degree 3

Combinatorial 5/6-approximation of Max Cut in graphs of maximum degree 3 Cristina Bazgan a and Zsolt Tuza b,c,d a LAMSADE, Université Paris-Dauphine, Place du Marechal de Lattre de Tassigny, F-75775 Paris

### A Sublinear Bipartiteness Tester for Bounded Degree Graphs

A Sublinear Bipartiteness Tester for Bounded Degree Graphs Oded Goldreich Dana Ron February 5, 1998 Abstract We present a sublinear-time algorithm for testing whether a bounded degree graph is bipartite

### Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

### 1 if 1 x 0 1 if 0 x 1

Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

Adaptive Online Gradient Descent Peter L Bartlett Division of Computer Science Department of Statistics UC Berkeley Berkeley, CA 94709 bartlett@csberkeleyedu Elad Hazan IBM Almaden Research Center 650

### CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

CS 598CSC: Combinatorial Optimization Lecture date: /4/010 Instructor: Chandra Chekuri Scribe: David Morrison Gomory-Hu Trees (The work in this section closely follows [3]) Let G = (V, E) be an undirected

### Minimum Makespan Scheduling

Minimum Makespan Scheduling Minimum makespan scheduling: Definition and variants Factor 2 algorithm for identical machines PTAS for identical machines Factor 2 algorithm for unrelated machines Martin Zachariasen,

### Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

A Factor 1 2 Approximation Algorithm for Two-Stage Stochastic Matching Problems Nan Kong, Andrew J. Schaefer Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA Abstract We introduce

### Tree-representation of set families and applications to combinatorial decompositions

Tree-representation of set families and applications to combinatorial decompositions Binh-Minh Bui-Xuan a, Michel Habib b Michaël Rao c a Department of Informatics, University of Bergen, Norway. buixuan@ii.uib.no

### Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

### Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

### 3. Linear Programming and Polyhedral Combinatorics

Massachusetts Institute of Technology Handout 6 18.433: Combinatorial Optimization February 20th, 2009 Michel X. Goemans 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the

### THE PROBLEM WORMS (1) WORMS (2) THE PROBLEM OF WORM PROPAGATION/PREVENTION THE MINIMUM VERTEX COVER PROBLEM

1 THE PROBLEM OF WORM PROPAGATION/PREVENTION I.E. THE MINIMUM VERTEX COVER PROBLEM Prof. Tiziana Calamoneri Network Algorithms A.y. 2014/15 2 THE PROBLEM WORMS (1)! A computer worm is a standalone malware

### MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column

### Generating models of a matched formula with a polynomial delay

Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic

### The Binary Blocking Flow Algorithm. Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/

The Binary Blocking Flow Algorithm Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Theory vs. Practice In theory, there is no difference between theory and practice.

### CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin November 15, 2012; Lecture 10 1 / 27 Randomized online bipartite matching and the adwords problem. We briefly return to online algorithms

### JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February

### Best Monotone Degree Bounds for Various Graph Parameters

Best Monotone Degree Bounds for Various Graph Parameters D. Bauer Department of Mathematical Sciences Stevens Institute of Technology Hoboken, NJ 07030 S. L. Hakimi Department of Electrical and Computer

### Graphs without proper subgraphs of minimum degree 3 and short cycles

Graphs without proper subgraphs of minimum degree 3 and short cycles Lothar Narins, Alexey Pokrovskiy, Tibor Szabó Department of Mathematics, Freie Universität, Berlin, Germany. August 22, 2014 Abstract

### 1 Introduction. Dr. T. Srinivas Department of Mathematics Kakatiya University Warangal 506009, AP, INDIA tsrinivasku@gmail.com

A New Allgoriitthm for Miiniimum Costt Liinkiing M. Sreenivas Alluri Institute of Management Sciences Hanamkonda 506001, AP, INDIA allurimaster@gmail.com Dr. T. Srinivas Department of Mathematics Kakatiya

### Measuring the Performance of an Agent

25 Measuring the Performance of an Agent The rational agent that we are aiming at should be successful in the task it is performing To assess the success we need to have a performance measure What is rational

### Lecture 4 Online and streaming algorithms for clustering

CSE 291: Geometric algorithms Spring 2013 Lecture 4 Online and streaming algorithms for clustering 4.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line

### A Network Flow Approach in Cloud Computing

1 A Network Flow Approach in Cloud Computing Soheil Feizi, Amy Zhang, Muriel Médard RLE at MIT Abstract In this paper, by using network flow principles, we propose algorithms to address various challenges

### Mean Ramsey-Turán numbers

Mean Ramsey-Turán numbers Raphael Yuster Department of Mathematics University of Haifa at Oranim Tivon 36006, Israel Abstract A ρ-mean coloring of a graph is a coloring of the edges such that the average

### 1 Definitions. Supplementary Material for: Digraphs. Concept graphs

Supplementary Material for: van Rooij, I., Evans, P., Müller, M., Gedge, J. & Wareham, T. (2008). Identifying Sources of Intractability in Cognitive Models: An Illustration using Analogical Structure Mapping.

### 10. Graph Matrices Incidence Matrix

10 Graph Matrices Since a graph is completely determined by specifying either its adjacency structure or its incidence structure, these specifications provide far more efficient ways of representing a

### Lecture 6 Online and streaming algorithms for clustering

CSE 291: Unsupervised learning Spring 2008 Lecture 6 Online and streaming algorithms for clustering 6.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line

### A New Approach to Dynamic All Pairs Shortest Paths

A New Approach to Dynamic All Pairs Shortest Paths Camil Demetrescu Giuseppe F. Italiano Abstract We study novel combinatorial properties of graphs that allow us to devise a completely new approach to

### THE SCHEDULING OF MAINTENANCE SERVICE

THE SCHEDULING OF MAINTENANCE SERVICE Shoshana Anily Celia A. Glass Refael Hassin Abstract We study a discrete problem of scheduling activities of several types under the constraint that at most a single

### Divisor graphs have arbitrary order and size

Divisor graphs have arbitrary order and size arxiv:math/0606483v1 [math.co] 20 Jun 2006 Le Anh Vinh School of Mathematics University of New South Wales Sydney 2052 Australia Abstract A divisor graph G

### Scheduling Real-time Tasks: Algorithms and Complexity

Scheduling Real-time Tasks: Algorithms and Complexity Sanjoy Baruah The University of North Carolina at Chapel Hill Email: baruah@cs.unc.edu Joël Goossens Université Libre de Bruxelles Email: joel.goossens@ulb.ac.be

### ALMOST COMMON PRIORS 1. INTRODUCTION

ALMOST COMMON PRIORS ZIV HELLMAN ABSTRACT. What happens when priors are not common? We introduce a measure for how far a type space is from having a common prior, which we term prior distance. If a type

### Single machine parallel batch scheduling with unbounded capacity

Workshop on Combinatorics and Graph Theory 21th, April, 2006 Nankai University Single machine parallel batch scheduling with unbounded capacity Yuan Jinjiang Department of mathematics, Zhengzhou University

### Online Bipartite Perfect Matching With Augmentations

Online Bipartite Perfect Matching With Augmentations Kamalika Chaudhuri, Constantinos Daskalakis, Robert D. Kleinberg, and Henry Lin Information Theory and Applications Center, U.C. San Diego Email: kamalika@soe.ucsd.edu

### Why? A central concept in Computer Science. Algorithms are ubiquitous.

Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

### Minimum cost maximum flow, Minimum cost circulation, Cost/Capacity scaling

6.854 Advanced Algorithms Lecture 16: 10/11/2006 Lecturer: David Karger Scribe: Kermin Fleming and Chris Crutchfield, based on notes by Wendy Chu and Tudor Leu Minimum cost maximum flow, Minimum cost circulation,

### Determination of the normalization level of database schemas through equivalence classes of attributes

Computer Science Journal of Moldova, vol.17, no.2(50), 2009 Determination of the normalization level of database schemas through equivalence classes of attributes Cotelea Vitalie Abstract In this paper,

### MATHEMATICAL ENGINEERING TECHNICAL REPORTS. An Improved Approximation Algorithm for the Traveling Tournament Problem

MATHEMATICAL ENGINEERING TECHNICAL REPORTS An Improved Approximation Algorithm for the Traveling Tournament Problem Daisuke YAMAGUCHI, Shinji IMAHORI, Ryuhei MIYASHIRO, Tomomi MATSUI METR 2009 42 September

### OPRE 6201 : 2. Simplex Method

OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2

### Network (Tree) Topology Inference Based on Prüfer Sequence

Network (Tree) Topology Inference Based on Prüfer Sequence C. Vanniarajan and Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology Madras Chennai 600036 vanniarajanc@hcl.in,

### Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

### Resource Allocation with Time Intervals

Resource Allocation with Time Intervals Andreas Darmann Ulrich Pferschy Joachim Schauer Abstract We study a resource allocation problem where jobs have the following characteristics: Each job consumes

Load balancing of temporary tasks in the l p norm Yossi Azar a,1, Amir Epstein a,2, Leah Epstein b,3 a School of Computer Science, Tel Aviv University, Tel Aviv, Israel. b School of Computer Science, The

### Bargaining Solutions in a Social Network

Bargaining Solutions in a Social Network Tanmoy Chakraborty and Michael Kearns Department of Computer and Information Science University of Pennsylvania Abstract. We study the concept of bargaining solutions,

### The Minimum Consistent Subset Cover Problem and its Applications in Data Mining

The Minimum Consistent Subset Cover Problem and its Applications in Data Mining Byron J Gao 1,2, Martin Ester 1, Jin-Yi Cai 2, Oliver Schulte 1, and Hui Xiong 3 1 School of Computing Science, Simon Fraser

### Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm.

Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm. We begin by defining the ring of polynomials with coefficients in a ring R. After some preliminary results, we specialize

CS787: Advanced Algorithms Topic: Online Learning Presenters: David He, Chris Hopman 17.3.1 Follow the Perturbed Leader 17.3.1.1 Prediction Problem Recall the prediction problem that we discussed in class.

### Two Algorithms for the Student-Project Allocation Problem

Two Algorithms for the Student-Project Allocation Problem David J. Abraham 1, Robert W. Irving 2, and David F. Manlove 2 1 Computer Science Department, Carnegie-Mellon University, 5000 Forbes Ave, Pittsburgh

### Optimized Asynchronous Passive Multi-Channel Discovery of Beacon-Enabled Networks

t t Technische Universität Berlin Telecommunication Networks Group arxiv:1506.05255v1 [cs.ni] 17 Jun 2015 Optimized Asynchronous Passive Multi-Channel Discovery of Beacon-Enabled Networks Niels Karowski,

### COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact

### ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN. Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015

ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015 ONLINE STEINER FOREST PROBLEM An initially given graph G. s 1 s 2 A sequence of demands (s i, t i ) arriving

### 136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

136 TER 4. INDUCTION, GRHS ND TREES 4.3 Graphs In this chapter we introduce a fundamental structural idea of discrete mathematics, that of a graph. Many situations in the applications of discrete mathematics

### IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti

### Linear Programming I

Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

### ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.

A factor 1 European Journal of Operational Research xxx (00) xxx xxx Discrete Optimization approximation algorithm for two-stage stochastic matching problems Nan Kong, Andrew J. Schaefer * Department of

### GRAPH THEORY LECTURE 4: TREES

GRAPH THEORY LECTURE 4: TREES Abstract. 3.1 presents some standard characterizations and properties of trees. 3.2 presents several different types of trees. 3.7 develops a counting method based on a bijection

### SHORT CYCLE COVERS OF GRAPHS WITH MINIMUM DEGREE THREE

SHOT YLE OVES OF PHS WITH MINIMUM DEEE THEE TOMÁŠ KISE, DNIEL KÁL, END LIDIKÝ, PVEL NEJEDLÝ OET ŠÁML, ND bstract. The Shortest ycle over onjecture of lon and Tarsi asserts that the edges of every bridgeless

### Weighted Sum Coloring in Batch Scheduling of Conflicting Jobs

Weighted Sum Coloring in Batch Scheduling of Conflicting Jobs Leah Epstein Magnús M. Halldórsson Asaf Levin Hadas Shachnai Abstract Motivated by applications in batch scheduling of jobs in manufacturing

### Measuring Rationality with the Minimum Cost of Revealed Preference Violations. Mark Dean and Daniel Martin. Online Appendices - Not for Publication

Measuring Rationality with the Minimum Cost of Revealed Preference Violations Mark Dean and Daniel Martin Online Appendices - Not for Publication 1 1 Algorithm for Solving the MASP In this online appendix

### All trees contain a large induced subgraph having all degrees 1 (mod k)

All trees contain a large induced subgraph having all degrees 1 (mod k) David M. Berman, A.J. Radcliffe, A.D. Scott, Hong Wang, and Larry Wargo *Department of Mathematics University of New Orleans New

### Stationary random graphs on Z with prescribed iid degrees and finite mean connections

Stationary random graphs on Z with prescribed iid degrees and finite mean connections Maria Deijfen Johan Jonasson February 2006 Abstract Let F be a probability distribution with support on the non-negative

### This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

IEEE/ACM TRANSACTIONS ON NETWORKING 1 A Greedy Link Scheduler for Wireless Networks With Gaussian Multiple-Access and Broadcast Channels Arun Sridharan, Student Member, IEEE, C Emre Koksal, Member, IEEE,

### Guessing Game: NP-Complete?

Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

### Factoring & Primality

Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

### Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear