Lecture 17 1 Overview 2 Maximum Cut Problem

Total Page:16

File Type:pdf, Size:1020Kb

Lecture 17 1 Overview 2 Maximum Cut Problem COMPSCI 532: Design and Analysis of Algorithms October 30, 2015 Lecture 17 Lecturer: Debmalya Panigrahi Scribe: Allen Xiao 1 Overview In this lecture, we introduce semidefinite programming through the semidefinite programming algorithm for maxcut. Note: missing diagrams. 2 Maximum Cut Problem Definition 1. For a graph G = (V; E) with edge weights ce, the maximum cut problem is to find a cut S ⊆ V such that the weight of edges across (S; S) is maximized. Before we get into semidefinite programming, we will quickly examine several simple approxi- mations for maximum cut. 2.1 Greedy algorithm We can think of the cut as a partition of verticesl C = (S; V n S) whiere S ⊆ V . We can switch between different cuts by moving vertices across the cut, in to or out of S. Moving v across the cut swaps its cut edges with its non-cut edges. This increase the value of the cut when the total weight of its non-cut edges exceeds the weight of the cut edges. If v 2 S (and similarly if v 2 V n S): X X w(e) > w(e) e2δ(v)\(S×S) e2δ(v)\(S×(V nS)) These greedy moves give us a simple optimization procedure: 1. Begin with an arbitrary cut (e.g. S = ;). 2. While there are greedy moves improving the cost, perform them. This procedure terminates since the cut value increases monotonically. But is not guaranteed to terminate optimally. There exist examples with \local optima", with suboptimal value but where no single-vertex swap improves the value. To analyze the approximation ratio, observe that at optimality: X X w(e) ≤ w(e) 8v 2 S e2δ(v)\(S×S) e2δ(v)\(S×(V nS)) and similarly for v 2 V n S. We can find an equivalent form by adding the weight of cut edges to both sides: X X X X w(e) + w(e) ≤ w(e) + w(e) e2δ(v)\(S×S) e2δ(v)\(S×(V nS)) e2δ(v)\(S×(V nS)) e2δ(v)\(S×(V nS)) 17-1 Simplifying: X X w(e) ≤ 2 w(e) e2δ(v) e2δ(v)\C If we sum over all vertices: X X 1 X X w(e) ≥ w(e) 2 v e2δ(v)\C v e2δ(v) The left hand side is exactly twice the value of the cut, while the right hand side (sum of degree cuts) counts every edge twice. ! 1 X 2w(C) ≥ 2 · w(e) 2 e Since OPT uses a subset of edges: X 2w(C) ≥ w(e) ≥ OPT e This greedy algorithm therefore has an approximation factor of 2. Many algorithms for maximum cut also achieve a 2-approximation, including the next two we discuss. 2.2 Naive randomized algorithm Instead of making informed choices about the graph, how good do we do when we simply assign vertices to S or V n S independently and uniformly at random? That is, for each v 2 V : 1 Pr (v 2 S) = Pr (v 2 V n S) = 2 Then, for any edge (v; w), the probability it is a cut edge is the probability that the vertices were assigned to opposite partitions. 1 Pr ((v; w) 2 C) = 2 The expected weight of the cut is: X X w(e) = w(e) Pr(e 2 C) e2C e2E 1 X = w(e) 2 e2E 1 ≥ OPT 2 Still a 2-approximation, on expectation. 17-2 2.3 Alternate greedy algorithm The final 2-approximation we examine is an attempt to improve on the greedy algorithm. In this version, we iteratively insert vertices into the partition which maximizes the weight of neighbors so far. Let the order in which vertices are added be v1; : : : vn. Let δ(vi; −) = f(v; w) j w 2 fv1; v2; : : : ; vi−1gg, the edges between vi and vertices added before vi. A property similar to the one we derived in the first greedy algorithm holds here, but over δ(v; −): X 1 X w(e) ≥ w(e) 2 e2δ(v;−)\C e2δ(v;−) Summing over v again gives us the 2-approximation: X X 1 X X w(e) ≥ w(e) 2 v e2δ(v)\C v e2δ(v) The difference between these sums (with δ(v; −)) and the previous ones with δ(v) is that edges are not double counted. 1 X 1 w(C) ≥ w(e) ≥ OPT 2 2 e2E 2.4 Maximum cut linear program The following linear program for maximum cut still does not do better than a 2-approximation. Obviously, we wish to minimize over the weight of cut edges. How do we ensure the edge set we pick forms a valid cut? First, observe that the edges of a valid cut form a bipartite graph. One of the core properties of bipartite graphs is that they have no odd cycles. The constraint we use is as follows: for every cycle Γ, the number of cut edges in the cycle should be even. We will express this the following way: For all F ⊂ Γ (proper subset) with odd size: 1. F is missing a cut edge of Γ, or 2. At least one edge of F is not a cut edge. We can express this the following way: X max wexe e2E s.t. 8Γ 2 G; F ⊂ Γ; jF j ≡ 1 (mod 2) X X xe − xe ≤ jF j − 1 e2F e2(ΓnF ) xe ≥ 0 8e 2 E 17-3 2.5 Relaxation into a quadratic program The algorithm we will introduce for beating 2 will use something called semidefinite programming. This is a very slight relaxation of linear programs, and a class of non-linear optimization problems for which we have efficient algorithms (interior point methods, for example). We return to the maximum cut problem. Suppose we relax the linearity constraint, and repre- sent the cut as a partitioning of vertices instead: ( 1 v 2 S yv = −1 v 2 V n S If we let ourselves take products between yv, the program for maximum cut is quite simple: X 1 − yuyv max w uv 2 (u;v)2E s.t. yv 2 {±1g 8v 2 V Here, the function (1 − yuyv)=2 is a sort of parity function (XOR) between yu and yv. ( 1 − y y 1 y = −y u v = u v 2 0 yu = yv Thus, the objective includes all (u; v) which are in the cut, as desired. What we have here, however, is a quadratic program. In general, quadratic programs are NP-hard to solve, but the form of the problem here falls in the subclass of semidefinite programs, which we can solve efficiently. 3 Semidefinite Programming We will construct a generic semidefinite programs by starting from a linear program. Recall the matrix form of a linear program: n X min cixi i=1 n X s.t. aikxi ≥ bk 8k i=1 xi ≥ 0 8i n2 n×n Suppose that x is a R vector representing a R square matrix X. We can rewrite the program to index according to this matrix (by i; j instead of just i). X min cijxij i;j X s.t. aijkxij ≥ bk 8k i;j xij ≥ 0 8i; j The nonnegativity constraint (xij ≥ 0) says that X may only have nonnegative entries. We will relax this constraint, instead saying that X must be positive semidefinite. 17-4 Definition 2. A square, symmetric matrix X is positive semi-definite (PSD) if all the eigen- values of X are nonnegative. Equivalently, X can be decomposed such that each entry is the dot n×n product of two vectors in (~v1; : : : ;~vn) 2 R . xij = ~vi · ~vj 8i; j n If X is positive semidefinite, then by the decompsition definition there is some set of R vectors (~v1; : : : ;~vn) where we can write the program as: X min cij(~vi · ~vj) i;j X s.t. aijk(~vi · ~vj) ≥ bk 8k i;j Definition 3. A semidefinite program (SDP) is an optimization problem of the form: X min cij(~vi · ~vj) ~v ;:::;~v 2 n 1 n R i;j X s.t. aijk(~vi · ~vj) ≥ bk 8k i;j 3.1 Maximum cut with SDP The following maximum cut algorithm and analysis is due to Goemans and Williamson [GW95]. Recall the quadratic maximum cut program: X 1 − yuyv max w uv 2 (u;v)2E s.t. yv 2 {±1g 8v 2 V To mold this into an SDP, we will need to make two changes: 1. Convert the yi into n-dimensional vectors ~yi. We do this in the most naive way possible: 80−11 0+11 9 > > <>B 0 C B 0 C => ~y = B C ; B C i B . C B . C >@ . A @ . A > :> 0 0 ;> n 2. Make a fractional relaxation, instead of yi 2 {±1g, have 0 ≤ yi ≤ 1. In R , we instead require ~yi to be a unit vector. ~yi · ~yi = 1 After these modifications, the ~yi are points on the n-dimensional unit sphere. The final SDP is: X 1 − ~yi · ~yj max w ij 2 (i;j)2E s.t. ~yi · ~yi = 1 8i 2 V n ~yi 2 R 8i 2 V 17-5 As with linear programs, we must round fractional solutions of SDP back into integral ones. Here, n we must partition V and send each vertex to S or V nS. Each ~yi is a point on the unit sphere in R , we wil round by picking a random half-space ~r which partitions the sphere into two hemispheres. Let ~r be a uniform random point on the sphere: ( i 2 S ~yi · ~r ≥ 0 i 2 V n S ~yi · ~r< 0 An edge (i; j) ends up in the cut if its endpoints are on opposite sides of the hyperplane induced by ~r.
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]
  • 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]
  • Approximation Algorithms for Max Cut Outline Preliminaries Approximation Algorithm for Max Cut with Unit Weights Weighted Max Cut Inapproximability Results Definition
    Outline Preliminaries Approximation algorithm for Max Cut with unit weights Weighted Max Cut Inapproximability Results Preliminaries Approximation algorithm for Max Cut with unit weights Weighted Max Cut Inapproximability Results Angeliki Chalki Network Algorithms and Complexity, 2015 Approximation Algorithms for Max Cut Outline Preliminaries Approximation algorithm for Max Cut with unit weights Weighted Max Cut Inapproximability Results Definition I Max Cut Definition: Given an undirected graph G=(V, E), find a partition of V into two subsets A, B so as to maximize the number of edges having one endpoint in A and the other in B. I Weighted Max Cut Definition: Given an undirected graph G=(V, E) and a positive weght we for each edge, find a partition of V into two subsets A, B so as to maximize the combined weight of the edges having one endpoint in A and the other in B. Angeliki Chalki Network Algorithms and Complexity, 2015 Approximation Algorithms for Max Cut Outline Preliminaries Approximation algorithm for Max Cut with unit weights Weighted Max Cut Inapproximability Results NP- Hardness Max- Cut: I is NP- Hard (reduction from 3-NAESAT). I is the same as finding maximum bipartite subgraph of G. I can be thought of a variant of the 2-coloring problem in which we try to maximize the number of edges consisting of two different colors. I is APX-hard [Papadimitriou, Yannakakis, 1991]. There is no PTAS for Max Cut unless P=NP. Angeliki Chalki Network Algorithms and Complexity, 2015 Approximation Algorithms for Max Cut Outline Preliminaries Approximation algorithm for Max Cut with unit weights Weighted Max Cut Inapproximability Results Max Cut with unit weights The algorithm iteratively updates the cut.
    [Show full text]