[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4586: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4588: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4589: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4590: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
AI Challenge Forums • View topic - Our Genetic Program

It is currently Sat Oct 20, 2018 1:55 pm Advanced search

Our Genetic Program

Share and discuss ideas for your entries here.

Re: Our Genetic Program

Postby amstan » Wed Nov 24, 2010 12:24 am

Smile, you're on reddit:
Alexandru M. Stan
Contest Organizer
User avatar
amstan
Contest Organizer
 
Posts: 691
Joined: Sun Jan 31, 2010 4:02 am
Location: Stoney Creek, Ontario

Re: Our Genetic Program

Postby Innominate » Wed Nov 24, 2010 5:23 am

Innominate
Captain
 
Posts: 22
Joined: Wed Oct 06, 2010 3:20 am

Re: Our Genetic Program

Postby space.invaders » Wed Nov 24, 2010 9:46 am

space.invaders
Lieutenant-Colonel
 
Posts: 41
Joined: Fri Sep 10, 2010 9:19 pm

Re: Our Genetic Program

Postby space.invaders » Wed Nov 24, 2010 9:51 am

space.invaders
Lieutenant-Colonel
 
Posts: 41
Joined: Fri Sep 10, 2010 9:19 pm

Re: Our Genetic Program

Postby space.invaders » Wed Nov 24, 2010 10:49 am

space.invaders
Lieutenant-Colonel
 
Posts: 41
Joined: Fri Sep 10, 2010 9:19 pm

Re: Our Genetic Program

Postby space.invaders » Wed Nov 24, 2010 3:03 pm

Our current online bot is from generation 97. It started very well yesterday, was even in the top 100 for a little while, but it fell back to rank 300+ now. That might be due to the way the ELO points are calculated for newly submitted bots, or because a lot of participants are improving very rapidly in the last days of the competition.

We will now be entering the third out of four phases of our evolution. We started the Initial Phase with a population size of 10,000. The initial population is really bad. Man of the bots don’t send any fleets, others send fleets only to enemies, never to neutral planets, and so on. Most of them don’t take distances, growth rates or ship counts into consideration. Most of them are, frankly, quite useless. But a population size of 10,000 if much more than we can handle anyway. Therefore we reduce it to 1,000 within 5 generations or so. That leaves us 1,000 different bots with a certain level of “intelligence”. At the end of that phase, they can compete with the starter kit bots.

1,000 different bots with some intelligence are the ideal material to start the second phase, which we call the Crossover Phase. Although, crossover and mutation happens all the time, in this second phase the combination of the little pieces of “intelligence” is the main factor that makes the bots better. Think of a random bot that does nothing but shooting at near planets. Then take another one that prefers to shoot at planets that don’t have many ships. If you combine these two simple preferences into one strategy, that will be a considerable improvement. At the same time you will also get strategies that shoot only at distant, well defended planets, but they will die quickly and they will not propagate that behavior to the future generations. In the second phase, we take care that individuals don’t die too quickly, because after surviving the first phase, they must have some good code in them, and they should get a good chance to pass that on.

At some stage in the evolution you have more or less exhausted all the possibilities to combine the original code pieces from the initial population. That’s when the main improvements come from mutation. The third phase, which we enter right now, is the Mutation Phase (again, we continue to do crossover here). Mutation works more slowly than crossover of code that has shown some quality, because we insert random code, which makes things worse in most cases. To counteract that effect we increase the turnover of individuals by changing some evolution settings that result in a shorter average lifespan.

The last phase, which will start on Saturday morning, we call the Panic Phase. Although we are confident that our bots would continue to improve after generation 200 (that’s what we will have by then), we are going to run out of time. One more day of normal evolution won’t change all that much. What we will do instead is throwing in some ad-hoc changes and some “improvements” which we had no time to verify whether they actually improve anything. We take a high risk that our strategies will get worse, but there is a small chance that these things do work. Let’s just hope that the Friday evening backup job runs as planned.

As you all know, one or more panic phases are quite common in software projects. We have the rare opportunity to plan exactly when to start it, and it has a natural end on 11:59 PM CST. We are looking forward to some more fun.
space.invaders
Lieutenant-Colonel
 
Posts: 41
Joined: Fri Sep 10, 2010 9:19 pm

Re: Our Genetic Program

Postby siconize » Wed Nov 24, 2010 5:08 pm

siconize
Captain
 
Posts: 27
Joined: Wed Oct 20, 2010 9:48 pm

Re: Our Genetic Program

Postby space.invaders » Wed Nov 24, 2010 5:25 pm

Siconize, thank you for sharing that observation. Next thing we have to find out: Should we be glad now or worried?
space.invaders
Lieutenant-Colonel
 
Posts: 41
Joined: Fri Sep 10, 2010 9:19 pm

Re: Our Genetic Program

Postby lavalamp » Wed Nov 24, 2010 10:33 pm

Ranks are pretty random for a while after you first upload a new bot, like +/- 100 at least. For me, anyway.
lavalamp
Colonel
 
Posts: 56
Joined: Wed Oct 06, 2010 9:10 pm

Re: Our Genetic Program

Postby pbrass » Wed Nov 24, 2010 10:37 pm

If CPU time is your limit, you might consider using some cloud-based services like Amazon EC2. They allow you to scale your parallel computations (battles, or perhaps large sets of battles) without having to make large capital outlays. Might be worth 50 Euros. Of course, with all this public interest, some cloud provider should really step in and donate some time. Imagine the publicity, cloud computing helps evolving software win Google AI Challenge.

If you weren't so proprietary about your code, you could run a distributed.net-style system, with many people running blocks of battles, reporting their results, and picking up new blocks.

Of course, Panic Time is the mother of invention ;-) I'm sure you will come up with some more very interesting ideas when the time comes. The whole idea of genetic programming in a scripting language via eval is brilliant. One imagines that there could never be any truly complex code arising from such a situation, due to the vast number of programs that would just fail, yet here you are. Even if you don't disclose your algorithm, I would love to read an analysis of your best/final generation program.

Good luck!
pbrass
Cadet
 
Posts: 1
Joined: Wed Nov 24, 2010 10:20 pm

PreviousNext

Return to Strategy

Who is online

Users browsing this forum: No registered users and 1 guest

cron