CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.

Slides:



Advertisements
Similar presentations
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.
Advertisements

Register Allocation CS 320 David Walker (with thanks to Andrew Myers for most of the content of these slides)
A Better Algorithm for Finding Planar Subgraph Gruia Călinescu Cristina G. Fernandes Ulrich Finkler Howard Karloff.
Great Theoretical Ideas in Computer Science for Some.
Minimum Spanning Trees Definition Two properties of MST’s Prim and Kruskal’s Algorithm –Proofs of correctness Boruvka’s algorithm Verifying an MST Randomized.
Label Placement and graph drawing Imo Lieberwerth.
Force directed graph drawing Thomas van Dijk. The problem Given a set of vertices and edges, compute positions for the vertices. If the edges don’t have.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
Approximating Maximum Edge Coloring in Multigraphs
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Clustering short time series gene expression data Jason Ernst, Gerard J. Nau and Ziv Bar-Joseph BIOINFORMATICS, vol
Clustering and greedy algorithms — Part 2 Prof. Noah Snavely CS1114
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
A New Force-Directed Graph Drawing Method Based on Edge- Edge Repulsion Chun-Cheng Lin and Hsu-Chen Yen Department of Electrical Engineering, National.
1 Greedy Algorithms. 2 2 A short list of categories Algorithm types we will consider include: Simple recursive algorithms Backtracking algorithms Divide.
Recent Development on Elimination Ordering Group 1.
Sublinear Algorithms for Approximating Graph Parameters Dana Ron Tel-Aviv University.
Force Directed Algorithm Adel Alshayji 4/28/2005.
Force Directed Algorithm Adel Alshayji 4/28/2005.
Maximal Cliques in UDG: Polynomial Approximation Rajarshi Gupta, Jean Walrand Dept of EECS, UC Berkeley Olivier Goldschmidt, OPNET Technologies International.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Applying Edge Partitioning to SPFD's 1 Applying Edge Partitioning to SPFD’s 219B Project Presentation Trevor Meyerowitz Mentor: Subarna Sinha Professor:
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Minimum Spanning Trees What is a MST (Minimum Spanning Tree) and how to find it with Prim’s algorithm and Kruskal’s algorithm.
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation Robert Bohlin, Lydia E. Kavraki (2001) Presented by: Robbie Paolini.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Optimization Based Modeling of Social Network Yong-Yeol Ahn, Hawoong Jeong.
Approximating the MST Weight in Sublinear Time Bernard Chazelle (Princeton) Ronitt Rubinfeld (NEC) Luca Trevisan (U.C. Berkeley)
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
The Traveling Salesperson Problem Algorithms and Networks.
Efficient Gathering of Correlated Data in Sensor Networks
Graph Partitioning Problem Kernighan and Lin Algorithm
Network Aware Resource Allocation in Distributed Clouds.
Finding dense components in weighted graphs Paul Horn
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
June 21, 2007 Minimum Interference Channel Assignment in Multi-Radio Wireless Mesh Networks Anand Prabhu Subramanian, Himanshu Gupta.
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
7.1 and 7.2: Spanning Trees. A network is a graph that is connected –The network must be a sub-graph of the original graph (its edges must come from the.
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
ANALYSIS AND IMPLEMENTATION OF GRAPH COLORING ALGORITHMS FOR REGISTER ALLOCATION By, Sumeeth K. C Vasanth K.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
Minimum Cost Spanning Trees CSC263 Tutorial 10. Minimum cost spanning tree (MCST) What is a minimum cost spanning tree? – Tree No cycles; equivalently,
Paradigms for Graph Drawing Graph Drawing: Algorithms for the Visualization of Graphs - Chapter 2 Presented by Liana Diesendruck.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
© Yamacraw, 2002 Symmetric Minimum Power Connectivity in Radio Networks A. Zelikovsky (GSU) Joint work with Joint work with.
© Yamacraw, Fall 2002 Power Efficient Range Assignment in Ad-hoc Wireless Networks E. Althous (MPI) G. Calinescu (IL-IT) I.I. Mandoiu (UCSD) S. Prasad.
SPANNING TREES Lecture 21 CS2110 – Fall Nate Foster is out of town. NO 3-4pm office hours today!
Exponential random graphs and dynamic graph algorithms David Eppstein Comp. Sci. Dept., UC Irvine.
Network Partition –Finding modules of the network. Graph Clustering –Partition graphs according to the connectivity. –Nodes within a cluster is highly.
Visualization of Biological Information with Circular Drawings.
Metaheuristics for the New Millennium Bruce L. Golden RH Smith School of Business University of Maryland by Presented at the University of Iowa, March.
1 CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Graph Theory and Algorithms 1 DM Notes1CMrsLenox.
Unconstrained Submodular Maximization Moran Feldman The Open University of Israel Based On Maximizing Non-monotone Submodular Functions. Uriel Feige, Vahab.
Confidential & Proprietary – All Rights Reserved Internal Distribution, October Quality of Service in Multimedia Distribution G. Calinescu (Illinois.
Approximating the MST Weight in Sublinear Time
Haim Kaplan and Uri Zwick
Great Theoretical Ideas in Computer Science
Minimum Spanning Tree.
Quality of Service in Multimedia Distribution
CSE 589 Applied Algorithms Spring 1999
Great Ideas: Algorithm Implementation
Power Efficient Range Assignment in Ad-hoc Wireless Networks
Introduction Wireless Ad-Hoc Network
Minimum Spanning Tree Algorithms
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin

Overview What is Maximum Planar Subgraph? Our approximation approaches Implementation Results Comparison with existing approximations Conclusions

Maximum Planar Subgraph Input: –a graph G = (V, E) Output: –a planar subgraph of G of maximum size (#edges) Why is it useful? –circuit layout –graph drawing

Metrics Performance Ratio Max #edges in planar graph is 3|V| - 6 Elapsed Time approx #edges optimal #edges =

Implementation Microsoft Visual C C++ Package LEDA –Library of Efficient Data types and Algorithms –Max-Planck-Institut für Informatik in Saarbrücken –Used Graph data structure and planarity test (linear time) Pentium II 300MHz, NT 4.0 Drinks

Test Set Randomly generate graphs –G(n,p) n is #nodes p is probability an edge exists between two nodes –Originally generated ~4500 graphs Too slow, not enough computing power Extra data didn’t seem useful –Culled down to 273 graphs Nodes range from 5 to 195 Probabilities 1%, 4%, 7%, 10%, 13%, 16%, 19%, 22%

Our Approximation Approaches Approximation Approaches –Randomly remove edges until planar –Randomly add edges until nonplanar –Spanning Tree –Spanning Tree + randomly add edges –Force-directed placement –Simulated annealing

Random Algorithm for random remove while (g is not planar) { remove a random edge from g } Algorithm for random add let g’ = (V,  ) //// Stop on first failure. while (g’ is planar) { randomly choose an edge from g add that edge to g' }

Results of Random O(EV+E 2 ) –Check for planarity O(V + E) –Remove up to E edges Results –Ran each trial 5 times Used max of resulting #edges Used sum of time –Performance Ratios both  1/3

Spanning Tree –Output any spanning tree of graph G –Performance ratio at least 1/3 of optimal For |V| vertices, |V-1| edges for spanning tree Spanning Tree + Random Add –Start with Spanning Tree –Call Random Add method |V-1| 3|V|-6  1313

Results of Spanning Tree Spanning Tree –Running time is O(V + E) –Empirical running time is around 10ms –Performance Ratio ~1/3 Spanning Tree + Random Add –Performance Ratio slightly better (36%)

Force-Directed Placement Find low-energy configuration –Should be well distributed High degree nodes should be internal Low degree nodes should be out of the way Assign initial (random) placement Connect every pair of nodes by spring –An edge implies short spring –No edge implies long spring –Energy is set to Euclidean distance

Force-Directed Placement Find edge crossings –Remove edge with most crossings But relaxation is expensive –Too many iterations: so we cut the top 5% or 2.5% of edges each relaxation There are some bad minima: –Requires random shakeup Good but slow –empirically ~50% of optimal –~30 hours for ~270 graphs

Alternative Force-Directed

Simulated Annealing Assign initial (random) placement Cost function: number of edge crossings in the graph Neighbor: move the position of a single node to a random location Probability of making a move –P(C) = e (-  C/T) [C is the number of crossings] –Cool down the system by decreasing T

Simulated Annealing Next, make the graph planar –Remove edge with the greatest number of crossings –Continue trying to make improvements by examining neighbor states –Repeat until planar Veerrrryyyyy Sloooooowwwwww –~2 hours for a “small” graph (~300 edges) –Too slow, not completed

Results Randomly adding/deleting edges  1/3 Spanning tree: Effectiveness = 1/3 Force Directed Placement ~ 1/2 –Slow Simulated Annealing  1/2 –Veerrrryyyyy Sloooooowwwwww

Comparison with other Projects Max Triangular Cactus –Performance Ratio 4/9 =44.4% Other algorithms –Performance Ratio 1/3 worst case Other heuristics –In practice, around 50%

Conclusions Randomly removing or adding edges does not work well Spanning tree has best bang-for-buck Force-directed placement has good results, but slow Preliminary simulated annealing results look promising, but very slow

Questions?

Existing Approaches Spanning Tree –Output any spanning tree of graph G –Performance ratio 1/3 of optimal size Maximal Planar Subgraph –Output any planar subgraph that cannot have any edges added to it –Performance ratio 1/3 of optimal size Branch and Cut –Exponential amount of time!

Existing Approaches (cont.) Lots of other techniques –Worst case performance = 1/3 –Enhancing a spanning tree with cycles –Finding maximum cycles –PQ-Trees Some other more complex algorithms –Performance ratio  1/3 of optimal size –Simpler approximations better than complex?!

Newer Approaches Triangles Everywhere! [Calinescu et al 1998] –Find as many triangles as possible until we have a spanning subgraph (greedy) –Connect the components together –Performance ratio 7/18 of optimal size

Newer Approaches (cont.) Maximize the Cactus! [Calinescu et al 1998] –In cactus, cycles are triangles and all edges are in some cycle –Find Max Triangular Cactus (linear algorithm) –Connect triangles together –Performance ratio 4/9 of optimal size