scispace - formally typeset
Search or ask a question

Showing papers in "Journal of the ACM in 1986"


Journal ArticleDOI
TL;DR: In this paper, a constructive theory of randomness for functions, based on computational complexity, is developed, and a pseudorandom function generator is presented, which is a deterministic polynomial-time algorithm that transforms pairs (g, r), where g is any one-way function and r is a random k-bit string, to computable functions.
Abstract: A constructive theory of randomness for functions, based on computational complexity, is developed, and a pseudorandom function generator is presented. This generator is a deterministic polynomial-time algorithm that transforms pairs (g, r), where g is any one-way function and r is a random k-bit string, to polynomial-time computable functions ƒr: {1, … , 2k} → {1, … , 2k}. These ƒr's cannot be distinguished from random functions by any probabilistic polynomial-time algorithm that asks and receives the value of a function at arguments of its choice. The result has applications in cryptography, random constructions, and complexity theory.

2,043 citations


Journal ArticleDOI
TL;DR: A language, CTL*, in which a universal or existential path quantifier can prefix an arbitrary linear time assertion, is defined and the expressive power of a number of sublanguages is compared.
Abstract: The differences between and appropriateness of branching versus linear time temporal logic for reasoning about concurrent programs are studied. These issues have been previously considered by Lamport. To facilitate a careful examination of these issues, a language, CTL*, in which a universal or existential path quantifier can prefix an arbitrary linear time assertion, is defined. The expressive power of a number of sublanguages is then compared. CTL* is also related to the logics MPL of Abrahamson and PL of Harel, Kozen, and Parikh. The paper concludes with a comparison of the utility of branching and linear time temporal logics.

1,009 citations


Journal ArticleDOI
TL;DR: In this paper, a variant of the Byzantine Generals problem is considered, in which processes start with arbitrary real values rather than Boolean values or values from some bounded range, and in which approximate, rather than exact, agreement is the desired goal.
Abstract: This paper considers a variant of the Byzantine Generals problem, in which processes start with arbitrary real values rather than Boolean values or values from some bounded range, and in which approximate, rather than exact, agreement is the desired goal. Algorithms are presented to reach approximate agreement in asynchronous, as well as synchronous systems. The asynchronous agreement algorithm is an interesting contrast to a result of Fischer et al, who show that exact agreement with guaranteed termination is not attainable in an asynchronous system with as few as one faulty process. The algorithms work by successive approximation, with a provable convergence rate that depends on the ratio between the number of faulty processes and the total number of processes. Lower bounds on the convergence rate for algorithms of this form are proved, and the algorithms presented are shown to be optimal.

531 citations


Journal ArticleDOI
TL;DR: A powerful, and yet simple, technique for devising approximation algorithms for a wide variety of NP-complete problems in routing, location, and communication network design is investigated.
Abstract: In this paper a powerful, and yet simple, technique for devising approximation algorithms for a wide variety of NP-complete problems in routing, location, and communication network design is investigated. Each of the algorithms presented here delivers an approximate solution guaranteed to be within a constant factor of the optimal solution. In addition, for several of these problems we can show that unless P = NP, there does not exist a polynomial-time algorithm that has a better performance guarantee.

371 citations


Journal ArticleDOI
TL;DR: A novel formal theory of concurrent systems that does not assume any atomic operations is introduced and the mutual exclusion is expressed precisely in terms of this model.
Abstract: A novel formal theory of concurrent systems that does not assume any atomic operations is introduced. The execution of a concurrent program is modeled as an abstract set of operation executions with two temporal ordering relations: “precedence” and “can causally affect”. A primitive interprocess communication mechanism is then defined. In Part II, the mutual exclusion is expressed precisely in terms of this model, and solutions using the communication mechanism are given.

258 citations


Journal ArticleDOI
Luc Devroye1
TL;DR: It is proved that S is the saturation level of the same tree, that is, the number of full levels in the tree, and H is the height of a binary search tree constructed by standard insertions from a random permutation.
Abstract: Let Hn be the height of a binary search tree with n nodes constructed by standard insertions from a random permutation of 1, … , n. It is shown that Hn/log n → c = 4.31107 … in probability as n → ∞, where c is the unique solution of c log((2e)/c) = 1, c ≥ 2. Also, for all p > 0, limn→∞E(Hpn)/ logpn = cp. Finally, it is proved that Sn/log n → c* = 0.3733 … , in probability, where c* is defined by c log((2e)/c) = 1, c ≤ 1, and Sn is the saturation level of the same tree, that is, the number of full levels in the tree.

242 citations


Journal ArticleDOI
TL;DR: The theory developed in Part I is used to state the mutual exclusion problem and several additional fairness and failure-tolerance requirements, and four “distributed” N-process solutions are given.
Abstract: The theory developed in Part I is used to state the mutual exclusion problem and several additional fairness and failure-tolerance requirements. Four “distributed” N-process solutions are given, ranging from a solution requiring only one communication bit per process that permits individual starvation, to one requiring about N! communication bits per process that satisfies every reasonable fairness and failure-tolerance requirement that we can conceive of.

236 citations


Journal ArticleDOI
TL;DR: Four semantics for a small programming language involving unbounded (but countable) nondeterminism are provided and a Hoare-like proof system for total correctness is introduced and its soundness and completeness in an appropriate sense are shown.
Abstract: Four semantics for a small programming language involving unbounded (but countable) nondeterminism are provided. These comprise an operational semantics, two state transformation semantics based on the Egli-Milner and Smyth orders, respectively, and a weakest precondition semantics. Their equivalence is proved. A Hoare-like proof system for total correctness is also introduced and its soundness and completeness in an appropriate sense are shown. Finally, the recursion theoretic complexity of the notions introduced is studied. Admission of countable nondeterminism results in a lack of continuity of various semantic functions, and this is shown to be necessary for any semantics satisfying appropriate conditions. In proofs of total correctness, one resorts to the use of (countable) ordinals, and it is shown that all recursive ordinals are needed.

188 citations


Journal ArticleDOI
TL;DR: A sound and, in certain cases, complete method is described for evaluating queries in relational databases with null values where these nulls represent existing but unknown individuals.
Abstract: A sound and, in certain cases, complete method is described for evaluating queries in relational databases with null values where these nulls represent existing but unknown individuals. The soundness and completeness results are proved relative to a formalization of such databases as suitable theories of first-order logic. Because the algorithm conforms to the relational algebra, it may easily be incorporated into existing relational systems.

169 citations


Journal ArticleDOI
TL;DR: Two of the applications involve the formulation of large classes of highly undecidable variants of classical computational problems, and in particular, easily describable domino problems that are III11-complete.
Abstract: Elementary translations between various kinds of recursive trees are presented. It is shown that trees of either finite or countably infinite branching can be effectively put into one-one correspondence with infinitely branching trees in such a way that the infinite paths of the latter correspond to the “P-abiding” infinite paths of the former. Here P can be any member of a very wide class of properties of infinite paths. For many properties ??, the converse holds too. Two of the applications involve (a) the formulation of large classes of highly undecidable variants of classical computational problems, and in particular, easily describable domino problems that are III11-complete, and (b) the existence of a general method for proving termination of nondeterministic or concurrent programs under any reasonable notion of fairness.

140 citations


Journal ArticleDOI
TL;DR: A precise analysis of partial match retrieval of multidimensional data is presented, using a detailed study of a differential system around a regular singular point in conjunction with suitable contour integration techniques for the analysis of multi-dimensional search trees and digital tries.
Abstract: A precise analysis of partial match retrieval of multidimensional data is presented. The structures considered here are multidimensional search trees (k-d-trees) and digital tries (k-d-tries), as well as structures designed for efficient retrieval of information stored on external devices. The methods used include a detailed study of a differential system around a regular singular point in conjunction with suitable contour integration techniques for the analysis of k-d-trees, and properties of the Mellin integral transform for k-d-tries and extendible cell algorithms.

Journal ArticleDOI
TL;DR: This paper shows that the orbit problem for general n is decidable and indeed decidable in polynomial time and applies the algorithm for the orbitproblem in several contexts.
Abstract: The accessibility problem for linear sequential machines [12] is the problem of deciding whether there is an input x such that on x the machine starting in a given state q1 goes to a given state q2. Harrison shows that this problem is reducible to the following simply stated linear algebra problem, which we call the "orbit problem":Given (n, A, x, y), where n is a natural number and A, x, and y are nxn, nx1, and nx1 matrices of rationals, respectively, decide whether there is a natural number I such that Aix=y.He conjectured that the orbit problem is decidable. No progress was made on the conjecture for ten years until Shank [22] showed that if n is fixed at 2, then the problem is decidable. This paper shows that the orbit problem for general n is decidable and indeed decidable in polynomial time. The orbit problem arises in several contexts; two of these, linear recurrences and the discrete logarithm problem for polynomials, are discussed, and we apply our algorithm for the orbit problem in these contexts.

Journal ArticleDOI
TL;DR: It is proved that the polynomial-time hierarchy collapses if and only if for every sparse set S, the hierarchy relative to S collapses and the question is answered if it is answered for any arbitrary sparse oracle set.
Abstract: Questions about the polynomial-time hierarchy are studied. In particular, the questions, “Does the polynomial-time hierarchy collapse?” and “Is the union of the hierarchy equal to PSPACE?” are considered, along with others comparing the union of the hierarchy with certain probabilistic classes. In each case it is shown that the answer is “yes” if and only if for every sparse set S, the answer is “yes” when the classes are relativized to S if and only if there exists a sparse set S such that the answer is “yes” when the classes are relativized to S. Thus, in each case the question is answered if it is answered for any arbitrary sparse oracle set.Long and Selman first proved that the polynomial-time hierarchy collapses if and only if for every sparse set S, the hierarchy relative to S collapses. This result is re-proved here by a different technique.

Journal ArticleDOI
TL;DR: An algorithm for computing π that is particularly well suited for parallel processing that the timing and sequencing restrictions on individual processors are almost entirely eliminated and the necessary coordination between processors is negligible and the enforced idle time is also negligible.
Abstract: Given a nonnegative, irreducible matrix P of spectral radius unity, there exists a positive vector p such that p = pP. If P also happens to be stochastic, then p gives the stationary distribution of the Markov chain that has state-transition probabilities given by the elements of P. This paper gives an algorithm for computing p that is particularly well suited for parallel processing. The main attraction of our algorithm is that the timing and sequencing restrictions on individual processors are almost entirely eliminated and, consequently, the necessary coordination between processors is negligible and the enforced idle time is also negligible.Under certain mild and easily satisfied restrictions on P and on the implementation of the algorithm, x(.), the vectors of computed values are proved to converge to within a positive, finite constant of proportionality of p. It is also proved that a natural measure of the projective distance of x(.) from p vanishes geometrically fast, and at a rate for which a lower bound is given. We have conducted extensive experiments on random matrices P, and the results show that the improvement over the parallel implementation of the synchronous version of the algorithm is substantial, sometimes exceeding the synchronization penalty to which the latter is always subject.

Journal ArticleDOI
TL;DR: Two applications concerning the security of the statistical database (SDB) are considered and efficient algorithms are designed for some of these situations while others are shown to be NP-hard.
Abstract: The basic inference problem is defined as follows: For a finite set X = {xi, … , xn}, we wish to infer properties of elements of X on the basis of sets of "queries" regarding subsets of X. By restricting these queries to statistical queries, the statistical database (SDB) security problem is obtained. The security problem for the SDB is to limit the use of the SDB so that only statistical information is available and no sequence of queries is sufficient to infer protected information about any individual. When such information is obtained the SDB is said to be compromised. In this paper, two applications concerning the security of the SDB are considered:On-line application. The queries are answered one by one in sequence and it is necessary to determine whether the SDB is compromised if a new query is answered.Off-line application. All queries are available at the same time and it is necessary to determine the maximum subset of queries to be answered without compromising the SDB.The complexity of these two applications, when the set of queries consists of (a) a single type of SUM query, (b) a single type of MAX/MIN query, (c) mixed types of MAX and MIN queries, (d) mixed types of SUM and MAX/MIN queries, and (e) mixed types of SUM, MAX, and MIN queries, is studied. Efficient algorithms are designed for some of these situations while others are shown to be NP-hard.

Journal ArticleDOI
TL;DR: An algorithm for routing through a rectangle using an N-by-m rectangular grid and a set of two-terminal nets that constructs a layout, if there is one, in O(N) log N time; this contrasts favorably with the area of the layout that might be as large as N 2 2 2.
Abstract: In this paper an O(N log N) algorithm for routing through a rectangle is presented. Consider an n-by-m rectangular grid and a set of N two-terminal nets. A net is a pair of points on the boundary of the rectangle. A layout is a set of edge-disjoint paths, one for each net. Our algorithm constructs a layout, if there is one, in O(N log N) time; this contrasts favorably with the area of the layout that might be as large as N2. The layout constructed can be wired using four layers of interconnect with only O(N) contact cuts. A partial extension to multiterminal nets is also discussed.

Journal ArticleDOI
TL;DR: It is shown that the polynomial hierarchy collapses if and only if there is a sparse set S, and similar results are obtained for several other complexity classes.
Abstract: Baker, Gill, and Solovay constructed sparse sets A and B such that P(A) ≠ NP(A) and NP(B) ≠ co-NP(B). In contrast to their results, we prove that P = NP if and only if for every tally language T, P(T) = NP( T), and that NP = co-NP if and only if for every tally language T, NP(T) = co-NP(T). We show that the polynomial hierarchy collapses if and only if there is a sparse set S such that the polynomial hierarchy relative to S collapses. Similar results are obtained for several other complexity classes.

Journal ArticleDOI
TL;DR: A set of constraints for sparse sensory data that are applicable to a wide variety of sensors are derived, and their characteristics are examined and it is shown that these bounds are consistent with empirical results reported previously.
Abstract: The problem of recognizing what objects are where in the workspace of a robot can be cast as one of searching for a consistent matching between sensory data elements and equivalent model elements In principle, this search space is enormous, and to control the potential combinatorial explosion, constraints between the data and model elements are needed A set of constraints for sparse sensory data that are applicable to a wide variety of sensors are derived, and their characteristics are examined Known bounds on the complexity of constraint satisfaction problems are used, together with explicit estimates of the effectiveness of the constraints derived for the case of sparse, noisy, three-dimensional sensory data, to obtain general theoretical bounds on the number of interpretations expected to be consistent with the data It is shown that these bounds are consistent with empirical results reported previously The results are used to demonstrate the graceful degradation of the recognition technique with the presence of noise in the data, and to predict the number of data points needed, in general, to uniquely determine the object being sensed

Journal ArticleDOI
TL;DR: The proposed Recursion by Chain Algorithm extends the range of queuing networks that can be analyzed efficiently by exact means and is substantially more efficient than the convolution or mean value analysis algorithms.
Abstract: RECAL, a Recursion by Chain Algorithm for computing the mean performance measures of product-form multiple-chain closed queuing networks, is presented. It is based on a new recursive expression that relates the normalization constant of a network with r closed routing chains to those of a set of networks having (r - 1) chains. It relies on the artifice of breaking down each chain into constituent subchains that each have a population of one. The time and space requirements of the algorithm are shown to be polynomial in the number of chains. When the network contains many routing chains, the proposed algorithm is substantially more efficient than the convolution or mean value analysis algorithms. The algorithm, therefore, extends the range of queuing networks that can be analyzed efficiently by exact means.

Journal ArticleDOI
TL;DR: Two deduction rules are introduced to give streamlined treatment to relations of special importance in an automated theorem-proving system, and depend on an extension of the notion of polarity to apply to subterms as well as to subsentences, with respect to a given binary relation.
Abstract: Two deduction rules are introduced to give streamlined treatment to relations of special importance in an automated theorem-proving system These rules, the relation replacement and relation matching rules, generalize to an arbitrary binary relation the paramodulation and E-resolution rules, respectively, for equality, and may operate within a nonclausal or clausal system The new rules depend on an extension of the notion of polarity to apply to subterms as well as to subsentences, with respect to a given binary relation The rules allow us to eliminate troublesome axioms, such as transitivity and monotonicity, from the system; proofs are shorter and more comprehensible, and the search space is correspondingly deflated

Journal ArticleDOI
TL;DR: The structure of A is modeled with a bipartite graph, and it is shown how the rows and columns of A can be rearranged into a structure from which the structure of its upper triangular factor can be correctly computed.
Abstract: In solving large sparse linear least squares problems A x s b, several different numeric methods involve computing the same upper triangular factor R of A. It is of interest to be able to compute the nonzero structure of R, given only the structure of A. The solution to this problem comes from the theory of matchings in bipartite graphs. The structure of A is modeled with a bipartite graph, and it is shown how the rows and columns of A can be rearranged into a structure from which the structure of its upper triangular factor can be correctly computed. Also, a new method for solving sparse least squares problems, called block back-substitution, is presented. This method assures that no unnecessary space is allocated for fill, and that no unnecessary space is needed for intermediate fill.

Journal ArticleDOI
Debasis Mitra1, J. McKenna1
TL;DR: With this method, very large load-dependent networks can be analyzed, whereas previously only small networks were computationally tractable.
Abstract: A method is presented for calculating the partition function, and from it, performance measures, for closed Markovian stochastic networks with queuing centers in which the service or processing rate depends on the center's state or load. The analysis on which this method is based is new and a major extension of our earlier work on load-independent queuing networks. The method gives asymptotic expansions for the partition function in powers of 1/N, where N is a parameter that reflects the size of the network. The expansions are particularly useful for large networks with many classes, each class having many customers. The end result is a decomposition by which expansion coefficients are obtained exactly by linear combinations of partition function values of small network constructs called pseudonetworks. Effectively computable bounds are given for errors arising from the use of a finite number of expansion terms. This method is important because load dependence is at once an essential element of sophisticated network models of computers, computer communications, and switching, teletraffic, and manufacturing systems, and the cause of very intensive computations in conventional techniques. With this method, very large load-dependent networks can be analyzed, whereas previously only small networks were computationally tractable.

Journal ArticleDOI
TL;DR: This problem of partitioning a polygonal region into a minimum number of trapezoids with two horizontal sides is shown to be polynomially equivalent to the problem of finding a maximum independent set of a straight-lines-in-the-plane graph, and consequently, it is shows to be NP-complete.
Abstract: The problem of partitioning a polygonal region into a minimum number of trapezoids with two horizontal sides is discussed. A triangle with a horizontal side is considered to be a trapezoid with two horizontal sides one of which is degenerate. First, a method of achieving a minimum partition is presented. The number M* of the trapezoids in the minimum partition of a polygonal region P is shown to be M* = n + w - h - d - 1, where n, w, and h are the number of vertices, windows (holes), and horizontal edges of P, respectively, and d is the cardinality of a maximum independent set of the straight-lines-in-the-plane graph associated with P. Next, this problem is shown to be polynomially equivalent to the problem of finding a maximum independent set of a straight-lines-in-the-plane graph, and consequently, it is shown to be NP-complete. However, for a polygonal region without windows, an O(n2)-time algorithm for partitioning it into a minimum number of trapezoids is presented. Finally, an O(n log n)-time approximation algorithm with the performance bound 3 is presented.

Journal ArticleDOI
TL;DR: An algorithm for computing bounds on the performance measures of multiple-class, product-form queuing networks is presented and offers the user a hierarchy of bounds with differing accuracy levels and computational cost requirements.
Abstract: An algorithm for computing bounds on the performance measures of multiple-class, product-form queuing networks is presented. The algorithm offers the user a hierarchy of bounds with differing accuracy levels and computational cost requirements. Unlike previously proposed bounding algorithms, the algorithm is applicable to all of the types of product-form queuing networks that are commonly used in computer system and computer-communication network applications.

Journal ArticleDOI
TL;DR: Equality-based binary resolution is complete without making use of paramodulation and leads to refutations that are less than half as long as standard refutations with the equality axioms.
Abstract: A major event in automated reasoning was the introduction by Robinson of resolution as an inference principle that is complete for the first-order predicate calculus. Here the theory of binary resolution, based strictly on unification, is recast to incorporate the axioms of equality. Equality-based binary resolution is complete without making use of paramodulation and leads to refutations that are less than half as long as standard refutations with the equality axioms. A detailed discussion is given of the first major use of a theorem prover based on this new method.

Journal ArticleDOI
TL;DR: It is argued that neither approach of dependency satisfaction, consistency and completeness is the correct one, but rather that they correspond to different policies on constraint enforcement, and each one is appropriate in different circumstances.
Abstract: Two notions of dependency satisfaction, consistency and completeness, are introduced. Consistency is the natural generalization of weak-instance satisfaction and seems appropriate when only equality-generating dependencies are given, but disagrees with the standard notion in the presence of tuple-generating dependencies. Completeness is based on the intuitive semantics of tuple-generating dependencies but differs from the standard notion for equality-generating dependencies. It is argued that neither approach is the correct one, but rather that they correspond to different policies on constraint enforcement, and each one is appropriate in different circumstances. Consistency and completeness of a state are characterized in terms of the tableau associated with the state and in terms of logical properties of a set of first-order sentences associated with the state. A close relation between the problems of testing for consistency and completeness and of testing implication of dependencies is established, leading to lower and upper bounds for the complexity of consistency and completeness. The possibility of formalizing dependency satisfaction without using a universal relation scheme is examined.

Journal ArticleDOI
TL;DR: A novel organization of raster-graphics memory that permits all small rectangles to be moved efficiently is proposed that is based on a doubly periodic assignment of pixels to M memory chips according to a "Fibonacci" lattice.
Abstract: A high-resolution raster-graphics display is usually combined with processing power and a memory organization that facilitates basic graphics operations. For many applications, including interactive text processing, the ability to quickly move or copy small rectangles of pixels is essential. This paper proposes a novel organization of raster-graphics memory that permits all small rectangles to be moved efficiently. The memory organization is based on a doubly periodic assignment of pixels to M memory chips according to a “Fibonacci” lattice. The memory organization guarantees that, if a rectilinearly oriented rectangle contains fewer than M/

Journal ArticleDOI
TL;DR: An optimal algorithm to perform the parallel QR decomposition of a dense matrix of size N is proposed and it is deduced that the complexity of such a decomposition is asymptotically 2.
Abstract: An optimal algorithm to perform the parallel QR decomposition of a dense matrix of size N is proposed. It is deduced that the complexity of such a decomposition is asymptotically 2N, when an unlimited number of processors is available.

Journal ArticleDOI
TL;DR: The result suggests that the degree of multiprogramming of multiuser databases, or the level of parallelism of concurrent programs, is inversely proportional to the probability of conflict, and that the constant is small and known within a factor of 2.
Abstract: A queuing system with infinitely many servers, and with the following queuing discipline is considered: For any two jobs i and j in the system, such that i arrived later than j, there is a fixed probability p that i will have to wait for j's execution to terminate before i starts executing. This queuing system is a very simple model for database concurrency control via “static” locking, as well as of parallel execution of programs consisting of several interdependent processes. The problem of determining the maximum arrival rate (as a function of p) that can be sustained before this system becomes unstable is studied. It is shown that this rate is inversely proportional to p, and close upper and lower bounds on the constant for the case of deterministic departures are found. The result suggests that the degree of multiprogramming of multiuser databases, or the level of parallelism of concurrent programs, is inversely proportional to the probability of conflict, and that the constant is small and known within a factor of 2. The technique used involves the computation of certain asymptotic parameters of a random infinite directed acyclic graph (dag) that seem of interest by themselves.

Journal ArticleDOI
TL;DR: The notion of sort set is introduced here to formalize the fact that certain database relations can be sorted so that two or more columns are simultaneously listed in order.
Abstract: The notion of sort set is introduced here to formalize the fact that certain database relations can be sorted so that two or more columns are simultaneously listed in order. This notion is shown to be applicable in several ways to enhance the efficiency of an implemented database. A characterization of when order dependency implies the existence of sort sets in a database is presented, along with several corollaries concerning complexity, Armstrong relations, and cliques of certain graphs. Sort-set dependencies are then introduced. A (finite) sound and complete set of inference rules for sort-set dependencies is presented, as well as a proof that there is no such set for functional and sort-set dependencies taken together. Deciding logical implication for sort-set dependencies is proved to be polynomial, but if functional dependencies are included the problem is co-NP-complete. Each set of sort-set and functional dependencies is shown to have an Armstrong relation. A natural generalization of Armstrong relation, here called separator, is given and then used to study the relationship between order and sort-set dependencies.