## An Experimental Analysis of a Compact Graph Representation (2004)

### Cached

### Download Links

- [www-2.cs.cmu.edu]
- [www.aladdin.cs.cmu.edu]
- [www.cs.cmu.edu]
- [www.cs.cmu.edu]
- [www.cs.cmu.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | In ALENEX04 |

Citations: | 16 - 6 self |

### BibTeX

@INPROCEEDINGS{Blandford04anexperimental,

author = {Daniel K. Blandford and Guy E. Blelloch and Ian A. Kash},

title = {An Experimental Analysis of a Compact Graph Representation},

booktitle = {In ALENEX04},

year = {2004}

}

### OpenURL

### Abstract

In previous work we described a method for compactly representing graphs with small separators, which makes use of small separators, and presented preliminary experimental results. In this paper we extend the experimental results in several ways, including extensions for dynamic insertion and deletion of edges, a comparison of a variety of coding schemes, and an implementation of two applications using the representation.

### Citations

2612 | Normalized cuts and image segmentation
- Shi, Malik
- 2000
(Show Context)
Citation Context ...has been used for many purposes, including VLSI layout [2], nested dissection for solving linear systems [16], partitioning graphs on to parallel processors [27], clustering [29], and computer vision =-=[26]-=-. Although finding a minimum separator for a graph in NP-hard, there are many algorithms and codes that find good approximations [23]. Here we briefly review why graphs have good separators. Many grap... |

2146 | The pagerank citation ranking: Bringing order to the Web. Technical report, Stanford Digital Library Technologies Project. url: citeseer.ist.psu.edu
- Page, Brin, et al.
- 1998
(Show Context)
Citation Context ... maximum bipartite matching algorithm. They are meant to represent a somewhat more realistic application of graphs than a simple DFS. PageRank. We use the simplified version of the PageRank algorithm =-=[22]. Th-=-e algorithm involves finding the eigenvector of a sparse matrix (1 − ɛ)A + ɛU, where A is the matrix representing the link structure among pages on the web (normalized), U is the uniform matrix (n... |

1917 |
Collective Dynamics of 'small-world' networks
- Watts, Strogatz
- 1998
(Show Context)
Citation Context ...rarchically. Most graphs based on social networks have similar properties. Such graphs include citation graphs, phone-call graphs, and graphs based on friendship-relations. In fact Watts and Strogatz =-=[36]-=- conjecture that locality is one of the main properties of graphs based on social networks. Many graphs have good separators because they are embedded in a low dimensional space. Most meshes that are ... |

387 | Tarjan A separator theorem for planar graphs
- Lipton, E
- 1979
(Show Context)
Citation Context ...ation (e.g. finite element meshes) are embedded in two or three dimensional space. Two dimensional meshes are often planar (although not always) and hence satisfy an O(n 1/2 ) vertexseparator theorem =-=[17]-=-. Well shaped three dimensional meshes are known to satisfy an O(n 2/3 ) vertex-separator theorem [20]. Graphs representing maps (roads, powerlines, pipes, the Internet) are embedded in a little more ... |

347 |
Universal Codeword Sets and Representations of the Integers
- Elias
- 1975
(Show Context)
Citation Context ...r vertex over our previous semidirect index while causing almost no slowdown. Codes and Decoding. We considered several logarithmic codes for use in our representations. In addition to the gamma code =-=[9], -=-which we used in our previous experiments, we implemented byte codes, nibble codes, and snip codes—three closely related codes of our own devising. Gamma codes store an integer d using a unary code ... |

289 |
Partitioning of unstructured problems for parallel processing
- Simon
- 1991
(Show Context)
Citation Context ...d graphs. The separator property of graphs has been used for many purposes, including VLSI layout [2], nested dissection for solving linear systems [16], partitioning graphs on to parallel processors =-=[27]-=-, clustering [29], and computer vision [26]. Although finding a minimum separator for a graph in NP-hard, there are many algorithms and codes that find good approximations [23]. Here we briefly review... |

263 | Edgebreaker: Connectivity Compression for Triangle Meshes
- Rossignac
- 1999
(Show Context)
Citation Context ...ertices (integer labels from 0 to n − 1). To represent a labeled graph one needs to additionally store the vertex labels. Other representations have been developed for various other classes of graph=-=s [15, 12, 24, 30]-=-. A problem with all these representations is that they can only be used for a limited class of graphs. In previous work we described a compact representation for graphs based on graph separators [5].... |

198 | Recent directions in netlist partitioning: A survey
- Alpert, Kahng
- 1995
(Show Context)
Citation Context ...ices. Along with sparsity, having good separators is probably the most universal property of real-world graphs. The separator property of graphs has been used for many purposes, including VLSI layout =-=[2]-=-, nested dissection for solving linear systems [16], partitioning graphs on to parallel processors [27], clustering [29], and computer vision [26]. Although finding a minimum separator for a graph in ... |

182 |
Generalized Nested Dissection
- Lipton, Rose, et al.
- 1979
(Show Context)
Citation Context ...is probably the most universal property of real-world graphs. The separator property of graphs has been used for many purposes, including VLSI layout [2], nested dissection for solving linear systems =-=[16]-=-, partitioning graphs on to parallel processors [27], clustering [29], and computer vision [26]. Although finding a minimum separator for a graph in NP-hard, there are many algorithms and codes that f... |

181 | Cache-conscious structure layout
- Chilimbi, Hill, et al.
- 1999
(Show Context)
Citation Context ...) and a factor of 7.5 averaged over all the graphs (assuming the vertices are labeled with the separator ordering). The effect of insertion order has been previously reported (e.g. [19, page 268] and =-=[7]) -=-but the magnitude of the difference was surprising to us—the largest factor we have previously seen reported is about 4. We note that the magnitude is significantly less on the Pentium III with its ... |

170 |
Space-efficient static trees and graphs
- JACOBSON
- 1989
(Show Context)
Citation Context ...1. {blandford,blelloch,iak}@cs.cmu.edu Many methods have been proposed for compressing various specific classes of graphs. There have been many results on planar graphs and graphs with constant genus =-=[32, 15, 13, 18, 14, 21, 8, 6]-=-. These representations can all store an n-vertex unlabeled planar graph in O(n) bits, and some allow for O(1)-time neighbor queries [21, 8, 6]. By unlabeled we mean that the representation is free to... |

140 | Succinct Representation of Balanced Parentheses and Static Trees
- Munro, Raman
(Show Context)
Citation Context ...1. {blandford,blelloch,iak}@cs.cmu.edu Many methods have been proposed for compressing various specific classes of graphs. There have been many results on planar graphs and graphs with constant genus =-=[32, 15, 13, 18, 14, 21, 8, 6]-=-. These representations can all store an n-vertex unlabeled planar graph in O(n) bits, and some allow for O(1)-time neighbor queries [21, 8, 6]. By unlabeled we mean that the representation is free to... |

126 | The ISPD98 circuit benchmark suite
- Alpert
- 1998
(Show Context)
Citation Context ...edly encode and decode Max Graph Vtxs Edges Degree Source auto 448695 6629222 37 3D mesh [35] feocean 143437 819186 6 3D mesh [35] m14b 214765 3358036 40 3D mesh [35] ibm17 185495 4471432 150 circuit =-=[1]-=- ibm18 210613 4443720 173 circuit [1] CA 1971281 5533214 12 street map [34] PA 1090920 3083796 9 street map [34] googleI 916428 5105039 6326 web links [10] googleO 916428 5105039 456 web links [10] lu... |

112 |
Computational Aspects of VLSI
- Ullman
- 1984
(Show Context)
Citation Context ...tely they have to be laid out in two dimensions with only a small constant number of layers of connections. It is well understood that the size of the layout depends critically on the separator sizes =-=[33]-=-. Clearly certain graphs do not have good separators. Expander graphs by their very definition cannot have small separators. 2 Encoding with Separators In previous work [5] we described an O(n)-bit en... |

77 |
On the succinct representation of graphs
- Turán
- 1984
(Show Context)
Citation Context ...1. {blandford,blelloch,iak}@cs.cmu.edu Many methods have been proposed for compressing various specific classes of graphs. There have been many results on planar graphs and graphs with constant genus =-=[32, 15, 13, 18, 14, 21, 8, 6]-=-. These representations can all store an n-vertex unlabeled planar graph in O(n) bits, and some allow for O(1)-time neighbor queries [21, 8, 6]. By unlabeled we mean that the representation is free to... |

73 | Improving the memory-system performance of sparse-matrix vector multiplication
- Toledo
- 1997
(Show Context)
Citation Context ...will see an even more pronounced effect with adjacency lists). The advantage of using separator orders to enhance spacial locality has been previously studied for use in sparse-matrix vector multiply =-=[31, 11]-=-, but not well studied for other graph algorithms. For adjacency arrays the ordering does not affect space. For our static representation times and space are given for four different prefix codes: Byt... |

71 | Separators for sphere-packings and nearest neighbor graphs
- Miller, Teng, et al.
- 1997
(Show Context)
Citation Context ...hes are often planar (although not always) and hence satisfy an O(n 1/2 ) vertexseparator theorem [17]. Well shaped three dimensional meshes are known to satisfy an O(n 2/3 ) vertex-separator theorem =-=[20]-=-. Graphs representing maps (roads, powerlines, pipes, the Internet) are embedded in a little more than two dimensions. Road maps are very close to planar, except in Pittsburgh. Power-line graphs and I... |

47 | Compact encodings of planar graphs via canonical orderings and multiple parentheses
- Chuang, Garg, et al.
- 1443
(Show Context)
Citation Context |

43 |
G.: Index compression through document reordering
- Blandford, Blelloch
- 2002
(Show Context)
Citation Context ...nd require extracting pieces of a byte. We also considered using Huffman and Arithmetic codes which are based on the particular distribution at hand. However, we had used these codes in previous work =-=[3]-=- and found that although they save a little space over gamma codes (about 1 bit per edge for arithmetic codes), they are more expensive to encode and decode. Since our primary goal was to improve time... |

41 | Short encodings of planar graphs and maps
- Keeler, Westbrook
- 1995
(Show Context)
Citation Context |

35 | I.: Compact Representations of Separable Graphs
- Blandford, Blelloch, et al.
- 2003
(Show Context)
Citation Context ... 30]. A problem with all these representations is that they can only be used for a limited class of graphs. In previous work we described a compact representation for graphs based on graph separators =-=[5]-=-. For unlabeled graphs satisfying an O(n c ), c < 1 separator theorem, the approach uses O(n) bits and supports neighbor or adjacency queries in O(1)-time per edge. A property of the representation, h... |

34 | Orderly spanning trees with applications to graph encoding and graph drawing
- Chiang, Chi, et al.
(Show Context)
Citation Context |

32 | A scalable approach to balanced, highdimensional clustering of market-baskets
- Strehl, Ghosh
- 2000
(Show Context)
Citation Context ...arator property of graphs has been used for many purposes, including VLSI layout [2], nested dissection for solving linear systems [16], partitioning graphs on to parallel processors [27], clustering =-=[29]-=-, and computer vision [26]. Although finding a minimum separator for a graph in NP-hard, there are many algorithms and codes that find good approximations [23]. Here we briefly review why graphs have ... |

31 | A comparison of locality transformations for irregular codes
- Han, Tseng
- 2000
(Show Context)
Citation Context ...will see an even more pronounced effect with adjacency lists). The advantage of using separator orders to enhance spacial locality has been previously studied for use in sparse-matrix vector multiply =-=[31, 11]-=-, but not well studied for other graph algorithms. For adjacency arrays the ordering does not affect space. For our static representation times and space are given for four different prefix codes: Byt... |

23 | A fast general methodology for information-theoretically optimal encodings of graphs
- He, Kao, et al.
- 2000
(Show Context)
Citation Context |

21 | Linear-time succinct encodings of planar graphs via canonical orderings
- He, Kao, et al.
- 1999
(Show Context)
Citation Context ...ertices (integer labels from 0 to n − 1). To represent a labeled graph one needs to additionally store the vertex labels. Other representations have been developed for various other classes of graph=-=s [15, 12, 24, 30]-=-. A problem with all these representations is that they can only be used for a limited class of graphs. In previous work we described a compact representation for graphs based on graph separators [5].... |

20 | Compact representations of simplicial meshes in two and three dimensions
- Blandford, Blelloch, et al.
- 2003
(Show Context)
Citation Context ...e source vertex rather than the previous out-edge. This can be used where the user needs control of the ordering of the out-edges. We make use of this in a compact representation of simplicial meshes =-=[4]-=-. 6.1 Static representations Table 2 presents results comparing space and DFS times for the static representations for all the graphs on the Pentium 4. Tables 5 and 6 present summary results for a wid... |

15 |
Graph Separators, with Applications
- Rosenberg, Heath
- 2001
(Show Context)
Citation Context ...peedup has nothing to do with disk access. 1.1 Real-world graphs have good separators An edge-separator is a set of edges that, when removed, partitions a graph into two almost equal sized parts (see =-=[23] for-=- various definitions of “almost equal”). Similarly a vertex separator is a set of vertices that when removed (along with its incident edges) partitions a graph into two almost equal parts. The min... |

14 | Linear-time compression of bounded-genus graphs into information-theoretically optimal number of bits
- Lu
- 2002
(Show Context)
Citation Context |

10 | Fold: compressing the connectivity of tetrahedral meshes
- Szymczaka, “Grow
(Show Context)
Citation Context ...ertices (integer labels from 0 to n − 1). To represent a labeled graph one needs to additionally store the vertex labels. Other representations have been developed for various other classes of graph=-=s [15, 12, 24, 30]-=-. A problem with all these representations is that they can only be used for a limited class of graphs. In previous work we described a compact representation for graphs based on graph separators [5].... |

8 |
Development and Maintenance of the TIGER Database: Experiences in Spatial Data Sharing at the U.S. Bureau of the Census
- Sperling
- 1995
(Show Context)
Citation Context ...Graphs. We drew test graphs for our experiments from several sources: 3D Mesh graphs from the online Graph Partitioning Archive [35], street connectivity graphs from the Census Bureau Tiger/Line data =-=[34, 28]-=-, graphs of router connectivity from the SCAN project [25], graphs of webpage connectivity from the Google [10] programming contest data, and circuit graphs from the ISPD98 Circuit Benchmark Suite [1]... |

4 |
UA Census 2000 TIGER/Line file download page
- Bureau
- 2000
(Show Context)
Citation Context ...222 37 3D mesh [35] feocean 143437 819186 6 3D mesh [35] m14b 214765 3358036 40 3D mesh [35] ibm17 185495 4471432 150 circuit [1] ibm18 210613 4443720 173 circuit [1] CA 1971281 5533214 12 street map =-=[34]-=- PA 1090920 3083796 9 street map [34] googleI 916428 5105039 6326 web links [10] googleO 916428 5105039 456 web links [10] lucent 112969 363278 423 routers [25] scan 228298 640336 1937 routers [25] Ta... |

4 |
Graph partitioning archive
- Walshaw
- 2002
(Show Context)
Citation Context ...ations that have high locality, such as repeated insertions to the same vertex, it may be inefficient to repeatedly encode and decode Max Graph Vtxs Edges Degree Source auto 448695 6629222 37 3D mesh =-=[35]-=- feocean 143437 819186 6 3D mesh [35] m14b 214765 3358036 40 3D mesh [35] ibm17 185495 4471432 150 circuit [1] ibm18 210613 4443720 173 circuit [1] CA 1971281 5533214 12 street map [34] PA 1090920 308... |

3 |
Google programming contest web data. http://www.google.com/programming-contest
- Google
- 2002
(Show Context)
Citation Context ...3D mesh [35] ibm17 185495 4471432 150 circuit [1] ibm18 210613 4443720 173 circuit [1] CA 1971281 5533214 12 street map [34] PA 1090920 3083796 9 street map [34] googleI 916428 5105039 6326 web links =-=[10]-=- googleO 916428 5105039 456 web links [10] lucent 112969 363278 423 routers [25] scan 228298 640336 1937 routers [25] Table 1: Properties of the graphs used in our experiments. the neighbors of a vert... |

3 |
Internet maps. http://www.isi.edu/ scan/mercator/maps.html
- project
- 2000
(Show Context)
Citation Context ...it [1] CA 1971281 5533214 12 street map [34] PA 1090920 3083796 9 street map [34] googleI 916428 5105039 6326 web links [10] googleO 916428 5105039 456 web links [10] lucent 112969 363278 423 routers =-=[25]-=- scan 228298 640336 1937 routers [25] Table 1: Properties of the graphs used in our experiments. the neighbors of a vertex. We implemented a variant of our structure that uses caching to improve acces... |

1 |
LEDA: A platfor for combinatorial and geometric computing
- Mehlhorn, Naber
- 1999
(Show Context)
Citation Context ...f vertex i not j. Random insertion inserts the edges in random order. We compare the performance of our data structure to that of standard linked-list and array-based data structures, and to the LEDA =-=[19]-=- package. Since small differences in the implementation can make significant differences in performance, here we describe important details of these implementations. Adjacency lists. We use a singly l... |