Winograd's work was separate from the issues of vision, however.
Beginning with the assumption that the blocks world was well represented
inside the computer's memory, he confronted the many-faceted problem
of how to get the computer to:
(1) understand questions in English about the situation;
(2) give answers in English to questions about the situation;
(3) understand requests in English to manipulate the blocks;
(4) break down each request into a sequence of operations it
could do;
(5) understand what it had done, and for what reasons;
(6) describe its actions and their reasons, in English.
It might seem reasonable to break up the overall program into modu-
lar subprograms, with one module for each different part of the problem;
then, after the modules have been developed separately, to integrate them
smoothly. Winograd found that this strategy of developing independent
modules posed fundamental difficulties. He developed a radical approach,
which challenged the theory that intelligence can be compartmentalized
into independent or semi-independent pieces. His program SHRDLU-
named after the old code "ET AOIN SHRDLU", used by linotype operators
to mark typos in a newspaper column-did not separate the problem into
clean conceptual parts. The operations of parsing sentences, producing
internal representations, reasoning about the world represented inside
itself, answering questions, and so on, were all deeply and intricately
meshed together in a procedural representation of knowledge. Some critics
have charged that his program is so tangled that it does not represent any
"theory" at all about language, nor does it contribute in any way to our
insights about thought processes. Nothing could be more wrong than such
claims, in my opinion. A tour de force such as SHRDLU may not be
isomorphic to what we do-in fact, in no way should you think that in
SHRDLU, the "symbol level" has been attained-but the act of creating it
and thinking about it offers tremendous insight into the way intelligence
works.
The Structure of SHRDLU
In fact, SHRDLU does consist of separate procedures, each of which
contains some knowledge about the world; but the procedures have such a
strong interdependency that they cannot be cleanly teased apart. The
program is like a very tangled knot which resists untangling; but the fact
that you cannot untangle it does not mean that you cannot understand it.
There may be an elegant geometrical description of the entire knot even if
it is physically messy. We could go back to a metaphor from the Mu
Offering, and compare it to looking at an orchard from a "natural" angle.
Winograd has written lucidly about SHRDLU. I quote here from his
article in Schank and Colby's book:
(^628) Artificial Intelligence: Retrospects