Talk:Firestarter/Version History

From Robowiki
Jump to navigation Jump to search

Contents

Thread titleRepliesLast modified
scale standard deviations to 1314:15, 27 October 2017
Incredible APS gain!513:20, 17 October 2017
1.101301:13, 7 October 2017
Congratulations! 008:38, 13 August 2017

scale standard deviations to 1

Good to hear that some experiment was done with this rule-of-thumb. Anyway, did you find that improve your performance? Or some weight re-tune is needed imo.

Btw, are you using some online standard deviations algorithm and update the knn weights on the fly, or just do it offline with pre-collected data?

Xor (talk)01:52, 27 October 2017

Yes, I think you mentioned this rule-of-thumb somewhere on the wiki, (or was it somebody else? not sure now) thanks for that. I found that improve my performance. However, I focused on becoming stronger against surfers, which made me weaker against non-surfers.

I just run a battle against some bot, collected the standard deviations and afterwards divided each attribute by the respective std deviation. I found that now the standard deviations remain pretty close to 1 against most bots.

Cb (talk)10:26, 27 October 2017

Well, that's the easiest way I can think of... And it really surprised me that the standard deviation is almost the same for most bots. If so, then I think normalising standard deviation may not be that useful — since we already tune weights very hard. But for neural networks, I think this is invaluable, since we don't tune weights manually, and that would affect the learning speed a lot.

Xor (talk)10:56, 27 October 2017

I never thought about normalizing standard deviation for neural networks, because they should adjust themselves to the attributes anyways. But yeah, the learning speed is probably affected by it, I should consider that for further NN experiments :D

Cb (talk)14:15, 27 October 2017
 
 
 

Incredible APS gain!

Edited by author.
Last edit: 12:05, 17 October 2017

Congratulations! Never imagined that wall stick length can affect score that much!

How you escalated the scoreboard aways surprised me, and I’m pretty sure there will be a tough fight at the top of 1v1. Congratulations man!

Xor (talk)03:09, 17 October 2017

Indeed, impressive race to top-5. Congrats, Cb!

Rsalesc (talk)03:10, 17 October 2017
 

Really a quick rise in the Duel field, where the improvements are hard and failures are easy. Looks like the domination of Skilgannon really is challenged on all fronts. Having a stick that is too long reduces your battlefield, and when you accidentally get cornered, big trouble getting out. Having a stick too short lets you run into the wall if you don't brake => predictable.

GrubbmGait (talk)10:27, 17 October 2017

also, a stick too short may make you stuck in corner ;) This happens especially to FancyWallStick like wall smoothing method, which is the type ScalarBot uses.

Xor (talk)11:18, 17 October 2017

Thanks guys!

Exactly, I had thought that the former wall stick length of 200 would keep me from getting cornered but it also kept me too close to the opponent.

It seems to me like the optimal wall stick is somewhere about 120 and 150, as the wiki article about Wall Smoothing says.

Cb (talk)11:21, 17 October 2017

Getting stuck in corners (especially against rammers) is also dependent on your dive-in protection. Sometimes the only way to get out is to go towards the opponent, and your dive-in protection lets you change direction into the corner again.

GrubbmGait (talk)13:20, 17 October 2017
 
 
 
 

Hey, congrats on the great update!

From what I understand from your version history message, what you did in this version is a simpler version of what I have been working on for a while now - the idea of gunheat waves in melee. I'll release tomorrow hopefully, but in the mean time some of the infrastructure I needed in order to get there enabled me to do some other things which are interesting - mostly around bullet power management.

And thanks for the competition, it is difficult to find motivation without strong opponents! In fact, thanks to all the robocoders who have been recently active, I was afraid that the robocode community had died! It is great seeing some new life in the rumble, especially with very strong bots!

Skilgannon (talk)20:28, 2 October 2017

Thanks! I haven't looked into the concept of gun heat waves that much yet, but it's interesting, especially in melee where it's a bigger challenge to detect enemy waves.

What I changed in 1.10 is actually concerning the gun. Firestarter fires a virtual bullet wave each tick now. Apparently this speeds up learning and it increased the performance of the guess factor gun, even against surfers.

I am curious about your new version! And I agree, I am happy to see so many people active, and I wonder where this activity suddenly comes from. Maybe AI and Deep Learning becoming popular in the media also sparked new interest in Robocode.

Cb (talk)21:02, 2 October 2017

Ah, ok. I thought it would be movement related, and perhps you are doing some kind of shrapnel dodging.

A good way I found to get a balance between the every-tick vs fire-only is to use "time to/from fire" as an attribute, this way you get the fast learning as well as the better targeting of bots that react to enemy fire once you have enough data.

Happy robocoding!

Skilgannon (talk)21:16, 2 October 2017

As far as I understood, shrapnel surfing is about simulating virtual bullets and moving away from them by using anti gravity. I tried something like this in earlier versions, but I couldn't make it work that well. Next, I used pure minimum risk movement which worked well. Currently, it is a mix of both positional and wave evaluation.

Thank you, good to know about that time attribute :)

Cb (talk)21:46, 2 October 2017

IMO, bots using precise prediction (1v1) can also be called shrapnel surfing ;) e.g. ScalarBot is avoiding some "Virtual Bullets" with equal weights using true surfing, but that works similar to shrapnel surfing with anti-gravity. IMO the real difference between traditional wave surfing and shrapnel surfing is whether you are avoiding some "shrapnel" or just minimizing some probability (mostly from VCS bins or trees).

BTW, are you trying to avoid bullets using minimum risk before recent updates? Or just traditional minimum risk like HOF & Diamond.

Xor (talk)06:15, 3 October 2017

There are lots of possible styles of minimum risk movement. I think Diamond detects a new minimum risk point every tick. HOF detects a new point once he reaches the previously detected point. So the frequency of detecting a new destination makes a difference and it can greatly affect your bot's behaviour. What Firestarter did before recent updates was calculating the minimum bullet flight time from enemy guns and updating his destination in that frequency. It is imprecise but it usually tricked all simple targeting systems quite well.

Cb (talk)11:04, 3 October 2017
 
 
 
 

Wow, that's a great idea — I've been thinking about melee wave surfing for awhile, and gun heat waves in melee also once came to my mind. Great to hear that working!

Xor (talk)05:53, 3 October 2017

I am working on a melee surfing bot too and I 'm thinking about robot shadow. You can mark a part of the wave that hit a robot as completely safe.

Dsekercioglu (talk)06:11, 3 October 2017

"Bot Shadow" also once came to my mind ;) the real problem is always that you never know the exact things in the battle field. But that should work any way.

Xor (talk)06:20, 3 October 2017
 

Neuromancer has been doing Bot Shadows since 1.1 ;-) It gave a nice score increase too!

Skilgannon (talk)09:43, 3 October 2017

I thought that this inaccurate strategy would bring more harm than benefit. Good to hear it works, it seems cool to have this in a bot :)

Rsalesc (talk)10:41, 3 October 2017

I guess that, what makes an inaccurate strategy work is that — when the guess works, it's very beneficial, and when it is not working, it is not very harmful. Especially in melee, everything is imprecise, then making another mistake won't make things that bad ;)

I've been long thinking that Bullet Shadow is useless (because mostly only a small part is shadowed, and most bots are reducing danger in a rather inaccurate way), but it turned out very useful ;)

Xor (talk)11:18, 3 October 2017
 
 
 
 

Wow, amazing! A few days late, but congrats indeed! And it's very cool to see a fresh wave of activity here, too.

Voidious (talk)01:13, 7 October 2017
 

Congratulations!

Really wondering what's special of it comparing to other strong bots ;)

Xor (talk)08:38, 13 August 2017