A Course in Combinatorial Optimization

Total Page:16

File Type:pdf, Size:1020Kb

A Course in Combinatorial Optimization A Course in Combinatorial Optimization Alexander Schrijver CWI, Kruislaan 413, 1098 SJ Amsterdam, The Netherlands and Department of Mathematics, University of Amsterdam, Plantage Muidergracht 24, 1018 TV Amsterdam, The Netherlands. February 7, 2003 copyright c A. Schrijver Contents 1. Shortest paths and trees 4 1.1. Shortest paths with nonnegative lengths 4 1.2. Speeding up Dijkstra's algorithm with heaps 6 1.3. Shortest paths with arbitrary lengths 9 1.4. Minimum spanning trees 14 2. Polytopes, polyhedra, Farkas' lemma, and linear programming 18 2.1. Convex sets 18 2.2. Polytopes and polyhedra 19 2.3. Farkas' lemma 23 2.4. Linear programming 25 3. Matchings and covers in bipartite graphs 30 3.1. Matchings, covers, and Gallai's theorem 30 3.2. K}onig's theorems 31 3.3. Cardinality bipartite matching algorithm 33 3.4. Weighted bipartite matching 35 3.5. The matching polytope 38 4. Menger's theorem, flows, and circulations 41 4.1. Menger's theorem 41 4.2. Path packing algorithmically 43 4.3. Flows in networks 46 4.4. Finding a maximum flow 47 4.5. Speeding up the maximum flow algorithm 51 4.6. Circulations 54 4.7. Minimum-cost flows 55 5. Nonbipartite matching 61 5.1. Tutte's 1-factor theorem and the Tutte-Berge formula 61 5.2. Cardinality matching algorithm 63 5.3. Weighted matching algorithm 66 5.4. The matching polytope 70 5.5. The Cunningham-Marsh formula 72 6. Problems, algorithms, and running time 74 6.1. Introduction 74 6.2. Words 75 6.3. Problems 76 6.4. Algorithms and running time 76 6.5. The class NP 77 6.7. NP-completeness 78 6.8. NP-completeness of the satisfiability problem 78 6.9. NP-completeness of some other problems 80 6.10. Turing machines 82 7. Cliques, cocliques, and colourings 84 7.1. Introduction 84 7.2. Edge-colourings of bipartite graphs 87 7.3. Partially ordered sets 91 7.4. Perfect graphs 94 7.5. Chordal graphs 97 8. Integer linear programming and totally unimodular matrices 100 8.1. Integer linear programming 100 8.2. Totally unimodular matrices 101 8.3. Totally unimodular matrices from bipartite graphs 104 8.4. Totally unimodular matrices from directed graphs 108 9. Multicommodity flows and disjoint paths 111 9.1. Introduction 111 9.2. Two commodities 114 9.3. Disjoint paths in acyclic directed graphs 117 9.4. Vertex-disjoint paths in planar graphs 119 9.5. Edge-disjoint paths in planar graphs 124 9.6. A column generation technique for multicommodity flows 126 10. Matroids 129 10.1. Matroids and the greedy algorithm 129 10.2. Equivalent axioms for matroids 131 10.3. Examples of matroids 134 10.4. Two technical lemmas 136 10.5. Matroid intersection 137 10.6. Weighted matroid intersection 141 10.7. Matroids and polyhedra 144 References 148 Name index 155 Subject index 157 4 Chapter 1. Shortest paths and trees 1. Shortest paths and trees 1.1. Shortest paths with nonnegative lengths Let D = (V; A) be a directed graph, and let s; t V . A path is a sequence P = (v ; a ; v ; : : : ; a ; v ) 2 0 1 1 m m where ai is an arc from vi−1 to vi for i = 1; : : : ; m. If s = v0 and t = vm, the vertices s and t are the starting and end vertex of P , respectively, and P is called an s t path. The length of P is m. The distance from s to t is the minimum length of any s t path. −(If no s t path exists, we set the distance from s to t equal to .) − − 1 It is not difficult to determine the distance from s to t: Let Vi denote the set of vertices of D at distance i from s. Note that for each i: (1) Vi+1 is equal to the set of vertices v V (V0 V1 Vi) for which (u; v) A for some u V . 2 n [ [ · · · [ 2 2 i This gives us directly an algorithm for determining the sets V : we set V := s and next we i 0 f g determine with rule (1) the sets V1; V2; : : : successively, until Vi+1 = . In fact, it gives a linear-time algorithm: ; Theorem 1.1. The algorithm has running time O( A ). j j Proof. Directly from the description. In fact the algorithm finds the distance from s to all vertices reachable from s. Moreover, it gives the shortest paths. These can be described by a rooted (directed) tree T = (V 0; A0), with root s, such that V 0 is the set of vertices reachable in D from s and such that for each u; v V 0, each directed u v path in T is a shortest u v path in D.1 2 Indeed,−when we reach a vertex t in the− algorithm, we store the arc by which t is reached. Then at the end of the algorithm, all stored arcs form a rooted tree with this property. There is also a trivial min-max relation characterizing the minimum length of an s t path. To this end, call a subset A0 of A an s t cut if A0 = δout(U) for some subset U of V satisfying− s U and t U.2 Then the following was−observed by Robacker [1956]: 2 62 Theorem 1.2. The minimum length of an s t path is equal to the maximum number of pairwise disjoint s t cuts. − − Proof. Trivially, the minimum is at least the maximum, since each s t path intersects each s t cut in an arc. The fact that the minimum is equal to the maximum follo− ws by considering the s − t out − cuts δ (Ui) for i = 0; : : : ; d 1, where d is the distance from s to t and where Ui is the set of vertices of distance at most i from− s. This can be generalized to the case where arcs have a certain `length'. For any `length' function l : A Q and any path P = (v ; a ; v ; : : : ; a ; v ), let l(P ) be the length of P . That is: ! + 0 1 1 m m m (2) l(P ) := l(a): Xi=1 Now the distance from s to t (with respect to l) is equal to the minimum length of any s t path. If no s t path exists, the distance is + . − − 1 1A rooted tree, with root s, is a directed graph such that the underlying undirected graph is a tree and such that each vertex t 6= s has indegree 1. Thus each vertex t is reachable from s by a unique directed s − t path. 2δout(U) and δin(U) denote the sets of arcs leaving and entering U, respectively. Section 1.1. Shortest paths with nonnegative lengths 5 Again there is an easy algorithm, due to Dijkstra [1959], to find a minimum-length s t path for all t. Start with U := V and set f(s) := 0 and f(v) = if v = s. Next apply the follo− wing iteratively: 1 6 (3) Find u U minimizing f(u) over u U. For each a = (u; v) A for which f(v) > f2(u) + l(a), reset f(v) := f(u) +2l(a). Reset U := U u . 2 n f g We stop if U = . Then: ; Theorem 1.3. The final function f gives the distances from s. Proof. Let dist(v) denote the distance from s to v, for any vertex v. Trivially, f(v) dist(v) for all v, throughout the iterations. We prove that throughout the iterations, f(v) = dist≥(v) for each v V U. At the start of the algorithm this is trivial (as U = V ). 2Considern any iteration (3). It suffices to show that f(u) = dist(u) for the chosen u U. Suppose 2 f(u) > dist(u). Let s = v0; v1; : : : ; vk = u be a shortest s u path. Let i be the smallest index with v U. − i 2 Then f(vi) = dist(vi). Indeed, if i = 0, then f(vi) = f(s) = 0 = dist(s) = dist(vi). If i > 0, then (as v V U): i−1 2 n (4) f(v ) f(v ) + l(v ; v ) = dist(v ) + l(v ; v ) = dist(v ): i ≤ i−1 i−1 i i−1 i−1 i i This implies f(v ) dist(v ) dist(u) < f(u), contradicting the choice of u. i ≤ i ≤ Clearly, the number of iterations is V , while each iteration takes O( V ) time. So the algorithm has a running time O( V 2). In fact, byj storingj for each vertex v the lastj arcj a for which (3) applied we find a rooted tree Tj =j (V 0; A0) with root s such that V 0 is the set of vertices reachable from s and such that for each u; v V 0, each directed u v path in T is a shortest u v path in D. Thus we have: 2 − − Theorem 1.4. Given a directed graph D = (V; A), s; t V , and a length function l : A Q+, a shortest s t path can be found in time O( V 2). 2 ! − j j Proof. See above. For an improvement, see Section 1.2. A weighted version of Theorem 1.2 is as follows: Theorem 1.5. Let D = (V; A) be a directed graph, s; t V , and let l : A Z+. Then the minimum length of an s t path is equal to the maximum number 2k of s t cuts C ; !: : : ; C (repetition allowed) − − 1 k such that each arc a is in at most l(a) of the cuts Ci.
Recommended publications
  • Quantum Algorithms for Matching Problems
    Quantum Algorithms for Matching Problems Sebastian D¨orn Institut f¨urTheoretische Informatik, Universit¨atUlm, 89069 Ulm, Germany [email protected] Abstract. We present quantum algorithms for the following matching problems in unweighted and weighted graphs with n vertices and m edges: √ – Finding a maximal matching in general graphs in time O( nm log2 n). √ – Finding a maximum matching in general graphs in time O(n m log2 n). – Finding a maximum weight matching in bipartite graphs in time √ O(n mN log2 n), where N is the largest edge weight. – Finding a minimum weight perfect matching in bipartite graphs in √ time O(n nm log3 n). These results improve the best classical complexity bounds for the corre- sponding problems. In particular, the second result solves an open ques- tion stated in a paper by Ambainis and Spalekˇ [AS06]. 1 Introduction A matching in a graph is a set of edges such that for every vertex at most one edge of the matching is incident on the vertex. The task is to find a matching of maximum cardinality. The matching problem has many important applications in graph theory and computer science. In this paper we study the complexity of algorithms for the matching prob- lems on quantum computers and compare these to the best known classical algo- rithms. We will consider different versions of the matching problems, depending on whether the graph is bipartite or not and whether the graph is unweighted or weighted. For unweighted graphs, the best classical algorithm for finding a match- ing of maximum√ cardinality is based on augmenting paths and has running time O( nm) (see Micali and Vazirani [MV80]).
    [Show full text]
  • Lecture 18 Solving Shortest Path Problem: Dijkstra's Algorithm
    Lecture 18 Solving Shortest Path Problem: Dijkstra’s Algorithm October 23, 2009 Lecture 18 Outline • Focus on Dijkstra’s Algorithm • Importance: Where it has been used? • Algorithm’s general description • Algorithm steps in detail • Example Operations Research Methods 1 Lecture 18 One-To-All Shortest Path Problem We are given a weighted network (V, E, C) with node set V , edge set E, and the weight set C specifying weights cij for the edges (i, j) ∈ E. We are also given a starting node s ∈ V . The one-to-all shortest path problem is the problem of determining the shortest path from node s to all the other nodes in the network. The weights on the links are also referred as costs. Operations Research Methods 2 Lecture 18 Algorithms Solving the Problem • Dijkstra’s algorithm • Solves only the problems with nonnegative costs, i.e., cij ≥ 0 for all (i, j) ∈ E • Bellman-Ford algorithm • Applicable to problems with arbitrary costs • Floyd-Warshall algorithm • Applicable to problems with arbitrary costs • Solves a more general all-to-all shortest path problem Floyd-Warshall and Bellman-Ford algorithm solve the problems on graphs that do not have a cycle with negative cost. Operations Research Methods 3 Lecture 18 Importance of Dijkstra’s algorithm Many more problems than you might at first think can be cast as shortest path problems, making Dijkstra’s algorithm a powerful and general tool. For example: • Dijkstra’s algorithm is applied to automatically find directions between physical locations, such as driving directions on websites like Mapquest or Google Maps.
    [Show full text]
  • Faster Shortest-Path Algorithms for Planar Graphs
    Journal of Computer and System SciencesSS1493 journal of computer and system sciences 55, 323 (1997) article no. SS971493 Faster Shortest-Path Algorithms for Planar Graphs Monika R. Henzinger* Department of Computer Science, Cornell University, Ithaca, New York 14853 Philip Klein- Department of Computer Science, Brown Univrsity, Providence, Rhode Island 02912 Satish Rao NEC Research Institute and Sairam Subramanian Bell Northern Research Received April 18, 1995; revised August 13, 1996 and matching). In this paper we improved algorithms for We give a linear-time algorithm for single-source shortest paths in single-source shortest paths in planar networks. planar graphs with nonnegative edge-lengths. Our algorithm also The first algorithm handles the important special case of yields a linear-time algorithm for maximum flow in a planar graph nonnegative edge-lengths. For this case, we obtain a linear- with the source and sink on the same face. For the case where time algorithm. Thus our algorithm is optimal, up to con- negative edge-lengths are allowed, we give an algorithm requiring O(n4Â3 log(nL)) time, where L is the absolute value of the most stant factors. No linear-time algorithm for shortest paths in negative length. This algorithm can be used to obtain similar bounds for planar graphs was previously known. For general graphs computing a feasible flow in a planar network, for finding a perfect the best bounds known in the standard model, which for- matching in a planar bipartite graph, and for finding a maximum flow in bids bit-manipulation of the lengths, is O(m+n log n) time, a planar graph when the source and sink are not on the same face.
    [Show full text]
  • Shortest Path Problems and Algorithms
    Shortest path problems and algorithms 1. Shortest path problems . Shortest path problem . Single-source shortest path problem . Single-destination shortest path problem . All-pairs shortest path problem 2. Algorithms . Dijkstra’s algorithm for single source shortest path problem (positive weight) . Bellman–Ford algorithm for single source shortest path problem (allow negative weight) . Floyd–Warshall algorithm for all pairs shortest paths . Johnson's algorithm for all pairs shortest paths CP412 ADAII 1. Shortest path problems Shortest path problem: Input: weight graph G = (V, E, W), source vertex s and destination vertex t. Output: a shortest path of G from s to t. Single-source shortest path problem: Output: shortest paths from source vertex s to all other vertices of G. Single-destination shortest path problem: Output: shortest paths from all vertices of G to a single destination t. All-pairs shortest path problem: Output: shortest paths between every pair of vertices u, v in the graph. CP412 ADAII History of SPP and algorithms Shimbel (1955). Information networks. Ford (1956). RAND, economics of transportation. Leyzorek, Gray, Johnson, Ladew, Meaker, Petry, Seitz (1957). Combat Development Dept. of the Army Electronic Proving Ground. Dantzig (1958). Simplex method for linear programming. Bellman (1958). Dynamic programming. Moore (1959). Routing long-distance telephone calls for Bell Labs. Dijkstra (1959). Simpler and faster version of Ford's algorithm. CP412 ADAII Dijkstra’s algorithms Edger W. Dijkstra’s quotes . The question of whether computers can think is like the question of whether submarines can swim. In their capacity as a tool, computers will be but a ripple on the surface of our culture.
    [Show full text]
  • The On-Line Shortest Path Problem Under Partial Monitoring
    Journal of Machine Learning Research 8 (2007) 2369-2403 Submitted 4/07; Revised 8/07; Published 10/07 The On-Line Shortest Path Problem Under Partial Monitoring Andras´ Gyor¨ gy [email protected] Machine Learning Research Group Computer and Automation Research Institute Hungarian Academy of Sciences Kende u. 13-17, Budapest, Hungary, H-1111 Tamas´ Linder [email protected] Department of Mathematics and Statistics Queen’s University, Kingston, Ontario Canada K7L 3N6 Gabor´ Lugosi [email protected] ICREA and Department of Economics Universitat Pompeu Fabra Ramon Trias Fargas 25-27 08005 Barcelona, Spain Gyor¨ gy Ottucsak´ [email protected] Department of Computer Science and Information Theory Budapest University of Technology and Economics Magyar Tudosok´ Kor¨ utja´ 2. Budapest, Hungary, H-1117 Editor: Leslie Pack Kaelbling Abstract The on-line shortest path problem is considered under various models of partial monitoring. Given a weighted directed acyclic graph whose edge weights can change in an arbitrary (adversarial) way, a decision maker has to choose in each round of a game a path between two distinguished vertices such that the loss of the chosen path (defined as the sum of the weights of its composing edges) be as small as possible. In a setting generalizing the multi-armed bandit problem, after choosing a path, the decision maker learns only the weights of those edges that belong to the chosen path. For this problem, an algorithm is given whose average cumulative loss in n rounds exceeds that of the best path, matched off-line to the entire sequence of the edge weights, by a quantity that is proportional to 1=pn and depends only polynomially on the number of edges of the graph.
    [Show full text]
  • Econstor Wirtschaft Leibniz Information Centre Make Your Publications Visible
    A Service of Leibniz-Informationszentrum econstor Wirtschaft Leibniz Information Centre Make Your Publications Visible. zbw for Economics Nikulin, Yury Working Paper — Digitized Version Solving the robust shortest path problem with interval data using a probabilistic metaheuristic approach Manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, No. 597 Provided in Cooperation with: Christian-Albrechts-University of Kiel, Institute of Business Administration Suggested Citation: Nikulin, Yury (2005) : Solving the robust shortest path problem with interval data using a probabilistic metaheuristic approach, Manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel, No. 597, Universität Kiel, Institut für Betriebswirtschaftslehre, Kiel This Version is available at: http://hdl.handle.net/10419/147655 Standard-Nutzungsbedingungen: Terms of use: Die Dokumente auf EconStor dürfen zu eigenen wissenschaftlichen Documents in EconStor may be saved and copied for your Zwecken und zum Privatgebrauch gespeichert und kopiert werden. personal and scholarly purposes. Sie dürfen die Dokumente nicht für öffentliche oder kommerzielle You are not to copy documents for public or commercial Zwecke vervielfältigen, öffentlich ausstellen, öffentlich zugänglich purposes, to exhibit the documents publicly, to make them machen, vertreiben oder anderweitig nutzen. publicly available on the internet, or to distribute or otherwise use the documents in public. Sofern die Verfasser die Dokumente unter Open-Content-Lizenzen (insbesondere CC-Lizenzen) zur Verfügung gestellt haben sollten, If the documents have been made available under an Open gelten abweichend von diesen Nutzungsbedingungen die in der dort Content Licence (especially Creative Commons Licences), you genannten Lizenz gewährten Nutzungsrechte. may exercise further usage rights as specified in the indicated licence. www.econstor.eu Manuskripte aus den Instituten für Betriebswirtschaftslehre der Universität Kiel No.
    [Show full text]
  • Shared Shortest Paths in Graphs
    Shared Shortest Paths in Graphs Ronald Fenelus, Florida International University Zeal Jagannatha, Ohio Wesleyan University Mentor: Sean McCulloch Department of Mathematics and Computer Science, Ohio Wesleyan University Graph Theory Background NP-Complete Nash Equilibrium Finder The Shared Shortest Path Problem (SSPP) asks A Nash Equilibrium can be found algorithmically Basics how to route paths in a graph to minimize cost when Finding minimum total cost solutions to the SSPP is from any valid configuration, such as one derived paths split evenly the costs of journeys they mutually classified as an NP-Complete problem. from the above approximation methods, of the SSPP A graph is a set of vertices and a set of edges. Each use. game. edge consists of a pair of verticies. This can be determined by a simple polynomial time reduction from the Steiner Tree Problem which asks The algorithm for finding an equilibrium simply In the case of the SSPP, graphs are weighted what is the minimum total weight tree that connects Game Theory checks whether any journey can make a better path meaning in addition to a pair of verticies each edge a set of points R. These points are then treated as choice and moves this journey if it can. has a cost associated to it. start and destination points of journeys in an One method of analysis takes a game theoretic instance of the SSPP problem. approach to the problem, treating each individual Because the SSPP game is a congestion game this Graphs may be directed or undirected, meaning that journey as a selfish agent.
    [Show full text]
  • Map-Matching Using Shortest Paths
    Map-Matching Using Shortest Paths Erin Chambers Brittany Terese Fasy Department of Computer Science School of Computing and Dept. Mathematical Sciences Saint Louis University Montana State University Saint Louis, Missouri, USA Montana, USA [email protected] [email protected] Yusu Wang Carola Wenk Department of Computer Science and Engineering Department of Computer Science The Ohio State University Tulane University Columbus, Ohio, USA New Orleans, Louisianna, USA [email protected] [email protected] ABSTRACT desired path Q should correspond to the actual path in G that the We consider several variants of the map-matching problem, which person has traveled. Map-matching algorithms in the literature [1, seeks to find a path Q in graph G that has the smallest distance to 2, 6] consider all possible paths in G as potential candidates for Q, a given trajectory P (which is likely not to be exactly on the graph). and apply similarity measures such as Hausdorff or Fréchet distance In a typical application setting, P models a noisy GPS trajectory to compare input curves. from a person traveling on a road network, and the desired path Q We propose to restrict the set of potential paths in G to a natural should ideally correspond to the actual path in G that the person subset: those paths that correspond to shortest paths, or concatena- has traveled. Existing map-matching algorithms in the literature tions of shortest paths, in G. Restricting the set of paths to which consider all possible paths in G as potential candidates for Q. We a path can be matched makes sense in many settings.
    [Show full text]
  • The Shortest Path Problem Revisited: Optimal Routing for Electric Vehicles
    The Shortest Path Problem Revisited: Optimal routing for Electric Vehicles Martin Sachenbacher Technische Universit¨atM¨unchen, Department of Informatics Boltzmannstraße 3, 85748 Garching, Germany {sachenba}@in.tum.de Introduction. Electric vehicles (EV) powered by This problem is similar to the shortest path prob- batteries will likely play a significant role in the road lem (SP), which consists of finding a path P in a graph traffic of the future: they can be powered by regenera- from a source vertex s to a destination vertex t such tive energy sources such as wind and solar power, and that c(P ) = minQ2U (c(Q)), where U is the set of all they can recover some of their kinetic and/or poten- paths from s to t, and c : E ! Z is a weight func- tial energy during deceleration phases. However, the tion on the edges E of the graph. SP is polynomial; unique characteristics of EVs { limited cruising range, the best known algorithm for the case of non-negative long recharge times, and the ability to regain energy edges is Dijkstra (Dijkstra 1959) with time complexity during deceleration { have an impact on algorithms O(n2), while in the general case, Bellman-Ford (Bell- used in navigation systems and route planners, since man 1958), (L. R. Ford 1956) has O(n3). However, it now becomes more important to determine the most most commonly used SP algorithms like contraction hi- economical route rather than just the fastest or short- erarchies (Geisberger et al. 2008), highway hierarchies est one. This modification might appear insignificant at (Sanders and Schultes 2005) and transit vertex rout- first glance, as it seems enough to simply exchange time ing (Bast et al.
    [Show full text]
  • Some NP-Complete Problems
    Appendix A Some NP-Complete Problems To ask the hard question is simple. But what does it mean? What are we going to do? W.H. Auden In this appendix we present a brief list of NP-complete problems; we restrict ourselves to problems which either were mentioned before or are closely re- lated to subjects treated in the book. A much more extensive list can be found in Garey and Johnson [GarJo79]. Chinese postman (cf. Sect. 14.5) Let G =(V,A,E) be a mixed graph, where A is the set of directed edges and E the set of undirected edges of G. Moreover, let w be a nonnegative length function on A ∪ E,andc be a positive number. Does there exist a cycle of length at most c in G which contains each edge at least once and which uses the edges in A according to their given orientation? This problem was shown to be NP-complete by Papadimitriou [Pap76], even when G is a planar graph with maximal degree 3 and w(e) = 1 for all edges e. However, it is polynomial for graphs and digraphs; that is, if either A = ∅ or E = ∅. See Theorem 14.5.4 and Exercise 14.5.6. Chromatic index (cf. Sect. 9.3) Let G be a graph. Is it possible to color the edges of G with k colors, that is, does χ(G) ≤ k hold? Holyer [Hol81] proved that this problem is NP-complete for each k ≥ 3; this holds even for the special case where k =3 and G is 3-regular.
    [Show full text]
  • Tree-Breadth of Graphs with Variants and Applications
    Tree-Breadth of Graphs with Variants and Applications A dissertation submitted to Kent State University in partial fulfilment of the requirements for the degree of Doctor of Philosophy by Arne Leitert August 2017 Dissertation written by Arne Leitert Diplom, University of Rostock, 2012 Ph.D., Kent State University, 2017 Approved by Dr. Feodor F. Dragan , Chair, Doctoral Dissertation Committee Dr. Ruoming Jin , Members, Doctoral Dissertation Committee Dr. Ye Zhao , Dr. Artem Zvavitch , Dr. Lothar Reichel Accepted by Dr. Javed Khan , Chair, Department of Computer Science Dr. James L. Blank , Dean, College of Arts and Sciences Contents Contents iii List of Figures vi List of Tables vii 1 Introduction 1 1.1 Existing and Recent Results . .2 1.2 Outline . .3 2 Preliminaries 4 2.1 General Definitions . .4 2.2 Tree-Decompositions . .6 2.3 Layering Partitions . .7 2.4 Special Graph Classes . .8 3 Computing Decompositions with Small Breadth 12 3.1 Approximation Algorithms . 12 3.1.1 Layering Based Approaches . 13 3.1.2 Neighbourhood Based Approaches . 15 3.2 Strong Tree-Breadth . 20 3.2.1 NP-Completeness . 20 3.2.2 Polynomial Time Cases . 26 3.3 Computing Decompositions for Special Graph Classes . 31 iii 4 Connected r-Domination 38 4.1 Using a Layering Partition . 39 4.2 Using a Tree-Decomposition . 49 4.2.1 Preprocessing . 50 4.2.2 r-Domination . 53 4.2.3 Connected r-Domination . 55 4.3 Implications for the p-Center Problem . 63 5 Bandwidth and Line-Distortion 65 5.1 Existing Results . 66 5.2 k-Dominating Pairs .
    [Show full text]
  • Bellman Ford and Floyd Warshall
    CS161 Lecture 12 Bellman-Ford and Floyd-Warshall Scribe by: Eric Huang (2015), Anthony Kim (2016), M. Wootters (2017) Date: August 2, 2021 (Based on Virginia Williams' lecture notes) 1 The Bellman-Ford Algorithm The Bellman-Ford algorithm is a dynamic programming algorithm, and dynamic programming is a basic paradigm in algorithm design used to solve problems by relying on intermediate solutions to smaller sub- problems. The main step for solving a dynamic programming problem is to analyze the problem's optimal substructure and overlapping subproblems. The Bellman-Ford algorithm is pretty simple to state: Algorithm 1: Bellman-Ford Algorithm (G; s) d(0)[v] = 18v 2 V d(0)[s] = 0 d(k)[v] = None8v 2 V 8k > 0 for k = 1; : : : ; n − 1 do d(k)[v] d(k−1)[v] for (u; v) 2 E do d(k)[v] minfd(k)[v]; d(k−1)[u] + w(u; v)g // here we can release the memory for d(k−1), we'll never need it again. return d(n)[v]; 8 v 2 V What's going on here? The value d(k)[v] is the cost of the shortest path from s to v with at most k edges in it. Once we realize this, a proof by induction (similar to the one in Lecture Notes 11) falls right out, with the inductive hypothesis that \d(k)[v] is the cost of the shortest path from s to v with at most k edges in it." Runtime and Storage. The runtime of the Bellman-Ford algorithm is O(mn); for n iterations, we loop through all the edges.
    [Show full text]