Anti-Surfer Targeting

Jump to navigation Jump to search

It's 1NN with only firing waves. It seems that kd-tree is the only slow part.

Worth mention that I already store everything slow to file, e.g. precise intersection, precise mea etc. So all I do is load those attributes, transform with my formula, load into tree and do kde for every firing wave.

Anyway this can be considered as 1 population and 1 generation, as I'm tuning it by hand yet.

Xor (talk)01:39, 23 March 2019
OK, now I understand. I was afraid that I had a big flaw in the algorithm that made it slow. What I learned is genetic algorithm always works better than manual tuning in the long run. What I do when it ends is to roll the numbers that are really high and low to the max/min values and then I get about a 1% boost in score which easily surpasses the hand tuning. Since only my GA is multi-threaded hand tuning is a little slower too.
One final question, where do the files I save go on RoboRunner-GUI? I didn't even test(Std Me) before putting WhiteFang against 28 surfers for 10 seasons then I accidentally compiled the project(Me again).
Dsekercioglu (talk)12:03, 23 March 2019

I don’t use GUI. The recorded files are located in each robocode installation, inside regular data file location.

I’m trying GA then. I’m tired tuning anti-random gun by hand, because tuning for one set of data decreases performance against another set of data (1500 battles should be enough, but it’s not the case when all your improvements are below 1% hit rate)

Xor (talk)00:47, 24 March 2019

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Users.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page.

Return to Thread:Talk:WhiteFang/Anti-Surfer Targeting/reply (17).

 
 

Update: after some profiling, it confirmed that kd-tree is the only bottleneck.

However, it seems that file reading time grows as kd-tree time grows.

And after putting deserializaion into separate thread and use some producer-consumer pattern to communicate, total run time stays the same and file reading time decreased greatly. Maybe my profiling tool is yielding inaccurate result.

Xor (talk)00:43, 24 March 2019