Design of reliable combinatorial algorithms using certificates
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.
- 1.A. Aho, Hopcroft, Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA, 1974.Google Scholar
- 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.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.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.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.U. Feige, P. Raghavan, D. Peleg, and E. Upfal, Computing with noisy information, SIAM Journal on Computing, 23 (1994), 1001–1018.Google Scholar
- 7.D.E. Knuth, The Art of Computer Programming, vol. 3: Sorting and Searching, Addison-Wesley, Reading, MA, 1973.Google Scholar
- 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.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.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.N. Pippenger, Reliable computation by formulas in the presence of noise. IEEE Transactions on Information Theory, 34 (1988), 194–197.Google Scholar
- 12.N. Pippenger, On networks of noisy gates, Proc. IEEE Symposium on the Foundations of Computer Science (1985), 30–38.Google Scholar