hinting on blackboards


One possible architecture for a tribe of tiny scientists trying to explain its world is a set of actors working at a blackboard. Blackboard systems have been used in AI for decades, notably in the HEARSAY-II project, in genetic algorithm classifier systems, and in Douglas Hofstadter's analogy programs.

The Universe

The universe is composed of objects and (possibly statistical) relations between them that are of interest to, and noticeable by, the actors. There may be a vast number of objects and relations, most of them unknown to the actors. Each of those objects and their relations can produce phenomena. The actors have no direct access to the objects or their relations, they can only observe the phenomena resulting from their interactions and attempt to deduce likely properties of the objects and the relations between them.

Relative to the actors, the universe is extremely complex, however its phenomena may have many easily observed, and some not so easily observed, regularities. The task of the actors is to discover as many of those regularities as possible. By their actions, they encapsulate their induced knowledge of the universe in their (largely implicit) worldview.

The Actors

On the timescale of a single actor action, the universe is largely unchanging, but since the actors only view it through tiny, shifting windows, and since they each only have limited time, knowledge, and resources to say anything interesting about it, their worldview of it can change constantly

The actors notice whatever phenomena is currently occurring. All actors implicitly know of a certain initial set of objects and some possible relations between them, but they may have to postulate further objects and relations to explain various phenomena. In other words, each actor has a certain fixed set of assumptions about how the universe works and each one attempts to make sense of observed phenomena in terms of those assumptions.

Few of the possible phenomena have been seen by the collection of actors, so at any time the set of all current actors has only seen a tiny snapshot of all possible phenomena. Further, each actor is even more severely limited in how much information it can notice at a time. From that brief slice of information the set of actors must construct a worldview to explain past phenomena and predict future phenomena.

Each actor is partly independent, partly interdependent, usually indirectly communicating, and each is specialized for one tiny part of the worldview. Each actor has a set of partly-modifiable beliefs about how the universe works. Through those beliefs, each actor tries to explain some set of phenomena to the other actors by postulating various hypotheses relating those phenomena to previously accepted or partially-accepted beliefs and hypotheses.

Forums

Each actor belongs to one or more forums, communicating their beliefs, hypotheses, and experiments to each of those forums. Other actors associated with each forum then assign some amount of credibility to each of the forum postings. Actors that assign a high credibility to a posting then incorporate it into their set of beliefs. Actors that assign a low credibility to the posting, either ignore the posting or post alternate versions, modulated by their own beliefs.

Each new phenomenon is automatically posted to all forums that seem relevant to it---that is, if the phenomenon involves something the forum has discussed in the past. All actors assign high credibility to every phenomenon but may choose not to incorporate it into their beliefs.

Actors can switch forums if they find that their postings are rarely believed by the other actors in the forum. Forums can splinter or join into yet more forums. Each forum can only accommodate a fixed number of postings at a time, so only highly-accredited actors get to post there. Forums can die if none of their postings ever results in a hypothesis.

The Library

Any "interesting" forum posting (see below for a definition of "interesting") is automatically stored in the library and actors may later incorporate it into their own set of beliefs. The library also holds a complete record of all past phenomena. The library can hold far more than the sum total of all the present forums, but it too can only hold a fixed amount of information. So when it becomes full it overwrites its oldest or least valued information. The library is a moving window onto the recent history of the universe's raw phenomena and the actors various responses to those phenomena.

The Worldview

A worldview is a model of the universe constructed by the actors. It is stored in the library. It is not necessarily consistent within itself, nor necessarily consistent with the universe, nor need it be complete---although there are pressures toward all three goals. It is held in common (modulo some differences) by all actors. The worldview is too large to be held in its entirety by any one actor, but the sharing of small parts of the worldview gives a common ground for actor communication within each particular forum.

The current worldview can die when too many inconsistencies show up for most actors to have much credibility in the worldview. However, there is only one worldview at a time.

Hypotheses

Each actor strives to generate hypotheses. These are partly competing, may be mutually inconsistent, and may be inconsistent with the worldview. Each hypothesis must be falsifiable. To be of more use to the generating actor, each hypothesis should also be "interesting" to other actors---that is, it should trigger hypotheses of their own in those actors.

Given hypotheses suggested by some actors, other actors can suggest experiments to test the hypotheses. The most credible experiments are then passed to the universe for evaluation. This can be the single largest source of information in the system, and also the single largest information bottleneck in the system, since if the universe is a set of actions of a human user, very few experiments will be done relative to the number of hypotheses suggested. The system must make do with what few experiments that happen to be evaluated. Each experiment may lead to unexpected results that then have to be explained (that is, integrated into the worldview).

Beliefs and Credibility

Each actor has a certain set of beliefs about everything else, and, for that actor, each of those beliefs has varying amounts of credibility. Actors assign credibility to a new belief based on its consistency with their old beliefs. Beliefs can change in many ways, some independent of any phenomena. The need for consistency can propagate changes across many beliefs. Beliefs can also cross-fertilize each other, either within one actor, or across two or more communicating actors via a forum, leading to yet more beliefs, or the revision of old beliefs (through the need for consistency).

The goodness of a belief is based on its surprisingness, its consistency with other well-accepted beliefs (or inconsistency with same), and how many past phenomena it explains. A belief can be credible without being surprising, and conversely. Beliefs compete for space in forums and in actors, so they experience selection pressure and can die.

Biased by their beliefs, each actor assigns various amounts of credibility to all the other parts of the system (except observed phenomena or the results of experiments, which are automatically accepted by all actors). The purpose of the whole process is to increase every actor's credibility in the whole and its parts, most particularly in the worldview. Credibility is largely a function only of consistency, both internal and external. The average amount of credibility in a belief across all actors is a rough measure of its fitness to survive. Actors can also have credibility with respect to other actors.

Consistency is the only way all actors can test any belief. Actors try to maintain as much consistency as possible, but total consistency is likely impossible to realize, so all actors live with some amount of inconsistency. The aim of the process is to make all beliefs in the worldview consistent with each other.

Operation

Actors have two modes of operation: online and offline. When they're online, only a few highly-accredited actors get to run and overall system response has to be in the tenths of a second. When they're offline, which is most of the time, most actors get to run and hypothesis generation is more of a free-for-all. Offline analysis is intended to improve the speed or accuracy of online responses. The pedal hits the metal online, but the universe usually produces phenomena to be observed only rarely. The appearance of a new phenomenon triggers the shift from offline to online.

Perhaps the actors shouldn't run at all when the user is online. Perhaps their job is finished for the moment when the user types something and they produce a fast, unchanging classifier to handle user actions. When they next wake up they might modify the classifier based on the most recent experience.

Even if actors do run online, today's ultrafast machines may make decent discrimination possible. Let's say there are 100 actors. Each one is a simple program that should execute no more than, say, 100,000 machine instructions per cycle. If we assume a 500 MIPS machine, each actor can run 50 times a second. So, assuming the user isn't running a compute-intensive job, and assuming the actor system can consume up to half the machine's resources without discommoding the user, the set of all actors might get to run 20 times a second. This will be reduced further due to the overhead of switching threads and so on. If a factor of 4 is reasonable, that's still 5 "decisions" per actor per second (or, 180,000 "decisions" per hour), even when the user is presently using the machine.

One way for the system to squeeze more information from the user's few actions is to attempt to predict the user's decisions ahead of time. By keeping track of what parts of itself strongly suggested outcomes that did or did not coincide with the user's later decisions the system is able to assign "virtual credit" to its actors.

Since the system needs to do a lot of offline processing, it would be best to leave it running all the time, using the spare cycles not devoted to user processing to increase the accuracy of its classifier. Such a system is more like an insect hive alive inside a machine than a power tool.



last | | to sitemap | | up one level | | next