Ascertaining the Capabilities
of the Computational Device
Once you completely understand a problem, you
need to ascertain the capabilities of the computational device the algorithm is
intended for. The vast majority of
algorithms in use today are still destined to
be programmed for a computer closely resembling the von Neumann machine—a
computer architecture outlined by the prominent Hungarian-American
mathematician John von Neumann (1903– 1957), in collaboration with A. Burks and
H. Goldstine, in 1946. The essence of this architecture is captured by the
so-called random-access machine (RAM). Its central assumption is that
instructions are executed one after another, one operation at a time.
Accordingly, algorithms designed to be executed on such machines are called sequential
algorithms.
The central assumption of the RAM model does
not hold for some newer computers that can execute operations concurrently,
i.e., in parallel. Algorithms that take advantage of this capability are called
parallel
algorithms. Still, studying the classic techniques for design and
analysis of algorithms under the RAM model remains the cornerstone of
algorithmics for the foreseeable future.
Should you worry about the speed and amount of
memory of a computer at your disposal? If you are designing an algorithm as a
scientific exercise, the answer is a qualified no. As you will see in Section
2.1, most computer scientists prefer to study algorithms in terms independent
of specification parameters for a particular computer. If you are designing an
algorithm as a practical tool, the answer may depend on a problem you need to
solve. Even the “slow” computers of today are almost unimaginably fast.
Consequently, in many situations you need not worry about a computer being too
slow for the task. There are important problems, however, that are very complex
by their nature, or have to process huge volumes of data, or deal with
applications where the time is critical. In such situations, it is imperative
to be aware of the speed and memory available on a particular computer system.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.