kernel density is important

Jump to navigation Jump to search
Revision as of 15 July 2012 at 13:24.
The highlighted comment was created in this revision.

kernel density is important

  • Diamond 1.7.47: Math.exp(-0.5 * ux * ux)
  • Diamond 1.7.50: Math.pow(2, -0.5 * ux * ux) (.47 vs .50)
  • Diamond 1.7.51: Math.pow(2, -Math.abs(ux)) (.50 vs .51)

I know 1.7.51 is far from stable, but it blew away my test bed enough that I'm pretty sure it's a nice jump (knock on wood).

    Voidious05:34, 15 July 2012

    Fun to experiment with!

    I just need to figure out where my major performance problems lie, because if I try directly using Math.exp() or Math.pow(), I get hundreds or thousands of skipped turns in a round. I'm pretty heavily reliant on using a fast approximation for Math.exp() right now.. but I don't think I should have to be...

      Tkiesel07:38, 15 July 2012
       

      Using the approximator seems reasonable to me. I actually saw that in your version history and played with one a bit in my gun. =) In my main gun, where I do over 10k kernel density calculations per tick, I long ago abandoned gaussian because it was too slow. But I thought with an approximation, which I already had laying around from some experiments with an integral surf danger formula, it might work. It was fast enough, but it didn't perform better anyway...

      I've found that a formula that smooths across the whole angle range is really important in movement. And in my movement, it's a max of 200 data points * 12 firing angles tested = 2400 kernel density calculations (across both waves). So until now, I stuck with gaussian because it's the only common kernel density formula I'd seen with that property. But I finally started playing with modifications of that and it was quite an improvement.

        Voidious14:24, 15 July 2012