‣ Max-Flow and Min-Cut Problems ‣ Ford–Fulkerson Algorithm ‣ Max

Total Page:16

File Type:pdf, Size:1020Kb

‣ Max-Flow and Min-Cut Problems ‣ Ford–Fulkerson Algorithm ‣ Max 7. NETWORK FLOW I ‣ max-flow and min-cut problems ‣ Ford–Fulkerson algorithm ‣ max-flow min-cut theorem ‣ capacity-scaling algorithm ‣ shortest augmenting paths ‣ Dinitz’ algorithm ‣ simple unit-capacity networks Lecture slides by Kevin Wayne Copyright © 2005 Pearson-Addison Wesley http://www.cs.princeton.edu/~wayne/kleinberg-tardos Last updated on 1/14/20 2:18 PM 7. NETWORK FLOW I ‣ max-flow and min-cut problems ‣ Ford–Fulkerson algorithm ‣ max-flow min-cut theorem ‣ capacity-scaling algorithm ‣ shortest augmenting paths ‣ Dinitz’ algorithm ‣ simple unit-capacity networks SECTION 7.1 Flow network A flow network is a tuple G = (V, E, s, t, c). ・Digraph (V, E) with source s ∈ V and sink t ∈ V. Capacity c(e) ≥ 0 for each e ∈ E. ・ assume all nodes are reachable from s Intuition. Material flowing through a transportation network; material originates at source and is sent to sink. capacity 9 4 15 15 10 10 s 5 8 10 t 15 4 6 15 10 16 3 Minimum-cut problem Def. An st-cut (cut) is a partition (A, B) of the nodes with s ∈ A and t ∈ B. Def. Its capacity is the sum of the capacities of the edges from A to B. cap(A, B)= c(e) e A 10 s 5 t 15 capacity = 10 + 5 + 15 = 30 4 Minimum-cut problem Def. An st-cut (cut) is a partition (A, B) of the nodes with s ∈ A and t ∈ B. Def. Its capacity is the sum of the capacities of the edges from A to B. cap(A, B)= c(e) e A 10 s 8 t don’t include edges from B to A 16 capacity = 10 + 8 + 16 = 34 5 Minimum-cut problem Def. An st-cut (cut) is a partition (A, B) of the nodes with s ∈ A and t ∈ B. Def. Its capacity is the sum of the capacities of the edges from A to B. cap(A, B)= c(e) e A Min-cut problem. Find a cut of minimum capacity. 10 s 8 t 10 capacity = 10 + 8 + 10 = 28 6 Network flow: quiz 1 Which is the capacity of the given st-cut? A. 11 (20 + 25 − 8 − 11 − 9 − 6) B. 34 (8 + 11 + 9 + 6) C. 45 (20 + 25) D. 79 (20 + 25 + 8 + 11 + 9 + 6) capacity s 20 8 10 6 12 8 11 9 8 6 1 16 25 t 7 Maximum-flow problem Def. An st-flow (flow) f is a function that satisfies: For each e E : 0 f(e ) c(e ) [capacity] ・ ∈ ≤ ≤ For each v ∈ V – {s, t} : f(e)= f(e) [flow conservation] ・ e v e v flow capacity inflow at v = 5 + 5 + 0 = 10 5 / 9 outflow at v = 10 + 0 = 10 5 / 15 5 / 10 0 / 4 0 / 15 10 / 10 s 5 / 5 5 / 8 v 10 / 10 t 10 / 15 0 / 4 0 / 6 0 / 15 10 / 10 10 / 16 8 Maximum-flow problem Def. An st-flow (flow) f is a function that satisfies: For each e E : 0 f(e ) c(e ) [capacity] ・ ∈ ≤ ≤ For each v ∈ V – {s, t} : f(e)= f(e) [flow conservation] ・ e v e v Def. The value of a flow f is: val(f)= f(e) f(e) − e s e s 5 / 9 5 / 15 5 / 10 0 / 4 0 / 15 10 / 10 s 5 / 5 5 / 8 10 / 10 t 10 / 15 0 / 4 0 / 6 0 / 15 10 / 10 value = 5 + 10 + 10 = 25 10 / 16 9 Maximum-flow problem Def. An st-flow (flow) f is a function that satisfies: For each e E : 0 f(e ) c(e ) [capacity] ・ ∈ ≤ ≤ For each v ∈ V – {s, t} : f(e)= f(e) [flow conservation] ・ e v e v Def. The value of a flow f is: val(f)= f(e) f(e) − e s e s Max-flow problem. Find a flow of maximum value. 8 / 9 2 / 15 8 / 10 0 / 4 0 / 15 10 / 10 s 5 / 5 8 / 8 10 / 10 t 13 / 15 0 / 4 3 / 6 0 / 15 10 / 10 value = 10 + 5 + 13 = 28 13 / 16 10 7. NETWORK FLOW I ‣ max-flow and min-cut problems ‣ Ford–Fulkerson algorithm ‣ max-flow min-cut theorem ‣ capacity-scaling algorithm ‣ shortest augmenting paths ‣ Dinitz’ algorithm ‣ simple unit-capacity networks SECTION 7.1 Toward a max-flow algorithm Greedy algorithm. ・Start with f (e) = 0 for each edge e ∈ E. ・Find an s↝t path P where each edge has f (e) < c(e). ・Augment flow along path P. ・Repeat until you get stuck. flow capacity flow network G and flow f 0 / 4 0 / 10 0 / 2 0 / 8 0 / 6 0 / 10 value of flow s 0 / 10 0 / 9 0 / 10 t 0 12 Toward a max-flow algorithm Greedy algorithm. ・Start with f (e) = 0 for each edge e ∈ E. ・Find an s↝t path P where each edge has f (e) < c(e). ・Augment flow along path P. ・Repeat until you get stuck. flow network G and flow f 0 / 4 0 / 10 0 / 2 0 / 8 0 / 6 0 / 10 s 0 / 10 0 / 9 0 / 10 t 0 13 Toward a max-flow algorithm Greedy algorithm. ・Start with f (e) = 0 for each edge e ∈ E. ・Find an s↝t path P where each edge has f (e) < c(e). ・Augment flow along path P. ・Repeat until you get stuck. flow network G and flow f 0 / 4 8 0 / 10 —0 / 8 8 0 / 2 0 / 6 —0 / 10 8 s 0 / 10 0 / 9 —0 / 10 t 0 + 8 = 8 14 Toward a max-flow algorithm Greedy algorithm. ・Start with f (e) = 0 for each edge e ∈ E. ・Find an s↝t path P where each edge has f (e) < c(e). ・Augment flow along path P. ・Repeat until you get stuck. flow network G and flow f 0 / 4 0 / 10 2 —0 / 2 8 / 8 0 / 6 10 —8 / 10 2 10 s 0 / 10 —0 / 9 —8 / 10 t 8 + 2 = 10 15 Toward a max-flow algorithm Greedy algorithm. ・Start with f (e) = 0 for each edge e ∈ E. ・Find an s↝t path P where each edge has f (e) < c(e). ・Augment flow along path P. ・Repeat until you get stuck. flow network G and flow f 0 / 4 6 —0 / 10 2 / 2 8 / 8 6 —0 / 6 10 / 10 6 8 s —0 / 10 —2 / 9 10 / 10 t 10 + 6 = 16 16 Toward a max-flow algorithm Greedy algorithm. ・Start with f (e) = 0 for each edge e ∈ E. ・Find an s↝t path P where each edge has f (e) < c(e). ・Augment flow along path P. ・Repeat until you get stuck. ending flow value = 16 flow network G and flow f 0 / 4 6 / 10 2 / 2 8 / 8 6 / 6 10 / 10 s 6 / 10 8 / 9 10 / 10 t 16 17 Toward a max-flow algorithm Greedy algorithm. ・Start with f (e) = 0 for each edge e ∈ E. ・Find an s↝t path P where each edge has f (e) < c(e). ・Augment flow along path P. ・Repeat until you get stuck. but max-flow value = 19 flow network G and flow f 3 / 4 9 / 10 0 / 2 7 / 8 6 / 6 10 / 10 s 9 / 10 9 / 9 10 / 10 t 19 18 Why the greedy algorithm fails Q. Why does the greedy algorithm fail? A. Once greedy algorithm increases flow on an edge, it never decreases it. Ex. Consider flow network G . ・The unique max flow f * has f *(v, w) = 0. ・Greedy algorithm could choose s→v→w→t as first path. flow network G v 2 t 2 1 2 s 2 w Bottom line. Need some mechanism to “undo” a bad decision. 19 Residual network Original edge. e = (u, v) E. ∈ original flow network G Flow f (e). ・ u 6 / 17 v ・Capacity c(e). flow capacity Reverse edge. ereverse = (v, u). ・“Undo” flow sent. residual network Gf residual Residual capacity. capacity u 11 v c(e) f(e) e E cf (e)= − ∈ 6 f(e) e E ∈ reverse edge edges with positive residual capacity Residual network. Gf = (V, Ef , s, t, cf ). where flow on a reverse edge negates flow on reverse ・Ef = {e : f (e) < c(e)} ∪ {e : f (e) > 0}. corresponding forward edge Key property: is a flow in iff is a flow in . ・ f ʹ Gf f + f ʹ G 20 Augmenting path Def. An augmenting path is a simple s↝t path in the residual network Gf . Def. The bottleneck capacity of an augmenting path P is the minimum residual capacity of any edge in P. Key property. Let f be a flow and let P be an augmenting path in Gf . Then, after calling f ʹ ← AUGMENT( f, c, P), the resulting f ʹ is a flow and val( f ʹ) = val( f ) + bottleneck(Gf, P). AUGMENT( f, c, P) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ δ ← bottleneck capacity of augmenting path P. FOREACH edge e ∈ P : IF (e ∈ E) f (e) ← f (e) + δ. ELSE f (ereverse) ← f (ereverse) – δ. RETURN f. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 21 Network flow: quiz 2 Which is the augmenting path of highest bottleneck capacity? A. A → F → G → H B. A → B → C → D → H C. A → F → B → G → H D. A → F → B → G → C → D → H residual capacity 5 A 9 B 8 C 6 D source 5 7 8 7 4 5 6 8 5 E 5 F 2 G 3 H 5 target 22 Ford–Fulkerson algorithm Ford–Fulkerson augmenting path algorithm.
Recommended publications
  • Lecture 20 — March 20, 2013 1 the Maximum Cut Problem 2 a Spectral
    UBC CPSC 536N: Sparse Approximations Winter 2013 Lecture 20 | March 20, 2013 Prof. Nick Harvey Scribe: Alexandre Fr´echette We study the Maximum Cut Problem with approximation in mind, and naturally we provide a spectral graph theoretic approach. 1 The Maximum Cut Problem Definition 1.1. Given a (undirected) graph G = (V; E), the maximum cut δ(U) for U ⊆ V is the cut with maximal value jδ(U)j. The Maximum Cut Problem consists of finding a maximal cut. We let MaxCut(G) = maxfjδ(U)j : U ⊆ V g be the value of the maximum cut in G, and 0 MaxCut(G) MaxCut = jEj be the normalized version (note that both normalized and unnormalized maximum cut values are induced by the same set of nodes | so we can interchange them in our search for an actual maximum cut). The Maximum Cut Problem is NP-hard. For a long time, the randomized algorithm 1 1 consisting of uniformly choosing a cut was state-of-the-art with its 2 -approximation factor The simplicity of the algorithm and our inability to find a better solution were unsettling. Linear pro- gramming unfortunately didn't seem to help. However, a (novel) technique called semi-definite programming provided a 0:878-approximation algorithm [Goemans-Williamson '94], which is optimal assuming the Unique Games Conjecture. 2 A Spectral Approximation Algorithm Today, we study a result of [Trevison '09] giving a spectral approach to the Maximum Cut Problem with a 0:531-approximation factor. We will present a slightly simplified result with 0:5292-approximation factor.
    [Show full text]
  • 7. NETWORK FLOW II ‣ Bipartite Matching ‣ Disjoint Paths
    Soviet rail network (1950s) "Free world" goal. Cut supplies (if cold war turns into real war). 7. NETWORK FLOW II ‣ bipartite matching ‣ disjoint paths ‣ extensions to max flow ‣ survey design ‣ airline scheduling ‣ image segmentation ‣ project selection Lecture slides by Kevin Wayne ‣ baseball elimination Copyright © 2005 Pearson-Addison Wesley http://www.cs.princeton.edu/~wayne/kleinberg-tardos Reference: On the history of the transportation and maximum flow problems. Alexander Schrijver in Math Programming, 91: 3, 2002. Last updated on Mar 31, 2013 3:25 PM Figure 2 2 From Harris and Ross [1955]: Schematic diagram of the railway network of the Western So- viet Union and Eastern European countries, with a maximum flow of value 163,000 tons from Russia to Eastern Europe, and a cut of capacity 163,000 tons indicated as ‘The bottleneck’. Max-flow and min-cut applications Max-flow and min-cut are widely applicable problem-solving model. ・Data mining. 7. NETWORK FLOW II ・Open-pit mining. ・Bipartite matching. ‣ bipartite matching ・Network reliability. ‣ disjoint paths ・Baseball elimination. ‣ extensions to max flow ・Image segmentation. ・Network connectivity. ‣ survey design liver and hepatic vascularization segmentation ・Distributed computing. ‣ airline scheduling ・Security of statistical data. ‣ image segmentation ・Egalitarian stable matching. ・Network intrusion detection. ‣ project selection ・Multi-camera scene reconstruction. ‣ baseball elimination ・Sensor placement for homeland security. ・Many, many, more. 3 Matching Bipartite matching Def. Given an undirected graph G = (V, E) a subset of edges M ⊆ E is Def. A graph G is bipartite if the nodes can be partitioned into two subsets a matching if each node appears in at most one edge in M.
    [Show full text]
  • Models for Networks with Consumable Resources: Applications to Smart Cities Hayato Montezuma Ushijima-Mwesigwa Clemson University, [email protected]
    Clemson University TigerPrints All Dissertations Dissertations 12-2018 Models for Networks with Consumable Resources: Applications to Smart Cities Hayato Montezuma Ushijima-Mwesigwa Clemson University, [email protected] Follow this and additional works at: https://tigerprints.clemson.edu/all_dissertations Recommended Citation Ushijima-Mwesigwa, Hayato Montezuma, "Models for Networks with Consumable Resources: Applications to Smart Cities" (2018). All Dissertations. 2284. https://tigerprints.clemson.edu/all_dissertations/2284 This Dissertation is brought to you for free and open access by the Dissertations at TigerPrints. It has been accepted for inclusion in All Dissertations by an authorized administrator of TigerPrints. For more information, please contact [email protected]. Models for Networks with Consumable Resources: Applications to Smart Cities A Dissertation Presented to the Graduate School of Clemson University In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy Computer Science by Hayato Ushijima-Mwesigwa December 2018 Accepted by: Dr. Ilya Safro, Committee Chair Dr. Mashrur Chowdhury Dr. Brian Dean Dr. Feng Luo Abstract In this dissertation, we introduce different models for understanding and controlling the spreading dynamics of a network with a consumable resource. In particular, we consider a spreading process where a resource necessary for transit is partially consumed along the way while being refilled at special nodes on the network. Examples include fuel consumption of vehicles together with refueling stations, information loss during dissemination with error correcting nodes, consumption of ammunition of military troops while moving, and migration of wild animals in a network with a limited number of water-holes. We undertake this study from two different perspectives. First, we consider a network science perspective where we are interested in identifying the influential nodes, and estimating a nodes’ relative spreading influence in the network.
    [Show full text]
  • Structural Graph Theory Meets Algorithms: Covering And
    Structural Graph Theory Meets Algorithms: Covering and Connectivity Problems in Graphs Saeed Akhoondian Amiri Fakult¨atIV { Elektrotechnik und Informatik der Technischen Universit¨atBerlin zur Erlangung des akademischen Grades Doktor der Naturwissenschaften Dr. rer. nat. genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. Rolf Niedermeier Gutachter: Prof. Dr. Stephan Kreutzer Gutachter: Prof. Dr. Marcin Pilipczuk Gutachter: Prof. Dr. Dimitrios Thilikos Tag der wissenschaftlichen Aussprache: 13. October 2017 Berlin 2017 2 This thesis is dedicated to my family, especially to my beautiful wife Atefe and my lovely son Shervin. 3 Contents Abstract iii Acknowledgementsv I. Introduction and Preliminaries1 1. Introduction2 1.0.1. General Techniques and Models......................3 1.1. Covering Problems.................................6 1.1.1. Covering Problems in Distributed Models: Case of Dominating Sets.6 1.1.2. Covering Problems in Directed Graphs: Finding Similar Patterns, the Case of Erd}os-P´osaproperty.......................9 1.2. Routing Problems in Directed Graphs...................... 11 1.2.1. Routing Problems............................. 11 1.2.2. Rerouting Problems............................ 12 1.3. Structure of the Thesis and Declaration of Authorship............. 14 2. Preliminaries and Notations 16 2.1. Basic Notations and Defnitions.......................... 16 2.1.1. Sets..................................... 16 2.1.2. Graphs................................... 16 2.2. Complexity Classes................................
    [Show full text]
  • Networkx Reference Release 1.9.1
    NetworkX Reference Release 1.9.1 Aric Hagberg, Dan Schult, Pieter Swart September 20, 2014 CONTENTS 1 Overview 1 1.1 Who uses NetworkX?..........................................1 1.2 Goals...................................................1 1.3 The Python programming language...................................1 1.4 Free software...............................................2 1.5 History..................................................2 2 Introduction 3 2.1 NetworkX Basics.............................................3 2.2 Nodes and Edges.............................................4 3 Graph types 9 3.1 Which graph class should I use?.....................................9 3.2 Basic graph types.............................................9 4 Algorithms 127 4.1 Approximation.............................................. 127 4.2 Assortativity............................................... 132 4.3 Bipartite................................................. 141 4.4 Blockmodeling.............................................. 161 4.5 Boundary................................................. 162 4.6 Centrality................................................. 163 4.7 Chordal.................................................. 184 4.8 Clique.................................................. 187 4.9 Clustering................................................ 190 4.10 Communities............................................... 193 4.11 Components............................................... 194 4.12 Connectivity..............................................
    [Show full text]
  • Network Flow - Theory and Applications with Practical Impact
    3 Network flow - Theory and applications with practical impact Masao Iri Department of Information and System Engineering Faculty of Science and Engineering, Chuo University 1-13-27 Kasuga, Bunkyo-ku, Tokyo 112, Japan. Tel: +81-3-3817-1690. Fax: +81-3-3817-1681. e-mail: [email protected] Keywords Network flow, history, applications, duality, future 1 INTRODUCTION The research in this subject has now a long history and a large variety of related fields in science, engineering and operations research, and is still developing fast, especially in its algorithmic aspects, attracting many excellent senior as well as young researchers. And the space allotted to this paper is limited. So, in this paper I will not lay so much stress on particular frontiers of research in the subject as on the wider and historical viewpoint. Network-flow theory is one of the best studied and developed fields of optimization, and has important relations to quite different fields of science and technology such as com­ binatorial mathematics, algebraic topology, electric circuit theory, nonlinear continuum theory including plasticity theory, geographic information systems, VLSI design, etc., etc., besides standard applications to transportation, scheduling, etc. in operations research. An important point of view from which we should look at network flow theory is the "duality" viewpoint, to which due attention was paid at the earlier stages of development of the theory but which tends to be gradually ignored as time goes. Since the papers and books published on network flow are too many to cite here, I do not intend to compile even an incomplete list of references but only to cite a few which I directly mention and which I think tend to become obscured during the long history in spite of their ever lasting importance.
    [Show full text]
  • Inequity in Searching for Knowledge in Organizations
    The World is Not Small for Everyone: Inequity in Searching for Knowledge in Organizations _______________ Jasjit SINGH Morten HANSEN Joel PODOLNY 2010/11/ST/EFE (Revised version of 2009/49/ST/EFE) The World is Not Small for Everyone: Inequity in Searching for Knowledge in Organizations By Jasjit Singh * Morten T. Hansen** Joel M. Podolny*** ** February 2010 Revised version of INSEAD Working Paper 2009/49/ST/EFE * Assistant Professor of Strategy at INSEAD, 1 Ayer Rajah Avenue, Singapore 138676 Ph: +65 6799 5341 E-Mail: [email protected] ** Professor of Entrepreneurship at INSEAD, Boulevard de Constance, Fontainebleau 77305 France Ph: + 33 (0) 1 60 72 40 20 E-Mail: [email protected] *** Professor at Apple University, 1 Infinite Loop, MS 301-4AU, Cupertino, CA 95014, USA Email: [email protected] A working paper in the INSEAD Working Paper Series is intended as a means whereby a faculty researcher's thoughts and findings may be communicated to interested readers. The paper should be considered preliminary in nature and may require revision. Printed at INSEAD, Fontainebleau, France. Kindly do not reproduce or circulate without permission. ABSTRACT We explore why some employees may be at a disadvantage in searching for information in large complex organizations. The “small world” argument in social network theory emphasizes that people are on an average only a few connections away from the information they seek. However, we argue that such a network structure may benefit some people more than others. Specifically, some employees may have longer search paths in locating knowledge in an organization—their world may be large.
    [Show full text]
  • Network Flow-Based Refinement for Multilevel Hypergraph Partitioning
    Network Flow-Based Refinement for Multilevel Hypergraph Partitioning Tobias Heuer Karlsruhe Institute of Technology, Germany [email protected] Peter Sanders Karlsruhe Institute of Technology, Germany [email protected] Sebastian Schlag Karlsruhe Institute of Technology, Germany [email protected] Abstract We present a refinement framework for multilevel hypergraph partitioning that uses max-flow computations on pairs of blocks to improve the solution quality of a k-way partition. The frame- work generalizes the flow-based improvement algorithm of KaFFPa from graphs to hypergraphs and is integrated into the hypergraph partitioner KaHyPar. By reducing the size of hypergraph flow networks, improving the flow model used in KaFFPa, and developing techniques to improve the running time of our algorithm, we obtain a partitioner that computes the best solutions for a wide range of benchmark hypergraphs from different application areas while still having a running time comparable to that of hMetis. 2012 ACM Subject Classification Mathematics of computing → Graph algorithms Keywords and phrases Multilevel Hypergraph Partitioning, Network Flows, Refinement Digital Object Identifier 10.4230/LIPIcs.SEA.2018.1 Related Version A full version of the paper is available at https://arxiv.org/abs/1802. 03587. 1 Introduction Given an undirected hypergraph H = (V, E), the k-way hypergraph partitioning problem is to partition the vertex set into k disjoint blocks of bounded size (at most 1 + ε times the average block size) such that an objective function involving the cut hyperedges is minimized. Hypergraph partitioning (HGP) has many important applications in practice such as scientific computing [10] or VLSI design [40]. Particularly VLSI design is a field where small improvements can lead to significant savings [53].
    [Show full text]
  • Separator Theorems and Turán-Type Results for Planar Intersection Graphs
    SEPARATOR THEOREMS AND TURAN-TYPE¶ RESULTS FOR PLANAR INTERSECTION GRAPHS JACOB FOX AND JANOS PACH Abstract. We establish several geometric extensions of the Lipton-Tarjan separator theorem for planar graphs. For instance, we show that any collection C of Jordan curves in the plane with a total of m p 2 crossings has a partition into three parts C = S [ C1 [ C2 such that jSj = O( m); maxfjC1j; jC2jg · 3 jCj; and no element of C1 has a point in common with any element of C2. These results are used to obtain various properties of intersection patterns of geometric objects in the plane. In particular, we prove that if a graph G can be obtained as the intersection graph of n convex sets in the plane and it contains no complete bipartite graph Kt;t as a subgraph, then the number of edges of G cannot exceed ctn, for a suitable constant ct. 1. Introduction Given a collection C = fγ1; : : : ; γng of compact simply connected sets in the plane, their intersection graph G = G(C) is a graph on the vertex set C, where γi and γj (i 6= j) are connected by an edge if and only if γi \ γj 6= ;. For any graph H, a graph G is called H-free if it does not have a subgraph isomorphic to H. Pach and Sharir [13] started investigating the maximum number of edges an H-free intersection graph G(C) on n vertices can have. If H is not bipartite, then the assumption that G is an intersection graph of compact convex sets in the plane does not signi¯cantly e®ect the answer.
    [Show full text]
  • Chemical Reaction Optimization for Max Flow Problem
    (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 7, No. 8, 2016 Chemical Reaction Optimization for Max Flow Problem Reham Barham Ahmad Sharieh Azzam Sliet Department of Computer Science Department of Computer Science Department of Computer Science King Abdulla II School for King Abdulla II School for King Abdulla II School for Information and Technology Information and Technology Information and Technology The University of Jordan The University of Jordan The University of Jordan Amman, Jordan Amman, Jordan Amman, Jordan Abstract—This study presents an algorithm for MaxFlow represents the flow capacity of the edge. Under these problem using "Chemical Reaction Optimization algorithm constraints, we want to maximize the total flow from the (CRO)". CRO is a recently established meta-heuristics algorithm source to the sink". In [3] they define it as " In deterministic for optimization, inspired by the nature of chemical reactions. networks, the maximum-flow problem asks to send as much The main concern is to find the best maximum flow value at flow (information or goods) from a source to a destination, which the flow can be shipped from the source node to the sink without exceeding the capacity of any of the used links. node in a flow network without violating any capacity constraints Solving maximum-flow problems is for instance important to in which the flow of each edge remains within the upper bound avoid congestion and improve network utilization in computer value of the capacity. The proposed MaxFlow-CRO algorithm is networks or data centers or to improve fault tolerance". presented, analyzed asymptotically and experimental test is conducted.
    [Show full text]
  • Graph and Network Analysis
    Graph and Network Analysis Dr. Derek Greene Clique Research Cluster, University College Dublin Web Science Doctoral Summer School 2011 Tutorial Overview • Practical Network Analysis • Basic concepts • Network types and structural properties • Identifying central nodes in a network • Communities in Networks • Clustering and graph partitioning • Finding communities in static networks • Finding communities in dynamic networks • Applications of Network Analysis Web Science Summer School 2011 2 Tutorial Resources • NetworkX: Python software for network analysis (v1.5) http://networkx.lanl.gov • Python 2.6.x / 2.7.x http://www.python.org • Gephi: Java interactive visualisation platform and toolkit. http://gephi.org • Slides, full resource list, sample networks, sample code snippets online here: http://mlg.ucd.ie/summer Web Science Summer School 2011 3 Introduction • Social network analysis - an old field, rediscovered... [Moreno,1934] Web Science Summer School 2011 4 Introduction • We now have the computational resources to perform network analysis on large-scale data... http://www.facebook.com/note.php?note_id=469716398919 Web Science Summer School 2011 5 Basic Concepts • Graph: a way of representing the relationships among a collection of objects. • Consists of a set of objects, called nodes, with certain pairs of these objects connected by links called edges. A B A B C D C D Undirected Graph Directed Graph • Two nodes are neighbours if they are connected by an edge. • Degree of a node is the number of edges ending at that node. • For a directed graph, the in-degree and out-degree of a node refer to numbers of edges incoming to or outgoing from the node.
    [Show full text]
  • Fast Approximation Algorithms for Cut-Based Problems in Undirected Graphs
    Fast Approximation Algorithms for Cut-based Problems in Undirected Graphs Aleksander Mądry¤ Massachusetts Institute of Technology [email protected] Abstract We present a general method of designing fast approximation algorithms for cut-based min- imization problems in undirected graphs. In particular, we develop a technique that given any such problem that can be approximated quickly on trees, allows approximating it almost as quickly on general graphs while only losing a poly-logarithmic factor in the approximation guarantee. To illustrate the applicability of our paradigm, we focus our attention on the undirected sparsest cut problem with general demands and the balanced separator problem. By a simple use of our framework, we obtain poly-logarithmic approximation algorithms for these problems that run in time close to linear. The main tool behind our result is an efficient procedure that decomposes general graphs into simpler ones while approximately preserving the cut-flow structure. This decomposition is inspired by the cut-based graph decomposition of R¨acke that was developed in the context of oblivious routing schemes, as well as, by the construction of the ultrasparsifiers due to Spielman and Teng that was employed to preconditioning symmetric diagonally-dominant matrices. 1 Introduction Cut-based graph problems are ubiquitous in optimization. They have been extensively studied – both from theoretical and applied perspective – in the context of flow problems, theory of Markov chains, geometric embeddings, clustering, community detection, VLSI layout design, and as a basic primitive for divide-and-conquer approaches (cf. [38]). For the sake of concreteness, in this paper we define an optimization problem P to be an (undirected) cut-based (minimization) problem if its every instance P 2 P can be cast as a task of finding – for a given input undirected graph G = (V; E; u) – a cut C¤ such that: ¤ C = argmin;6=C½V u(C)fP (C); (1) where u(C) is the capacity of the cut C in G and fP is a non-negative function that depends on P , but not on the graph G.
    [Show full text]