This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Algorithms Lecture 0: Introduction We should explain, before proceeding, that it is not our object to consider this program with reference to the actual arrangement of the data on the Variables of the engine, but simply as an abstract question of the nature and number of the operations required to be perfomed during its complete solution. — Ada Augusta Byron King, Countess of Lovelace, translator’s notes for Luigi F. Menabrea, “Sketch of the Analytical Engine invented by Charles Babbage, Esq.” (1843) You are right to demand that an artist engage his work consciously, but you confuse two different things: solving the problem and correctly posing the question. — Anton Chekhov, in a letter to A. S. Suvorin (October 27, 1888) The more we reduce ourselves to machines in the lower things, the more force we shall set free to use in the higher. — Anna C. Brackett, The Technique of Rest (1892) The moment a man begins to talk about technique that’s proof that he is fresh out of ideas. — Raymond Chandler 0 Introduction 0.1 What is an algorithm? An algorithm is an explicit, precise, unambiguous, mechanically-executable sequence of elementary instructions. For example, here is an algorithm for singing that annoying song ‘99 Bottles of Beer on the Wall’, for arbitrary values of 99: B OTTLES O F B EER ( n ) : For i ← n down to 1 Sing “ i bottles of beer on the wall, i bottles of beer, ” Sing “ Take one down, pass it around, i- 1 bottles of beer on the wall. ” Sing “ No bottles of beer on the wall, no bottles of beer, ” Sing “ Go to the store, buy some more, n bottles of beer on the wall. ” The word ‘algorithm’ does not derive, as algorithmophobic classicists might guess, from the Greek root algos ( αλγ o ς ), meaning ‘pain’. Rather, it is a corruption of the name of the 9th century Persian mathematician Ab¯u ’Abd All¯ah Muh . ammad ibn M¯us¯a al-Khw¯arizm¯ ı. 1 Al-Khw¯arizm¯ ı is perhaps best known as the writer of the treatise Al-Kit¯ab al-mukhtas . ar f¯ ıh¯ ıs¯ab al-˘gabr wa’l-muq¯abala 2 , from which the modern word algebra derives. The word algorithm is a corruption of the older word algorism (by false connection to the Greek arithmos ( αριθμ o ς ), meaning ‘number’, and perhaps the aforementioned αλγ o ς ), used to describe the modern decimal system for writing and manipulating numbers—in particular, the use of a small circle or sifr to represent a missing quantity—which al-Khw¯arizm¯ ı brought into Persia from India. Thanks to the efforts of the medieval Italian mathematician Leonardo of Pisa, better known as Fibonacci, algorism began to replace the abacus as the preferred system of commercial calculation 3 in Europe in the late 12th century, although it was several more centuries before cyphers became truly ubiquitous. (Counting boards were used by the English and Scottish royal exchequers well into the 1600s.) Thus, until very recently, the word algorithm referred exclusively to pencil-and-paper...
View Full Document
This note was uploaded on 12/15/2009 for the course 942 cs taught by Professor A during the Spring '09 term at University of Illinois at Urbana–Champaign.
- Spring '09