About Algorithms
Algorithms-The Foundation of Search Engine Optimization
In the ninth century Abu Abdullah Muhammad ibn Musa
al-Khwarizmi, a Persian mathematician, introduced algebrac
concepts and Arabic numerals while he was working in Baghdad.
During the time Baghdad was the international center for
scientific study. Abu Abdullah Muhammad ibn Musa al-Khwarizmi's
process of performing arithmetic with Arabic numerals was
called algorism. In the eighteenth century the name evolved
into algorithm. Algorithms are a finite set of carefully
defined instruction. Algorithms are procedures that are used
for accomplishing some task which will end in a defined
end-state. Algorithms are used in linguistics, computers, and
mathematics.
Many people like to think of algorithms as steps in a well
written recipe. Provided you follow each step of the recipe to
the letter you will have an edible dinner. As long as you
follow each step of the algorithm you will find the proper
solution. Simple algorithms can be used to design complex
algorithms.
Computers use algorithms as a way to process information.
All computer programs are created with algorithms (or series of
algorithms) that give the computer a list of instructions to
follow. Computers usually read data from an input device
when using an algorithm to process information. In order to be
successful algorithms need to be carefully defined for a
computer to read them. Program designers need to consider every
possible scenario that could arise and set up a series of
algorithms to resolve the problem. Designers have to be very
careful not to change the order of the instructions; computers
cannot cope with an algorithm that is in the wrong place. Flow
of control refers to how the list of algorithms must start at
the top and go all the way to the bottom, following every
single step on the way.
Some terms that are used to describe algorithms include
natural languages, flowcharts, psudocode, and programming
languages. Natural expression algorithms are generally only
seen in simple algorithms. Computers generally use programming
languages that are intended for expressing algorithms.
There are different ways to classify algorithms. The first
is by the specific type of algorithm. Types of algorithms
include recursive and interative algorithms, deterministic and
non-deterministic algorithms, and approximation algorithms. The
second method used to classify algorithms is by their design
methodology or their paradigm. Typical paradigm is are divide
and conquer, the greedy method, linear programming, dynamic
programming, search and enumeration, reduction, and probalictic
and heuristic paradigms. Different fields of scientific study
have different ways of classifying algorithms, classified to
make their field as efficient as possible. Some different types
of algorithms different scientific fields use include; search
algorithms, merge algorithms, string algorithms, combinatorial
algorithms, cryptography, sorting algorithms, numerical
algorithms, graph algorithms, computational geometric
algorithms, data compression algorithms, and parsing
techniques.
Internet search engines use algorithms to aid in search
engine optimization. Google's web crawler's use a link analysis
algorithm to index and rank web pages. In an attempt to prevent
webmasters from using underhanded schemes to influence search
engine optimization, many internet search engines disclose as
little about the algorithms they use in their optimization
techniques.
|