Information Technology Reference
In-Depth Information
move smoothly from one place to another with little delay. But, how
does one decide when traffic is moving smoothly? If most traffic is
traveling out of town during the evening rush hour, how much should
that traffic be delayed so that a single motorist can go in another di
rection? Is traffic delay measured as an overall average, or is there a
maximum amount of delay that is acceptable at any intersection?
Even if traffic does not seem to be badly congested, how would one
know if another traffic light pattern would allow motorists to travel
faster to their desired destinations? Any formal specification will need
to address many questions of this type; otherwise, it will be impossi
ble to determine whether a proposed solution is satisfactory or not.
Overall, specifications must indicate exactly what issues are to be ad
dressed and how potential solutions will be evaluated.
Developing Algorithms: Once a problem is carefully specified,
techniques or formulae can be developed to solve the problem. The
careful statement of these appropriate techniques is called an algo-
rithm and the process of developing algorithms is called the design
phase of problem solving. A careful statement of the algorithms and
any related material is called a design for a solution. Consider bak
ing a pie: You have the ingredients and tools, but need a clearly
written, precise, stepbystep recipe, or algorithm, so that you can
accomplish your goals. In an academic setting, algorithmic tech
niques are often discussed in class meetings or in course reading.
Sometimes, a specific algorithm is even stated as part of the prob
lem (e.g., “use Newton's Method to approximate the square root of
2 to three decimal places”). In other settings, the choice of algo
rithm is not always clear, and, in some cases, new algorithms may
need to be discovered in order to solve a problem.
In evaluating a potential algorithm, a highly desirable characteristic
is that the algorithm produces correct results. However, in many cases,
an algorithm with solely that quality still may not be acceptable. For
example, one solution to the problem “Predict the Dow Jones Average
for next Thursday” is “Wait until next Friday,” but this approach is
not sufficiently timely. Similarly, one solution to the question “Find the
call number of Walker's text Introduction to Computing and
Computer Science ” would be “Transport 100,000 people to the
Library of Congress and have them search all of the shelves until the
book is found.” Such an approach would probably answer the ques
tion reasonably quickly, but it might use more resources than appro
priate. These examples suggest that algorithms must not only produce
Search WWH ::




Custom Search