Here is another good book that might help us zero in on the real
issues faced by a developer who wants to write a successful computer chess program that addresses positional aspects of play.
In fact, the paragraph below seems to have been custom-written for this specific problem. Will this book live up to its promise
and actually help us to address this difficult problem?
p.vi"After studying this book, the reader will be able to encounter
an ill-defined problem, identify the real problem, effectively explore the constraints, plan a robust approach, carry it through
to a viable solution, and then evaluate what has been accomplished. The skills to achieve these goals will be developed by
examining the components of a problem-solving algorithm and studying a series of graduated exercises to familiarize, reinforce,
challenge, and stretch the reader's creativity in the problem-solving process. In order to cut through the maze of obstacles
blocking the pathway to the solution to the problem, we need skills analogous to a pair of scissors with two special blades.
One of the shears is made of the knowledge necessary to understand the problem and to develop technically feasible solutions.
However, no cutting can be done to solve problems of invention with just one shear. The other shear contains creativity that
can generate new and innovative ideas. Creativity alone will not generate solutions that are technically feasible, and again
no cutting can be done. Creativity along with a strong technical foundation, however, allows us to cut through the problem
to obtain original solutions."
Could it be that the problem we are trying to solve, which is to create a chess playing computer
program that plays a stronger positional game of chess, has been previously incorrectly defined? Have we been working instead
on the perceived problem, rather than the real problem?
p.vi-vii"A number of the engineers and managers provided examples of industrial problems that were
incorrectly defined. These examples of ill-defined problems highlight the need to define the real problem as opposed
to the perceived problem. We believe that if a problem-solving heuristic had been applied to some of these problems
in the first place, the true problem would have been uncovered more rapidly. A problem-solving heuristic is a systematic
approach to problem solving that helps guide us through the solution process and generate alternative solution pathways.
The heuristic in this book is quite robust and therefore applicable to many types of problems."
The authors say that there is a problem solving heuristic which can be applied as a process to guide
the solution to any problem. That sounds like a good approach, if it in fact works.
p.8"The goal of this book is to structure the process of defining and solving real problems in a
way that will be useful in everyday life, both on and off the job. We shall achieve this goal by providing a structure to
the problem-solving process called a heuristic. A problem-solving heuristic is a systematic approach that helps guide
us through the solution process and generate alternative solution pathways. While a heuristic cannot prevent people from
making errors, it provides a uniform, systematic approach to deal with any problem."
What distinguishes between effective and ineffective problem solvers?
p.11"The most important factors that distinguish between ineffective and effective problem solvers
are the attitudes with which they approach the problem, their aggressiveness in the problem-solving process, their concern
for accuracy, and the solution procedures they use."
We are instructed to review the problem statement for the correct wording and are told not to assume
that the problem in question has been thoroughly investigated. Are we addressing the true problem or merely the symptoms?
p.35"Never assume that the problem statement you were given is correctly worded or has been thoroughly
investigated. Always check to be sure that the problem statement directs the solution to the true cause and does not seek
merely to treat the symptoms (Trace the problem back to its origin)."
Here is a procedure to explore the problem:
p.38"Exploring the Problem
1. Identify all available information
2. Recall or learn pertinent theories and fundamentals
3. Collect missing information
4. Solve a simplified version of the problem to obtain a "Ballpark Answer".
5. Hypothesize and visualize what could be wrong with the current situation.
6. Brainstorm to guess the answer.
7. Recall past or related problems and experiences.
8. Describe or sketch the solution in a qualitative manner or sketch out a pathway that will lead
to the solution.
9. Collect more data and information.
10. After using some or all of the activities above, write a concise statement defining the real
problem."
Experienced problem solvers would offer us this advice:
p.50"What experienced problem solvers say
The first Four Steps of Experienced Problem Solvers
1. Collect and analyze information and data.
2. Talk with people familiar with the problem.
3. If at all possible, view the problem firsthand.
4. Confirm all findings.
The Next Four Steps
5. Determine if the problem should be solved
6. Continue to gather information and search the literature
7. Form simple hypotheses and quickly test them
8. Brainstorm potential causes and solution alternatives."
This next quote suggests that we read everything we can about the problem. We are to learn
the underlying principles and concepts. I would add that we might also need to approach an expert level of comprehension
for these principles.
p.52"Gather as much information as possible by reading texts and literature related to the problem
to learn the underlying fundamental principles and peripheral concepts."
The approach to problem solving selected by the authors for this book is based on the McMaster Five-Point
Strategy, presented in part below. Perhaps some time could be spent just thinking about answers to these questions.
p.183"McMaster Five-Point Strategy [Excerpts]
1. Define:
a. Identify the unknown or stated objective.
b. Isolate the system and identify the knowns and unknowns (inputs, laws, assumptions, criteria,
and constraints) stated in the problem.
c. List the inferred constraints and inferred criteria.
d. Identify the stated criteria.
2. Explore:
a. Identify tentative pertinent relationships among inputs, outputs, and unknowns.
b. Recall past related problems or experiences, pertinent theories, and fundamentals.
c. Hypothesize, visualize, idealize, generalize.
d. Discover what the real problem and the real constraints are.
e. Consider both short-time and long-time implications.
f. Identify meaningful criteria.
g. Choose a basis or a reference set of conditions.
h. Collect missing information, resources, or data.
i. Guess the answer or result.
j. Simplify the problem to obtain an 'order of magnitude' result.
k. If you cannot solve the proposed problem, first solve some related problems or solve part of
the problem."