scispace - formally typeset
Search or ask a question

Showing papers by "David Eppstein published in 2005"


Journal ArticleDOI
TL;DR: In this paper, the authors consider worst case time bounds for several NP-complete problems, based on a constraint satisfaction (CSP) formulation of these problems: (a, b)-CSP instances consist of a set of variables, each with up to a possible values, and constraints disallowing certain b-tuples of variable values; a problem is solved by assigning values to all variables satisfying all constraints.

154 citations


Book ChapterDOI
01 Jan 2005
TL;DR: In this paper, a technique called confluent drawing is used for visualizing non-planar graphs in a planar way, which allows groups of edges to be merged together and drawn as tracks.
Abstract: We introduce a new approach for drawing diagrams. Our approach is to use a technique we call confluent drawing for visualizing non-planar graphs in a planar way. This approach allows us to draw, in a crossing-free manner, graphs—such as software interaction diagrams—that would normally have many crossings. The main idea of this approach is quite simple: we allow groups of edges to be merged together and drawn as “tracks” (similar to train tracks). Producing such confluent diagrams automatically from a graph with many crossings is quite challenging, however, so we offer two heuristic algorithms to test if a non-planar graph can be drawn efficiently in a confluent way. In addition, we identify several large classes of graphs that can be completely categorized as being either confluently drawable or confluently non-drawable.

117 citations


Proceedings ArticleDOI
06 Jun 2005
TL;DR: The skip quadtree as mentioned in this paper is a multi-dimensional data structure that combines the best features of region quadtrees and skip lists, and it has the well-defined "box"-shaped regions of Region Quadtree and the logarithmic-height search and update hierarchical structure of skip lists.
Abstract: We present a new multi-dimensional data structure, which we call the skip quadtree (for point data in R2) or the skip octree (for point data in Rd, with constant d > 2). Our data structure combines the best features of two well-known data structures, in that it has the well-defined "box"-shaped regions of region quadtrees and the logarithmic-height search and update hierarchical structure of skip lists. Indeed, the bottom level of our structure is exactly a region quadtree (or octree for higher dimensional data). We describe efficient algorithms for inserting and deleting points in a skip quadtree, as well as fast methods for performing point location, approximate range, and approximate nearest neighbor queries.

106 citations


Journal ArticleDOI
TL;DR: In this article, a two-stage combinatorial group testing algorithm was proposed to identify the at most d items out of a given set of n items that are defective using fewer tests for all practical set sizes.
Abstract: We study practically efficient methods for performing combinatorial group testing. We present efficient non-adaptive and two-stage combinatorial group testing algorithms, which identify the at most d items out of a given set of n items that are defective, using fewer tests for all practical set sizes. For example, our two-stage algorithm matches the information theoretic lower bound for the number of tests in a combinatorial group testing regimen.

63 citations


Journal ArticleDOI
TL;DR: A polynomial time algorithm for, given an undirected graph G, finding the minimum dimension d such that G may be isometrically embedded into the d-dimensional integer lattice Zd is described.
Abstract: We describe a polynomial time algorithm for, given an undirected graph G, finding the minimum dimension d such that G may be isometrically embedded into the d-dimensional integer lattice Zd.

63 citations


Proceedings ArticleDOI
17 Jul 2005
TL;DR: In this paper, the skip-webs data structure is proposed for multi-dimensional data querying, which can be extended to linear (one-dimensional) data, such as sorted sets, as well as multidimensional data such as d-dimensional octrees and digital tries of characters defined over a fixed alphabet.
Abstract: We present a framework for designing efficient distributed data structures for multi-dimensional data. Our structures, which we call skip-webs, extend and improve previous randomized distributed data structures, including skipnets and skip graphs. Our framework applies to a general class of data querying scenarios, which include linear (one-dimensional) data, such as sorted sets, as well as multi-dimensional data, such as d-dimensional octrees and digital tries of character strings defined over a fixed alphabet.We show how to perform a query over such a set of n items spread among n hosts using O(log n/log log n) messages for one-dimensional data, or O(log n) messages for fixed-dimensional data, while using only O(log n) space per host. We also show how to make such structures dynamic so as to allow for insertions and deletions in O(log n) messages for quadtrees, octrees, and digital tries, and O(log n/log log n) messages for one-dimensional data. Finally, we show how to apply a blocking strategy to skip-webs to further improve message complexity for one-dimensional data when hosts can store more data.

43 citations


Journal ArticleDOI
TL;DR: In this paper, a hinged dissection of all edge-to-edge gluings of n congruent copies of a polygon P that join corresponding edges of P is presented.
Abstract: A hinged dissection of a set of polygons S is a collection of polygonal pieces hinged together at vertices that can be rotated into any member of S. We present a hinged dissection of all edge-to-edge gluings of n congruent copies of a polygon P that join corresponding edges of P. This construction uses kn pieces, where k is the number of vertices of P. When P is a regular polygon, we show how to reduce the number of pieces to ⌈k/2⌉ (n - 1). In particular, we consider polyominoes (made up of unit squares), polyiamonds (made up of equilateral triangles), and polyhexes (made up of regular hexagons). We also give a hinged dissection of all polyabolos (made up of right isosceles triangles), which do not fall under the general result mentioned above. Finally, we show that if P can be hinged into Q, then any edge-to-edge gluing of n congruent copies of P can be hinged into any edge-to-edge gluing of n congruent copies of Q.

35 citations


Book ChapterDOI
12 Sep 2005
TL;DR: The tree-confluent graphs are generalized to a broader class of graphs called Δ-Confluent graphs, which coincide with distance-hereditary graphs, and some results about the visualization are given.
Abstract: We generalize the tree-confluent graphs to a broader class of graphs called Δ-confluent graphs. This class of graphs and distance-hereditary graphs, a well-known class of graphs, coincide. Some results about the visualization of Δ-confluent graphs are also given.

31 citations


Proceedings ArticleDOI
23 Jan 2005
TL;DR: In this article, the authors describe algorithms based on Avis and Fukuda's reverse search paradigm for enumerating maximal independent sets in a sparse graph in polynomial time and delay per output.
Abstract: We describe algorithms, based on Avis and Fukuda's reverse search paradigm, for listing all maximal independent sets in a sparse graph in polynomial time and delay per output. For bounded degree graphs, our algorithms take constant time per set generated; for minor-closed graph families, the time is O(n) per set, and for more general sparse graph families we achieve subquadratic time per set. We also describe new data structures for maintaining a dynamic vertex set S in a sparse or minor-closed graph family, and querying the number of vertices not dominated by S; for minor-closed graph families the time per update is constant, while it is sublinear for any sparse graph family. We can also maintain a dynamic vertex set in an arbitrary m-edge graph and test the independence of the maintained set in time O(√m) per update. We use the domination data structures as part of our enumeration algorithms.

25 citations


Book ChapterDOI
15 Aug 2005
TL;DR: Efficient non-adaptive and two-stage combinatorial group testing algorithms are presented, which identify the at most d items out of a given set of n items that are defective, using fewer tests for all practical set sizes.
Abstract: We study practically efficient methods for performing combinatorial group testing. We present efficient non-adaptive and two-stage combinatorial group testing algorithms, which identify the at most d items out of a given set of n items that are defective, using fewer tests for all practical set sizes. For example, our two-stage algorithm matches the information theoretic lower bound for the number of tests in a combinatorial group testing regimen.

22 citations


Proceedings ArticleDOI
06 Jun 2005
TL;DR: This paper considers the problem of positioning the root of a star such that the dilation of the resulting star is minimal, and presents a deterministic O(n log n)-time algorithm for evaluating theDilation of a given star; a randomized O( n log n) expected- time algorithm for finding an optimal center in Rd; and for the case d = 2, a randomized N2α(n) log2n expected-time algorithm.
Abstract: The dilation of a Euclidean graph is defined as the ratio of distance in the graph divided by distance in Rd. In this paper we consider the problem of positioning the root of a star such that the dilation of the resulting star is minimal. We present a deterministic O(n log n)-time algorithm for evaluating the dilation of a given star; a randomized O(n log n) expected-time algorithm for finding an optimal center in Rd; and for the case d = 2, a randomized O(n2α(n) log2n) expected-time algorithm for finding an optimal center among the input points.

Posted Content
TL;DR: A simple linear time transformation is provided from a directed or undirected graph with labeled edges to an unlabeled digraph, such that paths in the input graph in which no two consecutive edges have the same label correspond to path in the transformed graph and vice versa.
Abstract: We provide a simple linear time transformation from a directed or undirected graph with labeled edges to an unlabeled digraph, such that paths in the input graph in which no two consecutive edges have the same label correspond to paths in the transformed graph and vice versa. Using this transformation, we provide efficient algorithms for finding paths and cycles with no two consecutive equal labels. We also consider related problems where the paths and cycles are required to be simple; we find efficient algorithms for the undirected case of these problems but show the directed case to be NP-complete. We apply our path and cycle finding algorithms in a program for generating and solving Sudoku puzzles, and show experimentally that they lead to effective puzzle-solving rules that may also be of interest to human Sudoku puzzle solvers.

Posted Content
TL;DR: This work presents a new multi-dimensional data structure, which it is called the skip quadtree or the skip octree, which has the well-defined "box"-shaped regions of region quadtrees and the logarithmic-height search and update hierarchical structure of skip lists.
Abstract: We present a new multi-dimensional data structure, which we call the skip quadtree (for point data in R^2) or the skip octree (for point data in R^d, with constant d>2). Our data structure combines the best features of two well-known data structures, in that it has the well-defined "box"-shaped regions of region quadtrees and the logarithmic-height search and update hierarchical structure of skip lists. Indeed, the bottom level of our structure is exactly a region quadtree (or octree for higher dimensional data). We describe efficient algorithms for inserting and deleting points in a skip quadtree, as well as fast methods for performing point location and approximate range queries.

Posted Content
TL;DR: The Weighted Maximum-Mean Subtree Problem, or equivalently the Fractional Prize-Collecting Steiner Tree Problem on Trees, is considered, and a linear time algorithm is provided when all values are positive and certain negative values are allowed.
Abstract: We consider problems in which we are given a rooted tree as input, and must find a subtree with the same root, optimizing some objective function of the nodes in the subtree. When this function is the sum of constant node weights, the problem is trivially solved in linear time. When the objective is the sum of weights that are linear functions of a parameter, we show how to list all optima for all possible parameter values in O(n log n) time; this parametric optimization problem can be used to solve many bicriterion optimizations problems, in which each node has two values xi and yi associated with it, and the objective function is a bivariate function f(SUM(xi),SUM(yi)) of the sums of these two values. A special case, when f is the ratio of the two sums, is the Weighted Maximum-Mean Subtree Problem, or equivalently the Fractional Prize-Collecting Steiner Tree Problem on Trees; for this special case, we provide a linear time algorithm for this problem when all weights are positive, improving a previous O(n log n) solution, and prove that the problem is NP-complete when negative weights are allowed.

Journal ArticleDOI
TL;DR: In this paper, the authors combine the idea of confluent drawings with Sugiyama style drawings, in order to reduce the edge crossings in the resultant drawings, and it is easier to understand the structures of graphs from the mixed style drawings.
Abstract: We combine the idea of confluent drawings with Sugiyama style drawings, in order to reduce the edge crossings in the resultant drawings. Furthermore, it is easier to understand the structures of graphs from the mixed style drawings. The basic idea is to cover a layered graph by complete bipartite subgraphs (bicliques), then replace bicliques with tree-like structures. The biclique cover problem is reduced to a special edge coloring problem and solved by heuristic coloring algorithms. Our method can be extended to obtain multi-depth confluent layered drawings.

Posted Content
TL;DR: This work presents a framework for designing efficient distributed data structures for multi-dimensional data, which includes skip-webs, and applies to a general class of data querying scenarios, which include linear (one-dimensional) data, such as sorted sets, as well as multi- dimensional data,such as d-dimensional octrees and digital tries of character strings defined over a fixed alphabet.
Abstract: We present a framework for designing efficient distributed data structures for multi-dimensional data. Our structures, which we call skip-webs, extend and improve previous randomized distributed data structures, including skipnets and skip graphs. Our framework applies to a general class of data querying scenarios, which include linear (one-dimensional) data, such as sorted sets, as well as multi-dimensional data, such as d-dimensional octrees and digital tries of character strings defined over a fixed alphabet. We show how to perform a query over such a set of n items spread among n hosts using O(log n / log log n) messages for one-dimensional data, or O(log n) messages for fixed-dimensional data, while using only O(log n) space per host. We also show how to make such structures dynamic so as to allow for insertions and deletions in O(log n) messages for quadtrees, octrees, and digital tries, and O(log n / log log n) messages for one-dimensional data. Finally, we show how to apply a blocking strategy to skip-webs to further improve message complexity for one-dimensional data when hosts can store more data.

Journal ArticleDOI
TL;DR: This work presents an encoding mechanism that reduces switching activity of external address buses by combining a memory reference caching mechanism with Unit Distance Redundant Codes (UDRC).

Posted Content
09 Mar 2005
TL;DR: An algorithm is described that solves the Maximum-Mean Subtree problem on trees, an equivalent reformulation of the Fractional Prize-Collecting Steiner Tree Problem on Trees, and it is proved that the algorithm runs in O(n) time in the worst case, improving a previous O( n log n) algorithm.
Abstract: In this paper, we define the Maximum-Mean Subtree problem on trees, an equivalent reformulation of the Fractional Prize-Collecting Steiner Tree Problem on Trees. We describe an algorithm that solves the Maximum-Mean Subtree problem, and prove that our algorithm runs in O(n) time in the worst case, improving a previous O(n log n) algorithm. 1 The Maximum-Mean Subtree Problem Given a rooted tree of nodes such that each node has a real valued profit, we are to produce a pruning of the tree that maximizes the average profit of the remaining nodes. Note that pruning a node also prunes all of its descendants. A generalization of this problem gives each node a positive real valued cost, with the original problem assigning each node a cost of 1. The overall average of a tree is the sum of the profits divided by the sum of the costs, including only unpruned nodes. In this paper we present an algorithm that solves the generalization with both profits and costs per node in time O(n). We strictly restrict costs to be positive due to the fact that negative costs result in some instances of the problem being computationally equivalent to Subset-Sum on real numbers. While profits may be negative without affecting the correctness of the result produced by our algorithm (as long as the root has positive profit), it is not clear as to what a negative profit would represent conceptually.

Posted Content
TL;DR: In this article, the authors show how to construct a cubic partial cube from any simplicial arrangement of lines or pseudolines in the projective plane, and give infinite families of cubic partial cubes as well as many sporadic examples.
Abstract: We show how to construct a cubic partial cube from any simplicial arrangement of lines or pseudolines in the projective plane. As a consequence, we find nine new infinite families of cubic partial cubes as well as many sporadic examples.

Posted Content
TL;DR: In this paper, the authors generalize the tree-confluent graphs to a broader class of graphs, called Delta-Confluent graphs. But they do not consider the relation between tree-and distance-hereditary graphs.
Abstract: We generalize the tree-confluent graphs to a broader class of graphs called Delta-confluent graphs. This class of graphs and distance-hereditary graphs, a well-known class of graphs, coincide. Some results about the visualization of Delta-confluent graphs are also given.