Difference between revisions of "User:Bigfatcat"

From Robowiki
Jump to navigation Jump to search
Line 3: Line 3:
 
I'm creating a genetic program (GP) to optimise a specified set of Robot functions over a specific number of generations. I've almost completed the GP and I am currently optimising the figures below and others such as mutation and crossover probability.
 
I'm creating a genetic program (GP) to optimise a specified set of Robot functions over a specific number of generations. I've almost completed the GP and I am currently optimising the figures below and others such as mutation and crossover probability.
  
'''Number of Generations: 50'''
+
'''Number of Generations: 40'''
  
 
'''Initial Population: 100'''
 
'''Initial Population: 100'''
  
'''Reproduction Rate: 16% per generation'''
+
'''Reproduction Rate: 8% per generation'''
 
 
As I type the program has been running for about two hours and is at generation 25 but now it is taking about 10-15 mins to run per generation; and that's increasing too.
 
 
 
'''Population at Generation 25: 3263'''
 
  
 
The program evaluates fitness via a three rounded 3v3 battle between the current robot being evaluated and two other default 'house' robots. Robots that have not been mutated and have not experienced crossover with its parents are not re-evaluated.
 
The program evaluates fitness via a three rounded 3v3 battle between the current robot being evaluated and two other default 'house' robots. Robots that have not been mutated and have not experienced crossover with its parents are not re-evaluated.
  
This is taking a lot of time! Compiling the java files and then running the battles hundreds of times by a factor of 50 generations and the size of the population is causing the application to take a long time per generation cycle.
+
This is taking a lot of time! Compiling the java files and then running the battles hundreds of times by a factor of #generations and population size is causing the application to take a long time per generation cycle.
  
If anybody has any idea how to reduce compile or battle run time I'd really appreciate it.
+
If anybody has any idea how to reduce battle run time (threads?) I'd really appreciate it.
  
 
I'll edit with updates. Cheers!
 
I'll edit with updates. Cheers!
--[[User:Bigfatcat|Bigfatcat]] 18:56, 25 April 2011 (UTC)
+
--[[User:Bigfatcat|Bigfatcat]] 13:16, 26 April 2011 (UTC)
  
 
----
 
----
 
 
I ended the run after waiting for too long...I then reduced the reproduction rate to 8%. The program is still running but it is not on the 41st generation. I may have to let it run overnight.
 
  
 
My Robocode battles are run via my own created BattleRunner class which creates a new BattleEngine and BattleSpecification etc... I was wondering, would my application run any faster by running the BattleRunners as Threads? or would that kill my program and/or computer? --[[User:Bigfatcat|Bigfatcat]] 20:44, 25 April 2011 (UTC)
 
My Robocode battles are run via my own created BattleRunner class which creates a new BattleEngine and BattleSpecification etc... I was wondering, would my application run any faster by running the BattleRunners as Threads? or would that kill my program and/or computer? --[[User:Bigfatcat|Bigfatcat]] 20:44, 25 April 2011 (UTC)

Revision as of 14:16, 26 April 2011

Genetic Programming with Robocode

I'm creating a genetic program (GP) to optimise a specified set of Robot functions over a specific number of generations. I've almost completed the GP and I am currently optimising the figures below and others such as mutation and crossover probability.

Number of Generations: 40

Initial Population: 100

Reproduction Rate: 8% per generation

The program evaluates fitness via a three rounded 3v3 battle between the current robot being evaluated and two other default 'house' robots. Robots that have not been mutated and have not experienced crossover with its parents are not re-evaluated.

This is taking a lot of time! Compiling the java files and then running the battles hundreds of times by a factor of #generations and population size is causing the application to take a long time per generation cycle.

If anybody has any idea how to reduce battle run time (threads?) I'd really appreciate it.

I'll edit with updates. Cheers! --Bigfatcat 13:16, 26 April 2011 (UTC)


My Robocode battles are run via my own created BattleRunner class which creates a new BattleEngine and BattleSpecification etc... I was wondering, would my application run any faster by running the BattleRunners as Threads? or would that kill my program and/or computer? --Bigfatcat 20:44, 25 April 2011 (UTC)