Abstract
It is shown how the Gauß-Jordan Elimination algorithm for the Algebraic Path Problem can be implemented on a hexagonal systolic array of a quadratic number of simple processors in linear time. Special instances of this general algorithm include parallelizations of the Warshall-Floyd Algorithm, which computes the shortest distances in a graph or the transitive closure of a relation, and of the Gauß-Jordan Elimination algorithm for computing the inverse of a real matrix.
Zusammenfassung
Es wird dargestellt, wie man den gaus-Jordanschen Eliminationsalgorithmus für das algebraische Wegproblem auf einem hexagonalen systolischen Feld (systolic array) mit einer quadratischen Anzahl einfacher Prozessoren in linearer Zeit ausführen kann. Zu den Anwendungsbeispielen dieses allgemeinen Algorithmus gehört der Warshall-Floyd-Algorithmus zur Berechnung der kürzesten Wegen in einem Graphen oder zur Bestimmung der transitiven Hülle einer Relation sowie der Gauß-Jordansche Eliminationsalgorithmus zur Inversion reeller Matrizen.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Aho, A. V., Hopcroft, J. E., Ullmann, J. D.: The Design and Analysis of Computer Algorithms. Reading (Mass.)-London-Amsterdam: Addison-Wesley Publishing Co. 1975.
Backhouse, R. C., Carré, B. A.: Regular algebra applied to path-finding problems. J. Inst. Math. Appl.15, 161–186 (1975).
Brucker, P.: Theorie of Matrix Algorithms. Mathematical Systems in Economics 13. Meisenheim am Glan: Verlag Anton Hain 1974.
Carré, B. A.: An algebra for network routing problems. J. Inst. Math. Appl.7, 273–294 (1971).
Carré, B. A.: Graphs and Networks. Oxford: The Clarendon Press, Oxford University Press, 1979.
Floyd, R. N.: Algorithm 97 — shortest path. Comm. ACM5, 345 (1962).
Gondran, M., Minoux, M.: Graphes et Algorithmes, Paris: Editions Eyrolles 1979.
Guibas, L. J., Kung, H. T., Thompson, C. D.: Direct VLSI Implementation of Combinatorial Algorithms. Proc. CalTech Conference on Very Large Scale Integration: Architecture, Design, Fabrication. California Institute of Technology, January 1979, Pasadena; Architecture session, pp. 509–525.
Kleene, S. C.: Representation of events in nerve nets and finite automata. In: Shannon, C., McCarthy, J. (eds.), Automata Studies pp. 3–40. Princeton (New Jersey): Princeton University Press 1956.
Kramer, M. R., van Leeuwen, J.: Systolic computation and VLSI. In: de Bakker, J. W., van Leeuven, J. (eds.), Foundations of Computer Science IV, part 1, pp 75–103. Math. Centre Tracts 158, Math. Centre, Amsterdam, 1983.
Kung, H. T.: The structure of parallel algorithms. In: Advances in Computers19, pp. 65–112. New York-London-Toronto-Sydney-San Francisco: Academic Press 1980.
Kung, H. T., Leiserson, C. E.: Systolic arrays (for VLSI). In: Duff, I. S., Stewart, G. W. (eds.), Sparse Matrix Proceedings 1978 (Sympos. Sparse Matrix Comput., Knoxville, Tenn. 1978), pp. 256–282. — SIAM, Philadelphia 1979. — (A slightly different version has appeared as section 8.3 of the book: Mead, C. A., Conway, L. A., Introduction to VLSI Systems. Reading (Mass.)-London-Amsterdam: Addison-Wesley Publishing Co. 1979.
Lehmann, D. J.: Algebraic structures for transitive closure Theoret. Comput. Sci.4, 59–76 (1977).
Mahr, B.: Semirings and Transitive Closure. Technische Universität Berlin, Fachbereich 20, report 82-5 (1982).
Mahr, B.: Iteration and summability in semirings. In: Burkard, R. E., Cuninghame-Green, R. A., Zimmermann, U. (eds.), Algebraic and Combinatorial Methods in Operations Research (Proceedings of the Workshop on Algebraic Structures in Operations Research, Bad Honnef, Federal Republic of Germany, April 13–17, 1982), Ann. Discrete Math.19, 229–256 (1984).
Rote, G.: A Systolic Array for the Algebraic Path Problem (which Includes the Inverse of a Matrix and Shortest Distances in a Graph). Rechenzentrum Graz, Bericht RZG-101 (1984).
Roy, B.: Transitivité et connexité. C. R. Acad. Sci. Paris Ser. A-B249, 216–218 (1959).
Tarjan, R. E.: A unified approach to path problems. J. Assoc. Comput. Mach.28, 577–593 (1981).
Warshall, S.: A theorem on Boolean matrices. J. Assoc. Comput. Mach.9, 11–12 (1962).
Zimmermann, U.: Linear and combinatorial optimization in ordered algebraic structures. (Especially chapter 8: Algebraic path problems) Ann. Discrete Math.10, 1–380 (1981).
Author information
Authors and Affiliations
Additional information
This work was initiated as a project in a lecture on Languages and VLSI design which Professor Karel Čulik II gave during his stay as a visiting professor at the Institutes for Information Processing, Technical University of Graz, Austria, in the summer semester 1983, and was later supported by the Computer Center Graz (Rechenzentrum Graz).
Rights and permissions
About this article
Cite this article
Rote, G. A systolic array algorithm for the algebraic path problem (shortest paths; Matrix inversion). Computing 34, 191–219 (1985). https://doi.org/10.1007/BF02253318
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF02253318
AMS subject classifications
CR categories and subject descriptors
- C.1.2[processor architectures]: multiple data stream architectures (multiprocessors)-systolic arrays
- G. 1.0 [numerical analysis]: general - parallel algorithms
- G. 1.3 [numerical analysis]: numerical linear algebra - matrix inversion
- G. 2.2 [discrete mathematics]: graph theory - path problems
- B.6.1 [logic design]:design styles - cellular arrays
- B.7.1 [integrated circuits]
- types and design styles - algorithms implemented in hardware
- VLSI (very large scale integration)