206996500
Compressing Two-Dimensional Routing Tables
We consider an algorithmic problem that arises in the context of routing tables used by Internet routers. The Internet addressing scheme is hierarchical, where a group of hosts are identified by a prefix that is common to all the hosts in that group. Each host machine has a unique 32-bit address. Thus, all traffic between a source group s and a destination group d can be routed along a particular route c by maintaining a routing entry (s, d, c) at all intermediate routers, where s and d are binary bit strings. Many different routing tables can achieve the same routing behavior. In this paper we show how to compute the most compact routing table. In particular, we consider the following optimization problem: given a routing table D with N entries of the form (s, d, c) , determine a conflict-free routing table with fewest entries that has the same routing behavior as D. If the source and destination fields have up to w bits, and there are at most K different route values, then our algorithm runs in worst-case time O( NK w2) .
28274388
Query-Sensitive Ray Shooting
Ray (segment) shooting is the problem of determining the first intersection between a ray (directed line segment) and a collection of polygonal or polyhedral obstacles. In order to process queries efficiently, the set of obstacle polyhedra is usually preprocessed into a data structure. In this paper we propose a query-sensitive data structure for ray shooting, which means that the performance of our data structure depends on the local geometry of obstacles near the query segment. We measure the complexity of the local geometry near the segment by a parameter called the simple cover complexity, denoted by scc(s) for a segment s. Our data structure consists of a subdivision that partitions the space into a collection of polyhedral cells, each of O(1) complexity. We answer a segment shooting query by wallking along the segment through the subdivision. Our first result is that, for any fixed dimension d, there exists a simple hierarchical subdivision in which no query segment s intersects more than O(scc(s)) cells. Our second result shows that in two dimensions such a subdivision of size O(n) can be constructed in time O(nlogn), where n is the total number of vertices in all the obstacles.
2484293
Fully Dynamic 2-Edge-Connectivity in Planar Graphs
We propose a data structure for maintaining 2-edge connectivity information dynamically in a planar graph. The data structure requires linear storage and preprocessing time for its construction, supports online updates (insertion and deletion of an edge) in O(log2n) time, and answers a query (whether two vertices are in the same 2-connected component) in O(log n) time. The previous best algorithm for this problem required O(log3n) time for updates.
15926016
Range counting over multidimensional data streams
We consider the problem of approximate range counting over streams of d-dimensional points. In the data stream model, the algorithm makes a single scan of the data, which is presented in an arbitrary order, and computes a compact summary (called a sketch). The sketch, whose size depends on the approximation parameter ε, can be used to count the number of points inside a query range within additive error εn, where n is the size of the stream. We present several results, deterministic and randomized, for both rectangle and halfplane ranges.
17743318
The Centroid of Points with Approximate Weights
Let S be a set of points in ℝd, each with a weight that is not known precisely, only known to fall within some range. What is the locus of the centroid of S? We prove that this locus is a convex polytope, the projection of a zonotope in ℝd+1. We derive complexity bounds and algorithms for the construction of these “centroid polytopes”.
10474710
Data Structures for Two-Edge Connectivity in Planar Graphs
Abstract We present a data structure for maintaining 2-edge connectivity information dynamically in an embedded planar graph. The data structure requires linear storage and preprocessing time for its construction, supports online updates (deletion of an edge or insertion of an edge consistent with the embedding) in O(log 2 n ) time, and answers a query (whether two vertices are in the same 2-edge-connected component) in O(log n ) time. The previous best algorithm for this problem requires O(log 3 n ) time for updates.
1819914
Economic Properties of Social Networks
We examine the marriage of recent probabilistic generative models for social networks with classical frameworks from mathematical economics. We are particularly interested in how the statistical structure of such networks influences global economic quantities such as price variation. Our findings are a mixture of formal analysis, simulation, and experiments on an international trade data set from the United Nations.
11153751
Graph distances in the streaming model: the value of space
We investigate the importance of space when solving problems based on graph distance in the streaming model. In this model, the input graph is presented as a stream of edges in an arbitrary order. The main computational restriction of the model is that we have limited space and therefore cannot store all the streamed data; we are forced to make space-efficient summaries of the data as we go along. For a graph of <i>n</i> vertices and <i>m</i> edges, we show that testing many graph properties, including connectivity (<i>ergo</i> any reasonable decision problem about distances) and bipartiteness, requires Ω(<i>n</i>) bits of space. Given this, we then investigate how the power of the model increases as we relax our space restriction. Our main result is an efficient randomized algorithm that constructs a (2<i>t</i> + 1)-spanner in one pass. With high probability, it uses <i>O(t .n</i><sup>1+1/<i>t</i></sup> log<sup>2</sup><i>n</i>) bits of space and processes each edge in the stream in <i>O(t</i><sup>2</sup>·<i>n</i><sup>1/<i>t</i></sup> log <i>n</i>) time. We find approximations to diameter and girth via the constructed spanner. For <i>t</i> = Ω(log <i>n</i>/log log <i>n</i>), the space requirement of the algorithm is <i>O(n</i> .polylog <i>n</i>), and the per-edge processing time is <i>O</i>(polylog <i>n</i>). We also show a corresponding lower bound of <i>t</i> for the approximation ratio achievable when the space restriction is <i>O(t.n</i><sup>1+1/<i>t</i></sup> log<sup>2</sup><i>n</i>).We then consider the scenario in which we are allowed multiple passes over the input stream. Here, we investigate whether allowing these extra passes will compensate for a given space restriction. We show that finding vertices at distance <i>d</i> from a particular vertex will always take <i>d</i> passes, for all <i>d</i> ∈ {1,...,<i>t</i>/2}, when the space restriction is <i>o</i>(<i>n</i><sup>1+1/<i>t</i></sup>). For girth, we show the existence of a direct trade-off between space and passes in the form of a lower bound on the product of the space requirement and number of passes. Finally, we conclude with two general techniques for speeding up the per-edge computation time of streaming algorithms while increasing the space by at most a log factor.
7086886
On graph problems in a semi-streaming model
We formalize a potentially rich new streaming model, the semi-streaming model, that we believe is necessary for the fruitful study of efficient algorithms for solving problems on massive graphs whose edge sets cannot be stored in memory. In this model, the input graph, G = (V, E), is presented as a stream of edges (in adversarial order), and the storage space of an algorithm is bounded by O(n ċ polylog n), where n = |V|. We are particularly interested in algorithms that use only one pass over the input, but, for problems where this is provably insufficient, we also look at algorithms using constant or, in some cases, logarithmically many passes. In the course of this general study, we give semi-streaming constant approximation algorithms for the unweighted and weighted matching problems, along with a further algorithmic improvement for the bipartite case. We also exhibit log n/log log n semi-streaming approximations to the diameter and the problem of computing the distance between specified vertices in a weighted graph. These are complemented by Ω(log(1-e) n) lower bounds.