Design of reliable combinatorial algorithms using certificates

  • Fabrizio Luccio
  • Alberto Pedrotti
Regular Presentations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1203)


Assuming random computational errors in the execution of a RAM program, we discuss how to obtain a correct result with a given confidence bound. An algorithm ALG (requiring A operations) is used in connection with a certificate CERT (requiring C operations, C≤A). CERT assesses the result of ALG, however, it may fail as well. Each operation of ALG (resp. CERT) is repeated k (resp. h) times, and the result of the operation is established by majority voting. Letting π be the success probability of an operation, and 1−δ be the desired confidence on the overall result, k and h are evaluated as functions of A, C,-π and δ. The resulting running time is reduced by a factor of up to A/C over the time required without using CERT, for the same value of δ.

Two case studies with C<A are examined, their expected behavior is analyzed, and computational results on the running times are presented.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A. Aho, Hopcroft, Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA, 1974.Google Scholar
  2. 2.
    M. Blum and S. Kannan, Designing programs that check their work, Proc. 21st ACM Symposium on the Theory of Computing (1989), 86–95.Google Scholar
  3. 3.
    M. Blum, M. Luby, and R. Rubinfeld, Self-testing and self-correction programs with applications to numerical problems, Proc. 22nd ACM Symposium on the Theory of Computing (1990), 73–83.Google Scholar
  4. 4.
    M. Blum, W. Evans, P. Gemmell, S. Kannan, and M. Naor, Checking the correctness of memories, Proc. IEEE Symposium on the Foundations of Computer Science (1991), 90–99.Google Scholar
  5. 5.
    R.S. Borgstrom and S.R. Kosaraju, Comparison-based search in the presence of errors, Proc. 25th ACM Symposium on the Theory of Computing (1993), 130–136.Google Scholar
  6. 6.
    U. Feige, P. Raghavan, D. Peleg, and E. Upfal, Computing with noisy information, SIAM Journal on Computing, 23 (1994), 1001–1018.Google Scholar
  7. 7.
    D.E. Knuth, The Art of Computer Programming, vol. 3: Sorting and Searching, Addison-Wesley, Reading, MA, 1973.Google Scholar
  8. 8.
    K.B. Lakshmanan, B. Ravikumar, and K. Ganesan, Coping with erroneous information while sorting, IEEE Transactions on Computers, 40 (1991), 1081–1084.Google Scholar
  9. 9.
    F. Luccio and A. Pedrotti, Combinatorial algorithms in the presence of random errors, Dipartimento di Informatica, University of Pisa, Technical Report TR-13/95 (1995).Google Scholar
  10. 10.
    N. Pippenger, Analysis of error correction by majority voting, in Advances in Computing Research, Volume 5, JAI Press, 1989, pp. 171–198.Google Scholar
  11. 11.
    N. Pippenger, Reliable computation by formulas in the presence of noise. IEEE Transactions on Information Theory, 34 (1988), 194–197.Google Scholar
  12. 12.
    N. Pippenger, On networks of noisy gates, Proc. IEEE Symposium on the Foundations of Computer Science (1985), 30–38.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Fabrizio Luccio
    • 1
  • Alberto Pedrotti
    • 2
  1. 1.Dipartimento di InformaticaUniversità di PisaItaly
  2. 2.Scuola Normale SuperiorePisaItaly

Personalised recommendations