I don't think this predates TronsGun. Tron was around before I ever started doing robocode. That's assuming that Tron back then used TronsGun as we now know it. However I don't think ABC had explained how TronsGun worked yet, so at the time I thought it was the first of its kind. As for terminology, I use DynamicClustering to mean the process where you find a bunch of firing angles, and fire at the densest cluster of them. I use StateMatching to mean matching the enemy's current state to similar states in the past (rather than matching patterns of movement, like PatternMatching). TronsGun chooses a bunch of candidate angles using what I call StateMatching, then chooses which angle to fire at using DynamicClustering. DuelistMicroMkII just uses a StateMatcher, there's no DynamicClustering going on. --David Alves * Thanks for the info, David. I was thinking Tron existed but that TronsGun hadn't come around yet, but I sure don't have dates on any of this. As an aside, I don't think that is the part of the process that is the "cluster" that ABC means, though. I think his "cluster" is the group of X similar states, not the group within those X states that you're firing at. In K-means clustering, you have K clusters, frequently recalculated, and you find the cluster whose center is closest to the current input (scan); in DynamicClustering (or K-nearest-neighbors), you don't have any constant clusters, you just (dynamically) form a cluster around the current input (scan). I'd think the part where you take a bunch of firing angles and use some algorithm to pick one would just be called MultipleChoice. -- Voidious
|