Skip to main content

Development of several reachability algorithms for directed graphs

  • Program Design
  • Conference paper
  • First Online:
Book cover Graph-Theoretic Concepts in Computer Science (WG 1987)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 314))

Included in the following conference series:

Abstract

In the development above only the control structure of the algorithms was subject to transformations. The final versions (6) and (7) which are due to the different generalizations in Section 3.1 are both operational provided implementations of the underlying data structures for vertices, graphs, and sets are given.

If these implementations are too inefficient or are not available at all, transformations of the data structures would have to follow. For example, an implementation of graphs by successor lists and of sets by boolean vectors allows to achieve a complexity O(NM) for algorithm (6), where M denotes the number of arcs of the graph. However, using two different set implementations (namely boolean vectors for the argument t and stacks or queues for s) and successor lists for graphs again, we could even obtain an O(M) version of (7). This shows that different strategies and techniques may lead to algorithms of different complexity. But on the other hand, the example also demonstrates that different sequences of design decisions can yield the same result.

Since the derivation of algorithms is a complex and creative task, there is no a priori recipe to determine which strategy or technique is best at a specific stage. Hence, the transformational approach is user-controlled. It offers the programmer various routes to follow and due to the correctness of each individual rule the final program is correct with respect to the initial specification by construction.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bauer F. L.: Program development by stepwise transformation — the project CIP. In: Bauer F. L., Broy M. (eds.): Program construction. Lecture Notes in Computer Science 69. Springer: Berlin-Heidelberg-New York (1979)

    Google Scholar 

  2. Bauer F. L. et al.: The Munich project CIP. Volume I: The wide spectrum language CIP-L. Lecture Notes in Computer Science 183. Springer: Berlin-Heidelberg-New York (1985)

    Google Scholar 

  3. Bauer F. L., Wössner H.: Algorithmische Sprache und Programmentwicklung. Springer: Berlin-Heidelberg-New York (1981); engl. translation: Algorithmic Language and Program Development. Springer: Berlin-Heidelberg-New York (1982)

    Google Scholar 

  4. Berghammer R.: Zur formalen Entwicklung von graphentheoretischen Algorithmen durch Transformation. Dissertation, Institut für Informatik, TU München, TUM-18403 (1984)

    Google Scholar 

  5. Bird R.: The promotion and accumulation strategies in transformational programming. ACM TOPLAS 6, 487–504 (1984)

    Article  Google Scholar 

  6. Broy M., Gnatz R., Wirsing M.: Problemspezifikation — eine Grundlage für Programmentwicklung. Proc. of a Workshop on Reliable Software, Hanser: München, 235–246 (1979)

    Google Scholar 

  7. Burstall R. M., Darlington J.: A transformation system for developing recursive programs. JACM 24, 44–67 (1977)

    Article  Google Scholar 

  8. Cooper D. C.: The equivalence of certain computations. Computer J. 9, 45–52 (1966)

    Google Scholar 

  9. Hussmann H.: Rapid prototyping for algebraic specifications — RAP System user's manual. Fakultät für Mathematik und Informatik, Universität Passau (1986)

    Google Scholar 

  10. Paige R., Koenig S.: Finite differencing of computable expressions. ACM TOPLAS 4, 3, 402–454 (1982)

    Article  Google Scholar 

  11. Tarjan R. E.: Complexity of combinatorial algorithms. SIAM Review 20, 3, 457–491 (1978)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Herbert Göttler Hana-Jürgen Schneider

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Berghammer, R., Ehler, H., Zierer, H. (1988). Development of several reachability algorithms for directed graphs. In: Göttler, H., Schneider, HJ. (eds) Graph-Theoretic Concepts in Computer Science. WG 1987. Lecture Notes in Computer Science, vol 314. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-19422-3_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-19422-3_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-19422-4

  • Online ISBN: 978-3-540-39264-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics