Skip to main content
Log in

Traversal of an Unknown Directed Graph by a Finite Robot

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

A covering path in a directed graph is a path passing through all vertices and arcs of the graph, with each arc being traversed only in the direction of its orientation. A covering path exists for any initial vertex only if the graph is strongly connected, i.e., any of its vertices can be reached from any other vertex by some path. The strong connectivity is the only restriction on the considered class of graphs. As is known, on the class of such graphs, the covering path length is Θ(nm), where n is the number of vertices and m is the number of arcs. For any graph, there exists a covering path of length O(nm), and there exist graphs with covering paths of the minimum length Ω(nm). The traversal of an unknown graph implies that the topology of the graph is not a priori known, and we learn it only in the course of traversing the graph. At each vertex, one can see which arcs originate from the vertex, but one can learn to which vertex a given arc leads only after traversing this arc. This is similar to the problem of traversing a maze by a robot in the case where the plan of the maze is not available. If the robot is a “general-purpose computer” without any limitations on the number of its states, then traversal algorithms with the same estimate O(nm) are known. If the number of states is bounded, then this robot is a finite automaton. Such a robot is an analogue of the Turing machine, where the tape is replaced by a graph and the cells are assigned to the graph vertices and arcs. Currently, the lower estimate of the length of the traversal by a finite robot is not known. In 1971, the author of this paper suggested a robot with the traversal length O(nm + n 2log n). The algorithm of the robot is based on the construction of the output directed spanning tree of the graph and on the breadth-first search (BFS) on this tree. In 1993, Afek and Gafni [1] suggested an algorithm with the same estimate of the covering path length, which was also based on constructing a spanning tree but used the depth-first search (DFS) method. In this paper, an algorithm is suggested that combines the breadth-first search with the backtracking (suggested by Afek and Gafni), which made it possible to reach the estimate O(nm + n 2loglog n). The robot uses a constant number of memory bits for each vertex and arc of the graph.

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

Access this article

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. Afek, Y. and Gafni, E., Distributed Algorithms for Unidirectional Networks, SIAM J. Comput., 1994, vol. 23, no. 6, pp. 1152–1178.

    Google Scholar 

  2. Hoffman, D. and Strooper, P., ClassBench: A Framework for Automated Class Testing, Software Maintenance: Practice Experience, 1997, vol. 27, no. 5, pp. 573–579.

    Google Scholar 

  3. Murray, L., Carrington, D., MacColl, I., McDonald, J., and Strooper, P., Formal Derivation of Finite State Machines for Class Testing, Lecture Notes Comput. Sci. (Proc. of the 11th Int. Conf. of Z Users), Berlin: Springer, 1998, vol. 1493, pp.42–59.

    Google Scholar 

  4. Albers, S. and Henzinger, M.R., Exploring Unknown Environments, SIAM J. Comput.,2000, vol. 29, no. 4, pp. 1164–1188.

    Google Scholar 

  5. Deng, X. and Papadimitriou, C.H., Exploring an Unknown Graph, J. Graph Theory, 1999, vol. 32, no. 3, pp.265–297.

  6. Ore, O., Theory of Graphs, Providence: AMS, 1962. Translated under the title Teoriya grafov, Moscow: Nauka, 1968.

    Google Scholar 

  7. Bhatt, S., Even, S., Greenberg, D., and Tayar, R., Traversing Directed Eulerian Mazes, Proc. of WG'2000,Brandes, U. and Wagner, D., Eds., Lecture Notes in Computer Science, vol. 1928, pp. 35–46, Berlin: Springer,2000.

  8. Blum, M. and Sakoda, W.J., On the Capability of Finite Automata in 2 and 3 Dimensional Space, Proc. of the Eighteenth Annu. Symp. on Foundations of Comput. Sci., 1977, pp. 147–161.

  9. Even, S., Graph Algorithms,Comput. Sci., 1979.

  10. Even, S., Litman, A., and Winkler, P., Computing with Snakes in Directed Networks of Automata, J. Algorithms, 1997, vol. 24, pp. 158–170.

    Google Scholar 

  11. Rabin, M.O., Maze Threading Automata. Lecture Presented at MIT and UC Berkley, 1967.

  12. Bourdonov, I.B., Study of the Automaton Behavior on Graphs, MS Dissertation, Moscow: Moscow State University, 1971.

    Google Scholar 

  13. Kobayashi, K., The Firing Squad Synchronization Problem for a Class of Polyautomata Networks, J. Comput. System Sci., 1978, vol. 17, pp. 300–318.

    Google Scholar 

  14. Kutten, S., Stepwise Construction of an Efficient Distributed Traversing Algorithm for General Strongly Connected Directed Networks, Proc. of the Ninth Int. Conf. on Comput. Commun., 1988, pp.446–452.

  15. http://www.ispras.ru/RedVerst/.

  16. Bourdonov, I., Kossatchev, A., Petrenko, A., and Gatter, D., KVEST: Automated Generation of Test Suites from Formal Specifications, Proc. of F0M'99, Lecture Notes in Computer Science, vol. 1708, pp.608–621, Berlin: Springer, 1999.

    Google Scholar 

  17. Bourdonov, I.B., Kossatchev, A.S., and Kuliamin, V.V., Use of Finite Automata for Program Testing, Programmirovanie, 2000, no. 2, pp. 12–28.

  18. Bourdonov, I., Kossatchev, A., Kuliamin, V., and Petrenko, A., UniTesK Test Suite Architecture, Proc. of FME 2002, Lecture Notes in Computer Science, Berlin: Springer, 2002, vol.2391, pp. 77–88.

    Google Scholar 

  19. Bourdonov, I.B., Kossatchev, A.S., and Kuliamin, V.V.,Irredundant Algorithms for Traversing Directed Graphs: The Deterministic Case, Programmirovanie,2003, no. 5, pp.11–30.

  20. Bourdonov, I.B., Kossatchev, A.S., and Kuliamin, V.V., Irredundant Algorithms for Traversing Directed Graphs: The Nondeterministic Case, Programmirovanie, 2004, no. 1, pp.4–24.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bourdonov, I.B. Traversal of an Unknown Directed Graph by a Finite Robot. Programming and Computer Software 30, 188–203 (2004). https://doi.org/10.1023/B:PACS.0000036417.58183.64

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:PACS.0000036417.58183.64

Keywords

Navigation