Thread history

Fragment of a discussion from Talk:SegmentedData/Segments
Viewing a history listing
Jump to navigation Jump to search
Time User Activity Comment
No results

I use neither of them, not in my gun nor in my movement. I tested distance in my gun long ago and apparantly it brought not enough to compensate the scattering of data. I have been thinking about BFT lately though, but only because I want to make a bigger distinction between my guns. BFT seems then a better choice than distance, but that is just my gut feeling.

GrubbmGait (talk)00:54, 19 October 2017

Well, I never tried to drop distance/bft ;) although I don’t know why to include it. Anyway, my guns tend to weight distance relatively low, maybe that segment is really not that important.

Assume we kept our distance really good and it kept 450 ~ 500 most of the time. Then I think whether 450 or 500 makes no big difference, especially against movement that distributes latvel evenly among different time, e.g. random movement. But imagine you got to ~75 distance occasionally, where bot width is not ignorable. If you have distance segment it will automagically take advantage of that, as well as not polluting normal distance. But yes, when distance is concentrated, scattering the data may be more noticeable than the increase in accuracy.

Xor (talk)03:40, 19 October 2017

It also depends on how you process each segment. From your words I assume you use multiple separate arrays (segments) and accumulate them with a weight. I use one multidimensional array, which means that I can't give different weight to segments. This works a bit like a tree, going deeper into dimensions when enough data is present. Bringing one more dimension (segment) into such a structure will scatter the data, so I really only add it when it has proven that it helps. As my bot tries to keep its preferred distance, against the majority the distance segment gives no additional info about the movement of the opponent.

GrubbmGait (talk)07:16, 19 October 2017

Well, my old VCS gun uses anti-aliasing, meaning data is logged to neighbor segment weighted based on data point distance. This way it really works like knn (actually, more like range search), and by weight of attributes, I mean how many slices, since the more slice it has, the more it is sensitive to difference of that attribute. So my VCS weight is just analog to knn weight.

I also have an old multi-buffered VCS gun (no anti-alias), like what you guessed. This way attributes are weighted on both how many slices, and how often it appears.

Note that I always weight buffers equally. And buffers are normalized (so it feels like probability) before accumulating.

Xor (talk)09:37, 19 October 2017