D4UKA. "color"

D4UKA. it
t
c
A LANGUAGE FOR THE DESCRIPTION OF CONCEPTS
R. B. Banerji
built into the computer as an intelligent artifice
or it may be learned on the basis of experience
in an effort to develop artificial intelligence.
However, in these cases the values of the
properties involved (like existence of a closed loop)
have to be obtained by a considerable amount of
processing on the "raw data" of the excitation
levels of the photo-cells. This processing is external to the language of Boolean Functions. However, this is not entirely essential, since the values
obtained by such processing do define subsets of
the Universe which are again Boolean Functions of
the "raw" property values. One can then look at
the problem of the internal generation of convenient Concepts (like "loops") as a problem akin to
the Ashenhurst decomposition problem (4). Heuristics have, indeed, been developed for such activities (5).
This however, does not completely simplify
the problem since the internally generated Concepts
themselves may be rather intractable, although
hopefully considerably less so than the original
1. INTRODUCTION
This paper suggests a language which may
prove useful in the general field of pattern recognition. By the term "pattern recognition" here we
may mean anything from recognition of letters
drawn on squared paper to the recognition of a
"seki" in the game of GO.
To explain the motivation which led to the
development of this language, it may be useful to
start with a trivial example. I describe a certain
plaything as follows. "It is red, round, bouncy and
is at present coming through my window pane."
The person who recognizes it as a ball knows that
balls are round and bouncy. In the universe of
objects being considered there are many subclasses of objects; some are red, some are blue,
etc. That is, there is a partition called "color"
whose members are the set of red objects, the
set of blue objects, etc. Similarly there are other
partitions (or properties) like "shape," "resilience
value," etc. The class of objects called "Ball" is
the intersection of the set "red" belonging to the
property "color" and the set, "bouncy" belonging
to the property "resilience value."
Concepts do not have to be (and unfortunately
are generally not) simple conjunctions. In the universe of peaches and apples the concept "ripe
fruit" is the disjunction of "red" and the set obtained by the intersection of "yellow" and "soft."
It is more or less a trivial matter to design
a computer program which, given the Boolean
Function defining a Concept, can recognize an object belonging to the Concept. However, in many
a real situation, this kind of a description can get
impossibly large. As to how large the description
can get depends, of course, on the properties in
terms of which the function is written. If one
thinks of letters projected on a rectangular array
of photo-cells, it is readily seen to be almost impossible to describe the class of all the letters
"A" as a Boolean Function of the values of the
properties defined by the excitation level of each
cell. On the other hand if one considers properties like "existence of closed loops" or "convexity
at top," as has been done in various well-known
devices (1,2,3), the Boolean Function may be far
more tractable. As to which properties should be
invoked for the description of what concept is a
problem-dependent decision which can either be
Concepts.
A different way out, persuant to the "if you
join pre-processing"
philosophy, has been presented in this paper by
suggesting that the pre-processing operation itself
be described as a Concept. It is also suggested
that instead of using fixed names in the Boolean
Expressions, one uses variable names so that large
disjunctions and conjunctions may be taken care of
by the use of existential and universal quantifiers.
This has led to the development of an instance of
predicate calculus quite amenable to our purposes.
In the next section we shall describe in an
intuitive manner the elements of the language and
their significance. A formal presentation of the
language will be given in Sec. 3. In Sec. 4 we
shall append a few examples to indicate the
strengths and weaknesses of the language and discuss possible directions of improvement and the
problems involved.
can't lick pre-processing,
2. THE INTUITIVE BASIS
As in the case of the ball, any object will
be considered defined by a list of sets to whose
intersection the object belongs. Each set in this
for
list will come from a different property.
135
f
R. B. BANERJI
136
the ball one could write: color, red; resilience,
bouncy; state of motion, through a window pane;
shape, round.
Two questions of a general nature arise about
such lists which we shall formally call "objects."
,
One is, why not just say "red," "bouncy,"
etc.? The answer is that we would very much
like to use the same name for different sets and
distinguish them by specifying the property they
belong to. A technical reason for this desire will
be clear later. For the present, let us point out
that just because the color of a person's hair is
red, one does not surmise that his political leaning is red also.
The other point we wish to make is that so
far we have used symbolic names for properties
However, it is convenient to
and their values.
waive this restriction and allow objects themselves to be names for properties and values.
The motivations for this waiver lie in the desire
for discussing preprocessing as concepts. Also,
for this latter purpose, it is convenient to be able
to define variable objects by using variables (which
will be Greek letters) for property names and
value names.
Given an object X (where X is a metalinguistic variable which we will often represent by the
symbol IN in our formal language), and a property
A, we shall use the notation A(X) to mean the
value of the property Am X. So if Xis (color,
red; shape, round), the term "color (X)" will take
on the meaning "red."
A statement about an object will be of the
form (A(X) = B) where A(X) is a term as described above. B may be a similar term, an object, a variable or a symbol. The statement will
be true for those objects X for which the meaning
of the term on the left is identical to the meaning of the term on the right. We shall use usual
symbols of predicate calculus (A for and, V for
or,
5> for implies, etc.) to combine statements
together. As an example, the object defined before
will satisfy the composite statement.
...
—
(color(X) = Red) A (Resilience (X) = Bouncy)
At this point it may be useful to indicate
roughly why one may want to use quantifiers in a
statement. Suppose one wants to describe a concept in the universe of cards exhibited by Bruner (11) in "Study of Thinking." Each card had on
it, within one, two or three borders, a pattern
which consisted of one, two or three figures, each
of the same color and shape, but could take on
three different colors and shapes— Bl cards in all.
Now of the properties mentioned: color, shape,
number of figures, and number of borders, the
last two properties have values whose names come
from the same set, the set of numbers. Hence, it
is natural to want to be able to write statements
like
(Vol) (Figure (a) = Border (a))
being the universal qualifier.
In terms of these statements one can define
any Boolean Function of the property values. However, we have yet no machinery to give these
Boolean Functions (Concepts) a name. These we
shall do by a format of the following form
IN
B here is the
C
s
B.
statement which defines the
concept, C is its name. IN, c and = are merely
appendages, although they may be said to have the
usual semantic interpretation which we do not
stress in the formalism. However, these interpretations will be of use to us here, when we are
discussing the intuitive content.
With this amount of machinery we can exhibit the reason for wanting to use objects for
names of properties and values. In the above
example of cards with borders and figures, we
may be called upon to describe the class of objects where the number of figures is less than the
number of borders; this can certainly be done by
means of a Boolean Function:
IN « C
s
(((Fig. (IN) = 1) A ((Border (IN)
=
2)
V (Border (IN) = 3))) V ((Fig. (IN) = 2)
A (Border (IN) = 3)))
However, if the numbers went out to 10 or more,
things would get unwieldy. Also, in a conceivable
"thinking machine," the concept of ordering is so
important and would be useful in so many contexts
that it would be a shame not to describe the concept and attach a name to it. Ordering being a
relation, it is a concept in the universe of ordered
pairs of numbers. A typical object of this universe might look like (first, 3; second, 2). The
relation "less than" could then be described as a
Boolean Function similar to the one above. When
this is done, we could use this for our class of
cards as follows:
IN c C = ((first, Fig.(lN); second, Border(lN))«Less)
This is the first time we used a statement
involving the c rather than the equal sign. The
statement above is true for objects such that if a
new object is constructed with the value of Fig.
and Border of the original object acting as the
value of "first" and "second" of the new object,
then the new object would belong to the concept
"Less." We are starting to build in preprocessing.
If someone objects that the
"Less" is as complex as
that by giving it a name we are
the concept in many places rather
description for
the answer is
enabled to use
than one. This
**■
■\
A LANGUAGE FOR THE DESCRIPTION OF CONCEPTS
answer would
ring a bell for the decomposition
theory people. A more crucial objection might
be that if instead of playing with three digits we
played with 100 or 1000 of them, the Boolean
Function would again be unwieldy. The answer to
this question would be easier in terms of the examples in the last section. At present, it may
suffice to say that since high numbers are composed of digits and form a universe different from
that of single digits, one can start with a short
Boolean Function for "Less" in the Universe of
digits and utilize this for a succinct description
of "Less" in the universe of numbers.
137
14. If A is a Statement and B is a Variable, then
(VB)A and (3B)A are statements.
15. An occurrence of a Variable B in a Statement
A is called Bound if it occurs in a part of A
which is of the form (VB)C or (3B)C, where
C is a statement. Otherwise the occurrence
is Free.
16. If A is a Symbol and B is a Defining Statement in which all occurrences of Variables are
Bound, then
IN
A = B
A is the Name of the Concept.
Sense of the Concept.
17. If A is a Term and B is the Name of a Concept, then (Afß) is a Statement.
18. An object in which no Variables occur is an
is a Concept.
3. THE FORMALISM
The system will consist of a set of characters and rules for concatenating them to form
sentences or phrases of various types. It will be
a restriction of predicate calculus in the sense
that only two kinds of predicate constants will be
used.
In addition to the syntactics, some mappings
will be defined among the syntactic entities as
well as between certain syntactic entities and truth
values [i.e., the space (T,F)].
The basic vocabulary of characters includes
numerals from 0 to 9, bold face lower case Latin
letters, lower case Greek letters, (the comma),
(the semicolon), the right and left parentheses, V,
A,
—> V, 3 and the string IN of capital Latin.
,
1. A string of lower case boldface Latin letters
and numerals is a Symbol.
2. A string of lower case Greek letters is a Variable.
3. A Variable is a Term.
4. A Symbol is a Term.
5. If A is a Term and B is a Term (A and B
being metalinguistic variables which will never
appear in actual syntactic entities), flien A,B
is an Ordered Pair. A is the Left Hand Element of the Ordered Pair. B is the Right Hand
Element of the Ordered Pair.
6. An Ordered Pair is an Ordered Pair String.
7. If A and B are Ordered Pair Strings, then A;
B is an Ordered Pair String.
8. If A is an Ordered Pair String, then (A) is an
Object.
9. An Object is a Term.
10. If A is a Term and B is either a Term or
the string IN, then A(B) is a Term.
11. If A is a Term and B is a Term, then (A=B)
is a statement.*
12. If A and B are statements, the (A V B), (A A B),
(A > B) and ~A are statements.
13. A statement in which the string IN occurs is
a Defining Statement.
—
B is the Intention or
Exemplar.
We now define a mapping of Terms to Objects and Symbols. We shall call this map Value.
It has no representation in the syntax.
19. If A is a Symbol, then the Value of A is A.
20. If A is an Object, then the Value of A is A.
21. If A is a Variable, then its Value is not defined.
22. If A is of the form C(D) and the Value of D
is not an Object, then the Value of A is not
defined.
23. If A is of the form C(D) and the Value of C
is not defined, then the Value of A is not defined.
24. If A is of the form C(D), and the Value of D
is an object, then if the value of C does not
occur as the Left Hand Element of an unique
Ordered Pair in the Value of D, then the Value
of A is undefined.
25. If A is of the form C(D) and the Value of D
is an Object and the Value of C occurs as the
Left Hand Element of a unique Ordered Pair
X,Y in the Value of D, then the Value of A is
Y.
26. Two Symbols are Identical if they constitute
the same string of characters.
27. Two Ordered Pairs are Identical if their Left
Hand Elements and their Right Hand Elements
are Identical.
28. Two Objects are Identical if each Ordered Pair
of the first are Identical to some Ordered Pair
of the second and vice versa.
29. A Statement (A=B) is True if the values of A
and B are defined and Identical. Otherwise
the statement is False.
30. The Extension (or denotation) of a Concept is
a set of exemplars defined as follows: a specific Exemplar X belong to the Extension of
specific Concept with Name A and Intention B
*An intuitive explanation of the "meaning" of some of the syntactic entities is included in
the Appendix
*»
138
R. B. BANERJI
on substituting X for IN in all its occurin B, a true Statement results.
31. A statement (A c B) is True if the Value of A
is an Exemplar which belongs to the Extension
of the Concept whose Name is B.
32. If A and B are Statements, the ~A is True if
A is False, (A V B) is True if at least one of
A and B is True, (A A B) is True if both A
and B are True, (A -> B) is True if eitherA
rences
is False or Bis True. In other cases they
are False.
33. (3B)A where B is a Variable and A is a Statement, is True if on replacing every occurrence
of B in A by some specific Exemplar a True
Statement Results. Otherwise (3B)A is False.
34. (VB)A where B is a Variable and A is a Statement, is True if a True Statement results on
replacing all occurrences of B in A by any
specific Exemplar. Otherwise (VB)A is False.
4. EXAMPLES
Our examples are motivated by a ternary number system.
1. INe digit cc (((value(lN)=o) V (yalue(IN)=l)) V (value(lN)=2)) is a Concept [see rule 16 above]
since
digit is a Symbol [rule 1| and the entire string to the right of =is a Defining
Statement [rule 13]. That
it is a statement is seen by the fact each component connected by Vis
a statement [rule 12]
For instance (value(lN)=o)is a Statement [rule 11]: since 0 is a Symbol (1) and hence a Term [rule 4]
and
value (IN) is a Term [rule 10 1. This is because value is a Symbol [rule 1]
and hence a Term [rule 4].
2. ((value, 1) < digit) is a True Statement [17] since the value of (value, 1) which
in itself (8.20) is
an Exemplar, and is in the Extension of a Concept whose Name is digit [31].
This is because if (value 1)
replaces (IN) in (value(lN) =1) we obtain the Statement
(value((value, 1))=1). The Value of the iifThand
term is 1 which is identical to the right hand Term [29, 30], and hence the statement is
True. Hence
the Intention of the Concept is true.
3. In similar manner (INt lessd ~ (((value(first(lN))=l) A (value(second(lN))=2))
v ((value(first(lN))=o)
A^(yalue(second(lN))=o))) is a Concept, (first, (value, 1); second, (value, 2)) is in its ExtinstonT (first,
(value, 0); second, (value, 0)) is not.
This can be seen if we see that the Value of yalue(first ((first
(value, 0); second, (value, Q)))) is 0, so the second part of the Defining Statement
aboveT^s~to~be s~atii~fied. This can not be done since value(second, ((first, (value, 0); second, (value, 0))))
has a Value 0, which
is in contradiction to the last part of the
Defining Statement of lessd. This^Concept describes the ordering between digits as a Concept, in the universe of ordered pairs
of digits.
4 INemrm s (((tyge(lN)=dig) A (name(lN)e digit)) V ((tyjietfN)
= ext) A (length(lN) c num) A
(Voe) (((first, a; second, length(lN))elessn)
> (a(IN) c digit))).
5. INe lessn = (((type(first(lN)) = dig) A ((type(second(lN)) = ext) V ((type(second(lN))=dig)
A (first, name(first(lN)); second, name(second(lN)))elessd)))V((first. lengthrfirS t(TN)) second7length(second)
(IN))) c lessn) V ((length(first(lN)) = length(second(lN))) A (3ot) (((first, «; ~lic~ond, :
length(first(lN))) Tle^n")
A ((first, a(first(lN)); second, «(second(lN))) 6 lessd) A
0) (((first, a; second, $)( lessn) -^g(firsHlN))
<V
= ff(second(IN))))))).
4 above describes a numeral as something which is of digit type and has a name which is an object in the universe "digit." Or it is an extended type numeral in which case it
has a length (which is
a numeral, i.e., the name of the property "length" of an extended type numeral is an object
which is also
a member of the class "numeral"). For each numeral less than the length of the numeral,
there corresponds a digit.
Lessn is an ordered pair of numerals. An ordered pair of numerals (one may say INcordprnum
= ((first(lN) c num) a (second(lN) A num)) is in lessn if the integer represented by the first numeral in the
pair is less than that represented by the second. That is if (except for some
trivial exceptions considered in the Concept) the two numerals are of equal length and there is a position
where the first has a
lower digit than the second and all higher significant figures are equal.
As an example, let us go "blow by blow" to indicate that the exemplar
(type, ext; length, (ty^e, ext; length, (type, dig; name, (value, 2)); (type, dig; name, (value, 1)), (value, 1);
tffie, dig; name, (value, 0)), (value, 0)); (type, dig; name, (value, 2)), (value, 2); (type, dig; name, (v^lu"e", 1)),
(value, 0); (type, dig; name, (value, 0)), (value, 1)) which is just a terrible way of writing 201 (a matter
we shall discuss presently), is really an Exemplar in the Extension of the Concept
whose Name is num.
The type (IN) = ext part of the second disjunctive term in the Intention of this Concept
called num
is satisfied. The length (IN) term in the next part of this term is the object (type, ext; length, (typeT
dig; name (value, 2)); (type, dig; name, (value, 1)), (value, 1); (type, dig; name (value, 0)), (value, 0)). Intuitively, this indicates that the length of the numeral 201 is an integer which can be represented by the
numeral 10 (=3 in decimal). Formally, we have to verify that the object just exhibited is
indeed in the
Extension of num. The type verifies as ext, the length verifies as in the Extension of num,
since its
—
139
A LANGUAGE FOR THE DESCRIPTION OF CONCEPTS
type is dig and its name is (value, 2) which is a member of the Extension of digit. Then for each member of the" Extension of num such that the object (first, «; second, length(length(lN))) be in the Extension
of the Concept called lessn, a (length(lN)) is a property whose value lies in the Extension of the Concept
called digit. Since length of the length of IN is 2, the only two numerals less than this are the digit
types 1 and 0, i.e., the objects (type, dig; name, (value, 1)) and (type, dig; name, (value, 0)) respectively.
The values corresponding to these properties are (value, 1) and (value, 0) in the above object, so the
length of (IN) is indeed in the Extension of num. Then we check to see that for every X less than 10
there is a digit in the description. And this checks also.
In the above we did not check explicitly for any (first, <*; second, length(lN)) being in lessn as specified in the descriptions both of (IN) and length (IN). This part of the recursion we leave for the inter
ested reader.
In what follows we define the successor function as a Concept in the space of ordered pairs of
numbers.
6. INcsucc s (((value(name(first(lN)))=Q) A (value(name(second(lN)))=l)) V ((value(name(first(lN)))=l)
A (yakie(nair^(sj^ond(lN)))=l)) V ((yaJ^(nsurie(first(lN)))=2) A (yalue((tyrje,dig; name, (value, 0)) (second(IN)))=0)
A (value((type, dig; name, (value, 1)) (second(IN)))=l)) V (~(value((type, dig; name, (value, 0))(first,(IN)))=2)
> (a = fi)))
A ((to*) (V/3) ((((first, first(lN); second, a) head) A ((first, second(lN); second, p p c head))
((type,
dig;
dig; name,
second,
(type,
(value,
0))
(first(lN))));|
(type,
dig;
name,
name,
((first,
dig;
name,
(type,
A
—
(value, 0)) (second(lN))))esucc))'V ((Va) (v/9) ((((first, first(lN); second, a) c head) A ((first, second(lN); second, 0)e head)) A ((first, a; second, ff)esucc)) A (value((type, dig; name, (value, 0)) (second(IN)))=0))).
7. IN c head = (((type(first(lN)) = dig) A (yiiye(nam£(second(lN)))=o)) v((ya^(naj]ne(l^ngth(first(lN))))=2)
A ((type, dig; name, (value, 1)) (first(lN)) = name(secqnd(lN)))) V (((first, length(second(lN)); second, length
(first(lN))) e succ) A (Va) (V/S) ((first, a; second, length(first(lN))e lessn) A (((first, 0; second, a)e succ) >
(g(first(lN)) = ff(second(IN))))))).
—
In the above descriptions we have occasionally lapsed from rule 32 and used the associativity
of V and A. But this does not change anything
except the bracket counts.
We can proceed, with the help of the successor relation to go on to define other arithmetic
relations like sum and product. However, such
definitions of sums and products would be similar
to the usual number theory in logic in that it
would reduce these processes to a counting operation—obviously rather inefficient. However, having assumed the radix notation as the basic representation of integers, we have sufficient power
in the language to define arithmetic operations in
more succinct manners; it is not worth belaboring
the point here.
One might object that the Concepts exemplified above are rather long and cumbersome. We
submit that they are no longer or more cumbersome than what they would have been if they were
written in English or any available recursive computer language.
A much more valid objection would be about
the length of exemplars; for instance the 4 line
description of the Exemplar describing 201. This
difficulty arises because of the amount of interpretation that is implicit in the way we manipulate
numerals. Though our system can attach symbolic
names to long descriptions by exhibiting Concepts,
such names define classes of Exemplars rather
than individual Exemplars. To attach names to
Exemplars one would need variable names: otherwise the table of mapping between Exemplars and
their names would be infinite or at least impossibly large.
Therefore one needs variable names
and mappings between variable names and objects.
Variable objects exist in our language, but variable names do not at the present time. In the
present language 201 is a single symbol and the
fact that it is indeed a concatenation of 3 symbols
is not evident. And it should not be universally
evident, since there is very little point in looking
at digit (say) as a concatenation of symbols. One
could define concatenations in language by defining
some new formal object like string (2, 0, 1) which
could be used for mapping names to Exemplars
through variable objects.
The present formalism is basically similar
to the one we have used in our previous work
(5, 6, 7, 8, 9), except for the fact that rules 2, 3,
31, 33 and 34— the main sources of strength in the
new formalism—were absent. However, we had
built up a system of subroutines to manipulate the
formal objects in that system which are still considered important. Among these were, (a) Given
a Concept and an Exemplar, to determine whether
the Exemplar belonged to the Extension of the Concept (Object Recognition); (b) Given a set of Exemplars, to construct a Concept with a short Intention
and whose Extension would contain all the given
Exemplars (Concept Learning); (c) Given a set of
Concepts, to shorten their Intentions by invoking
the names of other Concepts, which may have to
be generated internally (Concept Formation).
We intend in our future work to develop similar subroutines to handle the new formal objects
with similar objectives in mind.
The activities of Concept Recognition, Concept
Learning and Concept Formation as defined in our
rather abstract system promises application in diverse fields. These activities form an integral
part of many decision making problems. It has
R. B. BANERJI
140
been pointed out by Mesarovic (10) that all decision making for Control purposes is subject to the
constraint that some of the inputs to the systems
come from what has been called an uncertainty
set. One purpose of communication in a decision
making situation (be it Process Control, pathological diagnosis or Chess playing) is the reduction
of the uncertainty set. The language developed
above can be looked upon as one possible tool for
such communication.
INe ball
The research reported in this paper forms
a part of the activities of Systems Theory Group
of the Systems Research Center with financial support from the Air Force Office of Scientific Research (Grant No. AFOSR-125-63) and the National
Science Foundation (Grant No. GP 658).
means that if the shape of an object is round and
its resilience bouncy, then it is a member of the
class of objects called ball. Conversely, any member of the class ball has its shape round and resilience bouncy.
(appearance(lN)e ball)
means that the appearance of the object in question is an object which is a member of the class
called ball. For instance,
(appearance (shape, round; resilience, bouncy;
color, red); reflectivity, bright)
APPENDIX
A Short Explanation on Meanings of Expressions
in First Order Predicate Calculus
Though the exact meaning of defining statements has been set out in the rules in section 3,
the intuitive content of the statements may be
gleaned easier if these are set out in English, as
we do in the examples below. This will also indicate how some of the rather complicated examples in section 4 really represent quite straightforward (albeit long) English sentences.
1. Defining Statements with identity and without variables.
(color(IN) = red)
means that the color of the object under consideration is red
=
is an object whose appearance is
(shape, found; resilience, bouncy; color, red)
which by the definition of the previous paragraph
is a member of Ball. So the statement in this
paragraph is true.
Statements involving set inclusion may be
combined among themselves and with statements
involving identity by the symbols V, A and > as
indicated
with similar interpretations.
—
4. Statements with variables.
When a Statement involves a variable, which
is represented by a Greek letter (say, a) or a
string of Greek letters, it is neither true nor false,
unless it is preceded by the symbols (v a) or ( 3 a)
when it has the following meaning.
Let P(a) be a statement involving the variable a, then
square)
means that either the color of the object is red
or its shape is square or both.
(color (IN) = red) A (shape(lN) = square)
means that the color of the object is red and its
(3a) P(a)
is true if there is some object one can construct
which is such that if all occurrences of a in P(a)
is replaced by this object, a true statement will
result. Thus, in terms of the first example in
section 4,
shape is square.
(color (IN) = red)
= (shape(lN) = round)
A (resilience(lN) = bouncy)
3. Statements without variables and involving
set inclusion.
ACKNOWLEDGMENTS
(color(IN) = red) V (shape(lN)
2. Concepts without variables
(3a)(a
-^ (shape(lN)
=
square)
means that if the color is red then the shape must
be square to make the statement true.
If the
color is not red there is no restriction on shape
and the statement is automatically true.
is a
digit)
true statement since the object (value, 1) is
a member of
digit.
If P(a) is, as before, a statement involving
the variable a, then
(Va) P (a)
"
A LANGUAGE FOR THE DESCRIPTION OF CONCEPTS
true if no matter what object is used to reoccurrence of a in P(a), a true statement results.
is
place every
5. "English translations" of some examples
4.
Example 3 would say in English, an object
is in the class lessd if the object had 'first' and
'second' as first elements of ordered pairs in it,
and the corresponding second elements were two
objects such that the value of the first object was
1 and that of the second object was 2 or if the
value of the first object was 0 and the value of
the second object was not.
In effect, a pair of digits are in lessd if the
first digit of the pair represents a smaller integer
than the integer represented by the second.
Examples 4 -and 5 define the representation
of integers in the ternary number system, that is
one where, for example, the string of digits 201
stands for 2x3 2 + 0x3 J + Ix3° = 10.
Now each such string of digits has a length,
which is an integer (not a representation thereof)
but the representation thereof is still a string of
digits so one can say that the length of 201 is
10(1x3 + ox 3) whose length is 2 again. Again,
in addition to its length, it has defined on it the
digit in the three positions 0 (extreme right), 1
(next to position 0) and 2. Each of these are less
of section
1.
2.
3.
4.
5.
6.
O. and
U., Pattern
Recognition by Machine, Scientific American,
Vol. 203, p. 60 (1960).
DOYLE, W., "Recognition of Sloppy, Hand
Printed Characters," Group Report 54-12, Lincoln Lab., M.I.T. (1959).
UHR, L. and
"A Pattern Recognition Program That
Evaluates and
Adjusts Its Own Operators," Proc. Western
Joint Computer Conference, Los Angeles, 1961,
p. 555.
ASHENHURST, R. L., "The Decomposition of
Switching Functions," Proceedings of International Symposium on Theory of Switching.
T.
"A Theory of Simple
Concepts: With Applications," Ph.D. Dissertation, Case Institute of Technology (1964).
BANERJI, R. 8., An Information Processing
Program for Object Recognition, General Systems, Vol. 5, p. 117 (1960).
141
than 3, the length of the string of digits. So, the
definition of 'num' in example 4 actually runs, "a
member of 'num' is either of type dig, and its
name is a member of the class digit or is of type
ext (ended) and its length is a member of num and
for each object which is less than the length, there
corresponds a digit."
It must be noted that we have not defined
yet how one member of "num" can be less than
another member of "num." This is expressed inside the definition of "num" by using the concept
"lessn" which is defined in example 5. In our
language, the only way we can say "a is less than
b' is by saying the pair (a,b) (represented by the
object, (first, a; second, b)) is a member of 'lessn.'
This is said in example 5 as follows.
A pair of numbers is in "lessn" is the type
of the first is dig and the type of the second is
ext, or the name of the first is less than the name
of the second as digits (that is, is in lessd as an
ordered pair) or if the length of the first is less
than the length of the second or (if the lengths are
equal) if there is a certain position a less than
the common length of the two where the digit in
the a position of the first is less than the digit in
the a position of the second, and all positions
higher than a have the same digit in both numbers.
, The Description List of Concepts,
Communications of the A.
Vol. 5, p. 426
(1962).
8. PENNYPACKER, J.
"An Elementary Information Processor for Object Recognition," M.S.
Dissertation, Case Institute of Technology
(1963).
9. BANERJI, R. 8., "Computer Programs for the
Generation of New Concepts from Old Ones,"
Neure Ergebnisse der Kybernetik, Proceedings
of the Conference of the Deutsche Arbeitsgemeinschaft Kybernetik, Karlsruhe, 1963 (Olden7.
berg
Verlag).
10. MESAROVIC, M., "A Unified Theory of Learning and Information," COINS Symposium, Northwestern University, Evanston, 111. (1963).
11. BRUNER, J. S., GOODNOW, J. J., and AUSTIN, G. A., A Study of Thinking, John Wiley &
N.Y. (1956).