jump to navigation

Self-Watching in Seqsee December 11, 2006

Posted by amahabal in Uncategorized.
trackback

I have finally come to a stage where I can realistically think about how I will implement self-watching in Seqsee. The most prominent FARG program that watches itself is Metacat: after all, it is subtitled “a self watching cognitive architecture for analogy making and high level perception”. As I was reading Jim Marshall’s dissertation I could not help but feel that something very similar would do the trick for Seqsee.

 

Here is a brief description of Metacat’s self-perception. The crucial components include the temporal trace and two new codelets, the progress watcher and the jootser. The temporal trace can be, in Jim’s words, “thought of as a short term memory for storing the recent past events during a single run”. Codelets can examine these structures, and Jim Marshall goes on to say on page 163 of his dissertation:

 

From a theoretical standpoint … the structures stored in the trace are no different from other types of perceptual structures stored in the workspace, since they are all subject to processing by codelets, so in an important sense, the temporal trace and the workspace can be identified with each other— implying a kind of “level collapse” between Metacat’s cognitive and sub cognitive levels (see [GEB, chapter 20] …). Thus, conceptually, the same set of general processing mechanisms is responsible for perception, for self-perception, and for self-control in Metacat.

 

I agree absolutely with the sentiments mentioned in the quote above. I feel that this is how things should be. What I am not sure about— given my possibly incorrect understanding of Metacat— is how much of a level collapse actually happens in Metacat, as it currently exists. Please allow me to elaborate.

 

The way both Copycat and Metacat perceive letter-strings involves adding descriptions of various objects, noticing relations and creating groups. All this activity is crucial. Almost nothing like this happens at the level of the temporal trace: there are no bonds formed between the events stored, nor are descriptions added to events to allow similarity discovery (though some description is added, namely the important themes present when the event occurred). There are certain types of events whose repetition Metacat spots: repeated snags and repeated clamping, and is able to take evasive action. Other repetitions—like attempting to create the same relation between the same two objects and repeatedly destroying it—goes unnoticed (I think). Thus, while the trace does go somewhat towards doing “the same sort of processing” for the strings and the trace, it could go further still.

 

I must hurry and point out that the two types of processing cannot be identical: the strings are “permanently” present, while the things in the trace are ephemeral in the sense that very old parts of the trace (things that happened 50000 codelets ago, say) should be pretty nigh inaccessible. Mike Gasser would say that the strings are being read (and we can dart our eyes back and forth over them), where as the trace is being “listened to”, sort of.

 

Another slightly problematic thing with Metacat’s trace, I felt, was that important old events are remembered, where as relatively unimportant stuff that just happened is not.

 

My next entry would probably be about some half-baked ideas about how I could use the stream in Seqsee to also act as the trace, sort of, and get more of the “same processes” to bear on the event history.

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: