Efficiently searching a graph by a smell-oriented vertex process

  • Authors:
  • Israel A. Wagner;Michael Lindenbaum;Alfred M. Bruckstein

  • Affiliations:
  • IBM Haifa Research Lab, Matam, Haifa 31905, Israel E-mail: israelw&commat/vnet.ibm.com;Department of Computer Science, Technion City, Haifa 32000, Israel E-mail: &lcub/mic&semi/freddy&rcub/&commat/cs.technion.ac.il;Department of Computer Science, Technion City, Haifa 32000, Israel E-mail: &lcub/mic&semi/freddy&rcub/&commat/cs.technion.ac.il

  • Venue:
  • Annals of Mathematics and Artificial Intelligence
  • Year:
  • 1998

Quantified Score

Hi-index 0.03

Visualization

Abstract

Efficient graph search is a central issue in many aspects of AI. In most of existing work there is a distinction between the active “searcher”, which both executes the algorithm and holds the memory, and the passive “searched graph”, over which the searcher has no control at all. Large dynamic networks like the Internet, where the nodes are powerful computers and the links have narrow bandwidth and are heavily‐loaded, call for a different paradigm, in which most of the burden of computing and memorizing is moved from the searching agent to the nodes of the network. In this paper we suggest a method for searching an undirected, connected graph using the Vertex‐Ant‐Walk method, where an a(ge)nt walks along the edges of a graph G, occasionally leaving “pheromone” traces at nodes, and using those traces to guide its exploration. We show that the ant can cover the graph within time \mathrm{O}(nd), where n is the number of vertices and d the diameter of G. The use of traces achieves a trade‐off between random and self‐avoiding walks, as it dictates a lower priority for already‐visited neighbors. Further properties of the suggested method are: (a) modularity: a group of searching agents, each applying the same protocol, can cooperate on a mission of covering a graph with minimal explicit communication between them; (b) possible convergence to a limit cycle: a Hamiltonian path in G (if one exists) is a possible limit cycle of the process.