Formal Analysis of Online Algorithms

  • Benjamin Aminof
  • Orna Kupferman
  • Robby Lampert
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6996)


In [2], we showed how viewing online algorithms as reactive systems enables the application of ideas from formal verification to the competitive analysis of online algorithms. Our approach is based on weighted automata, which assign to each input word a cost in \({\rm I\!R}^{\geq 0}\). By relating the “unbounded look ahead” of optimal offline algorithms with nondeterminism, and relating the “no look ahead” of online algorithms with determinism, we were able to solve problems about the competitive ratio of online algorithms and the memory they require.

In this paper we improve the application in three important and technically challenging aspects. First, we allow the competitive analysis to take into account assumptions about the environment. Second, we allow the online algorithm to have a bounded lookahead. Third, we describe a symbolic version of the model-checking algorithm and demonstrate its applicability. The first two contributions broaden the scope of our approach to settings in which the traditional analysis of online algorithms is particularly complicated. The third contribution improves the practicality of our approach and enables it to handle larger state spaces.


Model Check Input Sequence Competitive Ratio Online Algorithm Approximation Factor 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Albers, S.: On the influence of lookahead in competitive paging algorithms. Algorithmica 18, 283–305 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Aminof, B., Kupferman, O., Lampert, R.: Reasoning about online algorithms with weighted automata. ACM Transactions on Algorithms 6(2) (2010)Google Scholar
  3. 3.
    Aminof, B., Kupferman, O., Lampert, R.: Rigorous Approximated Determinization of Weighted Automata. In: Proc. 26th LICS, pp. 345–354 (2011)Google Scholar
  4. 4.
    Bahar, R.I., Frohm, E.A., Gaona, C.M., Hachtel, G.D., Macii, E., Pardo, A., Somenzi, F.: Algebraic decision diagrams and their applications. FMSD 10(2-3), 171–206 (1997)Google Scholar
  5. 5.
    Ben-David, S., Borodin, A., Karp, R.M., Tardos, G., Wigderson, A.: On the power of randomization in on-line algorithms. Algorithmica 11(2), 2–14 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Borodin, A., El-Yaniv, R.: Online Computation and Competitive Analysis. Cambridge Univ. Press, Cambridge (1998)zbMATHGoogle Scholar
  7. 7.
    Borodin, A., Irani, S., Raghavan, P., Schieber, B.: Competitive Paging with Locality of Reference. J. Comput. Syst. Sci. 50(2), 244–258 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Breslauer, D.: On competitive on-line paging with lookahead. TCS 209(1-2), 365–375 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Bryant, R.E.: Graph-based algorithms for Boolean-function manipulation. IEEE Transactions on Computing C-35(8), 677–691 (1986)CrossRefzbMATHGoogle Scholar
  10. 10.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: 1020 states and beyond. Information and Computation 98(2), 142–170 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Chakrabarti, A., Chatterjee, K., Henzinger, T.A., Kupferman, O., Majumdar, R.: Verifying quantitative properties using bound functions. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 50–64. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Chatterjee, K., Henzinger, T., Jobstmann, B.: Environment assumptions for synthesis. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 147–161. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Chrobak, M., Karloff, H.J., Payne, T.H., Vishwanathan, S.: New Results on Server Problems. SIAM J. Discrete Math. 4(2), 172–181 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Chrobak, M., Larmore, L.L.: The server problem and on-line games. In: On-line Algorithms. DIMACS Series DMTCS, vol. 7, pp. 11–64 (1992)Google Scholar
  15. 15.
    Chung, F.R.K., Graham, R.L., Saks, M.E.: A dynamic location problem for graphs. Combinatorica 9(2), 111–131 (1989)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Francez, N.: Fairness. Texts and Monographs in Computer Science. Springer, Heidelberg (1986)CrossRefzbMATHGoogle Scholar
  17. 17.
    Fujita, M., McGeer, P.C., Yang, J.C.-Y.: Multi-Terminal Binary Decision Diagrams: An Efficient Data Structure for Matrix Representation. FMSD 10(2-3), 149–169 (1997)Google Scholar
  18. 18.
    Harel, D., Pnueli, A.: On the development of reactive systems. In: Logics and Models of Concurrent Systems. NATO ASI, vol. F-13, pp. 477–498 (1985)Google Scholar
  19. 19.
    Holtmann, M., Kaiser, Ł., Thomas, W.: Degrees of lookahead in regular infinite games. In: Ong, L. (ed.) FOSSACS 2010. LNCS, vol. 6014, pp. 252–266. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  20. 20.
    Immerman, N.: Nondeterministic space is closed under complement. I&C 17, 935–938 (1988)zbMATHGoogle Scholar
  21. 21.
    Irani, S.: Coloring inductive graphs on-line. Algorithmica 11(1), 53–72 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Kao, M.-Y., Tate, S.R.: Online matching with blocked input. Inf. Process. Lett. 38(3), 113–116 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Karlin, A.R., Manasse, M.S., Rudolph, L., Sleator, D.D.: Competitive snoopy caching. Algorithmica 3(1), 79–119 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Kuich, W., Salomaa, A.: Semirings, Automata, Languages. Springer, Heidelberg (1986)CrossRefzbMATHGoogle Scholar
  25. 25.
    Manasse, M.S., McGeoch, L.A., Sleator, D.D.: Competitive algorithms for server problems. J. Algorithms 11(2), 208–230 (1990)MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Mohri, M.: Finite-state transducers in language and speech processing. Computational Linguistics 23(2), 269–311 (1997)MathSciNetGoogle Scholar
  27. 27.
    Pnueli, A.: In transition from global to modular temporal reasoning about programs. In: Logics and Models of Concurrent Systems. NATO ASI, vol. F-13, pp. 123–144 (1985)Google Scholar
  28. 28.
    Sleator, D.D., Tarjan, R.E.: Amortized efficiency of list update and paging rules. Communications of the ACM 28(2), 202–208 (1985)MathSciNetCrossRefGoogle Scholar
  29. 29.
    Somenzi, F.: CUDD package, 2.4.1.,
  30. 30.
    Whaley, J.: JavaBDD package, 1.0b2.,
  31. 31.
    Young, N.: On-line caching as cache size varies. In: Proc. 2nd SODA, pp. 241–250 (1991)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Benjamin Aminof
    • 1
  • Orna Kupferman
    • 1
  • Robby Lampert
    • 2
  1. 1.School of Computer Science and EngineeringHebrew UniversityJerusalemIsrael
  2. 2.Department of Computer ScienceWeizmann Institute of ScienceRehovotIsrael

Personalised recommendations