October 1980 | RICHARD E. LADNER AND MICHAEL J. FISCHER
This paper presents a method for efficiently solving the prefix problem using parallel circuits. The prefix problem involves computing all possible products of a sequence of elements under an associative operation. The authors propose a recursive construction that results in a product circuit with depth exactly log₂n and size bounded by 4n. This approach is applied to simulate finite-state transducers, leading to efficient parallel solutions for problems like binary addition.
The paper introduces product circuits, which are directed acyclic graphs where each node represents a product of its inputs. The complexity measures of these circuits are size (number of product nodes) and depth (maximum number of product nodes on any path). For the prefix problem, the authors find a solution with minimum depth log₂n and size less than 4n.
The paper then applies these constructions to simulate a finite-state transducer, resulting in circuits with depth O(log n) and size O(n). Specifically, for binary addition, the authors derive a circuit with size 8n + 6 and depth 4 log₂n + 2, which is essentially the same as the carry-lookahead adder. By adjusting parameters, the depth can be reduced to 2 log₂n + 2, though the size increases to 14n.
The paper also analyzes the fanout of the circuits, showing that it can be characterized exactly. For the prefix problem, the fanout of the circuits is determined by specific recurrence relations.
The authors demonstrate how to use the prefix circuit construction to simulate a finite-state transducer, leading to efficient parallel circuits for computing outputs and final states. They also apply this method to binary addition, showing how to construct Boolean circuits for n-bit addition with linear size and depth.
The paper concludes with a discussion of the trade-offs between size and depth in small adders, showing that the proposed methods can achieve efficient parallel solutions for various computational problems.This paper presents a method for efficiently solving the prefix problem using parallel circuits. The prefix problem involves computing all possible products of a sequence of elements under an associative operation. The authors propose a recursive construction that results in a product circuit with depth exactly log₂n and size bounded by 4n. This approach is applied to simulate finite-state transducers, leading to efficient parallel solutions for problems like binary addition.
The paper introduces product circuits, which are directed acyclic graphs where each node represents a product of its inputs. The complexity measures of these circuits are size (number of product nodes) and depth (maximum number of product nodes on any path). For the prefix problem, the authors find a solution with minimum depth log₂n and size less than 4n.
The paper then applies these constructions to simulate a finite-state transducer, resulting in circuits with depth O(log n) and size O(n). Specifically, for binary addition, the authors derive a circuit with size 8n + 6 and depth 4 log₂n + 2, which is essentially the same as the carry-lookahead adder. By adjusting parameters, the depth can be reduced to 2 log₂n + 2, though the size increases to 14n.
The paper also analyzes the fanout of the circuits, showing that it can be characterized exactly. For the prefix problem, the fanout of the circuits is determined by specific recurrence relations.
The authors demonstrate how to use the prefix circuit construction to simulate a finite-state transducer, leading to efficient parallel circuits for computing outputs and final states. They also apply this method to binary addition, showing how to construct Boolean circuits for n-bit addition with linear size and depth.
The paper concludes with a discussion of the trade-offs between size and depth in small adders, showing that the proposed methods can achieve efficient parallel solutions for various computational problems.