ALGORITHMS
The rapid rise of computer science has the study of algorithms as its focal point. There are some other words that almost, but not quite, capture the concept that is needed: procedure, recipe, process, routine, method, rigmarole. Like these things an algorithm is a set of rules or directions (instructions) for getting a specific output from a specific input. The distinguishing feature of an algorithm is, that all vagueness must be eliminated; the rules must describe operations that are so simple and well-defined that they can be executed by a machine. Furthermore, an algorithm must always terminate after a finite number of steps. A computer programme is the statement of an algorithm in some well-defined language, although the algorithm itself is a mental concept that exists independently of any representation. Anyone who has prepared a computer programme will appreciate the fact that an algorithm must be very precisely defined, with attention to detail that is unusual in comparison with other things people do. Programmes for numerical problems were written as early as 1800 В. C. when Babylonian mathematicians gave rules for solving many types of equations. The rules were as step-by-step procedures applied systematically to particular numerical examples. The word "algorithm" itself originated in the Middle East, although at a much later time. Hindu positional decimal notation and gave birth to algebra as an independent branch of mathematics. It was translated into Latin in the 12th century and had a great influence for many centuries on the development of computing procedures. Originally algorithms were concerned solely with numerical calculations; Euclid's algorithm for finding the greatest common divisor of two numbers — is the best illustration. There are many properties of Euclid's powerful algorithm which hаs become a basic "tool" for modern algebra and number theory. Nowadays the concept of an algorithm is one of the most fundamental notions not only in mathematics but in science and engineering. Experience with computers has shown that the data manipulated by programmes сan represent virtually anything. In all branches of mathematics the task to prove the solvability or unsolvability of any problem-requires a precise algorithm. In computer science the emphasis has now shifted to study of various structures by which information can be represented and to the branching, or decision-making aspects of algorithms, which allow them to fall on one or another sequence of operations depending on the state of affairs at the time. It is precisely these features of algorithms that sometimes make algorithmic models more suitable than traditional mathematical models for the representation and organization of knowledge. Although numerical algorithms certainly have many interesting features, there are non-numerical ones and in fact algorithms in Cybernetics deal primarily with manipulation of symbols that need not represent numbers. Current algorithms are becoming more and more refined and sophisticated. Algorithms for searching information stored in a computer's memory, such as Sequential-Search, Binary-Search, Tree-Search, etc., may illustrate several important points about algorithms in general: an algorithm must be stated precisely and it is not an easy task to do that as one may think. When one tries to solve a problem by computer, the first algorithm that comes to mind can usually be greatly improved. Data structures such as Optimum-Binary-Search-tree are important tools for the construction of efficient algorithms. When one starts to investigate how fast an algorithm is or when one attempts to find the best possible algorithm for a specific application interesting issues arise and one often finds that such questions have subtle answers. Even the "best possible" algorithm can sometimes be improved if we change the ground rules. Since computers "think" differently from people, methods that work well for the human mind are not necessarily the most efficient when they are transferred to a machine. (from В.П.Дорожкина “Английский язык для математиков”) 8. Find English equivalents in the text: Фокус (центральна тема), формула, затяжна скучна процедура, невизначеність, певна кількість,точно визначений, десяткова система числення, дільник, можливість розв'язання, точний, наголос зрушився, розгалуження, припадати на, послідовність, стан справ, підходящий, операції з символами, кращі та більш ускладнені, послідовний пошук, двійковий пошук, пошук по дереву, дієвий, знаряддя, нечіткий, основні правила.
9. Answer the questions: 1. What synonymous words capture the concept of “algorithm”? 2. What are the distinguishing features of an algorithm? 3. What does Euclid's algorithm deal with? 4. How do algorithms concern computer science? 5. What do algorithms in Cybernetics deal primarily with? 6. What types of algorithms are there? 7. What can a programmer do with a best possible algorithm? 8. Do computers "think" differently from people? 9. What gave birth to algebra as an independent branch of mathematics? 10. When were the first programmes for numerical problems written?
|