Max Flow, Min Cut Two Very Rich Algorithmic Problems

Total Page:16

File Type:pdf, Size:1020Kb

Max Flow, Min Cut Two Very Rich Algorithmic Problems Maximum Flow and Minimum Cut Max flow and min cut. Max Flow, Min Cut Two very rich algorithmic problems. Cornerstone problems in combinatorial optimization. Beautiful mathematical duality. Minimum cut Nontrivial applications / reductions. Network connectivity. Maximum flow Network reliability. Bipartite matching. Max-flow min-cut theorem Security of statistical data. Data mining. Ford-Fulkerson augmenting path algorithm Distributed computing. Open-pit mining. Edmonds-Karp heuristics Egalitarian stable matching. Airline scheduling. Bipartite matching Distributed computing. Image processing. Many many more . Project selection. Baseball elimination. Princeton University • COS 226 • Algorithms and Data Structures • Spring 2004 • Kevin Wayne • http://www.Princeton.EDU/~cos226 2 Soviet Rail Network, 1955 Minimum Cut Problem Network: abstraction for material FLOWING through the edges. Directed graph. Capacities on edges. Source node s, sink node t. Min cut problem. Delete "best" set of edges to disconnect t from s. 2 9 5 15 10 4 15 10 source s 5 3 8 6 10 t sink capacity 15 4 6 15 10 Source: On the history of the transportation and maximum flow problems. 4 30 7 Alexander Schrijver in Math Programming, 91: 3, 2002. 3 4 Cuts Cuts A cut is a node partition (S, T) such that s is in S and t is in T. A cut is a node partition (S, T) such that s is in S and t is in T. capacity(S, T) = sum of weights of edges leaving S. capacity(S, T) = sum of weights of edges leaving S. 2 9 5 2 9 5 10 10 4 15 15 10 4 15 15 10 s 5 3 8 6 10 t s 5 3 8 6 10 t S S 4 6 15 4 6 15 15 10 15 10 Capacity = 30 Capacity = 62 4 30 7 4 30 7 5 6 Minimum Cut Problem Maximum Flow Problem A cut is a node partition (S, T) such that s is in S and t is in T. Network: abstraction for material FLOWING through the edges. capacity(S, T) = sum of weights of edges leaving S. Directed graph. same input as min cut problem Capacities on edges. Min cut problem. Find an s-t cut of minimum capacity. Source node s, sink node t. Max flow problem. Assign flow to edges so as to: Equalize inflow and outflow at every intermediate vertex. 2 9 5 Maximize flow sent from s to t. 10 2 9 5 4 15 15 10 15 10 4 15 10 s 5 3 8 6 10 t source s 5 3 8 6 10 t sink 4 6 15 10 S 15 capacity 15 4 6 15 10 Capacity = 28 4 30 7 4 30 7 7 8 Flows Flows A flow f is an assignment of weights to edges so that: A flow f is an assignment of weights to edges so that: Capacity: 0 ? f(e) ? u(e). Capacity: 0 ? f(e) ? u(e). Flow conservation: flow leaving v = flow entering v. Flow conservation: flow leaving v = flow entering v. except at s or t except at s or t 0 6 2 9 5 2 9 5 4 10 0 0 0 6 10 10 4 4 15 15 0 10 4 4 15 15 0 10 0 4 4 3 8 8 s 5 3 8 6 10 t s 5 3 8 6 10 t 0 0 1 10 4 0 6 15 0 4 0 6 15 0 capacity 15 10 capacity 15 10 flow 0 flow 11 0 Value = 4 11 Value = 24 4 30 7 4 30 7 9 10 Maximum Flow Problem Flows and Cuts Max flow problem: find flow that maximizes net flow into sink. Observation 1. Let f be a flow, and let (S, T) be any s-t cut. Then, the net flow sent across the cut is equal to the amount reaching t. 9 6 2 9 5 2 9 5 10 10 1 9 0 6 10 10 4 0 15 15 0 10 4 4 15 15 0 10 4 8 9 4 8 8 s 5 3 8 6 10 t s 5 3 8 6 10 t S 4 10 10 0 10 4 0 6 15 0 4 0 6 15 0 capacity 15 10 15 10 flow 14 14 Value = 28 10 Value = 24 4 30 7 4 30 7 11 12 Flows and Cuts Flows and Cuts Observation 1. Let f be a flow, and let (S, T) be any s-t cut. Then, the Observation 1. Let f be a flow, and let (S, T) be any s-t cut. Then, the net flow sent across the cut is equal to the amount reaching t. net flow sent across the cut is equal to the amount reaching t. 6 6 2 9 5 2 9 5 10 10 0 6 0 6 10 10 4 4 15 15 0 10 4 4 15 15 0 10 4 8 8 4 8 8 s 5 3 8 6 10 t s 5 3 8 6 10 t S S 10 0 10 10 0 10 4 0 6 15 0 4 0 6 15 0 15 10 15 10 10 Value = 24 10 Value = 24 4 30 7 4 30 7 13 14 Flows and Cuts Max Flow and Min Cut Observation 2. Let f be a flow, and let (S, T) be any s-t cut. Then the Observation 3. Let f be a flow, and let (S, T) be an s-t cut whose capacity value of the flow is at most the capacity of the cut. equals the value of f. Then f is a max flow and (S, T) is a min cut. Cut capacity = 28 Flow value ? 28 Cut capacity = 30 Flow value ? 30 Flow value = 28 9 2 9 5 2 9 5 10 1 9 10 4 15 15 0 10 10 0 4 15 15 10 4 8 9 s 5 3 8 6 10 t s 5 3 8 6 10 t 4 S S 15 10 4 0 6 15 0 15 10 4 6 15 15 10 15 4 30 7 4 30 7 15 16 Max-Flow Min-Cut Theorem Towards an Algorithm Max-flow min-cut theorem. (Ford-Fulkerson, 1956): In any network, Find s-t path where each arc has f(e) < u(e) and "augment" flow along it. the value of max flow equals capacity of min cut. Proof IOU: we find flow and cut such that Observation 3 applies. Flow value = 0 Min cut capacity = 28 Max flow value = 28 flow 4 capacity 5 9 0 2 9 5 0 4 0 4 10 0 4 1 9 10 4 4 0 15 15 0 10 0 0 0 s 10 2 13 3 10 t 4 8 9 s 5 3 8 6 10 t S 15 4 10 4 0 6 15 0 15 10 15 4 30 7 17 18 Towards an Algorithm Towards an Algorithm Find s-t path where each arc has f(e) < u(e) and "augment" flow along it. Find s-t path where each arc has f(e) < u(e) and "augment" flow along it. Greedy algorithm: repeat until you get stuck. Greedy algorithm: repeat until you get stuck. Fails: need to be able to "backtrack." flow Flow value = 10 flow Flow value = 10 4 5 4 5 0 capacity 0 capacity 0 4 0 0 4 0 4 4 0 4 0 4 4 4 X0 10 X0 10 X0 10 X0 10 X0 10 X0 10 s 10 2 13 3 10 t s 10 2 13 3 10 t 4 5 Flow value = 14 Bottleneck capacity of path = 10 4 4 4 4 4 4 4 4 10 6 10 s 10 2 13 3 10 t 19 20 Residual Graph Augmenting Paths Augmenting path = path in residual graph. flow = f(e) Original graph. Increase flow along forward edges. 6 Flow f(e). Decrease flow along backward edges. v 17 w Edge e = v-w capacity = u(e) 4 5 4 4 Residual edge. residual 4 4 Edge e = v-w or w-v. s 10 2 10 3 10 t "Undo" flow sent. residual capacity = u(e) – f(e) 3 Residual graph. v 11 w 4 5 All the edges that have 6 4 X0 4 0X strictly positive residual capacity. residual capacity = f(e) 4 X0 4 original 4 4 X0 4 10 4 10X 6 10 s 10 2 13 3 10 t 21 22 Augmenting Paths Ford-Fulkerson Augmenting Path Algorithm Observation 4. If augmenting path, then not yet a max flow. Ford-Fulkerson algorithm. Generic method for solving max flow. Q. If no augmenting path, is it a max flow? while (there exists an augmenting path) { 4 5 Find augmenting path P 4 Compute bottleneck capacity of P 4 residual 4 Augment flow along P 4 } s 10 2 6 3 10 t 7 Questions. Does this lead to a maximum flow? yes 4 5 Flow value = 14 4 X0 How do we find an augmenting path? s-t path in residual graph 4 0X 4 X0 4 original 4 How many augmenting paths does it take? 4 X0 4 How much effort do we spending finding a path? 10 4 10X 6 10 s 10 2 13 3 10 t 23 24 Max-Flow Min-Cut Theorem Proof of Max-Flow Min-Cut Theorem Augmenting path theorem. A flow f is a max flow if and only if there (ii) (iii).
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]
  • 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]
  • 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]
  • ‣ 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.
    [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]
  • Connectivity, Centrality, and Bottleneckedness: on Graph Theoretic Methods for Power Systems
    PNNL-29662 Connectivity, Centrality, and Bottleneckedness: On Graph Theoretic Methods for Power Systems SG Aksoy JD Taft January 30, 2020 DISCLAIMER This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor Battelle Memorial Institute, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsi- bility for the accuracy, completeness, or usefulness of any information, appa- ratus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or other- wise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof, or Battelle Memorial Institute. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof. PACIFIC NORTHWEST NATIONAL LABORATORY operated by BATTELLE for the UNITED STATES DEPARTMENT OF ENERGY under Contract DE-AC05-76RLO1830 This document was printed on recycled paper. (9/2003) PNNL-XXXXX Connectivity, Centrality, and Bottleneckedness: On Graph Theoretic Methods for Power Systems SG Aksoy JD Taft January 30, 2020 Prepared for the U.S. Department of Energy under Contract DE-AC05-76RL01830 Pacific Northwest National Laboratory Richland, Washington 99352 Executive Summary This report provides an introduction to selected graph theoretic topics with pertinence to the structural analysis of electric power grid and communication systems. We focus on methodolo- gies for defining, scoring, and identifying connectivity, spectral, and bottleneckeness properties in graphs, as well as vertex and edge importance measures such as centrality.
    [Show full text]
  • Download This PDF File
    International Journal of Communication 14(2020), 4136–4159 1932–8036/20200005 Student Participation and Public Facebook Communication: Exploring the Demand and Supply of Political Information in the Romanian #rezist Demonstrations DAN MERCEA City, University of London, UK TOMA BUREAN Babeş-Bolyai University, Romania VIOREL PROTEASA West University of Timişoara, Romania In 2017, the anticorruption #rezist protests engulfed Romania. In the context of mounting concerns about exposure to and engagement with political information on social media, we examine the use of public Facebook event pages during the #rezist protests. First, we consider the degree to which political information influenced the participation of students, a key protest demographic. Second, we explore whether political information was available on the pages associated with the protests. Third, we investigate the structure of the social network established with those pages to understand its diffusion within that public domain. We find evidence that political information was a prominent component of public, albeit localized, activist communication on Facebook, with students more likely to partake in demonstrations if they followed a page. These results lend themselves to an evidence- based deliberation about the relation that individual demand and supply of political information on social media have with protest participation. Keywords: protest, political information, expressiveness, student participation, diffusion, Facebook In this article, we examine the relationship among social media use, political information, and participation in the #rezist protests: a wave of anticorruption demonstrations in Romania that commenced in early 2017. An enduring expectation has been that protest participants are politically informed (Saunders, Grasso, Olcese, Rainsford, & Rootes, 2012). Indeed, cross-national evidence shows that protest participants are sourcing political information online (Mosca & Quaranta, 2016), which in turn raises the likelihood of their participation (Tang & Lee, 2013).
    [Show full text]
  • Network Algorithms: Maximum Flow
    Maximum flow Algorithms and Networks Hans Bodlaender Teacher • 2nd Teacher Algorithms and Networks • Hans Bodlaender • Room 503, Buys Ballot Gebouw • Schedule: – Mondays: Hans works in Eindhoven A&N: Maximum flow 2 This topic • Maximum flow problem (definition) • Variants (and why they are equivalent…) • Applications • Briefly: Ford-Fulkerson; min cut max flow theorem • Preflow push algorithm • (Lift to front algorithm) A&N: Maximum flow 3 1 The problem Problem Variants in notation, e.g.: • Directed graph G=(V,E) Write f(u,v) = -f(v,u) • Source s ∈ V, sink t ∈ V. • Capacity c(e) ∈ Z+ for each e. • Flow: function f: E → N such that – For all e: f(e) ≤ c(e) – For all v, except s and t: flow into v equals flow out of v • Flow value: flow out of s • Question: find flow from s to t with maximum value A&N: Maximum flow 5 Maximum flow Algoritmiek • Ford-Fulkerson method – Possibly (not likely) exponential time – Edmonds-Karp version: O(nm2): augment over shortest path from s to t • Max Flow Min Cut Theorem • Improved algorithms: Preflow push; scaling • Applications • Variants of the maximum flow problem A&N: Maximum flow 6 1 Variants: Multiple sources and sinks Lower bounds Variant • Multiple sources, multiple sinks • Possible s1 t1 maximum flow out of certain G t sources or into s some sinks s k t • Models logistic r questions A&N: Maximum flow 8 Lower bounds on flow • Edges with minimum and maximum capacity – For all e: l(e) ≤ f(e) ≤ c(e) l(e) c(e) A&N: Maximum flow 9 Finding flows with lower bounds • If we have an algorithm for flows (without
    [Show full text]
  • Graph Cluster Analysis Outline
    Introduction to Graph Cluster Analysis Outline • Introduction to Cluster Analysis • Types of Graph Cluster Analysis • Algorithms for Graph Clustering k-Spanning Tree Shared Nearest Neighbor Betweenness Centrality Based Highly Connected Components Maximal Clique Enumeration Kernel k-means • Application 2 Outline • Introduction to Clustering • Introduction to Graph Clustering • Algorithms for Graph Clustering k-Spanning Tree Shared Nearest Neighbor Betweenness Centrality Based Highly Connected Components Maximal Clique Enumeration Kernel k-means • Application 3 What is Cluster Analysis? The process of dividing a set of input data into possibly overlapping, subsets, where elements in each subset are considered related by some similarity measure 2 Clusters 3 Clusters 4 Applications of Cluster Analysis • Summarization – Provides a macro-level view of the data-set Clustering precipitation in Australia From Tan, Steinbach, Kumar Introduction To Data Mining, Addison-Wesley, Edition 1 5 Outline • Introduction to Clustering • Introduction to Graph Clustering • Algorithms for Graph Clustering k-Spanning Tree Shared Nearest Neighbor Betweenness Centrality Based Highly Connected Components Maximal Clique Enumeration Kernel k-means • Application 6 What is Graph Clustering? • Types – Between-graph • Clustering a set of graphs – Within-graph • Clustering the nodes/edges of a single graph 7 Between-graph Clustering Between-graph clustering methods divide a set of graphs into different clusters E.g., A set of graphs representing chemical
    [Show full text]
  • Lecture 17: Maximum Flow and Minimum Cut 17.1 Maximum Flow
    CSE 521: Design and Analysis of Algorithms I Spring 2016 Lecture 17: Maximum Flow and Minimum Cut Lecturer: Shayan Oveis Gharan May 23rd Scribe: Utku Eren Disclaimer: These notes have not been subjected to the usual scrutiny reserved for formal publications. Last lecture we studied duality of linear programs (LP), specifically how to construct the dual, the relation between the optimum of an LP and its dual, and some duality applications. In this lecture, we will talk about another application of duality to prove one of the theorems in combinatorics so called Maximum Flow-Minimum Cut Problem. The theorem roughly says that in any graph, the value of maximum flow is equal to capacity of minimum cut. 17.1 Maximum Flow Let G be a directed graph, assume that c : E ! R+ is the cost per capacity. The maximum flow problem is defined as, given two specific vertices namely source s and sink t, the objective is to find flows for each path that obeys capacities along the path and maximizes the net flow from s to t. To get a better understanding of the problem lets examine the following graph. There are three different paths on the graph in Figure 17.1 f1 = 2 2 3 f3 = 0.5 1 s t 2 1.5 f2 = 1.5 Figure 17.1: Maximum Flow on an example graph and capacities on each edge are given with values typed in red color. We can send a flow of f1 = 2 from path 1 and send another flow of f2 = 1:5 from path 2.
    [Show full text]
  • Social Network Analysis in Journalism
    SOCIAL NETWORK ANALYSIS IN JOURNALISM: VISUALIZING POWER RELATIONSHIPS _______________________________________ A Project presented to the Faculty of the Graduate School at the University of Missouri-Columbia _______________________________________________________ In Partial Fulfillment of the Requirements for the Degree Master of Arts _____________________________________________________ by CHEN CHANG David Herzog, Project Supervisor MAY 2019 ACKNOWLEDGEMENTS I want to thank Professor David Herzog, my faculty adviser and committee chair, who has provided me great advice and support since I began to study data journalism. Besides this project, Professor Herzog guided me through graduate school with trust, patience and insight. I also want to thank Professor Mark Horvit and Professor Michael Kearney, who helped me narrow down research angles, polish interview questions and make a concrete research plan. Their advice and encouragement supported me through the whole project. I also need to give thanks to all the data journalists and designers who shared their valuable experiences and helped me make breakthroughs in my research. Without their help, I would not have been able to include sufficient materials and insights in this project. I am also very grateful to every instructor I encountered at Missouri Journalism School. Their journalistic ethics, passion and integrity would always shine through my journey in the future. ii TABLE OF CONTENTS ACKNOWLEDGEMENTS ......................................................................................
    [Show full text]