scispace - formally typeset
Search or ask a question

Showing papers by "Robert E. Tarjan published in 2008"


Proceedings ArticleDOI
11 Jun 2008
TL;DR: Several new bottom-up approaches to problems in role engineering for Role-Based Access Control (RBAC) are described, including fast graph reductions that allow recovery of the solution from the solution to a problem on a smaller input graph and a new polynomial-time approximation.
Abstract: We describe several new bottom-up approaches to problems in role engineering for Role-Based Access Control (RBAC). The salient problems are all NP-complete, even to approximate, yet we find that in instances that arise in practice these problems can be solved in minutes. We first consider role minimization, the process of finding a smallest collection of roles that can be used to implement a pre-existing user-to-permission relation. We introduce fast graph reductions that allow recovery of the solution from the solution to a problem on a smaller input graph. For our test cases, these reductions either solve the problem, or reduce the problem enough that we find the optimum solution with a (worst-case) exponential method. We introduce lower bounds that are sharp for seven of nine test cases and are within 3.4% on the other two. We introduce and test a new polynomial-time approximation that on average yields 2% more roles than the optimum. We next consider the related problem of minimizing the number of connections between roles and users or permissions, and we develop effective heuristic methods for this problem as well. Finally, we propose methods for several related problems.

233 citations


Journal ArticleDOI
TL;DR: This work provides a systematic study of the subtleties in the dominators problem, the techniques needed to solve it in linear time, and the range of application of the resulting methods.
Abstract: We present linear-time algorithms for the classic problem of finding dominators in a flowgraph, and for several other problems whose solutions require evaluating a function defined on paths in a tree. Although all these problems had linear-time solutions previously, our algorithms are simpler, in some cases substantially. Our improvements come from three new ideas: a refined analysis of path compression that gives a linear bound if the compressions favor certain nodes; replacement of random-access table look-up by a radix sort; and a more careful partitioning of a tree into easily managed parts. In addition to finding dominators, our algorithms find nearest common ancestors off-line, verify and construct minimum spanning trees, do interval analysis of a flowgraph, and build the component tree of a weighted tree. Our algorithms do not require the power of a random-access machine; they run in linear time on a pointer machine. The genesis of our work was the discovery of a subtle error in the analysis of a previous allegedly linear-time algorithm for finding dominators. That algorithm was an attempt to simplify a more complicated algorithm, which itself was intended to correct errors in a yet earlier algorithm. Our work provides a systematic study of the subtleties in the dominators problem, the techniques needed to solve it in linear time, and the range of application of the resulting methods. We have tried to make our techniques as simple and as general as possible and to understand exactly how earlier approaches to the dominators problem were either incorrect or overly complicated.

90 citations


Journal ArticleDOI
TL;DR: This paper introduces a new criterion that overcomes limitations by combining internal density with external sparsity in a natural way, and explores combinatorial properties of internally dense and externally sparse clusters.
Abstract: Social networks are ubiquitous The discovery of close-knit clusters in these networks is of fundamental and practical interest Existing clustering criteria are limited in that clusters typically do not overlap, all vertices are clustered and/or external sparsity is ignored We introduce a new criterion that overcomes these limitations by combining internal density with external sparsity in a natural way This paper explores combinatorial properties of internally dense and externally sparse clusters A simple algorithm is given for provably finding such clusters assuming a sufficiently large gap between internal density and e sparsity Experiments show that the algorithm is able to identify over 90% of the clusters in real graphs, assuming conditions on external sparsity

58 citations


Journal ArticleDOI
TL;DR: Three heap implementations are described (two versions of thin heaps and one of thick heaps) that have the same amortized efficiency as Fibonacci heaps, but need less space and promise better practical performance.
Abstract: The Fibonacci heap was devised to provide an especially efficient implementation of Dijkstra's shortest path algorithm. Although asyptotically efficient, it is not as fast in practice as other heap implementations. Expanding on ideas of Hoyer [1995], we describe three heap implementations (two versions of thin heaps and one of thick heaps) that have the same amortized efficiency as Fibonacci heaps, but need less space and promise better practical performance. As part of our development, we fill in a gap in Hoyer's analysis.

33 citations


Book ChapterDOI
07 Jul 2008
TL;DR: This work presents two online algorithms for maintaining a topological order of a directed acyclic graph as arcs are added, and detecting a cycle when one is created, using a deterministic and a randomized method.
Abstract: We present two online algorithms for maintaining a topological order of a directed acyclic graph as arcs are added, and detecting a cycle when one is created Our first algorithm takes O(m1/2) amortized time per arc and our second algorithm takes O(n25/m) amortized time per arc, where nis the number of vertices and mis the total number of arcs For sparse graphs, our O(m1/2) bound improves the best previous bound by a factor of lognand is tight to within a constant factor for a natural class of algorithms that includes all the existing ones Our main insight is that the two-way search method of previous algorithms does not require an ordered search, but can be more general, allowing us to avoid the use of heaps (priority queues) Instead, the deterministic version of our algorithm uses (approximate) median-finding; the randomized version of our algorithm uses uniform random sampling For dense graphs, our O(n25/m) bound improves the best previously published bound by a factor of n1/4and a recent bound obtained independently of our work by a factor of logn Our main insight is that graph search is wasteful when the graph is dense and can be avoided by searching the topological order space instead Our algorithms extend to the maintenance of strong components, in the same asymptotic time bounds

30 citations


Journal ArticleDOI
TL;DR: An abstract vertex-addition method for planarity testing that encompasses the algorithms of Lempel, Even, and Cederbaum, Shih and Hsu, and Boyer and Myrvold, and a linear-time implementation that simplifies and unifies the Shih-Hsu and boyer-Myrvold methods.

23 citations


Proceedings Article
19 Jan 2008
TL;DR: This is an experimental study of algorithms for the shortest-path feasibility problem: Given a directed weighted graph, find a negative cycle or present a short proof that none exists.
Abstract: This is an experimental study of algorithms for the shortest path feasibility problem: Given a directed weighted graph, find a negative cycle or present a short proof that none exists. We study previously known and new algorithms. Our testbed is more extensive than those previously used, including both static and incremental problems, as well as worst-case instances. We show that, while no single algorithm dominates, a small subset (including a new algorithm) has very robust performance in practice. Our work advances state of the art in the area.

8 citations


Posted Content
TL;DR: An on-line algorithm for maintaining a topological order of a directed acyclic graph as arcs are added, and detecting a cycle when one is created, which takes O(m^{1/2}) amortized time per arc.
Abstract: We present an on-line algorithm for maintaining a topological order of a directed acyclic graph as arcs are added, and detecting a cycle when one is created Our algorithm takes O(m^{1/2}) amortized time per arc, where m is the total number of arcs For sparse graphs, this bound improves the best previous bound by a logarithmic factor and is tight to within a constant factor for a natural class of algorithms that includes all the existing ones Our main insight is that the bidirectional search method of previous algorithms does not require an ordered search, but can be more general This allows us to avoid the use of heaps (priority queues) entirely Instead, the deterministic version of our algorithm uses (approximate) median-finding The randomized version of our algorithm avoids this complication, making it very simple We extend our topological ordering algorithm to give the first detailed algorithm for maintaining the strong components of a directed graph, and a topological order of these components, as arcs are added This extension also has an amortized time bound of O(m^{1/2}) per arc

8 citations


Journal ArticleDOI
TL;DR: In this paper, a linear-time algorithm was proposed to find a feasible flow in a strongly connected network with fixed supplies and demands, each summing to a common value that is at most the minimum arc capacity.

4 citations