(you may click the subfile to be viewed, or scroll
down)
This
file contains the following subfiles:
11.65 - axis
incompatibility and input
11.75 - types of complements
11.85 - current situation
11.92 - three avenues to analogy
(Subfile 11.65: 20-questions definition
input routine)
Whenever an axis' ID number is entered into the routine that places a
value in the definition of a word, a PUSS runs off and fetches elements
of two lists: one list of axes that have frequently been associated
with the current entry, and the other, axes that are known to be
incompatible with it. This information is used to put in order the list
of possible axes that is presented to the user: it never prevents the
use of a rare or unlikely axis, but it speeds up the user's process of
choosing axes for the definition, by reducing the amount of visual
searching for relevant axes ( the list of all axes is long! )
(Subfile 11.75: Types of Definition
Complements)
The first type of definition complement was introduced in the text
(p.3)
and is further described on p. 19 and in subfile #51.5. The second type
involves the creation of incompatibility templates, either at initial
input of axes, or by a crawler, after words are entered. These
templates
are word-type objects that indicate regions of MS that are, to an
extent defined by an associated score, incompatible with axes or
axis-groups. It is possible to use an "incompatibility" bomb to achieve
the same end, as long as a score for the bomb could be found from
usage.
When entered at startup, each axis (or specified axis group)
will then receive a list of other axes with which it is incompatible.
For this
purpose the
program
uses the same data-structure and code as for storing the angles between
all non-orthogonal pairs.
The crawler will loop through all words, and will loop through the axes
present in each word. For each axis, it will begin with a
template that includes, literally, everything in MS: in this case that
will mean "so far, consider this axis to be incompatible with
everything". Each other axis in the word being considered, however, is
(by definition) not incompatible
with the axis in question, and so
these other axes get removed one by one from the template for the
target axis. As the entire word database is traversed, then, the
templates shrink, and in the end indicate regions of meaning space that
are never associated with particular axes or axis groups.
These incompatibility templates are used to limit or to score possible
reply options.
The entire matrix of incompatibility information may usefully be
thought of as a matrix of the type used by economists (see Wassily
Leontief) to record the
levels of interaction among large sets of defined sectors. In the small
sample below, for example, axis #1 is recorded as being slightly
incompatible with axis #2, and much more so with axis #5. (Programmers
will recognize this as yet another very-large-mostly-empty array of the
type so common in this project, and it is once again managed with
content-addressing [to make search times low and their increase linear
with the matrix size.] In such arrays there is no reason to record
redundant information, such as the 'missing' entry in column 1 row 2,
where a mirroring ".1" 'should' appear.)
1
2
3
4 5
1
.1
.9
2
3
.3
4
.7 .7 .7
5
(Subfile 11.85: the 'Current Situation')
The "current situation" is primarily contained in the status of the two
"Great Walls", which see. Every action the program can take involves a
'daemon': a subroutine that executes whenever appropriate input is
available. Each daemon has an input or feature vector, as well as
"lamps" & "meters" that are visible to other parts of the program.
One of the indicator lamps asserts that the input vector has been
filled with its required data. The collective status of all these lamps
represents a compression of all situations visible to the program (see
"reductionism"); further, the Purr-Puss window structure makes it
possible to observe this status at any level of resolution. Being able
to "see" both subsets and summaries of the entire world makes
reasonable the following requirement for the program's
function: behavior must always be generated no matter the level
of novelty that exists in the environment. It's possible to immobilize
a kitten by confounding its inputs; this is not possible with a
two-year-old.
(Subfile11.86: context activators)
It is the case with most physical objects that their locations are not
always relevant. It is also usually true that a conversation in
which a location IS important will have included some words whose
definitions centrally involve placement, movement, search, etc. The
appearance of such words causes the location axes to be placed in the
BigBuffer (which see) . If a conversational decision has to be made
(for instance, what aspect of an object to consider next) the existence
of "location" axes with a low "buffer age" will activate axes related
to that subject. (If multiple such areas have been activated, the
program has a signal that it's time to ask a question.)
Having a low age in the registers is one way of being in the forefront
for consideration.
The process of using recent events as clues for activating different
parts of hypothesized ones has been widely generalized and influences
all kinds of other processes. The following examples include 1) subject
/ focus for conversation, 2) current melodic function, and 3)level of
object to use (e.g., syllable, word, phrase, sentence). In each case it
is necessary to document the following: what decision has to be made,
what axes would be present because of previous events, axes that would
be critical for the decision, how the axes already present cause
critical decision-axes to be active, and what is improved by this
process, or what might happen if critical axes are NOT appropriately
activated.
(1) subject and focus for conversation
In this instance we are concerned with the problem that arises when
objects present in a discussion have various aspects, not all of which
are relevant to the discussion as it has proceeded. The example
mentioned involves "home", which might entail the construction of a
house or its location within a neighborhood.
Imagine the following conversation:
George: My house is green.
Computer: The paint is green, or
the house is efficient?
George: Well, the door facing west
leaks.
At this point one could reasonably consider the view of objects to the
west, or the construction of the door. This decision would depend on
the direction of the previous discussion. If the topic had involved
things in the surrounding area, then those things would be present in
the BigBuffer; since all physical objects have location, the axes for
position would have acquired a strong presence in that register (via
the mechanism of a "resonance", which see). Any process that
accesses the disassembled content in the registers - and that includes
most processes in the program - will have a simple and quick way to
know that "facing west" is more central than "leaks".
The mechanism by which this centrality is expressed is equally simple.
Each word, cluster, phrase, etc., in the actual conversation will bring
up associations from the Puss-memory; such items are scored in various
ways as a matter of course. One way involves the resonances found with
axes present in the various ‘registers’ (the BigBuffer,
Short-term-memory, running clusters, the two Great Walls, etc., all
discussed elsewhere). This means that the associations with resonance
to ‘location’ would end up, at the very least, with higher scores than
those with resonance to ‘construction’. This might not by itself insure
that only location-associated conversational tacks would be taken, but
it would enhance their probability.
2) current melodic function
In this second example, the problem involves the different functions
that the same note can have at different points in a melody. In
Gregorian chant, each mode includes a number of pre-defined functions
for specific pitches, as well as pre-defined groupings of notes that
are peculiar to that mode only. For example, in the authentic form of
the Dorian mode, the final, or key-note, is D, while the A, a perfect
fifth above the final, is called the "dominant". This pitch serves as a
central pitch for recitation of varying amounts of text. The recitation
has its own motives: patterns of notes that signal, for example, the
ends of phrases in the text.
When pusses learn the recitation portion of the melody, both the
sequences of note-events is stored, but also, the clustering function
that records the passage of motives collects those in the recitation
formulae. Later, in composing, if the puss predicts that a recitation
motive is to follow, the axes peculiar to that motive are placed in the
BigBuffer, just as the location axes appeared in the conversational
example above. The program would interpret the fact that it is
currently within a recitation motive in just the same way it would
operate to stay on topic in conversation. The presence of the motive in
the BigBuffer inhibits associations (for the note-event being decided)
that might continue a melodic idea formed in the absence of the motive;
the note-event would have brought up associations, just as the words do
in conversation, and the associations that resonate with the motive in
the buffer receive enhanced scores. The mechanism is the same:
associations that possess coordinates related to the motive are favored.
If the program were limited to short enough window lengths, this
mechanism would favor the continuation of recitation formulae beyond
what is stylistic. In other realms, such looping might appear stupid or
neurotic.
1) The composition process brings up associations with the notes in
short-term-memory,
2) the presence of axes in the registers that resonate with
associations connected to recitation influence
the scoring of recitation-motive-related associations,
3) the enhancement of those scores encourages the placement of further
recitation motives into output, 4) output goes into
short-term-memory,
5) axes in short-term-memory automatically go into registers,
6) those axes enhance decisions about to be made.
The use of windows of sufficient length always removes the possibility
of such loops. Suppose the melodic style includes a tendency to repeat
motive-styles thrice (this is exactly the way J.J. Fux describes
appropriate repetition of certain motive-styles in the music of
Palestrina). A learning module that sees only one previous motive would
‘see’ recitation-motives being followed by other recitation-motives so
often that its predictions would insure looping. A module that sees
three motive-style-designators, however, would never predict a fourth,
and if, as is the custom in batteries of puss-modules, the
longer-window-length modules are more ‘influential’ (that is, the
coefficient associated with them in scoring is larger), then such
looping is appropriately inhibited.
3) level of object to use
Next we consider an example in which the program is deciding on a
parameter of its own internal function, rather than some data to be
used a final output (such as a decision on a word or note-event to
place into the short-term memory, effectively making that output
visible to the outside world.)
All sorts of objects become available as the current situation evolves
– these objects are predicted as associations by the various pusses. It
is necessary for there to be a way to decide what sorts of objects
should be used next, and for such decision-making to be learned. (There
are times when this decision is the same as deciding between top-down
and bottom-up strategies.)
In this example the process of context-activation is simply the easiest
way for the program to stay within one level, or for it to know that a
level change is desirable. We consider the linguistic application here,
so the decision that has to be made is whether processing should
proceed at the syllable, word, phrase, or sentence level.
The axes that would be present because of previous events would be
nothing other than these levels themselves; that is, if processing had
begun at the syllable level, then the use of daemons that operate at
that level would cause objects of that level to be foremost in the
registers. Therefore the first choices of the program would be to
retain the same level of object. When time comes to change level, the
mechanism is exactly as above:
When a melody has been operating within
When the calculations for replying or
reasoning
just one of its possible functions, lower level
have been operating within just one of their
objects (e.g. notes) could only be chosen
possible functions, lower level objects (
e.g., syllables)
by a puss using a marker-element
could only
be chosen by a puss using a marker-element
in the window specifying that function,
in the window specifying that function and that
level;
and that level; however, a higher-level
however, a higher-level
puss would see “have
puss would see “how many operations
enough operations
occurred to complete
have proceeded within that function/level”.
a word?”; this level of information insures
This level of information in a window would
that the lower level operates until a learned
insure that functions, procedures, motives,
stopping point is reached; in this case
the
etc., remain relevant for a period of time (or
completion of a learned word definition.
numbers of repetitions), the extent of which
are learned.
In both cases the activation of axes associated with particular levels
of functions promotes the use of those functions, and the use of those
functions activates the process necessary to stop operations at a low
level and move to a higher one. In the musical example, the question
governing the end of the low-level processing is “have enough decisions
been made to equal the number of decisions learned to be appropriate”
and in the linguistic one, the parallel question is “have enough
decisions been made to equal a learned word”.
(Subfile 11.92: avenues to analogy)
First avenue
In the diagrams here, boldface words represent objects: italic things
are bombs. Assume that in the clusters formed by the surrounding
conversation, the subject of "texture" has come up.
Part one:
This simple sequence would come up if texture were nearby to apples in
conversation:
Apple --> can-be --> eat -->association -->chew: chew plus texture --> negative bomb -->very hard
Suppose, next, someone says "This apple is very hard!"
and Teacher asks "Is it frozen?" The branch of STM created for the
sequence above would then be terminated and a negative bomb would arise:
(x) this apple -->can't-be --> eaten.
And yet, we know that apples can be eaten (creates a dissonance)
The sequence creates a dissonance with the original sequence's
beginning: Apple --> can-be --> eat
Part two:
Bolt --> can-be --> turned.
This is a part of the definition of "bolt". Suppose someone says
(y) this bolt -->can't be--> turned.
And yet bolts can be turned, in general. (creates a dissonance)
The two similar sequences (x) and (y) resonate by virtue of their
identical defTrans structure. Because Teacher asked "Is it frozen"
after (x), an STM branch would have been started causing Purr-Puss to
store "frozen" associated with the label of the defTrans. When
(y) arrives, Purr-Puss predicts, and thus by analogy, "Is it frozen" is
found by the program. This is a matter of backtracking through nearly
identical STM fragments. The program has discovered that "frozen" has
(at least these) two meanings; a frozen bolt is found to be related to
a frozen apple.
Second avenue
command: Move the block from the right to the left side of the pillar.
This action, commanded by Teacher, is assumed to be
plausible. The program would store the DefTrans including the bombs
below.
Block --> can be-->transfered:
association-->
(transfering-->must-be-->preceeded-by-->getting)
getting-->association-->one location to
another
(location frame-slots)<-- right-of-pillar, left-of-pillar
But the verb 'has' possesses the same DefTrans as this
transaction (a resonance would be sensed):
Block --> can be --> had: association-->
(having-->must-be-->preceded-by-->getting)
getting-->association-->one owner to
another
(owner frame-slots)<--someone else, myself
The operation that would be necessary to make these two sequences
equivalent is: removing or opening the span on the axis (in the
definition for "ownership") that involves an agent: an object without
an owner still has all its other properties, including a location:
location doesn't just fill a frame-terminal of the first event, it
appears explicitly. Once ownership is removed, a certain PUSS called
FindFields would discover the identity with the sequence about
transferring.
This identity of relations would resonate powerfully and cause the
program to associate transferring-physically with
transferring-ownership, and therefore physical location with ownership.
Thus an item can "be" mine and can "be" here. "Be" has (at least these)
two meanings.
Third Avenue
Various operations can be executed that take the form:
a) for any possible action (possible because
Teacher has either done or reinforced it)
b) you can open up some spans (expand some
cloud, make more fuzzy, etc)
c) then, move a value around in the newly freed-up
characteristic or action or feature-vector
(either seek an object at the new
location or keep moving values around until you find one)
d) assume or question that the action from (a) is
possible with the newly found object
This sequence seems natural when the "possible" thing is an action. It
is less natural to our way of thinking, but is exactly equivalent to
the program, to say "possible object" or "possible sentence" or
"possible idea". We just think of these things as "extant object" or
"grammatical sentence" or "correct idea", rather than as
"possibilities".
The initial adjustment inherent in the sequence (a)-(d) also implies an
analogy between the original and the newly-found object. The
construction of similar sequences using "possible" in these four ways
sets up a four-way analogy (possible action, object, sentence, or
idea). This analogy would be expressed as single
bombs between the four items. (Or perhaps as four plus-words that can
be added to the ur-form of "possible".) While it seems more complex to
us, the relation between these four "possibles" would end up seeming
closer to the program than the analogy set up by (a) to (d).
Fourth
Avenue (see subfile 50.2: Transforms across realms)
.