Abstract
The design of algorithms for land measurement, financial transactions and astronomic computations goes back to the third millennium BCE. First examples of algorithms can be found in Mesopotamian tablets and in Egyptians scrolls. An important role in the development of numerical algorithms was played in the ninth century by the Persian mathematician al-Khwarizmi, who introduced the Indian numeration systems to the Arab world and from whom we derived the name ‘algorithm’ to denote computing procedures. In the Middle Ages algorithms for commercial transactions were widely used, but it was not until the nineteenth century that the problem of characterizing the power of algorithms was addressed. The precise definition of ‘algorithm’ and of the notion of computability were established by A.M. Turing in the 1930s. His work is also considered the beginning of the history of Computer Science.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
For example, Herodotus claimed that the development of geometry in ancient Egypt was due to the need to solve land measurement problems arising from repeated Nile floods.
- 2.
Babylonians left several tables of simple inverses.
- 3.
In some cases, as users unfortunately realize at their own expense, for economy reasons, programs are written by poorly qualified personnel, without making use of the scientific programming methods that research in computer science has made available. This is why computer programs can sometimes behave differently than they were expected to and can even make errors with disastrous consequences.
- 4.
The name of the volume should not be misunderstood: the book is entirely devoted to the Indo-Arabic computing system and the use of the abacus is never addressed.
- 5.
Thanks to his competence in this field, in 1241 Fibonacci was in charge of reorganizing the public accounting of the city of Pisa.
- 6.
In order to understand the great advantage to using this type of data structures it is enough to observe that searching and updating a database consisting of 500 million records can be done in fewer than 30 steps by making use of Fibonacci trees.
- 7.
We have to remember that the value a (mod b) corresponds to the remainder of a divided by b; for example 7 (mod 5) = 2.
- 8.
In 1673 Leibniz himself proposed one of the first models of computing machine to the Royal Society: the “machina arithmetica.”
- 9.
It is worth observing that the creation of suitable ontologies allowing us to classify entire domains of human knowledge is still today one of the big challenges of modern computer science. This is related to the aim of providing computer systems (not only those that supervise information search in the Web but also those that execute traditional data management applications) with semantic support that enhances the “intelligence” of software.
- 10.
Note that the contrary is not true. As we will see in Sect. 2.3 and in Chap. 3, there are problems that, in principle, can be solved in algorithmic terms but cannot be solved in practice with a computer since their solution may require an amount of time (computation steps) greater than the life of the Universe.
References
Boyer, C.B., Merzbach, U.C.: A History of Mathematics, 3rd edn. Wiley, Hoboken (2011)
Cartocci, A.: La matematica degli Egizi. I papiri matematici del Medio Regno. Firenze University Press, Firenze (2007)
Chabert, J.L. (ed.): A History of Algorithms. From the Pebble to the Microchip. Springer, Berlin (1999)
Davis, M.: The Universal Computer. The Road from Leibniz to Turing. W. W. Norton & Company, New York (2000)
Devlin, K.: The Man of Numbers. Fibonacci’s Arithmetic Revolution. Walker & Company, New York (2011)
Dowek, G.: Les metamorphoses du calcul, Une étonnante histoire de mathématiques. Le Pommier, Paris (2007)
Eco, U.: The Search for the Perfect Language. Blackwell, Oxford (1995)
Hodges, A.: Alan Turing: The Enigma. Simon & Schuster, New York (1983)
Matthews, W.H.: Mazes and Labyrinths. Longmans, London (1922)
Morelli, M., Tangheroni, M. (eds.): Leonardo Fibonacci. Il tempo, le opere, l’eredità scientifica. Pacini Editore, Pisa (1994)
Rashed, R.: Al-Khwarizmi. The Beginnings of Algebra. Saqi, London (2009)
Reisch, G.: Margarita philosophica (1525) Anastatic reprint. Institut für Anglistik und Amerikanistik, Universität Salzburg (2002)
Youschkevitch, A.: Les mathématiques arabes (VIII-XV siècles). Collection d’Histoire des Sciences, 2 – CNRS, Centre d’Histoire des Sciences et des Doctrines. VRIN, Paris (1976)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Ausiello, G. (2013). Algorithms, An Historical Perspective. In: Ausiello, G., Petreschi, R. (eds) The Power of Algorithms. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39652-6_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-39652-6_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-39651-9
Online ISBN: 978-3-642-39652-6
eBook Packages: Computer ScienceComputer Science (R0)