Genetic AI Project

Here is another set, again all standard settings.
 

Attachments

This is a very ambitious project and I hope that it will succeed in its goals. However, I'm curious about the setup. Maybe, I'm not understanding it perfectly, but if I read it correctly, the better AI is chosen based on its performance against other AI's. While that is a reasonable way of testing AI's and probably creates decent AI's, I'm in doubt that it will create the best AI to defeat humans.

For instance, I think that the best AI to defeat AI's would use a kind of coding to do the best thing all the time (no or very little randomness). This is very bad when trying to create an AI that is competent against human beings. The human will have understood this deterministic choice algorithm of the AI pretty fast and will exploit the fact that it can predict what the AI will do next.

Maybe, I'm missing a part of the testing setup and my criticism is completely unfounded. Please don't be offended by my criticism as I really like the objective of this project.
 
You're correct. At the moment nothing is being done to preserve randomness, however I plan to make some changes that should keep a random element in.
 
Ok, I guess that you know what you're doing. I don't know that much about programming or the AI. Just a simple observation from my point of view.

I wonder how much better this new AI will be in the end. Good luck!
 
The Great Apple said:
You're correct. At the moment nothing is being done to preserve randomness, however I plan to make some changes that should keep a random element in.

Perheps a kind of randomness between the 5 best strategies for each "trait" and aspect of the civ? Like religion, military and so on? I mean, each one of those have the best strategy for them, so why not the AI choose 1 of this paths and then pick 1 of the best strategies for this path in a random thing?
I dunno if you understood me but well, I think you kinda have in mind what Im talking about anyway ^^
 
Any word on when the next version will be out?
 
I've been waiting until I get as many of the last generation back as possible before doing the next set. It'll probably be tomorrow night, as I'm just finishing off a set on my computer and then I'll be out of new sets to run.

Sorry for the lack of info, been kinda busy this last week and haven't had much time to work on this.
 
Lurker Comment:

The AI seems to be programmed to go for a Space Race victory. Have you disabled this in some of your AI tests.

I ask because I would like to know what would happen if a game was played with that option (Space Race) not selected.
 
Harrier said:
Lurker Comment:

The AI seems to be programmed to go for a Space Race victory. Have you disabled this in some of your AI tests.

I ask because I would like to know what would happen if a game was played with that option (Space Race) not selected.

I did I guess 2 sets for him, and I disabled space race in BOTH sets! I hate that thing as well ;)
 
This is an amazing project. I am sure our community would love to help, if this mod was compatible with other mods. It would have been great, since we play most of the times on the Worldmap. If we ran for each AI civ a 20 time sgame, they would at least act smarter on that map (same conditions).

I am really looking forward for the future versions with Python functionality.

Good job
HOuman
 
If you know a thing or two about neural nets, you might be able to speed up the "evolution".

If i understood correctly, what you have now is an AI, which is basically a set of numbers, and coupled to each AI is a grade, based on how well it performs.

Using the data you have acquired, you could train a neural net to compute a grade for any given AI. This would be a much faster way of grading AIs than playing a game each time. Of course it will also be less accurate, but the more you train the neural net, the more accurate it will become. And if it's accurate enough, you'd only have to test the AIs that are graded highly by the neural net. AIs that are graded badly by the neural net could be discarded.
 
The problem with neural nets is that they require a very large data set to become any good. This is even more so as the number of input parameters increases. There need to be more data points than there is phase space really. For example, the code I use has 8 input parameters and I train on 1000 signal and 1000 background data sets. I could probably get away with less than that, but certainly not less than 100 of each good and bad.

The AI has hundreds of input parameters if I recall. You will need tens of thousands of examples of good and bad AI's to train the network to any degree. If you want to remove bad AI's quickly perhaps a better method would be to run each AI through 1 game and if it's score is, for instance, 2 standard deviations below a 'good' score, then throw it away imediatly.
 
Bad news. I was expecting to have Civ available to me at uni, but I don't (I don't even have my own computer available ATM). I'm still able to update the AIs with generation 5 AIs which I generated before I left however. I won't be home for another 9-10 weeks.

This certainly should cause many problems with continued analysis of the AIs. While it certainly halts development of new stuff for a while it seems that the current code is fairly stable and bug free. I'll continue to update the first page with generation 5 AIs in the time being.

trip11 said:
perhaps a better method would be to run each AI through 1 game and if it's score is, for instance, 2 standard deviations below a 'good' score, then throw it away imediatly.

Currently AIs are dumped early if their scores aren't up to standard with the rest of the AIs in the set. This usually ends up with about 10% of the AIs being dumped in 8 runs. It may be possible to make this cut more severe.
 
So should we just do one set and then stop, or just continue working on additional different AI sets? Or in other words does it do no good when multiple people do the same set?
 
It's fine when multiple people do the same set. The work will just be combined when it comes back for analysis giving more accurate results. As mentioned above I'll continue to update the front page with datasets for generation 5. These ones will last longer then any before as I've included a few more AIs in each file. I'm hoping the ones I have should last the 8 weeks.
 
I really hope this thread is not dead.
 
Read post 436 - further up the page. :)

Yes but the thing is, he posted that on October 3rd, its been about 11-12 weeks.
 
Back
Top Bottom