Hostname: page-component-848d4c4894-x24gv Total loading time: 0 Render date: 2024-05-17T12:54:43.628Z Has data issue: false hasContentIssue false

When are Two Algorithms the Same?

Published online by Cambridge University Press:  15 January 2014

Andreas Blass
Affiliation:
Mathematics Department, University of Michigan, Ann Arbor, MI 48109–1043, U.S.A.E-mail: ablass@umich.edu
Nachum Dershowitz
Affiliation:
School of Computer Science, Tel Aviv University, 69978 Ramat Aviv, IsraelE-mail: nachum.dershowitz@cs.tau.ac.il
Yuri Gurevich
Affiliation:
Microsoft Research, One Microsoft Way, Redmond, Wa 98052, U.S.A.E-mail: gurevich@microsoft.com

Abstract

People usually regard algorithms as more abstract than the programs that implement them. The natural way to formalize this idea is that algorithms are equivalence classes of programs with respect to a suitable equivalence relation. We argue that no such equivalence relation exists.

Type
Research Article
Copyright
Copyright © Association for Symbolic Logic 2009

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

REFERENCES

[1] Aho, Alfred, Hopcroft, John, and Ullman, Jeferey, The design and analysis of computer algorithms, Addison-Wesley, 1974.Google Scholar
[2] Blass, Andreas and Gurevich, Yuri, Algorthms: A quest for absoute definitions, Bulletin of the European Association for Theoretical Computer Science, vol. 81 (2003), pp. 195.Google Scholar
[3] Blass, Andreas and Gurevich, Yuri, Ordinary interactive small-step algorithms, ACM Transactions on Computational Logic, Part I, vol. 7 (2006), pp. 363419, Part II, vol. 8 (2007), article 15, and Part III, vol. 8 (2007), article 16.Google Scholar
[4] Bourbaki, Nicolas, Eléments de mathématique XVII, première partie: Les structures fondamentales de l'analyse, Livre I. Théorie des ensembles, Hermann & Cie, 1954, English translation Theory of sets , Hermann and Addison-Wesley, 1968, reprinted by Springer-Verlag (2004).Google Scholar
[5] Buss, Samuel, Kechris, Alexander, Pillay, Anand, and Shore, Richard, The prospects for mathematical logic in the twenty-first century, this Bulletin, vol. 7 (2001), pp. 169196.Google Scholar
[6] de Bruijn, Nicolaas, Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church–Rosser theorem, Koninklijke Nederlandse Akademie van Wetenschappen Proc. Ser. A, vol. 75 = Indagationes Mathematicae, vol. 34 (1972), pp. 381·392.Google Scholar
[7] Dershowitz, Nachum and Gurevich, Yuri, A natural axiomatization of computability and proof of Church's thesis, this Bulletin, vol. 14 (2008), pp. 299350.Google Scholar
[8] Friedman, Harvey, Some systems of second-order arithmetic and their use, Proceedings of the International Congress of Mathematicians, Vancouver 1974, vol. I, 1975, pp. 235242.Google Scholar
[9] Girard, Jean-Yves, Linear logic, Theoretical Computer Science, vol. 50 (1987), pp. 1101.Google Scholar
[10] Gurevich, Yuri, Evolving algebras: Lipari guide, Specification and validation methods (Börger, E., editor), Oxford University Press, 1995, pp. 936.Google Scholar
[11] Gurevich, Yuri, Sequential abstract state machines capture sequential algorithms, ACM Transactions on Computational Logic, vol. 1 (2000), pp. 77.Google Scholar
[12] Joyce, David, Euclid's elements, web page at http://aleph0.clarku.edu/~djoyce/java/elements/elements.html (viewed on 01 27, 2008.).Google Scholar
[13] Knuth, Donald E., Sorting and searching, The art of computer programming, vol. 3, Addison-Wesley, 1973.Google Scholar
[14] Lambek, Joachim, Deductive systems and categories. I. Syntactic calculus and residuated categories, Mathematical Systems Theory, vol. 2 (1968), pp. 287.Google Scholar
[15] Moschovakis, Yiannis, English as a programming language, Tarski Lecture 2, (03 5, 2008) available at http://www.math.ucla.edu/~ynm/lectures.htm.Google Scholar
[16] Moschovakis, Yiannis, What is an algorithm?, Mathematics unlimited (Engquist, B. and Schmid, W., editors), Springer-Verlag, 2001, pp. 919936.Google Scholar
[17] Papadimitriou, Christos, Algorithms, games, and the internet, Proceedings of the 33rd annual ACM Symposium on Theory of Computing (STOC), ACM, 2001, pp. 749753.Google Scholar
[18] Literate programs, Merge sort, web site, http://en.literateprograms.org/Herge_sort_(C).Google Scholar
[19] Simpson, Stephen, Subsystems of second order arithmetic, Perspectives in Mathematical Logic, Springer-Verlag, 1999.Google Scholar
[20] Tarski, Alfred, Undecidable theories, North-Holland, 1953, with the collaboration of Andrzej Mostowski and Raphael Robinson.Google Scholar
[21] Vopěnka, Petr, Mathematics in the alternative set theory, Teubner Verlag, 1979.Google Scholar
[22] Wikipedia, Euclidean algorithm, 2008, web site, http://www.answers.com/topic/euclidean-algorithm?cat=technology (viewed on 01 27, 2008.).Google Scholar
[23] Yanofsky, Noson, Towards a definition of an algorithm, preprint, 2006, arXiv:math/0602053.Google Scholar