On Mon, 2002-11-11 at 14:11, Charles Hixson wrote:
> 
> Personally, I believe that the most effective AI will have a core 
> general intelligence, that may be rather primitive, and a huge number of 
> specialized intelligence modules.  The tricky part of this architecture 
> is designing the various modules so that they can communicate.  It isn't 
> clear that this is always reasonable (consider the interfaces between 
> chess and cooking), but if the problem can be handled in a general 
> manner (there's that word again!), then one of the intelligences could 
> be specialized for "message passing".  In this model the "core general 
> intelligence" will be for use when none of the hueristics fit the 
> problem.  And it's attempts will be watched by another module whose 
> specialty is generating new hueristics.


This is essentially what we do, but it works a little differently than
you are suggesting.  The machinery and representation underneath the
modules is identical, where each module is its own machine which has
become optimized for its task.  In other words, if you were making a
module on chess and a module on cooking you would start with the same
blank module machinery and they would be trained for their respective
tasks.

If you looked at the internals of the module machinery after the
training period, you would notice marked macro-level structural
differences between the two that relate to how the machinery
self-optimizes for its task. The computational machines, which are
really just generic Turing virtual machines that you could program any
type of software on, use a pretty foreign notion of
"computation/processing" -- the processor model looks nothing like a von
Neumann-variant architecture.  Despite notable differences in structure,
it is really just two modules of the same machine that have
automatically conformed structurally to their data environment.

The interesting part is the integration of the modules.  There are
actually a number of ways to do it, all of which have advantages and
disadvantages.  One advantage of having simple underlying machinery
controlling the representation of data is that all modules already
deeply "understand" the data of any other module.  You COULD do a "hard
merge" of the cooking module with the chess module into one module, and
automatically discover the relations and abstract similarities between
the two (whatever those might be) without any special code, but there
are lots of reasons why this is bad in practice.  In implementation, we
typically do what we would call a "soft merge", where the machines are
fully integrated for most purposes and can use each others space, but
where external data feeds are localized to specific modules within the
cluster (even though these modules have access to every other module for
the purposes of processing the data feed).  From the perspective of
external data streams it looks like a bunch of independent machines
working together, but from the perspective of the machine the entire
cluster is a single machine image.  There are good theoretical reasons
for doing things this way which I won't go into here.

In short, we mostly do what you are talking about, but you've actually
over-estimated the difficulty of integration of domain-specific modules
(using our architecture, at least).  Actually building modules is more
difficult, mostly because the computing architecture uses assumptions
that are very strange; I think my programmer's mind works against me
some days, and teaching/training modules by example is easier than
programming them directly most times.  Once they are done, you pretty
much can do plug-n-play on-the-fly integration, even on a "hot"/active
cluster of modules  (resource permitting, of course).  An analogy would
be how they learned new skills on-the-fly in "The Matrix".  The
integration is a freebie that comes with the underlying architecture,
not something that I spent much effort designing.

Cheers,

-James Rogers
 [EMAIL PROTECTED]  

-------
To unsubscribe, change your address, or temporarily deactivate your subscription, 
please go to http://v2.listbox.com/member/

Reply via email to