Académique Documents
Professionnel Documents
Culture Documents
CHAPTER II
INFORMATION PROCESSING SYS
Alien Newell and Herbert A, Simon
language;1 that will permit us Lw u«.ke iWv^c,;,^ «i.i.:soz«us;ij -bcul «hi .-, i*r^-.;
.•:• .
human thinking and problem solving re^tu; oo s-h/ pvstvlav.e --h^r •,-;•:!: •:; •;•
-,-t
central nervous system operates as an information pcoc'eriai.n;?, ryr,;;: „
processing system," This explication CH>:: !:J :.iot. . ur covu-so, i--r-..'S- .'^' :r-J-.:
•fication foi the postulate, but simply a clsr-5 •;:.lv- .":IOTL of • ;:s ••..•••.a^.r. \;
take up in detail:
1» It has a memory capable of storing and retaining
symbols and structures of symbols,
2. It has s set of elementary information processes
that operate on the symbols and symbol structures in memory
in precisely defined ways 0
CIP #76
scriptors: [PAET OF SP£ECH,Vj£RB3 and [SENSE 8 FAST], the two pairs con
They make no assertions about how these, structures .and processes ££v re
The fact that there are computer realisations of «m IPS does not prove 9
of a symbol (for exampie 9 the "e" in trie wore' "symbol'* that ju^!: precedes
this parenthesis) is called e> ^,v^£i, 1-2^5. OI £2^SE^ ^^c class of .:V1I
tokens that are equal to a given token is a £22^1. j£££&° ^hea the A?ord
A /\
pq q 1°
~9-
CB? #76
be represented as a list
More formally, this list structure can
er of
The preceeding paragraphs outline only two of a numb
for example, using a
ways of representing associations c It is possible,
the same properties
"node-link" schema, to introduce associations having
the description r*eh~
as those defined by "next on a list," but based on
ented by a aet of
anism. In this scheme» the alphabet would be repres
attribute NEXT, whose
26 nodes<, Each node except the last would have the
have the attribute
value would be another node. Each node would also
ation of tho) ap-
SYMBOL, whose value would be the (interns! represent
character of this
propriate letter of the alphabet The distinctive
ol are not represented
scheme is that two different tokens of the saae symb
tinct nodes each of
by copies of that symbol, but are represented by dis
SYMBOL 0 We are not
which has that sane symbol as value of its attribute
tell us whether the
at present aware of any operational test that would
by a node-link
relation of NEXT in a particular EPS was represented
us paragraph,, Hence,
scheme, or by the list scheme described in a previo
l be guided by con-
in our choice of a particular representation: we shal
on.
siderations of convenience and simplicity of expositi
onomously~-
In general s primitive symbols will be designated aut
"p 0 l! Arbitrary nainss
that is, n 'p Mt will be used to stand for a token of
lists, list structures,
and locational designators will be used tc designate
and portions of th«*se, Thus, the list structure depicted a i\sw paragraphs
above might be called JJL "., Then "(pvq)" could be referred to as "the left
" Later, we shall
side of Ln.," and "(qor)" as "the right side of L.
d&
-it
Prom the elementary Test and Fitid processes 9 proc eases can be
constructed for comparing coraf-cund symbols s (1) by finding the values of
the aaroe attribute of both synibols end testing thesg attributes for
Identity: (2) by finding corresponding fights of the two symbols,, eud com-
paring these parts « Thus, suppose f in performing « t&sk Involving logic
expressions, the system compares (pvq) with (pvr). If the two compounds
are represented as Iista 9 [p»v,q] and [p,v,r], respectively, £ sequence o£
Find Next processes on each list, followed, in each case by a Test of the
symbols found ^ will compare the corresponding symbols on the two lists and
discover that only the third pair differ.
Since all comparisons between pairs of symbols must refer back,
ultimately s to tests of identity on corresponding subparts, the system
will be uasble to learn to discriminate axaoag a pair of symbols if the
symbols are structurally isomorphic to each other , and if, in each cor-
responding pair of their component primitive symbols , both primitive sym-
bols are of the same type* It will 3 of course, be able to discriminate foe
tween fcwo symbol tokens that have different locations in larger symbol
structures with which they are associated what we have previously called
different contexts,, Thus it can distinguish between the first !l e" and the
second "«" is thts word "seven" precisely because the latter GCO be found
by two applications of the Find Next process to the forraer. We may say;
"The second 'e 1 in 'seven 1 is next to the next of the first 'e 1 ,, 11
Other elementary processes creat© and saodify synjbols,, Gopj^ pro--
cesses create in memory symbol tokens that are isomorphic to other tokens,.
and that have corresponding primitive symbols of the same type
-13-
C1P #76
to descriptions, and
processes insert symbols in lists, add descriptors
the color of apple;"
amend lists and descriptions thus: "Assign red as
r of apple from green
or "Insert h after g in alphabet;" or "Change colo
re are also processes
to red." Erase processes delete symbol tokens. The
nment, and for output-
•for inputting symbols to the system frora its enviro
ting •yribolft £ron the system to the environment.
cessing sya-
An important characteristic of the information pro
is imp lic it in the ope ration of the Fin• d and "*.Ass
ign processes„ ' We
"•..'• _• :.•
,tern
-' "•••'• ' "• •'" • • ;•• ••' ' -'
man walking down a block and crossing a street, we can describe his be
havior by taking as elementary prooesses such acts as "stepping with left
foot," "stepping with right foot," "observing color of traffic light,"
and so on 0 We can then write a program that describes how he steps al
ternately with left and right feet until he reaches the end of a block,
then observes the traffic light, stops if it is red, steps left and right
to cross the street if it is green 0 It is not difficult to define a
whether two symbols are identical or nof 0 The second component determines
what process in the program will be executed next, so that processing can
continue la one way (down one part of the program list structure) if the
test condition is satisfied, in another way (down another part of the pro«-
gram list structure) if the test condition is not satisfied 9
cesses that are iterated, sometimes a very large number of times. Each
loop must contain at least one branch process, so that the iteration can
ultimately (when the branch condition is satisfied) be terminated.
The description of the behavior of an information processing sys
ute processes
nay In fact eootroi the behavior of the system—it may exec
A simple
In accordance vith. or under the control of, this program,
o* Here the pro
example of such a system is an old-fashioned player pian
r that is in
gram is symbolized by a pattern of holes in a roll of pape
serted in the piano. This roll, during operation of the instrument 9 passes
in a lateral band
over a mechanism that senses the locations of the holes
piano keys cor
across the roll and activates by air pressure particular
responding to the locations of the holes 0
mo
The player piano is no less a physical device than the ther
differentiate*
stat, operating under no less definite physical laws. What
the thermostat,
them from our present viewpoint: is that the piano, but not
of holes) the
contains a specialized subpart that records (in a pattern
(tubes pressing
scheme of its behavior, and another specialized subpart
interprets this
against the player roll and connected vdth valves) that
0 The first of
record and causes the mechanism to act in obedience to it
o's j3£oj£rjua» the
these specialized parts is a memory that contains the pian
second is the program interpreter«
em,
In analysing the behavior of an information processing syst
the part of
it is not always possible to draw n sharp boundary between
m and the part that
the system that is to be regarded as "simply" a mechanis
ose, for exaimple
is best viewed as governed by an interpreted program. Supp
ce of a particular
that the system is capable of finding the first occurren
0 On the one hand,
symbol (say S) on a list (say L): Find the first S on L
out this Find
the system might simply possess a "mechanism111 for carrying
be performed by
operationo On the other hand, the Find operation might
rpreter:
executing the following program under control of an inte
CIP #76 -17-
anisms will play an important role in our psychologi'. *cal theories, we shall
pursue the example here briefly. Consider a process that is capable of
;.'". ' •/ '•'/'' .- ' -''" •'••' ' ''','.'•
list structures, or nodes• of two types: Test nodes, and Terminal nodes,.
Associated with each test node is a test and a description. The attributes
of the descriptors belonging to the description correspond tc the various
possible test outcomes, the values associated with the attributes designate
other nodes o Associated with each terminal node is a list structure that
provides the meaning of input words sorted to that node,.
The interpreter takes the input word and the test associated wish
the first test node. The test might be s for example: "Test first letter
CIP #76 -18-
of input word." If the input word were "DOG,, 11 the test 5:esult would
be "D", Next, the interpreter searches the description of the test node
to find a descriptor whose attribute matches the test result—in the ex
ample, it searches for the attribute "D" 0 Having found this attribute., it
next finds the node designated by the attribute value—which will b© an-
other test node or a terminal node 0
The node associated with the attribute "D11 of the first node
might be another test node, with the t»sts "Test last letter of input
word c " Now the teyfc result would be MG"» By way of the description as
sociated with the second test node, this test result would lead to a new
node, and so on, until a terminal node was reached. The output of th&
interpretive process would be the designator of this terminal node, the
terminal node for the word UDOG 0 " The structure of nodes is represented
schematically in Figure 1, The program of the interpreter itself, which
makes use of this structure, can be described as follows:
1 Find the first node
2 Execute test associated with node
3 Find value of attribute at test node corresponding to
output of test
4 Find node corresponding to attribute value
If node is terminal, output it» halt
If node is test node* return to 2
1st
node
Test first letter
1
Ufa
i
Terminal
for CAT
Terminal
for DOG
Figure 1
CIP #76 -19-
cludfi the subjects' English language verbalizations of what they are think
ing, constitute an important part of the behavior the theory is to pre
the "THBH" of "IF <.*<> THEN «,<,„" unless it is needed for clarity,)
Line 2 Is to be interpreted as follows? With c problem is associated
a* attribute, its UTILITY* If the UTILITY of the problem is LOW (if
the value of UTILITY is LOW), then the program, LOGIC THEORIST, is to
terminate (EXIT). It is implicit in the notation that if the condition
is not satisfied (if the UTILITY of the problem is not LOW), we simply
proceed from the conditional process to the next process in the program
(line 3 in this case).
Attributes like UTILITY actually have two distinct interpreta
tions. The phrase UTILITY(X) can be rendered i "the utility of X"—ice.,
the value of the attribute UTILITY, applied to X. If someone were to
ask, "What is the utility of X?'1 , a reasonable, and possibly correct,
answer would be, "Low." On the other hand, if we regard line 2 as a
step in a program, or recipe for doing something, we might interpret its
"Find the utility of the problem; if it is low, exit." Here, we are con
cerned with a process, FIND UTILITY operating on the argument X. This
sort of ambiguity is common in programming languages: the name of an at
tribute or the name of a process, followed by the name of one or more argu~
ments, may stand either: (1) for an instruction to find th« value of the
attribute or execute the process, or (2) for the result of executing the
instruction (the value of the attribute, the output of the process). This
ambiguity in identical with the use in mathematics of the same expression
to denote either a function or its value.
might say, "If the creasing is clear s proceed/1 or, more elaborately ,
"If the status of the crossing is 'clear, 8 proceed/' meanings "Find If
the crossing is clear; if it is, proceed."
Line 3 uses the APPLY process (called the DO process in some
programming languages, the EVALUATE process in others) to make explicit
that the substitution method (a subprocess) is not merely being named,
but is to be carried outo Lines 4 and 5 are another conditional process,
where STATUS is the attribute to be tested s and PROVED its criterial value
"Exhibit the proof of the problem and exit" is the action to be carried
out if the condition is satisfied <>
Line 6 is a GENERATE process., To generate means to produce
items in some sequence- -from a list or otherwise <> In this case- sub-
tual application, lines 8»9 and 10-11 are conditional processes to deter
nine what is to be done next, after the method has been applied* By
lines 8*9, if the application to the problem of the method just generated
has produced a proof, the proof is printed out, the generator is halted (no
more methods are tried), and LOGIC THEORIST terminates <> By lines 10-11,
for the current problems, the program continues with line 12 . The amount
of EFFORT that has been expended (e.g., the number of instructions executed}
CIP #76 -26-
is compared with a standard, the EFFORT LIMIT, and the program termin
ated if the limit has been exceeded. By line 13, if the limit has not
been exceeded, the current problem is replaced by the NEXT problem on the
list of untried problems, and the generator reactivated to try the var
ious methods on this new problem. Notice that SET X EQUAL TO Y treats X
as a name that can be identified, from time to time, with different con
crete objects—different problems from the problem list can become "the
problemo" Notice also that NEXT is treated as the name of a process.
When objects are arranged on a list, a pointer can be maintained to a
particular object on that list. The process NEXT moves such a pointer down
the list one item—i 0 e 0 , to the next object« Finally, line 13 contains a
duced from time to time, will be explained,as necessary, when they appear»
In describing the program, we have mentioned or alluded to all of the ele
ments of an information processing system mentioned in the previous section
of this chapter.
lc It is assumed that symbols, lists, and descriptions (e.g.,
problems, values of problem attributes) are stored in a memory.
2o A variety of elementary information processes for operating
on such symbols has been mentioned.
3o The Logic Theorist is itself and example of a program.
4. In describing how the program is executed, we have given an
informal account of the interpretive process.
CIP #76 -27-