Analytical Results on the BFS vs. DFS Algorithm Selection Problem. Part I: Tree Search

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9457)


Breadth-first search (BFS) and depth-first search (DFS) are the two most fundamental search algorithms. We derive approximations of their expected runtimes in complete trees, as a function of tree depth and probabilistic goal distribution. We also demonstrate that the analytical approximations are close to the empirical averages for most parameter settings, and that the results can be used to predict the best algorithm given the relevant problem features.


Algorithm Selection Problem Distributional Goals Relevant Problem Features Hutter 2015a Complete Binary Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. Chen, P.C.: Heuristic sampling: a method for predicting the performance of tree searching programs. SIAM J. Comput. 21(2), 295–315 (1992)CrossRefzbMATHGoogle Scholar
  2. Edelkamp, S., Schrödl, S.: Heuristic Search. Morgan Kaufmann Publishers Inc., San Francisco (2012)zbMATHGoogle Scholar
  3. Everitt, T., Hutter, M.: A topological approach to meta-heuristics: analytical results on the BFS vs. DFS algorithm selection problem. Technical report, Australian National University (2015a). arXiv:1509.02709 [cs.AI]
  4. Everitt, T., Hutter, M.: Analytical results on the BFS vs. DFS algorithm selection problem. Part II: graph search. In: 28th Australian Joint Conference on Artificial Intelligence (2015b)Google Scholar
  5. Hutter, F., Xu, L., Hoos, H.H., Leyton-Brown, K.: Algorithm runtime prediction: methods & evaluation. Artif. Intell. 206(1), 79–111 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  6. Kilby, P., Slaney, J., Thiébaux, S., Walsh, T.: Estimating search tree size. In: Proceedings of the 21st National Conference of Artificial Intelligence. AAAI, Menlo Park (2006)Google Scholar
  7. Knuth, D.E.: Estimating the efficiency of backtrack programs. Math. Comput. 29(129), 122–136 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  8. Korf, R.E., Reid, M., Edelkamp, S.: Time complexity of iterative-deepening-A*. Artif. Intell. 129(1–2), 199–218 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  9. Kotthoff, L.: Algorithm selection for combinatorial search problems: a survey. AI Mag., 1–17 (2014)Google Scholar
  10. Lelis, L.H.S., Otten, L., and Dechter, R.: Predicting the size of Depth-first Branch and Bound search trees. In: IJCAI International Joint Conference on Artificial Intelligence, pp. 594–600 (2013)Google Scholar
  11. Peixoto, T.P.: The graph-tool python library. figshare (2015)Google Scholar
  12. Purdom, P.W.: Tree size by partial backtracking. SIAM J. Comput. 7(4), 481–491 (1978)MathSciNetCrossRefzbMATHGoogle Scholar
  13. Rice, J.R.: The algorithm selection problem. Adv. Comput. 15, 65–117 (1975)CrossRefGoogle Scholar
  14. Rokicki, T., Kociemba, H.: The diameter of the rubiks cube group is twenty. SIAM J. Discrete Math. 27(2), 1082–1105 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  15. Russell, S.J., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn. Prentice Hall, Englewood Cliffs (2010)zbMATHGoogle Scholar
  16. Zahavi, U., Felner, A., Burch, N., Holte, R.C.: Predicting the performance of IDA* using conditional distributions. J. Artif. Int. Res. 37, 41–83 (2010)MathSciNetzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Australian National UniversityCanberraAustralia

Personalised recommendations