RE: Evolving/Learning AI progs (was RE: Let me try once more)

new topic     » topic index » view thread      » older message » newer message

> From: Chris Bensler
 
> Yes, I know about such things..
> 
> But what happens when you shut down the prog? Where's the remembered 
> intelligence? Would have to be stored in a readable file. Can't be 
> incorporated directly into the app..
> 
> I think you forget, the topic of my discussion was the ability to 
> develop a program that can modify itself so as to not allow anyone to 
> tamper with the LEARNED intelligence of the AI..

Yeah, I guess so.  :)

But, to be honest, I'd be more comfortable with storing the learning
separate from the executable code.  I've put some thought into putting some
AI into some of my projects, and there were several things that seem
important.

A key assumption that I make is that your program itself is finite, and
really doesn't expand.  This may not apply completely to Kat's situation,
for example, because she's looking at human/AI interaction in a
conversational context, rather than the AI as a player in a game, where the
rules are fixed.  Also, it's a real pain for a human to expand a program.
By which I mean, once a program is fairly mature, adding some new feature
(to the underlying program/game/etc, not the AI itself), and integrating
that into the rest of the code is, in general, no simple matter.  To give
the program the ability to do this seems beyond what I can imagine, and I
doubt that anyone anywhere has had much success with this type of thing.
Frankly, I don't think you'd have much luck with modifying the AI code
either.  (Do I put a new func call here, or here, or here, etc....Lots of
room for logic errors...)

So, there would have to be some sort of [standard] API for interaction
between the AI and the rest of the program.  I assume that there are various
'rules' for the world in which the AI lives, like in a game.  So there is a
limit to the things the AI can do, just as there would be if a human were
making the decisions.  Therefore, the self modifying code must be only
concerned with the decision making process, and the options/outputs are
discrete.

A very important part of the API must be how the AI gathers inputs.  It
could look at one or two things, or look at everything available to it.
However, its world contains a finite amount of information, since your
program is finite.

The best way, IMHO, would be to set up some sort of framework (like a GA or
Neural Net) that acts as a 'scripting engine' to take care of the stuff as a
black box.  The black box methodologies seem to work best at creating things
that seem truly intelligent.  Just turn them on and let them learn.  Then
save the params of the system when you're done, and load them up again.

An interesting site is http://www.santafe.org.  It's the Santa Fe Institute.
They're real big on Artificial Life, a component of which, of course, is AI.
Some of the biggest names in AI/AL are or have been there.

Matt Lewis

____________________________________________________________
T O P I C A  -- Learn More. Surf Less. 
Newsletters, Tips and Discussions on Topics You Choose.
http://www.topica.com/partner/tag01

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu