Talk:Firestarter/Version History
- [View source↑]
- [History↑]
Contents
Thread title | Replies | Last modified |
---|---|---|
scale standard deviations to 1 | 3 | 14:15, 27 October 2017 |
Incredible APS gain! | 5 | 13:20, 17 October 2017 |
1.10 | 13 | 01:13, 7 October 2017 |
Congratulations! | 0 | 08:38, 13 August 2017 |
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?
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.
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.
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!
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.
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.
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.
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.
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!
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.
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!
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 :)
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.
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.
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!
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.
"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.
Neuromancer has been doing Bot Shadows since 1.1 ;-) It gave a nice score increase too!
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 :)
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 ;)