Skip to main content

Bidirectional edges problem: Part I—A simple algorithm

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

The “bidirectional edges problem” is to find an edge-labeling of an undirected network,G=(V, E), with a source and a sink, such that an edge [u, v] ∈E is labeled (u, v) or (v, u) (or both) depending on the existence of a (simple) path from the source to sink that visits the verticesu andv, in the orderu, v orv, u, respectively. We provide several algorithms for this problem in the current paper and the sequel. In this paper we show the relation between this problem and the classical two-vertex-disjoint-paths problem and then devise a simple algorithm with a time complexity ofO(|E|·|V|2). In the sequel we improve the time complexity toO(|E|·|V|). The main technique exploits aclever partition of the graph into a set of paths and bridges which are then analyzed recursively.

The bidirectional edges problem arises naturally in the context of the simulation of an MOS transistor network, in which a transistor may operate as a unilateral or a bilateral device, depending on the voltages at its source and drain nodes. For efficient simulation, it is required to detect the set of transistors that may operate as bilateral devices. Also, sometimes it is intended to propagate information in one direction only, and propagation in the wrong direction (resulting in asneak path) can cause functional error. Our algorithms can be used to detect all the sneak paths.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Z. Barzilai, D. K. Breece, L. M. Huisman, V. S. Iyengar, and G. M. Silberman. SLS-A Fast Switch Level Simulator.IEEE Trans. Comput. Aided Design, 7(8):838–849, August 1988.

    Google Scholar 

  2. D. Brand. Detecting Sneak Paths in Transistor Networks. Technical Report, IBM Thomas J. Watson Research Center, Yorktown Heights, NY, 1983.

    Google Scholar 

  3. H. H. Chen, R. G. Mathews, and J. A. Newkirk. An Algorithm to Generate Tests for MOS Circuits at the Switch Level.Proc. International Test Conference, pp. 304–312, 1985.

  4. M. A. Cirit. Switch Level Random Pattern Testability Analysis.Proc. Design Automation Conference, pp. 587–590, 1988.

  5. E. A. Dinic. Algorithm for Solution of a Problem of Maximum Flow in a Network with Power Estimation.Soviet Math. Dokl., 11:1277–1280, 1970.

    Google Scholar 

  6. S. Even.Graph Algorithms. Computer Science Press, Rockville, MD, 1979.

    Google Scholar 

  7. E. Frank. A Data Driven Multiprocessor for Switch Level Simulation of VLSI Circuits. Ph.D. thesis, Carnegie Mellon University, Pittsburgh, PA, 1985.

    Google Scholar 

  8. J. Hopcroft and R. Tarjan. Efficient Planarity Testing.J. Assoc. Comput. Mach., 21(4):549–568, October 1974.

    Google Scholar 

  9. N. P. Jouppi. Derivation of Signal Flow Direction in MOS VLSI.IEEE Trans. Comput. Aided Design, 6(3):480–490, May 1987.

    Google Scholar 

  10. K. J. Lee, R. Gupta, and M. A. Breuer. An Algorithmic Method for Assigning Signal Flow Directions to MOS Transistors. Technical Report, University of Southern California, June 1990.

  11. B. Mishra. An Efficient Algorithm To Find All “Bidirectional” Edges of an Undirected Graph. Proc.25th Annual Symposium on Foundations of Computer Science, pp. 207–216, 1984.

  12. B. Mishra. Some Graph Theoretic Issues in VLSI Design. Ph.D. thesis, Carnegie Mellon University, Pittsburgh, PA, September 1985.

    Google Scholar 

  13. B. Mishra. Bidirectional Edges Problem: Part II. An Efficient Algorithm. Technical Report No. 647, Courant Institute of Mathematical Sciences, New York, September 1993.

    Google Scholar 

  14. B. Mishra and R.E. Tarjan. A Linear-Time Algorithm for Finding an Ambitus.Algorithmica, 7:521–554, 1992.

    Google Scholar 

  15. T. Ohtsuki.The Two Disjoint Path Problem and Wire Routing Design. Graph Theory and Algorithms, Vol. 108 (Eds. N. Saito, T. Nishizeki). Springer-Verlag, New York, October 1980.

    Google Scholar 

  16. O. Ore.The Four-Color Problem. Academic Press, New York, 1967.

    Google Scholar 

  17. P. D. Seymour. Disjoint Paths in Graphs.Discrete Math., 29:293–309, 1980.

    Google Scholar 

  18. Y. Shiloach. A Polynomial Solution to the Undirected Two Paths Problem.J. Assoc. Comput. Mach., 27(3):445–456, July 1980.

    Google Scholar 

  19. W. T. Tutte.Connectivity in Graphs. University of Toronto Press, Toronto, 1966.

    Google Scholar 

  20. W. T. Tutte. Bridges and Hamiltonian Circuits in Planar Graphs.Aequationes Math., 15, 1977.

  21. W. T. Tutte.Graph Theory. Addison-Wesley, Menlo Park, Ca, 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Communicated by G. N. Frederickson.

This research was supported in part by National Science Foundation Grants DMS-8703458 and CCR-9002819.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mishra, B. Bidirectional edges problem: Part I—A simple algorithm. Algorithmica 15, 256–286 (1996). https://doi.org/10.1007/BF01975869

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01975869

Key words