Research Methodology
- Hamming: After quite a while of thinking I decided, ``No, I
should be in the mass production of a variable product. I should
be concerned with all of next year's problems, not just
the one in front of my face.'' By changing the question I still
got the same kind of results or better, but I changed things and
did important work. I attacked the major problem - How do I
conquer machines and do all of next year's problems when I don't
know what they are going to be? How do I prepare for it? How do
I do this one so I'll be on top of it? How do I obey Newton's
rule? He said, ``If I have seen further than others, it is
because I've stood on the shoulders of giants.'' These days we
stand on each other's feet!
You should do your job in such a fashion that others can
build on top of it, so they will indeed say, ``Yes, I've stood
on so and so's shoulders and I saw further.'' The essence of
science is cumulative. By changing a problem slightly you can
often do great work rather than merely good work. Instead of
attacking isolated problems, I made the resolution that I would
never again solve an isolated problem except as characteristic
of a class.
Now if you are much of a mathematician you know that the
effort to generalize often means that the solution is simple.
Often by stopping and saying, ``This is the problem he wants but
this is characteristic of so and so. Yes, I can attack the whole
class with a far superior method than the particular one because
I was earlier embedded in needless detail.'' The business of
abstraction frequently makes things simple. Furthermore, I filed
away the methods and prepared for the future problems.
To end this part, I'll remind you, ``It is a poor workman who
blames his tools - the good man gets on with the job, given what
he's got, and gets the best answer he can.'' And I suggest that
by altering the problem, by looking at the thing differently,
you can make a great deal of difference in your final
productivity because you can either do it in such a fashion that
people can indeed build on what you've done, or you can do it in
such a fashion that the next person has to essentially duplicate
again what you've done. It isn't just a matter of the job, it's
the way you write the report, the way you write the paper, the
whole attitude. It's just as easy to do a broad, general job as
one very special case. And it's much more satisfying and
rewarding!
- Most good pieces of AI delicately balance several
methodologies. For example, you must walk a fine line between
too much theory, possibly irrelevant to any real problem, and
voluminous implementation, which can represent an incoherent
munging of ad-hoc solutions. You are constantly faced with
research decisions that divide along a boundary between ``neat''
and ``scruffy.'' Should you take the time to formalize this
problem to some extent (so that, for example, you can prove its
intractability), or should you deal with it in its raw form,
which ill-defined but closer to reality? Taking the former
approach leads (when successful) to a clear, certain result that
will usually be either boring or at least will not Address the
Issues; the latter approach runs the risk of turning into a
bunch of hacks. Any one piece of work, and any one person,
should aim for a judicious balance, formalizing sub-problems that
seem to cry for it while keeping honest to the Big Picture.
Some work is like science. You look at how people learn
arithmetic, how the brain works, how kangaroos hop, and try to
figure it out and make a testable theory. Some work is like
engineering: you try to build a better problem solver or
shape-from algorithm. Some work is like mathematics: you play
with formalisms, try to understand their properties, hone them,
prove things about them. Some work is example-driven, trying to
explain specific phenomena. The best work combines all these and
more.
- Methods are tools. Use them; don't let them use you. Don't
fall for slogans that raise one above the others: ``AI research
needs to be put on firm foundations;'' ``Philosophers just talk.
AI is about hacking;'' ``You have to know what's computed before
you ask how.'' To succeed at AI, you have to be good at
technical methods and you have to be suspicious of them. For
instance, you should be able to prove theorems and you should
harbor doubts about whether theorems prove anything.
- Methodologies are social. Read how other people attacked
similar problems, and talk to people about how they proceeded in
specific cases.
|