# Strategic Deployment in Graphs. 1 Introduction. v 1 = v s. v 2. v 4. e 1. e e 3. e 2. e 4

Save this PDF as:

Size: px
Start display at page:

Download "Strategic Deployment in Graphs. 1 Introduction. v 1 = v s. v 2. v 4. e 1. e 5 25. e 3. e 2. e 4"

## Transcription

2 238 Informatica 39 (25) E. Langetepe et al. 23 agents. By the results of Section 3 it turns out that the return variant solution has a different visiting order v, v 2, v 3, v 5, v 4 and requires 25 agents. Although the computation of an efficient flow of some items or goods in a weighted network has a long tradition and has been considered under many different aspects the problem presented here cannot be covered by known (multi-agent) routing, network-flow or agenttraversal problems. For example, in the classical transportation network problem there are source and sink nodes whose weights represent a supply or a demand, respectively. The weight of an edge represents the transportation cost along the edge. One would like to find a transshipment schedule of minimum cost that fulfils the demand of all sink nodes from the source nodes; see for example the monograph of [4] and the textbooks [, ]. The solutions of such problems are often based on linear programming methods for minimizing (linear) cost functions. In a packet routing scenario for a given weighted network, m packet sets each consisting of s i packets for i =, 2,... m are located at m given source nodes. For each packet set a specified sink node is given. Here the edge weights represent an upper bound on the number of single packets that can be transported along the edge in one time step. One is for example interested in minimizing the so-called makespan, i.e., the time when the last packet arrives at its destination; see for example [3]. For a general overview see also the survey [9]. Similarily, in [] the multi-robot routing problem considers a set of agents that has to be moved from their start locations to the target locations. For the movement between two locations a cost function is given and the goal is to minimize the path costs. Such multi-robot routing problems can be considered under many different constraints [6]. For the purpose of patrolling see the survey [4]. Additionally, online multi-agent traversal problems in discrete environments have attracted some attention. The problem of exploring an unknown graph by a set of k agents was considered for example in [5, 6]. Exploration means that at the end all vertices of the graph should have been visited. In this motion planning setting either the goal is to optimize the number of overall steps of the agents or to optimize the makespan, that is to minimize the time when the last vertex is visited. Some other work has been done for k cooperative cleaners that move around in a grid-graph environment and have to clean each vertex in a contaminated environment; see [2, 7]. In this model the task is different from a simple exploration since after a while contaminated cells can reinfect cleaned cells. One is searching for strategies for a set of k agents that guarantee successful cleanings. Our result shows that finding the minimum number of agents required for the strategic deployment problem is NP-hard for general graphs even if all vertex weights are equal to one. In Section 2 this is shown by a reduction from 3-Exact-Cover (3XC). The optimal number of agents for the minimum spanning tree (MST) of the graph G gives a 2-approximation for the graph itself; see Section 3. For weighted trees we can show that the optimal number of agents and a corresponding strategy for T can be computed in Θ(n log n) time. Altogether, a 2-approximation for G can be computed efficiently. Additionally, some structural properties of the problem are given. The problem definition gives rise to many further interesting extensions. For example, here we first consider an offline version with global communication, but also online versions with limited communication might be of some interest. Recently, we started to discuss the makespan or traversal time for a given optimal number of agents. See for example the masterthesis [2] supervised by the second author. 2 General graphs We consider an edge- and vertex-weighted graph G = (V, E). Let V denote the start vertex for the traversal of the agents. W.l.o.g. we can assume that G is connected and does not have multi-edges. We allow that a traversal strategy subdivides the agents into groups that move separately for a while. A traversal strategy is a schedule for the agents. At any time step any agent decides to move along an outgoing edge of its current vertex towards another vertex or the agent stays in its current vertex. We assume that any edge can be traversed in one time step. Long connections can be easily modelled by placing intermediate vertices of weight along the edge. Altogether, agent groups can arrive at some vertex v at the same time from different edges. The schedule is called valid if the following condition hold. For the movements during a time step the number of agents that use a single edge has to exceed the edge weight w e. After the movement for any vertex v that already has been visited by some agents, the number of agents that are located at v has to exceed the vertex weight v e. From now on an optimal deployment strategy is a valid schedule that uses the minimum number of agents required. Let N := v V w v denote the number of agents required for the vertices in total. Obviously, the maximum overall edge weight w max := max{w e e E} of the graph gives a simple upper bound for the additional agents (beyond N) used for edge traversals. This means that at most w max + N agents will be required. With w max + N agents one can for example use a DFS walk along the graph and let the agents run in a single group. 2. NP-hardness for general graphs For showing that computing the optimal number of agents is NP-hard in general we make use of a reduction of the 3-Exact-Cover (3XC) problem. We give the proof for the no-return variant, first. The problem 3-Exact-Cover (3XC) is given as follows. Given a finite ground set X of 3n items and a set IF of sub-

3 Strategic Deployment in Graphs Informatica 39 (25) a a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a a a 2 m n + = = F F 2 F 3 F 4 F 5 F 6 d Figure 2: For X = {a, a 2,..., a 2} and the subsets IF = {F, F 2,..., F 6} with F = {a, a 2, a 3}, F 2 = {a, a 2, a 4}, F 3 = {a 3, a 5, a 7}, F 4 = {a 5, a 8, a 9}, F 5 = {a 6, a 8, a } and F 6 = {a 9, a, a 2} there is an exact 3-cover with F 2, F 3, F 5 and F 6. For the start vertex an optimal traversal strategy moves in a single group. We start with 3n + m + = 9 agents, first visit the vertices of F 2, F 3, F 5 and F 6 and cover all elements from there, visiting an element vertex last. After that 3n + n = 4n = 6 agents have been placed and m n + = 3 still have to be placed including the dummy node. With this number of agents we can move back along the corresponding edge of weight m n + = 3 and place the remaining 3 agents. sets of X so that any F IF contains exactly 3 elements of X. The decision problem of 3XC is defined as follows: Does IF contain an exact cover of X of size n? More precisely is there a subset F c IF so that the collection F c contains all elements of X and F c consists of precisely n subsets, i.e. F c = n. It was shown by Karp that this problem is NP-hard; see Garey and Johnsson[8]. Let us assume that such a problem is given. We define the following deployment problem for (X, IF). Let X = {a, a 2,..., a 3n }. For any a i there is an element vertex v(x) i of weight. Let IF consists of m n subsets of size 3, say IF = {F, F 2,..., F m }. For any F j = {a j, a j2, a j3 } we define a set vertex v(if) j of weight and we insert three edges (v(if) j, v(x) j ), (v(if) j, v(x) j2 ) and (v(if) j, v(x) j3 ) each of weight m n +. Additionally, we use a sink vertex of weight w vs = and insert m edges (, v(f ) j ) from the sink to the set vertices of IF. All these edges get weight. Additionally, one dummy node d of weight w d = is added as well as an edge (, d) of weight. Figure 2 shows an example of the construction for the set X = {a, a 2,..., a 2 } and the subsets IF = {F, F 2,..., F 6 } with F = {a, a 2, a 3 }, F 2 = {a, a 2, a 4 }, F 3 = {a 3, a 5, a 7 }, F 4 = {a 5, a 8, a 9 }, F 5 = {a 6, a 8, a } and F 6 = {a 9, a, a 2 } with m n+ = 3. Starting from the sink node we are asking whether there is an agent traversal schedule that requires exactly N = 3n + m + agents. If there is such a traversal this is optimal (we have to fill all vertices). The following result holds. If and only if (X, IF) has an exact 3-cover, the given strategic deployment problem can be solved with exactly N = 3n + m + agents. Let us first assume that an exact 3-cover exists. In this case we start with N = 3n + m + agents at and let the agents run in a single group. First we successively visit the set vertices that build the cover and fill all 3n element vertices using 3n + n agents in total. More precisely, for the set vertices that build the cover we successively enter such a vertex from, place one agent there and fill all three element vertices by moving back and forth along the corresponding edges. Then we move back to and so on. At any such operation the set of agents is reduced by 4. Finally, when the last set vertex of the cover was visited, we end in the overall last element vertex. After fulfilling the demand there, we still have N 4n = 3n + m + 4n = m n + agents for traveling back to along the corresponding edges. Now we fill the remaining set vertices by successively moving forth and back from along the edges of weight. Finally, with the last agent, we can visit and fill the dummy node. Conversely, let us assume that there is no exact 3-cover for (X, IF) and we would like to solve the strategic deployment problem with N = 3n+m+ agents. At some point an optimal solution for the strategic deployment problem has to visit the last element vertex v(x) j, starting from a set vertex v(if) i. Let us assume that we are in v(if) i and would like to move to v(x) j now and v(x) j was not visited before. Since there was no exact 3-cover we have already visited strictly more than n set vertices at this point and exactly 3n element vertices have been visited. This means at least 3n + n + = 4n agents have been used. Now we consider two cases. If the dummy node was already visited, starting with N agents we only have at most 3n + m + 4n = m n agents for travelling toward

6 242 Informatica 39 (25) E. Langetepe et al. For example, in Figure 4 for b 6 and b 7 we have v(b 6 ) = v(b 7 ) = v 4 and e(b 6 ) = e(b 7 ) = e 7 and T (b 6, b 7 ) is given by the tree T v4 that is dominated by edge e 7. Altogether, for any tree T there is a unique set of disjoint collected subtrees (a path is a subtree as well) as uniquely defined above and we can sort them by the weight of its dominating edge. For the tree in Figure 4 we have disjoint subtrees T (b 6, b 7 ), T (b 2, b 3, b 4 ), T (b ), T (b 5 ) and T (b ) in this order. e 4 e T (b 5 ) 5 v 2 v 2 e 2 e 3 e 5 e 6 e T (b 6, b 7 ) 2 T (b 3 ) T (b ) 9 5 v 4 b b b 5 e 8 e 9 3 T (b 2, b 3, b 4 ) v 3 e e b 6 b 7 v 5 e 2 e b 4 b 2 2 b 3 Figure 4: The optimal strategy with start and end vertex visits, fully explores and leaves the collected subtrees T (b 6, b 7), T (b 2, b 3, b 4), T (b ), T (b 5) and T (b ) in the order of the weights w e7 = 2, w e5 =, w e3 = 9, w e4 = 7 and w e2 = 4 of the dominating edges. 3.3 Return variant for trees We show that the collected subtrees can be visited in the order of the dominating edges. Theorem 3. An optimal deployment strategy that has to start and end at the same root vertex of a tree T can visit the disjoint subtrees T (b l, b l2,..., b lm ) in the decreasing order of the dominating edges. Any tree T (b l, b l2,..., b lm ) can be visited, fully explored in some order (for example by DFS) and left then. An optimal visiting order of the leafs and the optimal number of agents required can be computed in Θ(n log n) time for real edge and vertex weights and in optimal Θ(n) time for integer weights. For the proof of the above Theorem we first show that we can reorganize any optimal strategy so that at first the tree T (b l, b l2,..., b lm ) with maximal dominating edge weight can be visited, fully explored and left, if the strategy does not end in this subtree (which is always true for the return variant). The number of agents required cannot increase. This argument can be applied successively. Therefore we formulate the statement in a more general fashion. Lemma 3. Let T (b l, b l2,..., b lm ) be a subtree that is dominated by an edge e which has the greatest weight among all edges that dominate a subtree. Let S be an optimal deployment strategy that visits some vertex v t last and let v t be not a vertex inside the tree T (b l, b l2,..., T blm ). The strategy S can be reorganized so that first the tree T (b l, b l2,..., b lm ) can be visited, fully explored in any order and finally left then. Proof: The tree T (b l, b l2,..., T blm ) rooted at v(b l ) and with maximal dominating edge weight w e(bl ) does not contain another subtree T (b k, b k2,..., T bkn ). This means that T (b l, b l2,..., T blm ) is the full subtree T v(bl ) of T rooted at v(b l ). Let Path(v(b l ) denote the number of agents that has to be settled along the unique path from to the predecessor, pred(v(b l )), of v(b l ). Let us assume that an optimal strategy is given by a sequence S and let S v (i) denote the strategy that ends after the i-th visit of some vertex v in the sequence of S. Let S v (i) denote the number of settled agents and let curr(s v (i)) denote the number of non-settled agents after the i-th visit of v. We would like to replace S by a sequence S S. If vertex v(b l ) is finally visited, say for the k-th time, in the sequence S, we require curr(s v(bl )(k)) w e(bl ) and S v(bl )(k) T (b l, b l2,..., T blm ) + Path(v(b l ) since the strategy ends at v t T (b l, b l2,..., T blm ). In the next step S will move back to pred(v(b l )) along e(b l ) and in S the root v(b l ) of the tree T (b l, b l2,..., T blm ) and the edge e(b l ) will never be visited again. If we consider a strategy S that first visits v(b l ), fully explores T (b l, b l2,..., T blm ) by DFS and moves back to the start by passing e(b l ), the minimal number of agents required for this movement is exactly T (b l, b l2,..., T blm ) + Path(v(b l ) + w e(bl ) ( with w e(bl ) non-settled agents. ) With S v(bl ) T (b l, b l2,..., T blm ) Path(v(b l ) + w e(bl ) agents we now start the whole sequence S again. In the concatenation of S and S, say S S, the vertex v(b l ) is visited k = k + 2 times for T (b l, b l2,..., T blm ) 2 and k = k+ times for m = and v(b l ) = T (b l, b l2,..., T blm ). After S was executed for the remaining movement ( of S S v(bl )(k ) the portion w e(bl ) ) of S v(bl ) T (b l, b l2,..., T blm ) Path(v(b l ) + w e(bl ) allows us to cross all edges in S S v(bl )(k ) for free, because w e(bl ) is the maximal weight in the tree. Thus obviously curr(s S v(bl )(k )) = curr(s v(bl )(k)) holds and S S and S require the same number of agents. In S S all visits of T (b l, b l2,..., T blm ) made by S were useless because the tree was already completely filled by S. Skipping all these visits in S, we obtain a sequence S and S S has the desired structure. Proof (Theorem 3) The strategy of the single group has to return back to the start vertex at the end. Therefore no

8 244 Informatica 39 (25) E. Langetepe et al. L m m 2 m 2 m m 3 Figure 5: An optimal deployment strategy for the tree with 3m edges requires m + agents and successively moves from L to R beyond in total Ω ( ) m 2 times. Thus Ω(m 2 ) steps are required. subtrees will be visited in the order of the decreasing dominating edge weights. For example a strategy for the no-return in Figure 4 that visits the collected subtrees T (b 6, b 7 ), T (b 2, b 3, b 4 ), T (b ), T (b 5 ) and T (b ) in the order of the weights w e7 = 2, w e5 =, w e3 = 9, w e4 = 7 and w e2 = 4 of the dominating edges requires 46 agents even if we do not finally move back to the start vertex. As shown at the end of Section 3.3 we required 5 additional agents for leaving T (b 5 ), entering and leaving T (b ) afterwards requires no more additional agents. In the no return variant, we can assume that any strategy ends in a leaf, because the last vertex that will be served has to be a leaf. This also means that it is reasonable to enter a collected subtree, which will not be left any more. In the example above we simply change the order of the last two subtrees. If we enter the collected subtrees in the order T (b 6, b 7 ), T (b 2, b 3, b 4 ), T (b ), T (b ) and T (b 5 ) and T (b 5 ) is not left at the end, we end the strategy in b 5 (no-return) and require exactly N = 4 agents, which is optimal. Theorem 4. For a weighted tree T with given root and non-fixed end vertex we can compute an optimal visiting order of the leafs and the number of agents required in amortized time O(n log n). For the proof of the above statement we first characterize the structure of an optimal strategy. Obviously we can assume that a strategy that need not return to the start will end in a leaf. Let us first assume that the final leaf, b t, is already known or given. As indicated for the example above, the final collected subtree will break the order of the collected subtrees in an optimal solution. This behaviour holds recursively. Lemma 4. An optimal traversal strategy that has to visit the leaf b t last can be computed as follows: Let T (b l, b l2,..., b lm ) be the collected subtree of T that contains b t.. First, all collected subtrees T (b q, b q2,..., b qo ) of the tree T with dominating edge weight greater than T (b l, b l2,..., b lm ) are successively visited and fully R explored (each by DFS) and left in the decreasing order of the weights of the dominating edges. 2. Then, the remaining collected subtrees that do not contain b t are visited in an arbitrary order (for example by DFS). 3. Finally, the collected subtree T (b l, b l2,..., b lm ) that contains b t is visited. Here we recursively apply the same strategy to the subtree T (b l, b l2,..., b lm ). That is, we build a list of collected subtrees for the tree T (b l, b l2,..., b lm ) and recursively visit the collected subtrees by steps. and 2. so that the collected subtree that contains b t is recursively visited last in step 3. again. Proof: The precondition of the Theorem says that there is an optimal strategy given by a sequence S of visited vertices and edges so that the strategy ends in the leaf b t. Let T (b l, b l2,..., b lm ) be the collected subtree of T that contains b t and let w e(bt) be the corresponding dominating edge weight. So b t {b l, b l2,..., b lm } and v(b t ) is the root of T (b l, b l2,..., b lm ). Similarily as in the proof of Lemma 3 we would like to reorganize S as required in the Lemma. For the trees T (b q, b q2,..., b qo ) with dominating edge weight greater than w e(bt) we can successively apply Lemma 3. So we reorganize S is this way by a sequence S that finally moves the agents back to the start vertex. Then we apply the sequence S again but skip the visits of all collected subtrees already fully visited by S before. This show step. of the Theorem. This gives an overall sequence S S with the same number of agents and S does only visit collected subtrees of T with dominating edges weight smaller than or equal to w e(bt). Furthermore, S also ends in b t. The collected subtree T (b l, b l2,..., b lm ) with weight w e(bt) does not contain any collected subtree with weight smaller than or equal to w e(bt). At some point in S the vertex v(b t ) is visited for the last time, say for the k-th time, by a movement from the predecessor pred(v(b t ) of v(b t ) by passing the edge of weight w e(bt). At least w e(bt) agents are still required for this step. At this moment all subtrees different from T (b l, b l2,..., b lm ) and edge weight smaller than or equal to w e(bt) habe been visited since the strategy ends in b t {b l, b l2,..., b lm }. Since w e(bt) agents are required for the final movement along e(b t ) there will be no loss of agents, if we postone all movements into T (b l, b l2,..., b lm ) in S first and then finally solve the problem in T (b l, b l2,..., b lm ) optimally. For the subtrees different from T (b l, b l2,..., b lm ) and edge weight smaller than or equal to w e(bt) we only require the agents that have to be placed there, since at least w e(bt) non-settled agents will be always present. Therefore we can also decide to visit the subtrees different from T (b l, b l2,..., b lm ) and edge weight smaller than or equal to w e(bt) in an arbitrary order (for example by DFS). This gives step 2. of the Theorem.

9 Strategic Deployment in Graphs Informatica 39 (25) Finally, we arrive at v(b t ) and T (b l, b l2,..., b lm ) and would like to end in the leaf b t. By induction on the height of the trees the tree T (b l, b l2,..., b lm ) can be handled in the same way. That is, we build a list of collected subtrees for the tree T (b l, b l2,..., b lm ) itself and recursively visit the collected subtrees by steps. and 2. so that the collected subtree that contains b t is recursively visited last in step 3. again. The remaining task is to efficiently find the best leaf b t where the overall optimal strategy ends. The above Lemma states that we should be able to start the algorithm recursively at the root of a collected subtree T (b l, b l2,..., b lm ) that contains b t. For a list, L, of the collected subtrees for T is given and for finding an optimal strategy we have to compute the corresponding lists of collected subtrees for all trees T (b l, b l2,..., b lm ) in L recursively. Figure 6 shows an example. In this setting let us for example consider the case that we would like to compute an optimal visiting order so that the strategy has to end in the leaf b 2. Since b 2 is in T (b 2, b 3, b 4 ) in the list of in Figure 6 by the above Lemma in step. we first visit the tree T (b 6, b 7 ) of dominating edge weight greater than the dominating edge weight of T (b 2, b 3, b 4 ). Then we visit T (b ), T (b 5 ) and T (b ) in step 2. After that in step 3. we recursively start the algorithm in T (b 2, b 3, b 4 ). Here at v 3 the list of collected sutrees contains T (b 4 ) and T (b 2, b 3 ) and by the above recursive algorithm in step. we first visit T (b 4 ). There is no tree for step 2. and we recursively enter T (b 2, b 3 ) at v 5 in step 3. Here for step. there is no subtree and we enter the tree T (b 3 ) in step 2. until finally we recursively end in T (b 2 ) in step 3. Here the algorithm ends. Note that in this example b 2 is not the overall optimal final leaf. If we simply apply the given algorithm for any leaf and compare the given results (number of agents required) we require O(n 2 log n) computational time. For efficiency, we compute the required information in a single step and check the value for the different leafs successively. It can be shown that in such a way the best leaf b t and the overall optimal strategy can be computed in amortized O(n log n) time. Finally, we give a proof for Theorem 4 by the following discussion. We would like to compute the lists of the collected subtrees T (b l, b l2,..., b lm ) recursively. More precisely, for the root of a full tree T with leafs {b, b 2,..., b n } we obtain a list, denoted by T (b, b 2,..., b n ), of the collected subtrees of T with respect to the decreasing order of the dominating edge weights as introduced in Section 3.2. The elements of the list are pointers to the roots of the collected subtrees T (b l, b l2,..., b lm ). For any such root T (b l, b l2,..., b lm ) of a subtree in the list T (b, b 2,..., b r ) we recursively would like to compute the corresponding list of collected subtrees recursively; see Figure 6 for an example. Additionally, for any considered collected subtree T (b k, b k2,..., b kr ) that belongs to the pointer list of T (b, b, b 2, b 3, b 4, b 5, b 6, b 7 ),4 = [T (b 6, b 7 ), T (b 2, b 3, b 4 ), T (b ), T (b 5 ), T (b )] e 4 e T (b 5 ) 7,9 = [T (b 5 )] 5 v 2 v 2 e 2 e 3 e 5 e e T (b 6, b 7 ) 2,4 = 2 b 3 b b 5 9 v 4 5 [T (b 7 ), T (b 6 )] T (b ) 4,2 T (b ) 9,8 T (b 5 ) 6,9 e 8 e 9 3 T (b 2, b 3, b 4 ),8 = v 3 [T (b b e ), T (b 2, b 3 )] b 7 e 3 8 T (b 6 ),2 T (b 7 ) 3,6 T (b 2, b 3 ) 3,4 = v 5 3 [T (b T (b 4 ) 8,4 2 ), T (b 3 )] e 3 b e T (b 2 ) 2,3 T (b 3), 2 b 2 b 3 Figure 6: All information required can be computed recursively from bottom to top in amortized O(n log n) time. T (b l, b l2,..., b lm ) we store a pair of integers x, y at the corresponding root of T (b k, b k2,..., b kr ) ; see Figure 6. Here x denotes the weight of the dominating edge. The value y denotes the size of T (b k, b k2,..., b kr ) + Path), if we recursively start the optimal tree algorithm in the root T (b l, b l2,..., b lm ); see Algorithm 2. This means that y denotes the size of the collected subtree and the sum of the weights along the path back from T (b k, b k2,..., b kr ) to the root T (b l, b l2,..., b lm ) if T (b k, b k2,..., b kr ), if T (b k, b k2,..., b kr ) is the first entry of the list T (b l, b l2,..., b lm ) and therefore has maximal weight. The list of subtrees at the root of T is denoted by T (b, b 2,..., b r ) x,y and obtains the values x := (no incoming edge) and y := N (the sum of the overall vertex weights). We can show that all information can be computed efficiently from bottom to top and finally also allows us to compute an overall optimal strategy. For the overall construction of all pointer lists T (b l, b l2,..., b lm ) we internally make use of Fibonacci heaps [7]. The corresponding heap for a vertex v always contains all collected subtrees of the leafs of T v. The collected subtree list for the vertex v itself might be empty; see for example that vertex v does not root a set of collected subtree. In the following the list of pointers to collected subtrees is denoted by [...] and the internal heaps are denoted by (...). The subtrees in the heap are also given by pointers. But the heap is sorted by increasing dominating edge weights. Note, that we have two different structures. Occasionally a final subtree for a vertex with a list of pointers for the collected subtrees (in decreasing order) and the internal heaps with a collection of all collected subtrees (in increasing or-

11 Strategic Deployment in Graphs Informatica 39 (25) From i to i + only a constant number of additional calculations have to be made. By induction this can recursively be done for the subtree dominated by w ei as well. Therefore we can use the given information for computing the optimal strategy in overall linear time O(n) if the collected subtrees are given recursively. 4 Conclusion We introduce a novel traversal problem in weighted graphs that models security or occupation constraints and gives rise to many further extensions and modifications. The problem discussed here is NP-hard in general and can be solved efficiently for trees in Θ(n log n) where some machinery is necessary. This also gives a 2-approximation for a general graph by the MST. References [] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network Flows: Theory, Algorithms, and Applications. Prentice Hall, Englewood Cliffs, NJ, 993. [2] Th. Beckmann, R. Klein, D. Kriesel, and E. Langetepe. Ant-sweep: a decentral strategy for cooperative cleaning in expanding domains. In Symposium on Computational Geometry, pages , 2. [3] Bernd Brüggemann, Elmar Langetepe, Andreas Lenerz, and Dirk Schulz. From a multi-robot global plan to single-robot actions. In ICINCO (2), pages , 22. [4] V. Chvátal. Linear Programming. W. H. Freeman, New York, NY, 983. [5] M. Dynia, J. Łopuszański, and Ch. Schindelhauer. Why robots need maps. In SIROCCO 7: Proc. 4th Colloq. on Structural Information an Communication Complexity, LNCS, pages Springer, 27. [] Bernhard Korte and Jens Vygen. Combinatorial Optimization: Theory and Algorithms. Springer Publishing Company, Incorporated, 4th edition, 27. [] Michail G. Lagoudakis, Evangelos Markakis, David Kempe, Pinar Keskinocak, Anton Kleywegt, Sven Koenig, Craig Tovey, Adam Meyerson, and Sonal Jain. Auction-based multi-robot routing. In Proceedings of Robotics: Science and Systems, Cambridge, USA, June 25. [2] Simone Lehmann. Graphtraversierungen mit Nebenbedingungen. Masterthesis, Rheinische Friedrich-Wilhelms-Universität Bonn, 22. [3] Britta Peis, Martin Skutella, and Andreas Wiese. Packet routing: Complexity and algorithms. In WAOA 29, number 5893 in LNCS, pages Springer-Verlag, 29. [4] David Portugal and Rui P. Rocha. A survey on multirobot patrolling algorithms. In Luis M. Camarinha- Matos, editor, DoCEIS, volume 349 of IFIP Advances in Information and Communication Technology, pages Springer, 2. [5] F. P. Preparata and M. I. Shamos. Computational Geometry: An Introduction. Springer-Verlag, New York, NY, 985. [6] Alexander V. Sadovsky, Damek Davis, and Douglas R. Isaacson. Optimal routing and control of multiple agents moving in a transportation network and subject to an arrival schedule and separation constraints. In No. NASA/TM , 2. [7] I. A. Wagner, Y. Altshuler, V. Yanovski, and A. M. Bruckstein. Cooperative cleaners: A study in ant robotics. The Int. J. Robot. Research, 27:27 5, 28. [6] P. Fraigniaud, L. Gasieniec, D. R. Kowalski, and A. Pelc. Collective tree exploration. Networks, 43(3):66 77, 26. [7] M. L. Fredman and R. E. Tarjan. Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM, 34:596 65, 987. [8] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP- Completeness. W. H. Freeman, New York, NY, 979. [9] Miltos D. Grammatikakis, D. Frank Hsu, Miro Kraetzl, and Jop F. Sibeyn. Packet routing in fixedconnection networks: A survey. Journal of Parallel and Distributed Computing, 54(2):77 32, 998.

### 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

### 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

### Sample Problems in Discrete Mathematics

Sample Problems in Discrete Mathematics This handout lists some sample problems that you should be able to solve as a pre-requisite to Computer Algorithms Try to solve all of them You should also read

### Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the

### CS711008Z Algorithm Design and Analysis

CS711008Z Algorithm Design and Analysis Lecture 7 Binary heap, binomial heap, and Fibonacci heap 1 Dongbo Bu Institute of Computing Technology Chinese Academy of Sciences, Beijing, China 1 The slides were

### COT5405 Analysis of Algorithms Homework 3 Solutions

COT0 Analysis of Algorithms Homework 3 Solutions. Prove or give a counter example: (a) In the textbook, we have two routines for graph traversal - DFS(G) and BFS(G,s) - where G is a graph and s is any

### Lecture 7: Approximation via Randomized Rounding

Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining

### COLORED GRAPHS AND THEIR PROPERTIES

COLORED GRAPHS AND THEIR PROPERTIES BEN STEVENS 1. Introduction This paper is concerned with the upper bound on the chromatic number for graphs of maximum vertex degree under three different sets of coloring

### On the k-path cover problem for cacti

On the k-path cover problem for cacti Zemin Jin and Xueliang Li Center for Combinatorics and LPMC Nankai University Tianjin 300071, P.R. China zeminjin@eyou.com, x.li@eyou.com Abstract In this paper we

### Data Structures Fibonacci Heaps, Amortized Analysis

Chapter 4 Data Structures Fibonacci Heaps, Amortized Analysis Algorithm Theory WS 2012/13 Fabian Kuhn Fibonacci Heaps Lacy merge variant of binomial heaps: Do not merge trees as long as possible Structure:

### CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.

Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure

### 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

### 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

### 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: Binary Search Trees

Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary

### The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints

### 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

### Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

### Answers to some of the exercises.

Answers to some of the exercises. Chapter 2. Ex.2.1 (a) There are several ways to do this. Here is one possibility. The idea is to apply the k-center algorithm first to D and then for each center in D

### 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 }

### Minimum Spanning Trees

Minimum Spanning Trees Algorithms and 18.304 Presentation Outline 1 Graph Terminology Minimum Spanning Trees 2 3 Outline Graph Terminology Minimum Spanning Trees 1 Graph Terminology Minimum Spanning Trees

### 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

### / Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry 2.1 Steiner Tree Definition 2.1.1 In the Steiner Tree problem the input

### Offline sorting buffers on Line

Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

### 8.1 Min Degree Spanning Tree

CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree

### Chapter 4. Trees. 4.1 Basics

Chapter 4 Trees 4.1 Basics A tree is a connected graph with no cycles. A forest is a collection of trees. A vertex of degree one, particularly in a tree, is called a leaf. Trees arise in a variety of applications.

### A binary search tree is a binary tree with a special property called the BST-property, which is given as follows:

Chapter 12: Binary Search Trees A binary search tree is a binary tree with a special property called the BST-property, which is given as follows: For all nodes x and y, if y belongs to the left subtree

### Planar Tree Transformation: Results and Counterexample

Planar Tree Transformation: Results and Counterexample Selim G Akl, Kamrul Islam, and Henk Meijer School of Computing, Queen s University Kingston, Ontario, Canada K7L 3N6 Abstract We consider the problem

### 1 Approximating Set Cover

CS 05: Algorithms (Grad) Feb 2-24, 2005 Approximating Set Cover. Definition An Instance (X, F ) of the set-covering problem consists of a finite set X and a family F of subset of X, such that every elemennt

### 12 Abstract Data Types

12 Abstract Data Types 12.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT).

### CMPS 102 Solutions to Homework 1

CMPS 0 Solutions to Homework Lindsay Brown, lbrown@soe.ucsc.edu September 9, 005 Problem..- p. 3 For inputs of size n insertion sort runs in 8n steps, while merge sort runs in 64n lg n steps. For which

### Binary Search Trees CMPSC 122

Binary Search Trees CMPSC 122 Note: This notes packet has significant overlap with the first set of trees notes I do in CMPSC 360, but goes into much greater depth on turning BSTs into pseudocode than

### Trees and structural induction

Trees and structural induction Margaret M. Fleck 25 October 2010 These notes cover trees, tree induction, and structural induction. (Sections 10.1, 4.3 of Rosen.) 1 Why trees? Computer scientists are obsessed

### Outline BST Operations Worst case Average case Balancing AVL Red-black B-trees. Binary Search Trees. Lecturer: Georgy Gimel farb

Binary Search Trees Lecturer: Georgy Gimel farb COMPSCI 220 Algorithms and Data Structures 1 / 27 1 Properties of Binary Search Trees 2 Basic BST operations The worst-case time complexity of BST operations

### 12. Visibility Graphs and 3-Sum Lecture on Monday 9 th

12. Visibility Graphs and 3-Sum Lecture on Monday 9 th November, 2009 by Michael Homann 12.1 Sorting all Angular Sequences. Theorem 12.1 Consider a set P of n points in the plane.

### 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. What s wrong with the following proofs by induction?

ArsDigita University Month : Discrete Mathematics - Professor Shai Simonson Problem Set 4 Induction and Recurrence Equations Thanks to Jeffrey Radcliffe and Joe Rizzo for many of the solutions. Pasted

### CMSC 451: Graph Properties, DFS, BFS, etc.

CMSC 451: Graph Properties, DFS, BFS, etc. Slides By: Carl Kingsford Department of Computer Science University of Maryland, College Park Based on Chapter 3 of Algorithm Design by Kleinberg & Tardos. Graphs

### CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992

CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992 Original Lecture #6: 28 January 1991 Topics: Triangulating Simple Polygons

### Algorithms and Data Structures

Algorithms and Data Structures Part 2: Data Structures PD Dr. rer. nat. habil. Ralf-Peter Mundani Computation in Engineering (CiE) Summer Term 2016 Overview general linked lists stacks queues trees 2 2

### 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

### The relationship of a trees to a graph is very important in solving many problems in Maths and Computer Science

Trees Mathematically speaking trees are a special class of a graph. The relationship of a trees to a graph is very important in solving many problems in Maths and Computer Science However, in computer

### GRAPH THEORY and APPLICATIONS. Trees

GRAPH THEORY and APPLICATIONS Trees Properties Tree: a connected graph with no cycle (acyclic) Forest: a graph with no cycle Paths are trees. Star: A tree consisting of one vertex adjacent to all the others.

### 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

### A. V. Gerbessiotis CS Spring 2014 PS 3 Mar 24, 2014 No points

A. V. Gerbessiotis CS 610-102 Spring 2014 PS 3 Mar 24, 2014 No points Problem 1. Suppose that we insert n keys into a hash table of size m using open addressing and uniform hashing. Let p(n, m) be the

### Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R

Binary Search Trees A Generic Tree Nodes in a binary search tree ( B-S-T) are of the form P parent Key A Satellite data L R B C D E F G H I J The B-S-T has a root node which is the only node whose parent

### Converting a Number from Decimal to Binary

Converting a Number from Decimal to Binary Convert nonnegative integer in decimal format (base 10) into equivalent binary number (base 2) Rightmost bit of x Remainder of x after division by two Recursive

### Polynomial Degree and Lower Bounds in Quantum Complexity: Collision and Element Distinctness with Small Range

THEORY OF COMPUTING, Volume 1 (2005), pp. 37 46 http://theoryofcomputing.org Polynomial Degree and Lower Bounds in Quantum Complexity: Collision and Element Distinctness with Small Range Andris Ambainis

### Graphs and Network Flows IE411 Lecture 1

Graphs and Network Flows IE411 Lecture 1 Dr. Ted Ralphs IE411 Lecture 1 1 References for Today s Lecture Required reading Sections 17.1, 19.1 References AMO Chapter 1 and Section 2.1 and 2.2 IE411 Lecture

### 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

### Finding the Shortest Move-Sequence in the Graph-Generalized 15-Puzzle is NP-Hard

Finding the Shortest Move-Sequence in the Graph-Generalized 15-Puzzle is NP-Hard Oded Goldreich Abstract. Following Wilson (J. Comb. Th. (B), 1975), Johnson (J. of Alg., 1983), and Kornhauser, Miller and

### Lecture Notes on Spanning Trees

Lecture Notes on Spanning Trees 15-122: Principles of Imperative Computation Frank Pfenning Lecture 26 April 26, 2011 1 Introduction In this lecture we introduce graphs. Graphs provide a uniform model

### Discrete Mathematics, Chapter 5: Induction and Recursion

Discrete Mathematics, Chapter 5: Induction and Recursion Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 5 1 / 20 Outline 1 Well-founded

### 4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests

4 Basics of Trees Trees, actually acyclic connected simple graphs, are among the simplest graph classes. Despite their simplicity, they still have rich structure and many useful application, such as in

### 1. Relevant standard graph theory

Color identical pairs in 4-chromatic graphs Asbjørn Brændeland I argue that, given a 4-chromatic graph G and a pair of vertices {u, v} in G, if the color of u equals the color of v in every 4-coloring

### 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

### 1. R In this and the next section we are going to study the properties of sequences of real numbers.

+a 1. R In this and the next section we are going to study the properties of sequences of real numbers. Definition 1.1. (Sequence) A sequence is a function with domain N. Example 1.2. A sequence of real

### A Note on Maximum Independent Sets in Rectangle Intersection Graphs

A Note on Maximum Independent Sets in Rectangle Intersection Graphs Timothy M. Chan School of Computer Science University of Waterloo Waterloo, Ontario N2L 3G1, Canada tmchan@uwaterloo.ca September 12,

### 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

### Mathematical Induction. Lecture 10-11

Mathematical Induction Lecture 10-11 Menu Mathematical Induction Strong Induction Recursive Definitions Structural Induction Climbing an Infinite Ladder Suppose we have an infinite ladder: 1. We can reach

### Min-cost flow problems and network simplex algorithm

Min-cost flow problems and network simplex algorithm The particular structure of some LP problems can be sometimes used for the design of solution techniques more efficient than the simplex algorithm.

### 1 2-3 Trees: The Basics

CS10: Data Structures and Object-Oriented Design (Fall 2013) November 1, 2013: 2-3 Trees: Inserting and Deleting Scribes: CS 10 Teaching Team Lecture Summary In this class, we investigated 2-3 Trees in

### The multi-integer set cover and the facility terminal cover problem

The multi-integer set cover and the facility teral cover problem Dorit S. Hochbaum Asaf Levin December 5, 2007 Abstract The facility teral cover problem is a generalization of the vertex cover problem.

### Good luck, veel succes!

Final exam Advanced Linear Programming, May 7, 13.00-16.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam

### Scheduling Single Machine Scheduling. Tim Nieberg

Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for non-preemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe

### Data Structures and Algorithms Written Examination

Data Structures and Algorithms Written Examination 22 February 2013 FIRST NAME STUDENT NUMBER LAST NAME SIGNATURE Instructions for students: Write First Name, Last Name, Student Number and Signature where

### Example 5.5. The heuristics are demonstrated with this example of n=5 vertices and distances in the following matrix:

39 5.3. HEURISTICS FOR THE TSP Notation: f = length of the tour given by the algortihm a f = length of the optimal tour min Most of the following heuristics are designed to solve symmetric instances of

### 2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

### Prime Numbers. Chapter Primes and Composites

Chapter 2 Prime Numbers The term factoring or factorization refers to the process of expressing an integer as the product of two or more integers in a nontrivial way, e.g., 42 = 6 7. Prime numbers are

### Data Streams A Tutorial

Data Streams A Tutorial Nicole Schweikardt Goethe-Universität Frankfurt am Main DEIS 10: GI-Dagstuhl Seminar on Data Exchange, Integration, and Streams Schloss Dagstuhl, November 8, 2010 Data Streams Situation:

### A simple existence criterion for normal spanning trees in infinite graphs

1 A simple existence criterion for normal spanning trees in infinite graphs Reinhard Diestel Halin proved in 1978 that there exists a normal spanning tree in every connected graph G that satisfies the

### 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

### The chromatic spectrum of mixed hypergraphs

The chromatic spectrum of mixed hypergraphs Tao Jiang, Dhruv Mubayi, Zsolt Tuza, Vitaly Voloshin, Douglas B. West March 30, 2003 Abstract A mixed hypergraph is a triple H = (X, C, D), where X is the vertex

### Multimedia Communications. Huffman Coding

Multimedia Communications Huffman Coding Optimal codes Suppose that a i -> w i C + is an encoding scheme for a source alphabet A={a 1,, a N }. Suppose that the source letter a 1,, a N occur with relative

### 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

### Full and Complete Binary Trees

Full and Complete Binary Trees Binary Tree Theorems 1 Here are two important types of binary trees. Note that the definitions, while similar, are logically independent. Definition: a binary tree T is full

### 1 Basic Definitions and Concepts in Graph Theory

CME 305: Discrete Mathematics and Algorithms 1 Basic Definitions and Concepts in Graph Theory A graph G(V, E) is a set V of vertices and a set E of edges. In an undirected graph, an edge is an unordered

### Nearly Complete Binary Trees and Heaps

Nearly Complete Binary Trees and Heaps DEFINITIONS: i) The depth of a node p in a binary tree is the length (number of edges) of the path from the root to p. ii) The height (or depth) of a binary tree

### Two General Methods to Reduce Delay and Change of Enumeration Algorithms

ISSN 1346-5597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII-2003-004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration

### 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

### Analysis of Algorithms I: Optimal Binary Search Trees

Analysis of Algorithms I: Optimal Binary Search Trees Xi Chen Columbia University Given a set of n keys K = {k 1,..., k n } in sorted order: k 1 < k 2 < < k n we wish to build an optimal binary search

### 2 Exercises and Solutions

2 Exercises and Solutions Most of the exercises below have solutions but you should try first to solve them. Each subsection with solutions is after the corresponding subsection with exercises. 2.1 Sorting

### 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

### Solutions to Exercises 8

Discrete Mathematics Lent 2009 MA210 Solutions to Exercises 8 (1) Suppose that G is a graph in which every vertex has degree at least k, where k 1, and in which every cycle contains at least 4 vertices.

### Network File Storage with Graceful Performance Degradation

Network File Storage with Graceful Performance Degradation ANXIAO (ANDREW) JIANG California Institute of Technology and JEHOSHUA BRUCK California Institute of Technology A file storage scheme is proposed

### ! 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

### 6.042/18.062J Mathematics for Computer Science October 3, 2006 Tom Leighton and Ronitt Rubinfeld. Graph Theory III

6.04/8.06J Mathematics for Computer Science October 3, 006 Tom Leighton and Ronitt Rubinfeld Lecture Notes Graph Theory III Draft: please check back in a couple of days for a modified version of these

### Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

### (Refer Slide Time 1.50)

Discrete Mathematical Structures Dr. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Module -2 Lecture #11 Induction Today we shall consider proof

### Sorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)

Sorting revisited How did we use a binary search tree to sort an array of elements? Tree Sort Algorithm Given: An array of elements to sort 1. Build a binary search tree out of the elements 2. Traverse

### Answers to Homework 1

Answers to Homework 1 p. 13 1.2 3 What is the smallest value of n such that an algorithm whose running time is 100n 2 runs faster than an algorithm whose running time is 2 n on the same machine? Find the

### TREES IN SET THEORY SPENCER UNGER

TREES IN SET THEORY SPENCER UNGER 1. Introduction Although I was unaware of it while writing the first two talks, my talks in the graduate student seminar have formed a coherent series. This talk can be

### ! 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

### arxiv:1202.5749v1 [cs.ds] 26 Feb 2012

Fixed-parameter tractability of multicut in directed acyclic graphs Stefan Kratsch Marcin Pilipczuk Micha l Pilipczuk Magnus Wahlström arxiv:1202.5749v1 [cs.ds] 26 Feb 2012 Abstract The Multicut problem,

### From Last Time: Remove (Delete) Operation

CSE 32 Lecture : More on Search Trees Today s Topics: Lazy Operations Run Time Analysis of Binary Search Tree Operations Balanced Search Trees AVL Trees and Rotations Covered in Chapter of the text From

### Jade Yu Cheng ICS 311 Homework 10 Oct 7, 2008

Jade Yu Cheng ICS 311 Homework 10 Oct 7, 2008 Question for lecture 13 Problem 23-3 on p. 577 Bottleneck spanning tree A bottleneck spanning tree of an undirected graph is a spanning tree of whose largest

### Well-Separated Pair Decomposition for the Unit-disk Graph Metric and its Applications

Well-Separated Pair Decomposition for the Unit-disk Graph Metric and its Applications Jie Gao Department of Computer Science Stanford University Joint work with Li Zhang Systems Research Center Hewlett-Packard

### Comparing Leaf and Root Insertion

30 Research Article SACJ, No. 44., December 2009 Comparing Leaf Root Insertion Jaco Geldenhuys, Brink van der Merwe Computer Science Division, Department of Mathematical Sciences, Stellenbosch University,