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

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

I have to give you that.. It SURELY would be difficult, and most likely 
beyond my ability..

But why does my program game have to be finite? If I were able to 
incorporate self modifying apps, I think that alone would break the 
boundaries..
The AI isn't the only thing that can be evolved..
If I can have user enhancable code in my games, I can allow users to 
build the game to however they choose..

Add weapons of their choice, change the topology of the gaming arena 
through damage done by their warfare, maybe if the AI is advanced 
enough, things they say to the AI could effect the outcome..
If they are nice, maybe the AI would ally, if not, the AI declares war, 
and remembers who helped it and who didn't.
Maybe I could allow the user to TRAIN his troops to however he likes, to 
suit his combat style..

Lest we forget, games involve someone actually playing it too.. I think 
that qualifies as human interaction.. whose to say what someone might 
want to try?

The future of gaming is in the ability to keep user interested for 
longer..

If it could be possible to build a game, where the user is constantly 
challenged regardless of how much he has played. In fact it would get 
MORE challenging as the AI gained knowledge and experience..
It would almost CERTAINLY dominate the market..

The point is, I WANT my game to expand, this is the theory..

For example, when I go and buy a game now, off the shelf..
Give me a month.. I'll master it.. I'll beat the game..
Not another human opponent maybe, but definitely the game..
After that, the game sits on MY shelf..

Most games that I do buy, I make it a point NOT to beat the game, 
specifically for that reason..
When I feel I'm close, I'll put it away and try at a different one.
That way I can come back to it a few months later, and have some more 
fun!! Usually I forget what/where I was, and have to essentially start 
over..
If I finish it, then I'm never inclined to play it again..
And sequels don't turn my crank. I hate it when a company releases a 
sequel, and it turns out to be the same game, with different 
weapons/maps/story.. Whoop dee do dah day.... still know how to beat the 
game..
Might as well give me a movie, just as much entertainment value and I 
don't have to do anything to see the story and pretty pictures..

I do agree, this concept is far from mature.. but imagine if we could do 
it, and it was done in EU? If it IS possible, I see no better language 
to try and implement it in..
Especially considering the complexity involved with trying to modify the 
code using the AI itself.. (Like you said)

Anyways, this was just one string of thought, on the subject of 
executable variables..

I think the major function of such a feature would be for scripting, not 
AI..

Like adding macro abilities to your apps..
How about plugins?
Take Photoshop for example.. How are the plugins implemented into the 
main app?  (This IS a question, not just a leader)
I'm quite sure there aren't very many restrictions on what a plugin can 
do to the app, you can make a plugin that modifies the actual GUI of the 
app..
Seems to me, the best and most logical way this is implemented, is by 
calling code from the plugin, and combining it with the underlying 
program..

Chris

Matthew Lewis wrote:
> 
> > 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     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu