Difference between revisions of "User:Bigfatcat"

From Robowiki
Jump to navigation Jump to search
Line 11: Line 11:
 
'''Fitness Measure: Score / (Score + (average score of opponents) )'''
 
'''Fitness Measure: Score / (Score + (average score of opponents) )'''
  
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 ten rounded battle between the current robot being evaluated, two sample robots and my own hand made 'role model' robot. 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.
+
Some pretty decent robots have been produced so far but I'm still trying to optimise the algorithm.
 
 
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!

Revision as of 16:59, 27 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

Fitness Measure: Score / (Score + (average score of opponents) )

The program evaluates fitness via a ten rounded battle between the current robot being evaluated, two sample robots and my own hand made 'role model' robot. Robots that have not been mutated and have not experienced crossover with its parents are not re-evaluated.

Some pretty decent robots have been produced so far but I'm still trying to optimise the algorithm.

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)