Computing

, Volume 34, Issue 3, pp 191–219

A systolic array algorithm for the algebraic path problem (shortest paths; Matrix inversion)

  • Günter Rote
Article

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.

AMS subject classifications

68A05 (05C35 05C38 16A78 65F05 68E10 

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) 

General terms

algorithms design performance 

Additional key words and phrases

Algebraic path problem shortest paths transitive closure closed semirings Gauß-Jordan elimination 

Ein systolic-array-Algorithmus für das algebraische Wegproblem (kürzeste Wege; Matrizeninversion)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.Google Scholar
  2. Backhouse, R. C., Carré, B. A.: Regular algebra applied to path-finding problems. J. Inst. Math. Appl.15, 161–186 (1975).Google Scholar
  3. Brucker, P.: Theorie of Matrix Algorithms. Mathematical Systems in Economics 13. Meisenheim am Glan: Verlag Anton Hain 1974.Google Scholar
  4. Carré, B. A.: An algebra for network routing problems. J. Inst. Math. Appl.7, 273–294 (1971).Google Scholar
  5. Carré, B. A.: Graphs and Networks. Oxford: The Clarendon Press, Oxford University Press, 1979.Google Scholar
  6. Floyd, R. N.: Algorithm 97 — shortest path. Comm. ACM5, 345 (1962).CrossRefGoogle Scholar
  7. Gondran, M., Minoux, M.: Graphes et Algorithmes, Paris: Editions Eyrolles 1979.Google Scholar
  8. 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.Google Scholar
  9. 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.Google Scholar
  10. 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.Google Scholar
  11. 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.Google Scholar
  12. 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.Google Scholar
  13. Lehmann, D. J.: Algebraic structures for transitive closure Theoret. Comput. Sci.4, 59–76 (1977).CrossRefGoogle Scholar
  14. Mahr, B.: Semirings and Transitive Closure. Technische Universität Berlin, Fachbereich 20, report 82-5 (1982).Google Scholar
  15. 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).Google Scholar
  16. 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).Google Scholar
  17. Roy, B.: Transitivité et connexité. C. R. Acad. Sci. Paris Ser. A-B249, 216–218 (1959).Google Scholar
  18. Tarjan, R. E.: A unified approach to path problems. J. Assoc. Comput. Mach.28, 577–593 (1981).Google Scholar
  19. Warshall, S.: A theorem on Boolean matrices. J. Assoc. Comput. Mach.9, 11–12 (1962).Google Scholar
  20. Zimmermann, U.: Linear and combinatorial optimization in ordered algebraic structures. (Especially chapter 8: Algebraic path problems) Ann. Discrete Math.10, 1–380 (1981).Google Scholar

Copyright information

© Springer-Verlag 1985

Authors and Affiliations

  • Günter Rote
    • 1
  1. 1.Institut für MathematikTechnische Universität GrazGrazAustria

Personalised recommendations