Cellular arrays for the solution of graph problems
- 1 September 1972
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 15 (9), 789-801
- https://doi.org/10.1145/361573.361576
Abstract
A cellular array is a two-dimensional, checkerboard type interconnection of identical modules (or cells), where each cell contains a few bits of memory and a small amount of combinational logic, and communicates mainly with its immediate neighbors in the array. The chief computational advantage offered by cellular arrays is the improvement in speed achieved by virtue of the possibilities for parallel processing. In this paper it is shown that cellular arrays are inherently well suited for the solution of many graph problems. For example, the adjacency matrix of a graph is easily mapped onto an array; each matrix element is stored in one cell of the array, and typical row and column operations are readily implemented by simple cell logic. A major challenge in the effective use of cellular arrays for the solution of graph problems is the determination of algorithms that exploit the possibilities for parallelism, especially for problems whose solutions appear to be inherently serial. In particular, several parallelized algorithms are presented for the solution of certain spanning tree, distance, and path problems, with direct applications to wire routing, PERT chart analysis, and the analysis of many types of networks. These algorithms exhibit a computation time that in many cases grows at a rate not exceeding log 2 n , where n is the number of nodes in the graph. Straightforward cellular implementations of the well-known serial algorithms for these problems require about n steps, and noncellular implementations require from n 2 to n 3 steps.Keywords
This publication has 9 references indexed in Scilit:
- A Logic-in-Memory ComputerIEEE Transactions on Computers, 1970
- Cellular arrays for the parallel implementation of binary error-correcting codesIEEE Transactions on Information Theory, 1969
- Cellular Logic-in-Memory ArraysIEEE Transactions on Computers, 1969
- Path Finding with Associative MemoryIEEE Transactions on Computers, 1968
- Cellular Interconnection ArraysIEEE Transactions on Computers, 1968
- Matrix Inversion Using Parallel ProcessingJournal of the ACM, 1967
- Testing for faults in combinational cellular logic arraysPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1967
- A Theorem on Boolean MatricesJournal of the ACM, 1962
- On the shortest spanning subtree of a graph and the traveling salesman problemProceedings of the American Mathematical Society, 1956