Noisy Sorting Without Searching: Data Oblivious Sorting with Comparison Errors

Authors Ramtin Afshar, Michael Dillencourt, Michael T. Goodrich, Evrim Ozel

Thumbnail PDF


  • Filesize: 0.84 MB
  • 18 pages

Document Identifiers

Author Details

Ramtin Afshar
  • University of California, Irvine, CA, USA
Michael Dillencourt
  • University of California, Irvine, CA, USA
Michael T. Goodrich
  • University of California, Irvine, CA, USA
Evrim Ozel
  • University of California, Irvine, CA, USA

Cite AsGet BibTex

Ramtin Afshar, Michael Dillencourt, Michael T. Goodrich, and Evrim Ozel. Noisy Sorting Without Searching: Data Oblivious Sorting with Comparison Errors. In 21st International Symposium on Experimental Algorithms (SEA 2023). Leibniz International Proceedings in Informatics (LIPIcs), Volume 265, pp. 8:1-8:18, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


We provide and study several algorithms for sorting an array of n comparable distinct elements subject to probabilistic comparison errors. In this model, the comparison of two elements returns the wrong answer according to a fixed probability, p_e < 1/2, and otherwise returns the correct answer. The dislocation of an element is the distance between its position in a given (current or output) array and its position in a sorted array. There are various algorithms that can be utilized for sorting or near-sorting elements subject to probabilistic comparison errors, but these algorithms are not data oblivious because they all make heavy use of noisy binary searching. In this paper, we provide new methods for sorting with comparison errors that are data oblivious while avoiding the use of noisy binary search methods. In addition, we experimentally compare our algorithms and other sorting algorithms.

Subject Classification

ACM Subject Classification
  • Theory of computation → Design and analysis of algorithms
  • sorting
  • algorithms
  • randomization
  • experimentation


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Kenneth E Batcher. Sorting networks and their applications. In Proc. of the Spring Joint Computer Conference (AFIPS), pages 307-314. ACM, 1968. URL:
  2. Mark Braverman and Elchanan Mossel. Noisy sorting without resampling. In 19th ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 268-276, 2008. Google Scholar
  3. Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, and Clifford Stein. Introduction to Algorithms. MIT Press, 4/e edition, 2022. Google Scholar
  4. Kris Vestergaard Ebbesen. On the practicality of data-oblivious sorting. Master’s thesis, Aurhus Univ., Denmark, 2015. Google Scholar
  5. Uriel Feige, Prabhakar Raghavan, David Peleg, and Eli Upfal. Computing with noisy information. SIAM Journal on Computing, 23(5):1001-1018, 1994. Google Scholar
  6. Marc Fischlin. A cost-effective pay-per-multiplication comparison method for millionaires. In David Naccache, editor, Topics in Cryptology CT-RSA, pages 457-471. Springer, 2001. Google Scholar
  7. Barbara Geissmann, Stefano Leucci, Chih-Hung Liu, and Paolo Penna. Sorting with recurrent comparison errors. In Yoshio Okamoto and Takeshi Tokuyama, editors, 28th Int. Symp. on Algorithms and Computation (ISAAC), volume 92 of LIPIcs, pages 38:1-38:12, 2017. URL:
  8. Barbara Geissmann, Stefano Leucci, Chih-Hung Liu, and Paolo Penna. Optimal sorting with persistent comparison errors. In Michael A. Bender, Ola Svensson, and Grzegorz Herman, editors, 27th European Symposium on Algorithms (ESA), volume 144 of LIPIcs, pages 49:1-49:14, 2019. Google Scholar
  9. Barbara Geissmann, Stefano Leucci, Chih-Hung Liu, and Paolo Penna. Optimal dislocation with persistent errors in subquadratic time. Theory of Computing Systems, 64(3):508-521, 2020. This work appeared in preliminary form in STACS'18. Google Scholar
  10. Michael T. Goodrich. Randomized shellsort: A simple data-oblivious sorting algorithm. J. ACM, 58(6):27:1-27:26, December 2011. URL:
  11. Michael T. Goodrich. Spin-the-bottle sort and annealing sort: Oblivious sorting via round-robin random comparisons. Algorithmica, pages 1-24, 2012. URL:
  12. Michael T. Goodrich. Zig-zag sort: A simple deterministic data-oblivious sorting algorithm running in O(n log n) time. In 46th ACM Symposium on Theory of Computing (STOC), pages 684-693, 2014. URL:
  13. Michael T Goodrich and Roberto Tamassia. Algorithm Design and Applications, volume 363. Wiley, 2015. Google Scholar
  14. Richard M Karp and Robert Kleinberg. Noisy binary search and its applications. In 18th ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 881-890, 2007. Google Scholar
  15. Claire Kenyon-Mathieu and Andrew C Yao. On evaluating boolean functions with unreliable tests. International Journal of Foundations of Computer Science, 1(01):1-10, 1990. Google Scholar
  16. Kamil Khadiev, Artem Ilikaev, and Jevgenijs Vihrovs. Quantum algorithms for some strings problems based on quantum string comparator. Mathematics, 10(3):377, 2022. Google Scholar
  17. Rolf Klein, Rainer Penninger, Christian Sohler, and David P. Woodruff. Tolerant algorithms. In Camil Demetrescu and Magnús M. Halldórsson, editors, European Symposium on Algorithms (ESA), pages 736-747. Springer, 2011. Google Scholar
  18. Donald E Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching. Addison-Wesley, 2nd edition, 1998. Google Scholar
  19. Tom Leighton, Yuan Ma, and C. Greg Plaxton. Breaking the Θ(nlog² n) barrier for sorting with faults. Journal of Computer and System Sciences, 54(2):265-304, 1997. URL:
  20. Wen Liu, Shou-Shan Luo, and Ping Chen. A study of secure multi-party ranking problem. In Eighth ACIS Int. Conf. on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD), volume 2, pages 727-732, 2007. URL:
  21. Cheng Mao, Jonathan Weed, and Philippe Rigollet. Minimax rates and efficient algorithms for noisy sorting. In Firdaus Janoos, Mehryar Mohri, and Karthik Sridharan, editors, Proceedings of Algorithmic Learning Theory, volume 83 of Proceedings of Machine Learning Research, pages 821-847, 2018. Google Scholar
  22. Mihai Pǎtraşcu and Mikkel Thorup. The power of simple tabulation hashing. J. ACM, 59(3):1-50, June 2012. URL:
  23. Andrzej Pelc. Searching with known error probability. Theoretical Computer Science, 63(2):185-202, 1989. URL:
  24. Andrzej Pelc. Searching games with errors - fifty years of coping with liars. Theoretical Computer Science, 270(1):71-109, 2002. URL:
  25. Nicholas Pippenger. On networks of noisy gates. In 26th IEEE Symp. on Foundations of Computer Science (FOCS), pages 30-38, 1985. URL:
  26. Vaughan Ronald Pratt. Shellsort and sorting networks. PhD thesis, Stanford University, Stanford, CA, USA, 1972. Google Scholar
  27. Alfréd Rényi. On a problem in information theory. Magyar Tud. Akad. Mat. Kutató Int. Közl., 6:505-516, 1961. See URL:
  28. R.L. Rivest, A.R. Meyer, D.J. Kleitman, K. Winklmann, and J. Spencer. Coping with errors in binary search procedures. Journal of Computer and System Sciences, 20(3):396-404, 1980. URL:
  29. D. L. Shell. A high-speed sorting procedure. Comm. ACM, 2(7):30-32, July 1959. URL:
  30. Mikkel Thorup. Fast and powerful hashing using tabulation. Commun. ACM, 60(7):94-101, June 2017. URL:
  31. Ziao Wang, Nadim Ghaddar, and Lele Wang. Noisy sorting capacity. arXiv, abs/2202.01446, 2022. URL:
  32. Ya Xu, Nanyu Chen, Addrian Fernandez, Omar Sinno, and Anmol Bhasin. From infrastructure to culture: A/B testing challenges in large scale social networks. In 21th ACM SIGKDD Int. Conf. on Knowledge Discovery and Data Mining (KDD), pages 2227-2236, 2015. URL:
  33. Andrew C. Yao. Protocols for secure computations. In 23rd IEEE Symp. on Foundations of Computer Science (FOCS), pages 160-164, 1982. URL:
  34. Andrew C. Yao and F. Frances Yao. On fault-tolerant networks for sorting. SIAM Journal on Computing, 14(1):120-128, 1985. URL: