A Randomized Queueless Algorithm for Breadth-First Search

First Come First Served is a policy that is accepted for implementing fairness in a number of application domains such as scheduling in Operating Systems [28, 11], scheduling web requests and so on. We also have orthogonal applications of FCFS policies in proving correctness of search algorithms such as Breadth-First Search and the Bellman-Ford FIFO implementation for finding single-source shortest paths [2], program verification [12] and static analysis [25, 24]. The principal data structure used in implementing FCFS policies is the queue, which is realized either through a circular array or a linked list. The question of interest then, is whether queues are required to implement FCFS policies; this paper provides empirical evidence answering this question in the negative. The principal contribution of this paper is the development of a randomized algorithm to implement approximate FCFS policies without queues. The techniques that are developed in this paper find direct applications in program verification, model checking, in the implementation of distributed queues and in the design of incremental algorithms for shortest path problems.

[1]  K. L. McMillan,et al.  Automatic verification of sequential circuit designs , 1992, Philosophical Transactions of the Royal Society of London. Series A: Physical and Engineering Sciences.

[2]  Antonella Santone,et al.  Abstract Interpretation and Model Checking for Checking Secure Information Flow in Concurrent Systems , 2003, Fundam. Informaticae.

[3]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[4]  Charles Hymans,et al.  Static Analysis of Gated Data Dependence Graphs , 2004, SAS.

[5]  K. Rustan M. Leino,et al.  A semantic approach to secure information flow , 2000, Sci. Comput. Program..

[6]  Christos Faloutsos,et al.  R-MAT: A Recursive Model for Graph Mining , 2004, SDM.

[7]  David C. Moore,et al.  Robust distributed network localization with noisy range measurements , 2004, SenSys '04.

[8]  Andrew V. Goldberg,et al.  Scaling algorithms for the shortest paths problem , 1995, SODA '93.

[9]  Heiko Mantel,et al.  A Unifying Approach to the Security of Distributed and Multi-Threaded Programs , 2003, J. Comput. Secur..

[10]  Patricia Adams,et al.  Programming Languages: Principles and Practice , 1993 .

[11]  D. T. Lee,et al.  Securing web application code by static analysis and runtime protection , 2004, WWW '04.

[12]  Stephen A. Edwards,et al.  Incremental Algorithms for Inter-procedural Analysis of Safety Properties , 2005, CAV.

[13]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[14]  Kurt Mehlhorn,et al.  Faster algorithms for the shortest path problem , 1990, JACM.

[15]  David A. Bader,et al.  A fast, parallel spanning tree algorithm for symmetric multiprocessors , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[16]  Carlo Ghezzi,et al.  Programming language concepts , 1982 .

[17]  Kedar S. Namjoshi,et al.  Automata as Abstractions , 2005, VMCAI.

[18]  Satish K. Tripathi,et al.  The MARUTI hard real-time operating system , 1989, [1989] Proceedings. The Fourth Israel Conference on Computer Systems and Software Engineering.

[19]  Kyung-Goo Doh,et al.  Detection of information leak by data flow analysis , 2002, SIGP.

[20]  N. Zanghí,et al.  Probability models , 1984 .

[21]  Philip N. Klein,et al.  A randomized linear-time algorithm to find minimum spanning trees , 1995, JACM.

[22]  Michael T. Goodrich,et al.  Algorithm Design: Foundations, Analysis, and Internet Examples , 2001 .

[23]  William J. Cook,et al.  Combinatorial optimization , 1997 .

[24]  John T. Stasko,et al.  Pairing heaps: experiments and analysis , 1987, CACM.

[25]  Mikkel Thorup,et al.  Undirected single source shortest paths in linear time , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[26]  Thomas W. Reps,et al.  An Incremental Algorithm for a Generalization of the Shortest-Path Problem , 1996, J. Algorithms.

[27]  Seth Pettie,et al.  Experimental Evaluation of a New Shortest Path Algorithm , 2002, ALENEX.

[28]  Rajeev Raman,et al.  Recent results on the single-source shortest paths problem , 1997, SIGA.

[29]  Michael Pinedo,et al.  Scheduling: Theory, Algorithms, and Systems , 1994 .

[30]  Giuseppe F. Italiano,et al.  A new approach to dynamic all pairs shortest paths , 2003, STOC '03.

[31]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[32]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[33]  Thomas W. Reps,et al.  On the Computational Complexity of Dynamic Graph Problems , 1996, Theor. Comput. Sci..

[34]  William Hesse,et al.  The dynamic complexity of transitive closure is in DynTC0 , 2001, Theor. Comput. Sci..

[35]  David K. Smith Network Flows: Theory, Algorithms, and Applications , 1994 .

[36]  Giuseppe F. Italiano,et al.  A new approach to dynamic all pairs shortest paths , 2004, JACM.

[37]  R. D. Pose,et al.  Distributed route initialization algorithms for the Monash Secure RISC Multiprocessor , 1997, Proceedings of the Thirtieth Hawaii International Conference on System Sciences.

[38]  Hermann Kopetz,et al.  The real-time operating system of MARS , 1989, OPSR.

[39]  Krishna Bharat,et al.  SPHINX: A Framework for Creating Personal, Site-Specific Web Crawlers , 1998, Comput. Networks.

[40]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .