The Role of Algorithms

Now let’s begin with the most fundamental concept on Computer Science, which is Algorithm. Algorithm is a set of steps that defines how a task is completalgorithm definitioned or performed. For example recipes are algorithm for cooking, directions are algorithm for finding your way around strange place, there is also a step by step guide to perform a machinery that is called algorithm, and for example you learn a magic trick you need an algorithm to perform that.

Before a machine such as a computer can perform a task, an algorithm for performing that task must be discovered and represented in a form that is compatible with the machine. A representation of an algorithm is called a program. A program usually displayed on computer screens. What you see on the screen does not necessarily what happened on the background, programs are encoded in a manner compatible with the technology of the machine. The process of developing program, encoding it in machine-compatible form, and inserting it into a machine is called programming. Programs, and the algorithms they represent, are collectively referred to as software, the machinery itself called hardware.

An algorithm to cook rice

Final result : Easy, Quick, Healthy, Inexpensive Tasty Rice

Steps:

Step 1. Rinse the rice. Rinse until the water is clear and not cloudy.

Step 2. Combine long grain rice and water. For every cup of long grain rice, add 1 1/2 cups water.

Step 3. Boil the Rice. Bring the rice to a boil, uncovered, at medium heat.

Step 4. When the rice is boiling, turn the heat down to medium low. Place the lid on the pot, tilting it to allow steam to escape.

Step 5. After the rice has been cooking for a few minutes, check for holes or “craters”.

Step 6. When you can see the holes or crater, put the lid on tight. Turn the heat down to low.

Step 7. Simmer the covered rice for another 15 minutes. Fluff it up with a fork and serve hot.

Now, the rice ready to serve. Final result achieved.

The study of algorithm began as a subject in mathematics’. Indeed, the search for algorithm was a significant activity if mathematician long before the development of today’s computers. The goal was to find a single set of directions that described how all problems of a particular type could be solved. One of the best known examples of this early research is the long division algorithm for finding the quotient of two multiple-digit numbers. Another example is the Euclidian algorithm, discovered by the ancient Greek mathematician Euclid, for finding the greatest common divisor of two positive integers.

The Euclidian Algorithm for Finding the Greatest Common Divisor of two positive integers

Description : This algorithm, assumes that its input consists of two positive integers and proceeds to compute the greatest common divisor of these two values.

Procedure:

Step 1. Assign X and Y the value of the larger and smaller of the two input values, respectively.

Step 2. Divide X and Y, and call the remainder N.

Step 3. If N is not 0, then assign X the return value of Y, assign Y the value of N, and return to step 2; otherwise, the greatest common divisor is the value currently assigned to Y.

Once an algorithm for performing a task has been found, the performance of that task no longer requires an understanding of the principles on which the algorithm is based. Instead, the performance of the task is reduced to the process merely following directions. It is through this ability to capture and convey intelligence by means of algorithms that we are able to build machines that perform useful tasks. Consequently, the level of intelligence displayed by machines is limited by the intelligence that can be conveyed through algorithms. We can construct a machine to perform a task only if an algorithm exists for performing that task.In turn, if no algorithm exists for solving a problem, then the solution of that problem lies beyond the capability of machines.

Indentifying the limitation of algorithmic capabilities solidified as a subject in mathematics in the 1930s with the publication of Kurt Gödel’s incompleteness Theorem. This Theorem essentially states that in any mathematical theory encompassing our traditional arithmetic systems, there are statements whose truth or falseness cannot be established by algorithmic means. In short, any complete study of our arithmetic systems lies beyond the capabilities of algorithm activities.

This realization shook the foundation of mathematics, and the study of algorithmic capabilities that ensued was the beginning of the field known today as Computer Science. Indeed, it is the study of algorithms that forms the core of Computer Science.

Related entries:

  1. The Science of Algorithms
  2. Introduction to Computer Science and this website
  3. Computer Science Course

3 comments to The Role of Algorithms

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>