Perhaps we should consult a book on
creative problem solving, written by an expert real world problem solver, in order to get ideas related to writing
a computer chess program.
preface"Problem solving is what I have been trying to do all my
adult life, using whatever type of knowledge appeared accessible and relevant to me... This is a book about creative
problem solving... For me, the term 'problem' does not refer to the kind of prefabricated exercises or puzzles with which
educators continually confront students. It means real problems"
Are we unnecessarily constraining ourselves when we attempt to solve our problem? Perhaps we should
look at our problem again and see if we are creating artificial constraints which are not really part of our problem.
p.9"A puzzle is a problem that one cannot solve because of a self-imposed constraint. Creativity
is shackled by self-imposed constraints. Therefore, the key to freeing it lies in developing an ability to identify such constraints
and deliberately removing them."
Here are the components of a problem, as seem by Ackoff.
p.11"A problem, as I conceptualize it, has five types of component.
1. The one(s) faced with the problem, the decision maker(s)...
2. Those aspects of the problem situation the decision maker can control: the controllable variables...
3. Those aspects of the problem situation the decision maker cannot control but those which, together
with the controlled variables, can affect the outcome of his choice: the uncontrolled variables...
4. Constraints imposed from within or without on the possible values of the controlled and uncontrolled
variables...
5. The possible outcomes produced jointly by the decision maker's choice and the uncontrolled variables."
Perhaps we should think again about what our objectives are in writing a computer chess program. We
need to tell our program to search for something. What would that something be?
p.19"Problem solving, as we have seen, involves the selection of
one or more courses of action (means) in the pursuit of one or more objectives (ends). An objective is a desired outcome.
Knowing what our objectives are is clearly important in problem solving. If others are involved in our problem (and they usually
are), it is also important to understand how their objectives and ours are related. "
There appear to be two types of problems: the removal of something not desired and the obtaining
of something absent that is in fact wanted.
p.19"Problems are of two types: those involving the destruction, removal, or containment of something
that is present but not desired, and those involving the acquisition or attainment of something that is absent but desired."
Before we sit down to design our computer chess program, perhaps we should give some thought to
what an ideal chess program would look like. It might even play chess just like a human would, for example.
p.32"Idealized design is not all there is to either problem solving or planning, but it is the best
way I know of to open and stimulate the mind to creative activity. Furthermore, it is the best way I know of finding out
what one's objectives really are."
Again we need to understand what our objectives are. We might think we know what they are, but we
might be wrong.
p.32"The solutions to most personal problems... affect others as well as the problem solver... It
is necessary to understand their objectives if one is to correctly anticipate their responses and, therefore, the consequences
of a solution."
A general piece of advice when problem solving:
p.62"look for something that is common to each failure and that is never present when there is a
success."
Solutions to previous problems might need adjustment as time passes or our needs change.
p.189"The wise problem solver constantly monitors solutions to past problems to be sure they are
meeting his expectations. If they are not, he finds out why and modifies them."