An AI that creates other AI's
BAsically I am thinking of taking an AI to look at the game being played and identify weak points in the strategy. Based on those points it would then create a file and stream the contents of diferent methods etc. into the file, call a shell script to compile and then dynamicly load the new class. I am thinking that the AI could be given a list of Sun TZU with a genral trnslation. Each sub AI would look at the situation diferently. Maybe allowing for experimentation. Still kind of brainstorming the idea.
dual 867 g4, 1GB RAM, dual video cards, dual dvd burners, n dual hds. My das always be prepared.
quote:
Original post by myahmac
BAsically I am thinking of taking an AI to look at the game being played and identify weak points in the strategy. Based on those points it would then create a file and stream the contents of diferent methods etc. into the file, call a shell script to compile and then dynamicly load the new class.
That sounds extremely difficult. Why not build the entire AI system with scripts. You could use a high level language like perl or python for scripting, because the AI that you''re talking about ain''t easy to build. That way you won''t have to stream to a file and compile and link with a running program.
quote:
I am thinking that the AI could be given a list of Sun TZU with a genral trnslation. Each sub AI would look at the situation diferently. Maybe allowing for experimentation. Still kind of brainstorming the idea.
You could use some kind of evolutionary algorithm that learns from it''s mistakes. The system could try 10 ways to attack a player and then continue to use the one that worked best. And then create 10 variations based on that, etc.
Hey thats part of what the games concept is!!! Our whole purpose was to have a completly dyanmic situation pitting man against machine. INstead of a campegin plot to follow, You are put in in control of an entire army dictating strategical moves to your subordinates. Those can be AI or people. The opposing "general" is given a small set of rules to play with as is the human player, but you both learn the game together. Certain functions will be built i but undisclosed to the user, and as he uses new tactics the Ai is supposed to learn how to counter. not instantly though, that would be kinda hard. INstead we are going to have the Ai study a recorded game and then attempt different strats, based on probability.
BTW, there are multiple levels of Ai in the game. Kind of like a rank. we have a controller pointer that decides who gives the orders, but other than main objectives set by the controller, the little ai''s run the game. The ones i would like to detach are the studying AI''s. Kinda like how2 people see the same thing diferently. I know thats alot simpler than it is buts that the basic idea. ;-)
I have never done scripting, so I didnt think about that aproach. How would scripting be diferent from compiling. I am working on a mac system so dynamic linking is pretty easy.
BTW, there are multiple levels of Ai in the game. Kind of like a rank. we have a controller pointer that decides who gives the orders, but other than main objectives set by the controller, the little ai''s run the game. The ones i would like to detach are the studying AI''s. Kinda like how2 people see the same thing diferently. I know thats alot simpler than it is buts that the basic idea. ;-)
I have never done scripting, so I didnt think about that aproach. How would scripting be diferent from compiling. I am working on a mac system so dynamic linking is pretty easy.
dual 867 g4, 1GB RAM, dual video cards, dual dvd burners, n dual hds. My das always be prepared.
I would classify what you described as Supervised Learning,
with the learning process supervised by another program,
instead of a human.
Instead of the supervising AI "rewriting" the learner, as
you said, the learner itself will improve over time.
Kami no Itte ga ore ni zettai naru!
with the learning process supervised by another program,
instead of a human.
Instead of the supervising AI "rewriting" the learner, as
you said, the learner itself will improve over time.
Kami no Itte ga ore ni zettai naru!
神はサイコロを振らない!
well, just thinking would a system be able to adapt to most anything just by giving a diferent objective to the main AI. if it maintained its links to all sub AI''s that it spawned and thus their memories, would that mean it it could eventualy be called Skynet?
dual 867 g4, 1GB RAM, dual video cards, dual dvd burners, n dual hds. My das always be prepared.
Yes
Be afraid, be very afraid!
Isn''t this idea similar to Ga''s?
Nice coder
Be afraid, be very afraid!
Isn''t this idea similar to Ga''s?
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
February 10, 2004 08:06 PM
I agree with NiceCoder... What you are suggesting sounds similar to Genetic Algorithms. Two AIs spawn many children by "recombination" of their internal models... the best children are selected... those children become the new parents ... Repeat until satisfied with the children...
However, you also seem to be interested in "machine teaching", that is one AI communicating its models to another AI, to enhance the second AI''s models.
Instead of simply replacing the subject''s models (which would be simply retraining...) one method I''ve seen builds "sample cases" based on the trainer''s models, then communicates these sample cases to the subject, which "learns" them, adding them to its own model.
This has the advantage of not destroying any domain knowledge that the subject had gained itself...
**
As regards SkyNet, the real difficulty would come in trying to define the reward function (or the objective and the achievement score). This means that while in theory, yes you could build SkyNet this way, you probably can''t define "World Domination" in the AI''s knowlege system...
**
My usual source for all things AI and/or CompSci is http://citeseer.nj.nec.com/ a.k.a. http://citeseer.org/
Cheers.
However, you also seem to be interested in "machine teaching", that is one AI communicating its models to another AI, to enhance the second AI''s models.
Instead of simply replacing the subject''s models (which would be simply retraining...) one method I''ve seen builds "sample cases" based on the trainer''s models, then communicates these sample cases to the subject, which "learns" them, adding them to its own model.
This has the advantage of not destroying any domain knowledge that the subject had gained itself...
**
As regards SkyNet, the real difficulty would come in trying to define the reward function (or the objective and the achievement score). This means that while in theory, yes you could build SkyNet this way, you probably can''t define "World Domination" in the AI''s knowlege system...
**
My usual source for all things AI and/or CompSci is http://citeseer.nj.nec.com/ a.k.a. http://citeseer.org/
Cheers.
well, if u are able to write the AI in strict C, you could use www.critticall.com.
the "only" real problem would be to provide a working input/reward system...
the "only" real problem would be to provide a working input/reward system...
Abnormal behaviour of abnormal brain makes me normal...www.zootfly.com
February 10, 2004 08:34 PM
Hey bro, sounds like you need a decision tree. you wont have to do any crazy compiles or whatever the hell you thought you where doing. Sounds like you dont really know what your talking about, but good luck.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement