Talk:ScalarN/Version History

From Robowiki
Jump to navigation Jump to search


Thread titleRepliesLast modified
2nd103:21, 15 October 2018
3rd616:29, 3 October 2018
Way to APM008:26, 20 September 2018
U Math Library?407:50, 12 September 2018

It is by the smallest margin, but congratulations on your 2nd place! Maybe I'll have to brush off the DrussGT codebase in preparation for your next assault!

Also, have you tested the latest version in melee? I wouldn't be surprised if it is competitive with Neuromancer now.

Skilgannon (talk)21:58, 14 October 2018

Thanks a lot! And it will be fun for the race ;) However the melee part is untouched (I hope), still surfimg HOT in melee, that’s why I’m not updating the participants list for awhile. But the melee update is coming ;)

Xor (talk)03:21, 15 October 2018

Congrats on the strong entrance to the meleerumble! Are you going to explain in more detail how your bot works? How are you blending surfing and minimum-risk? What is the difference between swarm-pif-knn and a Shadow/Melee_Gun?

Skilgannon (talk)17:53, 27 August 2018

Thanks, its movement is mostly Scalar with reduced paths evaluated (inspired by Firestarter, after watching tons of battles. I guess this helped a lot because it won't trap in local minimum too much, like Scalar leaves its home, flies into a sea of bullets and gets killed)

The risk function is nothing more than popular ones found in minimum risk bots like HawkOnFire, Diamond and more. And the blending part is similar to Neuromancer (median scale), as this punishes points with danger higher than 50% points, being a perfect balance between both. However this approach doesn't seem to work well in 1v1, maybe the minimum-risk part should get some 1v1 redesign.

The gun is very simple (6 dimensions, unweighted) and traditional, with nothing special except the use of fuzzy-or (think about probability) instead of simple sum.

Being the 3rd as first entrance is more than expected, but it didn't surprise me too much, since most features found in top bots can also be found in ScalarN, and the implementation is mostly bug-free (I guess).

You can see Neuromancer fly across the battle field unharmed, Diamond hides in corner safely, Firestarter stick to the wall back and forth, and Scalar run into bullets getting killed ;)

Then ScalarN became some mix of the first three, hiding near corner/wall dodging some bullets, and gets killed when only two last ;) Remarkable APS with lowest Survival (to last) in top 10 (Survival).

Xor (talk)18:31, 27 August 2018

3rd in 1v1 now too, crazy progress you've made with ScalarN!

Skilgannon (talk)15:14, 3 October 2018

Hear hear, not only third, but making big steps towards 2nd place ! I now also know (by comparing versions 147 to 138) that my bot is rather vulnerable for AS guns . . .

GrubbmGait (talk)15:50, 3 October 2018

My suggestion is, add BulletShadow! I was ignoring the value of BulletShadow for a long time, and that's why ScalarN easily passed ScalarBot ;)

Xor (talk)16:13, 3 October 2018

Thanks ;) And most credit goes to DrussGT and Diamond where their state-of-the-art techniques are explained in detail, without which building a good bot will get much harder. And I would also like to write more details about ScalarN once it's stabilized ;)

One thing I learned from ScalarN is that you always get what you put. With knn gun, multiple tree knn wave-surfing and bullet shadow, ScalarN soon gets similar performance with Diamond (even with totally different attributes, decays, kernel functions, etc.). And with 100+ vcs buffers, DrussGT is constantly doing better than Diamond ;) I can still remember how hard I tuned ScalarBot to work against PatternMatchers but nothing works, because the lack of Diamond's style BulletShadow. Adding a correctly implemented new feature gives you much more score than tuning day and night. A major upgrade gives you much more than doing hard around yourself. And life is also just like this.

Xor (talk)16:11, 3 October 2018

so true, to quote from GresSuffurds main page: the drive to change instead of tweak

GrubbmGait (talk)16:29, 3 October 2018

Way to APM

ScalarBot and ScalarN are both suspicious of PatternMatchers, and at the same time Knight and Diamond has very strong APM score.

I even tried to copy Diamond's surf buffers (without flatteners) but it only decreased my APM performance.

Then, craziness drove me to run Diamond with mc2k7, and, without thresholds (doesn't affect score), flatteners (doesn't affect APM score) and bullet shadows, Diamond's APM performance dropped from 74+ to 67.5

Then, it may be concluded that strong APM comes from randomness, and Bullet Shadow is such a great source of randomness for surfers. Even flatteners can't do that well.

It seems that pattern matchers are smart enough to see though active flatteners so that it doesn't work well.

Xor (talk)08:26, 20 September 2018

U Math Library?

I'm very interested in what this U library does. Do you have any reference links? I've tried googling but so far have come up short.

Can't wait to see how ScalarN fares in the rumble :)

Enamel 32 (talk)04:39, 8 August 2018

It's written by me, and not yet open sourced ;)

And it's very simple. Just have a look at Neuromancer.FastMath. U just wrapped similar things in an elegant API ;)

Xor (talk)05:05, 8 August 2018

Oh, I had assumed it was out in the public like PyTorch. Fast math is fun!

Enamel 32 (talk)05:21, 8 August 2018

It seems that the word "and" is ambiguous. Fixed ;)

Xor (talk)06:02, 8 August 2018

just found a good math library Commons Math3

it has a much better approximation of exp than the look-up-table without memory version, and is still 2x faster than StrictMath

Xor (talk)07:49, 12 September 2018