Vous êtes sur la page 1sur 28

: CU I

February 22, 1967

CHAPTER II
INFORMATION PROCESSING SYS
Alien Newell and Herbert A, Simon

This chapter undertakes two "relaced ttskii:;

(l.» £a describe the organization dii-*. ;Cxxjcf,ipny.D..g o*i <:u .'->Vir::-


- *.-

ation processing system (IPS);


(2) to scsut forth a semiforiaa] laiugu^ge;- {..Informstiou ;\ •••-•i?•• ai:\>

language;1 that will permit us Lw u«.ke iWv^c,;,^ «i.i.:soz«us;ij -bcul «hi .-, i*r^-.;

f.ure and behavior of an IPS;


We have explained in the preceding chr.ot^r that our fhp.vr <v

.•:• .
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,;;: „

important function of this chapter is ty <mk^ 'he neaniug of tlv^ jo r


late clearei- by providing • an '•explication or tae phrase *• ii^v^r ,£;, for*

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. \;

empirical verification is the'task of Liter arap- r's


Ii5 particular, the postulcta cam;of be rssf-ed rQ.;,lfl % r; b^ ^cd^:;^;

its intrinsic plausibility,, Many people wi^i r irid i* i-igh.y %_.•:•..It•/,-••."<{<£

others may find it quite plausible, Th<? pl':u?:idll Uy ^r c ftr:-<r,vlX:.,- . ?

hypothesis about the world is almost always r;^''-^Epc<ieen«:. :'y^:^- ,->;-;;

are seldom ^hought plausible when they nre r-e- ap i hr...;*:- »/


C3J? #76

acceptedc If empirical evidence supports an hypo^Ue&ls increasingly,

and if the hypothesis succeeds in providing explanations for « ftlgrilf't-


cant range of phenomena, it becomes more and more plausible- if
it survives empirical tests for several generations,, it is likely to be
regarded not merely as plausible but as self evident.

Thus, there is little point in trying to judge directly -whether-


a postulate is plausible. That judgment will be MC* ••illy made ,.

the empirical evidence has been marshalled to test it a In this cha|t


only
we shall be concerned/with explaining what is meant by saying that
operates as an information processing

Information Processing Systems

The theory proposed here explains thinking and problem-sol?Ing


behavior in terms of information processes,, If we consider the orgaaism

to consist of effectors, receptors, and a control system for joining the!.},


then this theory is mini? a theory of the control system,, It. avoids rao«t

questions of sensory and motor activities. The system of which it tre&ta

is assumed to have the following characteristics,, each of which we aha 11

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

3 0 It has in memory programs, that is, stored


organizations of information processes » that can operate
on the symbols in memory,
4* It has an ( interprftfcive process that is capable of
executing the programs that are stored in memory,
5o It has an alphabet of £riml^ive symbol r , that
are the elementary discrirninabie units.
6. Primitive symbols can be cooibined into <;orapouad
symbols, and compound symbols can be further combined
in the same ways 0
7. Included among the compound symbols are ,lists_,
or ordered sets of symbols 0
8 0 Another class of compound symbols are descriptors
or ordered pairs of symbols., The first member of a de-
scriptor is called its attribute , the second maasbar, its

9. Descriptors may be combined into sets (not ordered),


called descriptions .
10. Symbols, lists, and descriptions are combined
aikd organized in memory in list, s trugtureg.«
11 o Kost of the information processes that operate
on the memory may handle list structures, as well as
primitive symbols, as units,

Bf.fore entering into a detailed discussion of these assumptions


a set of simple examples may help to make their manning more concrete
Consider an information processing system for handling Morse £ode., '.die
system would have to be capable of discriminations among long (dash) and
short (dot) signals, and short (letter space) and long (word space) in-
tervals, Thus, the alphabet of primitive symbols could consist of % dot,
dash, letter space, and word space (Assumption 5} The memory of the
system woulc have some internal means (if it were a computer, « magnetic
core, say) for storing representations of symbols of that alphabet and
structures c£ those symbols (Assumption 1) , Among the contents of meoiory
CIP #76 -4-

mlght be Internal representations of letters of the Roman alphabet


these being most simply represented by lists of the primitive symbols
X

(Assumption 7) 0 Thus, the letter "S" could be stored as the list:


[-,-,-].. Lists representing letters could be combined into higher-order
lists representing words (Assumption 10). Thus, the word "was" could
be represented by the list [W,A,S] where each member of the list is it-
self the appropriate list from the Morse code alphabet,,
Among the elementary information processes would be one to find
the member of a list that is NEXT to a given member. Thus,, given the sym-
bol "A" on the list [W,A,S], this process would find the symbol ?>S" 0 An-
other elementary process weald test whether two symbols are identical--
whether, for example, the second symbol of [W,A,S] is identical with,
or different: from, the second symbol of [H*A,S] (Assumption 2). The
elementary processes could be combined into larger processes (Assumption 3).
For example, the process for testing symbol identity could be combined with
the process for findir*g the next symbol on a list to test whether two
lists were identical (Assumption 11):

1 Find first (next) symbol on List A*


2 Find first (next) symbol on List B 0
2 0 1 If neither exists, report lists identical,
2.2 If one only exists, report lists different.
2.3 If both exist, test symbols for identity c
2.3.1 If different,, report lists different,
2.3.2 If identical, go to 1.

To execute the program just described, the information proces-


sing system would need an interpretive process a process that would keep
track of the current process that was being executed, and, after execution,
would find the next process to be executed (Assumption 4),
CIP #76 ~5~

Ftnally* descriptive information cai? be associated with the

symbol structures. With the list [W 5A 8 S] might be associated the; de­

scriptors: [PAET OF SP£ECH,Vj£RB3 and [SENSE 8 FAST], the two pairs con­

stituting a description o* the list (Assumptions B end 9}«

Ifritice that the postulates characterize the memory» eleosentary

information processes., programs, end interpretive process ab£iti«ct ly.

They make no assertions about how these, structures .and processes ££v re­

alized^ physically or biologically. Tfeat a system of this kind C£n be

realized by a determinate mechanism is aioply demonstrated by the exist­

ence and behavior of modern digital computers,. %?hich can be

to fit the postulates—hence to simulate the system t?e «re

The fact that there are computer realisations of «m IPS does not prove 9

of course s that there exist biological realizations. That is a question

we shall have to consider later*

Symbols (Assumptions I and 5)


By symbols we mean patterns that t:an be compared by the iwfornr-

processing system, and judged equal or differ-smto A particular ir',sf.atjce

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

"aywbcl" to used by itself, the context will determine whether a token or

its type i> meant. .


Whafc alphabet of symbols is taken as primitive for tiis x>8

will vary with particular applications. For example 9 to describe .-.ensoiry

acd perceptual processes in visual pattern recognition^ the primitive sym.bol;:.,

might be *er. up to correspond, more cr le«s A to the elementary


CIP #76 -6-

atlons of which the retina is capable 0 Thus, in information-processing


theories of visual pattern recognition it is usual to describe the sensory
input as a two-dimensional array of positions, each of which may be stimu-
lated or not stimulated. The input can then be represented as a two-
dimensional array of zeroes and ones. Similarly, information-processing
theories o£ speech recognition may take as their primitive symbols the
elementary characteristics into which phonemes are assumed to be analysed
by the auditory apparatus.
Configurations of primitive symbols may themselves become pro-
cessing units. In applications where sensory discrimination is not the
central concern, it may be more convenient to omit the pattern-recognition
problem at this elementary level, and to take familiar configurations as
the alphabet of primitive symbols. Thus, in the theory of problem solving
set forth in this volume, we shall not be concerned with the information
processing involved in determining that a particular visual pattern rep-
resents B token of the letter "c." We will simply take the letters of the
English alphabet, the digits, punctuation marks, and a few special symbols
(for example, the implication sign, !> used in logic) as the alphabet of
primitive symbols.
iili instances of the letter "c", then, will be treated as be-
longing to the same type. This is equivalent, from the standpoint of psycho]
ogy 9 to assuming that the subject whose behavior is under study does not,
under the conditions of the experiment, discriminate between two tokens
provided they are both classifiable as "c's 0 " Whether this is a suitable
assumption will depend on the experimental setting, and can be settled,
in the last instance, only empirically*. For example, by inducing the
CIP

subject to assume the psychological set of a proofreader, he can bs made


to discriminate between a "c" that is clearly printed and one that is
broken, or printed unevenly. Under these conditions, not all tokens oC
of "c" would belong to the same type 0
In taking the letters of the alphabet as primitive symbols, we
divorce the problem-solving theory from detailed concern with the sensory
mechanisms c Again, if we are wrong in doing so in particular applications
the error will be revealed by the inability of the theory to account for
the observed behavior of subjects«
Another consequence of taking letters as primitive symbols is
that we cannot then speak of one pair of letters as more closely resembling
each other than another pair. We cannot say that "s" resembles "z" more
closely than it resembles "t 0 " Letters 9 as primitive symbols , can only be
tokens of the same type or tokens of different types. There is no notion
of degree of difference among primitive symbols. To introduce degrees
of difference and similarity among letters w@ would have to represent

the letters not as primitives, but as organizations of simpler elementary


characteristics. For example 9 each letter might be represented by a de-
scription: whether it contains a closed loop, an intersection of lines,
a curved line, and so on. Then we could say that a "t" contains an inter-
section of lines, while both "s" and "z" contain a single sigsag curve,
The SPAM theory of verbal learning, to be discussed later, proceeds in
just this way, hence permits predictions to be made about ths behavioral
consequences of similarity among letters.
GIF #76 -8-

Symbol Structures (Assumptions 6-10}

A simple example has already been provided of the combination


of primitive symbols into lists and descriptions,, A couple of additional

examples will illustrate the flexibility of the system in accommodating


a wide range of representations 0 Ons of the problem-solving situations

we shall consider later Involves choosing a move in the game of chess 0


In storing information about the chess men in memory » the men will be
represented as compound symbols having descriptions s@ts of attribute-

value pairs-^associated with them. The attributes of a ch«S8S rrssn include


his TYPE {KING, QUEEK, BOOK, BISHOP, KNIGHT, PAWN}, his COLOR [WIUTK*
BLACK], and his POSITION [the name of the square on which he stands},
Thus, a described symbol can represent the "Black Rook on the King's
Bishop's third square," A £Ofitloja is a compound symbol structure chat
associates with each square fch«* man occupying that square, if there is any
and the adjacent squares in various directions
In another problem-solving situation, the subjects are dealing
with expressions from symbolic logic, for example: "(pvq)* Cq:>r) s " This

expression can be represented in memory as the list of its primitive sym-


bols: [ ( «p»v ,q, } , o , ( ,q :?»r , ) ] , Alternatively,, if the parentheses were

Interpreted in their usual role as delimiters of subgroups of symbols*


the string could be represented as a list structure in memory,, with the

parentheses omit teds

A /\
pq q 1°
~9-
CB? #76

be represented as a list
More formally, this list structure can

U,A,B], where A»tv,p,q] and B»[ 2»q,e]


lists and descriptions
In this information processing system,
for m the fun cti ons att rib ute d to "as sociations" in aoae psycho*
will per
l the ori es. Not e tha t in the IPS the re are two distinct possible
logica
ret ati ons for the con cep t of ass oci ation 0 The first interpretation
interp
reg ard two symbol s as ass oci ate d if the second has the relation of
is to
to the fir st on som e lis t. Thu s "h" is associated, in this sense,
NEXT
"g" in the Eng lis h alp hab et. The rel ation is not syraoetricn if "h11
with
t to "g" on a lis t, thi s doe s not imp ly that "g" is next to "h" on
is nex
or any oth er, lis t. Mot e fur the r tha t the association involves a
that,
ee- ter med rel ati on amo ng the two sym bols (actually, symbol tokens) and
thr
t on whi ch the y app ear . Hen ce, we may say that the two symbols ere
the lis
ate d in the con tex t of a par tic ula r list: e,g., "Sg is next to S.
associ
on list Lr "
more complex than a
The context of an association can be far
it may be a lis t str uct ure of any deg ree of complexity. Thus, we
list
tha t an "e" is ass oci ate d wit h a "v " i.e., an "e" follows the
observe
in the fou rth sub -subli sfc (!. ., fourth word) of the first sublist
"v"
fir st sen ten ce) of the lis t of sen tences called Lincoln's Gettys-
(i.e.,
burg Addresse
t of association Is tc
The second interpretation of the concep
ard two sym bol s as ass oci ate d if the second is the value of some at*
reg
but e o£ the fir st. Thu s, "re d" is associated with "apple" in the da*
tri
ipt ion "th e col or of the app le is red," Again, the relation is
scr
clearly not symmetric.
-40-
CIP #76

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

s that are used it tVe


sometimes have to distinguish (a) metslirgtiiatle name
or designators (in.t£.rasl
theory to designate expressions from {b) the naaws
g system itself; but for
names) assigned to them by the information processin
inct! oa
the presents we shall postpone disc us <? 100. oi tl?is dist
CIP #76 ' -11-

Some Elementary Proceases (Assumption 2)

The assumptions state that the information processing system


possesses a number of elementary processes that operate upon symbols and
symbol structures. "Elementary" means that they are not further analysed
in the theory into simpler processes.
We have already mentioned a process for comparing primitive sym-
bols c This process is the simplest example of a Test 0 After the test has
been performed, the information is available to the system as to whether
the two symbols were the name (members of the same type), or different 0
It is assumed that the set of types of primitive symbols (the alphabet)
is given a. priori, and hence that the simple test for identity or difference
of primitive symbols is invariant over time, (A theory to explain how an
alphabet is acquired does not treat the letters of the alphabet as primi-
tive symbols but, as previously explained, represents them as compound
symbols constructed from more elementary components )
A Find process takes one or more symbols as input, and produces
as output a symbol or structure that is related to the input in a specified
way* There are two elementary Find processes,, The Find Next process takes
a symbol token on the list as output If given the letter "g" on the English
alphabet as input, the Find Next process will produce the letter "h" on that
alphabet as output
Value process takes two symbol types as inputs,, and in-
terpreting the first as the name of a symbol, the second as the name of
an attribute, produces the value of that attribute of that symbol., If
given the symbols "apple" and "color" 9 the Find Value* process might pro-
duce "red" as its output.
CIP

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
-' "•••'• ' "• •'" • • ;•• ••' ' -'

ut«^and produces a r:e-


'said that a find process takes some symbols as Inp
r part of memory that
'
.
la ted symbol as outjgutk.V;r the
*
re

mus t be a par tic ula
holds the outputs 9
holds the inputs to Find processes, and a part that
When these are found.
in some
We may say that information is "known" to the system
in memory, or if it
"general sense if the information is stored somewhere
be found, by some ava ila ble pro cesses , fro m inf ormation that is stored
can
however s
in memory. It is "immediately known" or "effectively known^"
in a special part
only after it has been found, and while it is stored
mem ory that ve may cal l imm edi ate mem ory or wor king memory« The elemen­
of
is in immediate memory—
tary processes operate on information only when it
ormation in immediate
except, of course, the Find processes 9 which use inf
l memory a
memory to retrieve other information from the genera
3, 4» 11)
Programs and the Interpretive Process (Assumptions
sists in the
The behavior of an information processing system con
of the sorts we have
rapid execution of sequences of elementary processes
GIF #76 -14-

describedo These sequences may be described in terms of rules and


regularities, in a form usually called a program. Thus, if we observe a

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

programming language in which such a program can be written down formally


and precisely,,
Similarly., we can write a program that describes the behavior
of a house thermostat:
1 Observe temperature
2 If temperature is below 70 , test if furnace is on
If furnace is on, return to 1
If furnace is not on, turn it on and return to 1
3 If temperature is over 72 , test if furnace is on
If furance is on, turn it off and return to 1
If furnace is not on, return to 1
4 If temperature is between 70 and 72 , return to 1
The elementary processes in the latter exanple are tests that determine
the current temperature and actions that turn the furnace off and on 0
Programs are then list structures of processes„ For each list
in such a structure, each component designates either an elementary pro­
cess or a subprogram (sublist)„ A program is executed, recursively, by
executing in turn each of its successive components.
For the execution of the programs, one class of elementary
processes, in addition to those already considered, must be introduced:
CIP #76 -15-

Condltlonal Branch processes, There are two components in a conditional

branch process. The first component is a Test to determine whether some

particular condition is satisfied or not. For example 9 it might determine

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

Programs generally contain many loops? that is, cycles of pro­

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­

tem by a program can be understood in two senses,, The program may be

purely "external" to the systern-~it may be our \my 9 as outside observers,


of describing the system. In this case, there may be nothing inside the
system itself that corresponds to the program, but only a mechanism that
behaves in the manner described by the program. Thus 9 there may be in

the thermostat a bimetallic strip that bends on heating so .that it opens


an electrical circuit and shuts off the furnace when it becomes warmer
than 72°; and that straightens on cooling so that it closes the circuit
and starts the furnace when it becomes cooler than 70 . The system does

not "follow" a program, it simply behaves according to physical laws in


the manner determined by its geometry and construetioru
In other instances^ the information processing system may possess
an internal representation of the program, and this internal representation
-16-
CO? #76

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-

1 Find the first (next) symbol on list L


2 If there is not another symbol, halt
3 If there is a symbol, test if it equals S
4 If the symbol equals S, halt, if it does not return to 1
Unless we had some means for examining the micros true ture of the
system, it would be impossible to distinguish between these two means of
carrying out the Find operation.
A more elaborate example of the two alternative possibilities is
provided by mechanisms for discriminating, or "sort*i ing«" Since such mech~
• .-

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
;.'". ' •/ '•'/'' .- ' -''" •'••' ' ''','.'•

recognizing English words. By "recognizing," we mean, when a word is in­


put to the process, outputting to immediate memory a synftol or structure
»
with which is associated various aspects of the meaning of the word—e.g a
its spelling* pronunciation, synonyms, visual representations of its
referent, and so on«
Discrimination might be accomplishad by a unitary process* Sort,
that is executed when an English word is input, and that provides the
desired output. Alternatively, discrimination might be accomplished by an
interpretive system, organized as follows: Xn memory is stored a set 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

Assumption 11 for our information processing system states that


most information processes may handle list structures as well as primitive
units. The discrimination process, whether interpretive or direct^ could
operate on either primitive symbols or composite structures as inputs 0
Thus, a single process could have the capability of discriminating among
single letters of the alphabet, words s and even larger structures 0 Later,,
in our discussion of EPAM, we shall examine an example of a discrimination
process having this degree of generality,.
CIP #76

1st
node
Test first letter

(V-Test second letter


D
:i
Test last letter
A

Test second letter

1
Ufa
i
Terminal
for CAT
Terminal
for DOG

Figure 1
CIP #76 -19-

One requirement for an interpretive process, if it is to be


capable of executing complex programs with subprograms and condi tonal
branches, is that it have means for keeping track of its location in
\
the program at each stage in execution. One way to accomplish this is
to assume that the interpreter controls a pushdown list in some special
part of working memory. As the interpreter begins execution of any instruc­
tion, it stores at the head of the pushdown list a designation of the fol­
lowing instruction, which will allow it to locate that instruction whan
the current one has been executed. Each time the interpreter begins
execution of a subprogram it stores on the pushdown list, ahead of the
designator for the program it has been executing, the instruction designa­
tor for the subprograms After execution of the subprogram is complete 9
the designator of the next instruction at the level above—the level of
the program in which the subprogram occurred—will again be exposed at
the head of the pushdown lint. Again, we need not assume that there is
a physiological mechanism precisely like the pushdown list that is used
to implement interpreters in computer programming; only that there is
some functionally equivalent means for the interpreter to keep its place
in the program,

The Information Processing Language


Programs can o© represented as list structures of syiBbols<,
Each process symbolized in a program can be translated as an imperative
sentence, or, if-the process is a Conditional Branch,by two or more
sentences of the form: Xf» followed by a declarative clause, followed
by then, followed by an imperative clause For example;
CIP #76 -20-

Pind X in Y (Find the-£irst-"e" in "seven")


If A then Pn ; if not-A then P7 (If the apple is red, eat;
~L if it is not red, halt)

We could formulate a well-defined formal language for expressing


programs. In fact, if we wish to simulate an informstion processing sys­
tem on a computer, we must define such a formal language 9 together with an
interpreter or compiler that will translate processes from that language
into the language of the computer's machine instruct ions 0 Formal languages;,
and associated interpreters, have been constructed that fit the descrip­
tion of our information processing system we have given in this chapter,
One of these languages, Information Processing Language V (TFL-V) has been
used to carry out most of the computer simulations that are discussed in
this volumec
Programs in a formal information processing language are rather
unreadable, however, and hence are poor media of communication. It would
be much preferable, if it were feasible, to describe programs in ordinary
English. At the same time, it is important that some guarantee be provided
that the programs could be formalised, using only the mechanisms Shat have
been postulated for the information processing system. If programs were
described in ordinary English, it would be hard to determine whether this
condition was satisfied.
In this volume, we shall adopt a compromise that will, we hope,
preserve comprehensibility, while providing reasonable guarantees of
formalizability* We will use a semi-formal language to describe programs,
The basic vocabulary of the language will consist of ordinary English words,
but we will restrict ourselves to a rather limited vocabulary o£ undefined
CIP #76 -21-

texms—particularly terms denoting processes. Similarly, we will per­


mit only rather simple grammatical constructions, and will build sen­
tences into larger organizations by using the conventions, already ex­
plained, for representing program list structures—i.e 09 programs will
be given in outline form.
The information processing language will have three related
uses2
10 It will be used to define programs, which are the sub­
stantive psychological theories to be developed here*
20 It will be used to provide tracgg. of program behavior—
that is 5, step-by-step accounts of the sequence of processes a particular
program will execute in a particular task environment under specified
*
initial conditions. These traces, then, are the predictions of behavior

generated by the theory,


sonetines
3o It will/be used to encode the protocols of the behavior of
the human subjects used to test the theories 0 These protocols, which in-
• • (

cludfi the subjects' English language verbalizations of what they are think­
ing, constitute an important part of the behavior the theory is to pre­

dict and explain.


In simplest terms, then, the research strategy and the plan of
exposition for this volume run as follows: An information processing

theory of human thinking and problem solving is stated as a set of pro­


grams in the information processing language., Human subjects are presented

with a number of cognitive tasks, and their behavior, including their


thinking-aloud behavior, is recorded in protocols. The protocols are
CIP #76 -22-

•ncoded into the information processing language. The programs incor­


porating the theory are used to generate (by computer simulation or hand
simulation) a trace of behavior, encoded in the same information proces­
sing language* for the same cognitive tasks. The theory is then tested
in « variety of wfty»~«*cng them,
by comparing the traces (predictions) with the encoded protocols (be­
havior). i Encodin g the' protocols into the same language that is used for
•-..''••
the traces very much facilitates the comparison, and tends to reduce
subjectivity in judging how well the theory fits the data.
Our attitude toward formalization will be purely pragmatic/
We will try to avoid £or«alisms whenever they impede comprehension 0 We
will introduce foi^llsins when they appear usefulxto 'reduce the subjectivity
. • * *. . "• >•* ; . •'' . .

of interpretation ^03^ to guarantee that programs and traces conform to


the basic postulates, of^ the information processing system, In short, we
i .
will try to gfceer a co^se between the rocks of incomprehensibility and the
whirlpool of vagtieness and subjectivity. Since our aim is to contribute
to the progress of psychology—an empirics! sciance^-forsaalism vill b«
**.'"•'"".: ' .

employed only when it is a tool that is useful to that end*


The principal conventions of our formal language have already
been illustrated in this chapter in the brief examples we have provideo
of simple programs. In the next section we shall give a more systematic
(tat still infornftl) account of the language'• syntax.
CIP #76 -23-

THE INFORMATION PROCESSING LANGUAGE

In describing the information processing language we will use,


it will be helpful to have before us an example of a program stated Jn
that language. We choose as example the central process of Logic Theorist
(Newell & Simon, 1956), a program that discovers proofs for theorems in
the prepositional calculus. Its basic structure can be described as
follows (Steffrud, )s

1 LOGIC THEORIST (problem)


2 IP ((UTILITY (problem) IS (LOW)), EXIT.
3 APPLY (SUBSTITUTION METHOD (problem))
4 IP ((STATUS (problem) IS (PROVED)),
5 PRINT (PROOF (problem)) & EXIT.
6 A GENERATE (METHODS)
7 APPLY((METHOD), (problem))
8 XF ((STATUS (problem)) IS (FROVED),
9 PRINT (PROOF (problem)), STOP (GENERATE) & EXITo
10 IF ((STATUS (problem)) IS (NEW PROBLEM FOUND),
11 INSERT (new problem) ON (untried problems).
12 IF (EFFORT (problem)) IS GREATER THAN (EFFORT LIMIT))„ EXITo
13 SET (problem) EQUAL TO (NEXT (untried problems)) & GO TO A.

The program is a sequence of phrases and statements in almost-


English. Line 1 says that the name of the program is LDQIC THEORIST 0 and
that it operates on a "problem" as its argument. The program is arranged
in a hierarchical outline form,, LOGIC THEORIST consists cf the six sub-
processes beginning in lines 2, 3, 4, 6, 12, and 13 9 respectively. The
eubprocess, GENERATE ? beginning in line 6 is subdivided, in turn, into
three subprocesses, beginning in lines 7, 8, and 10, respectively„
Line 2 is an example of a conditional process. in the form "IPX,
Y, K where X describes a condition, and Y a process or action. (We omit
CIP #76 -24-

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.

Where a process or attribute is used as an argument of another


process, we will usually simply name the argument; its evaluation, prior to
executing the process that uses it as argument, will be implicit. Thus,
CIP *76 -25

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-

processes , called methods, are to be selected in order from a list of


methods o As each method is generated, the subprogram defined by the in­
dented lines, lines 7 through 11 are to be executed— that is, each method
is applied, in turn, to the current problenu Line 7 provides for the ac­

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,

if applying the method produces a new problem,, that problem is inserted on


a list of problems not yet attempted
If the generator has tried all methods without producing a proof

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

60 TO instruction, which returns program control to a specified line of


the program—in this case, the line labelled "A",
This brief program illustrates the main devices used in the in­
formation processing language. Additional processes that will be intro­

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-

5. For the primitive symbols, we have taken English words,


letters of the alphabet, punctuation marks„
60 The separate instructions of the program are examples of
compound symbols.
7<> Untried problems are stored on a list
8. 'Utility-low," "status-proved," and "status-new problem
found" are examples of attribute-value pairs»
9. Associated with each problem are several attribute-value
pairs, which collectively constitute its description.
10. The list of untried problems, together with the descriptions
associated with those problems, are a simple example of a list structure«
We have not yet discussed the representation of the problems themselves.
These also are stored in memory as list structures,
11o A number of the processes are especially adapted to operate
on lists and list structures, including i in line 6, GENERATE, in line 11,
INSERT X ON Y, in line 13, SET X EQUAL TO NEXT OF Yo The FIND process

deals specifically with information stored in descriptions«

Vous aimerez peut-être aussi