Greedy Approximation Algorithms for finding Dense Components in a Graph Paper by Moses Charikar Presentation by Paul Horn.

Slides:



Advertisements
Similar presentations
CSE 211 Discrete Mathematics
Advertisements

The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Network Design with Degree Constraints Guy Kortsarz Joint work with Rohit Khandekar and Zeev Nutov.
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
Approximations of points and polygonal chains
Minimum Spanning Trees Definition Two properties of MST’s Prim and Kruskal’s Algorithm –Proofs of correctness Boruvka’s algorithm Verifying an MST Randomized.
Multicut Lower Bounds via Network Coding Anna Blasiak Cornell University.
Complexity ©D Moshkovitz 1 Approximation Algorithms Is Close Enough Good Enough?
Online Social Networks and Media. Graph partitioning The general problem – Input: a graph G=(V,E) edge (u,v) denotes similarity between u and v weighted.
Five Problems CSE 421 Richard Anderson Winter 2009, Lecture 3.
CS774. Markov Random Field : Theory and Application Lecture 17 Kyomin Jung KAIST Nov
Optimization of Pearl’s Method of Conditioning and Greedy-Like Approximation Algorithm for the Vertex Feedback Set Problem Authors: Ann Becker and Dan.
Author: Jie chen and Yousef Saad IEEE transactions of knowledge and data engineering.
The number of edge-disjoint transitive triples in a tournament.
Fast FAST By Noga Alon, Daniel Lokshtanov And Saket Saurabh Presentation by Gil Einziger.
CS138A Maximum Bipartite Matching Peter Schröder.
1 Mazes In The Theory of Computer Science Dana Moshkovitz.
Randomized Algorithms and Randomized Rounding Lecture 21: April 13 G n 2 leaves
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Approximation Algorithms
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
A 2-Approximation algorithm for finding an optimum 3-Vertex-Connected Spanning Subgraph.
Maximal Cliques in UDG: Polynomial Approximation Rajarshi Gupta, Jean Walrand Dept of EECS, UC Berkeley Olivier Goldschmidt, OPNET Technologies International.
Complexity 1 Mazes And Random Walks. Complexity 2 Can You Solve This Maze?
The community-search problem and how to plan a successful cocktail party Mauro SozioAris Gionis Max Planck Institute, Germany Yahoo! Research, Barcelona.
Randomness in Computation and Communication Part 1: Randomized algorithms Lap Chi Lau CSE CUHK.
Linear Programming – Max Flow – Min Cut Orgad Keller.
Finding a maximum independent set in a sparse random graph Uriel Feige and Eran Ofek.
Dijkstra's algorithm.
Bump Hunting The objective PRIM algorithm Beam search References: Feelders, A.J. (2002). Rule induction by bump hunting. In J. Meij (Ed.), Dealing with.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
Biological Networks Lectures 6-7 : February 02, 2010 Graph Algorithms Review Global Network Properties Local Network Properties 1.
Simple and Improved Parameterized Algorithms for Multiterminal Cuts Mingyu Xiao The Chinese University of Hong Kong Hong Kong SAR, CHINA CSR 2008 Presentation,
Efficient Gathering of Correlated Data in Sensor Networks
Lecture 13 Graphs. Introduction to Graphs Examples of Graphs – Airline Route Map What is the fastest way to get from Pittsburgh to St Louis? What is the.
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University
Finding dense components in weighted graphs Paul Horn
Edge Covering problems with budget constrains By R. Gandhi and G. Kortsarz Presented by: Alantha Newman.
APPROXIMATION ALGORITHMS VERTEX COVER – MAX CUT PROBLEMS
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
COSC 2007 Data Structures II Chapter 14 Graphs III.
DATA MINING LECTURE 13 Pagerank, Absorbing Random Walks Coverage Problems.
An Efficient Algorithm for Enumerating Pseudo Cliques Dec/18/2007 ISAAC, Sendai Takeaki Uno National Institute of Informatics & The Graduate University.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
On Non-Disjoint Dominating Sets for the Lifetime of Wireless Sensor Networks Akshaye Dhawan.
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University Local Search, Greedy and Partitioning
1 The number of orientations having no fixed tournament Noga Alon Raphael Yuster.
Data Structures & Algorithms Graphs
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Topics Paths and Circuits (11.2) A B C D E F G.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
Minimum Bottleneck Spanning Trees (MBST)
Iterative Rounding in Graph Connectivity Problems Kamal Jain ex- Georgia Techie Microsoft Research Some slides borrowed from Lap Chi Lau.
Cohesive Subgraph Computation over Large Graphs
Finding Dense and Connected Subgraphs in Dual Networks
Algorithm Analysis Fall 2017 CS 4306/03
Introduction to Algorithms
Graph partitioning I: Dense Sub-Graphs
Minimum Spanning Tree 8/7/2018 4:26 AM
Algorithms and Networks
June 2017 High Density Clusters.
CS200: Algorithm Analysis
Finding Subgraphs with Maximum Total Density and Limited Overlap
CSE373: Data Structures & Algorithms Lecture 18: Dijkstra’s Algorithm
Introduction to Algorithms: Greedy Algorithms (and Graphs)
CSE 417: Algorithms and Computational Complexity
Lecture 28 Approximation of Set Cover
Locality In Distributed Graph Algorithms
Presentation transcript:

Greedy Approximation Algorithms for finding Dense Components in a Graph Paper by Moses Charikar Presentation by Paul Horn

Overview Differing definitions of density The problem Undirected Case Linear Programming Network Flows Approximation Directed Case

Defining Density Logical definition of density relates the number of edges to the number of possible edges. In other words, given G(V,E)

Problems with Density This simple definition of density does not make sense when looking for a densest subgraph, as two vertices connected by an edge have density 1, and this problem simplifies to maximum clique

Redefining Density Instead we define density as the average degree of a subgraph. This definition of density is appropriate for sparse graphs This definition is, however, inappropriate for Erdős-Rényi random graphs.

Density of a Directed Graph Introduced by Kannan and Vinay Given a digraph G(V,E), consider subgraphs S, T and let E(S,T) be the set of directed edges from S to T. Then the density of the sets S and T is The density of the graph G is

The problem Known exact algorithms for finding a maximum density subgraph of a graph are cubic or slower. For large graphs, such as the webgraph – or even any sizable chunk of the webgraph this is too slow.

Linear programming In an undirected case an exactly solution can be solved by maximizing the following LP.

Go with the flow? Flow-based algorithm to find a maximum density subgraph exists. Finding a Maximum Density Subgraph, by A.V. Goldberg Creates a digraph from the undirected graph, and uses flows to partion the graph. Requires log(n) executions of a max flow algorithm

Getting Greedy… Since the density of a subgraph S is its average degree, nodes of lowest degree are least likely to be a part of the densest subgraph. Algorithm: Remove the lowest degree vertex each time, find the maximum density subgraph. Runs in O(|V|) time. Theorem: Algorithm is a 2-approximation of f(S)

Directing our Insight Finding the maximum d(S,T) is harder as we need to find the maximum over all subgraphs S and T. For our exact case, we can generalize our LP to use |S|/|T| = c as a parameter to give us our new LP(c) Can be solved in O(n2) linear programs

LP(c) LP(c) A solution to this linear program corresponds to the densests sets S, T such that |S|/|T| = c for a given value of c. Therefore

Approximate this. Idea: Maintain two sets, S and T. At each iteration remove either the vertex of the lowest ‘degree’ in S or T based on a certain rule. We define degree of a vertex x in S to be |E({x}, T)| and degree of a vertex y in T to be |E(S,{y})|. Our rule is based on the same idea of c=|S|/|T| that we found in the linear progam, so each pass finds an S and T that maximize for that particular c.

Analyzing our Approximation When run over all c values, this algorithm gives us a 2 approximation of d(c). There are, however, roughly n2 possible values of c. Each iteration can run in O(m+n) time. Therefore running through all possible values becomes restrictive. An is possible in iterations of the algorithm.

Generalizations, and notes While there is a flow-based algorithm for finding a maximum density subgraph of an undirected graph, none is known for a digraph. Both cases can be generalized to weighted graphs, however the linear nature of the algorithm does not hold. Using Fibonacci heaps it can run in O(m+nlogn). (in the directed case, for a single value of c.)

Wrapping Up Finding dense subgraphs is important in areas such as clustering. Kannan and Vinay defintion of density motivated by the idea of hubs and authorities. With large graphs (such as any sizable chunk of the webgraph), solving the n2 LP to find the exact densest graph is unrealistic

Wrapping Up: The Sequel Therefore, the paper Provides LP solutions to both the directed and undirected cases Provides a linear approximation algorithm for undirected graph techniques Generalizes the algorithm to directed graphs, finding sets S and T given |S|/|T|=c. Observes that this is a 2-aproximation when run over all values of c and a aproximation is possible in iterations.

Future Work Flow based algorithm for directed case. The defintion of density which we used does not require S and T to be disjoint. How does this requirement affect the algorithm and it’s complexity? An n-approximation of d(G) can provide an O(n)-approximation of d’(G)