Talk:Watermelon/Development
Hooray!
Glad to see you consider your bot worthy of version tracking now! It's fun to watch people's progress. --Simonton 16:11, 25 September 2008 (UTC)
WaveSurfing adaptation
When my wavesurfing was segmented only on velocity, it adapted almost immediately to velocity-based targeting, specifically linear targeting. It only had to get hit perhaps once for each velocity segment before it "got the picture". Now that I've added all these segments, it's adapting *much* more slowly (and getting hit a lot more in the process!). Any thoughts as to what could cause this sort of behavior? Are my segments too narrow? -- Synapse 00:54, 14 June 2009 (UTC)
- I have kinda the same problem. GravityWave is segmented on distance currently, since adding even one more segment drops his score by 50%. I just thought it was because my computer is old and my code really basic. I know this didn't help you much, but still :P --Jacob Litewski 01:01, 14 June 2009 (UTC)
- It's not just that I increased the segmentation - I have a mechanism for choosing the most useful segmentation based on how "spiky" it is that ensures that I never have to deal with an empty segment. My trouble is that it's not choosing the clearly best segmentation - velocity. It chooses things like time since last reversed or lateral walldistance even though the enemy bot isn't firing based on those variables. Even if I remove the other segmentations so we're down to just velocity and nothing, the velocity segmentation isn't as specific with this framework as it was without the automatic segmentation. -- Synapse 02:16, 14 June 2009 (UTC)
In an effort to get the best of both worlds, Dookious sums dozens of buffers in its surf stats, from unsegmented to extremely segmented. (DrussGT sums even more, and uses randomized buffers each match, iirc.) Dynamic Clustering also inherently adapts to how much data you have to work with. --Voidious 03:31, 14 June 2009 (UTC)
- Actually, iirc, DrussGT's "randomized" buffers are the same for every match, and were "randomly" hand chosen and hard coded into the code. --Rednaxela 04:49, 14 June 2009 (UTC)
- Correct =) I randomly generated a whole bunch of buffers, and then weeded out duplicates and put in some which I though were missing. --Skilgannon 07:41, 14 June 2009 (UTC)
At the moment I suspect there's a bug in my multi-axis segmentation indexing. Each segment stores its data in an array of arrays, with the first index being a single number representing the particular slice of the segmentation, and the second number being the bins. I think the function to produce an index for the first level of the array is bugged. -- Synapse 07:02, 14 June 2009 (UTC)
What I have found is the best method is to keep several segments 'layered' on top of each other. When the time comes to gather all the stats together for surfing you just add all the current bins together. Thus, if the highest segmented bins don't have hits, the lower segmented ones will still provide information. Also, it provides a good medium between 'deep learning' and a fast rolling set of stats. --Skilgannon 07:41, 14 June 2009 (UTC)
Do you roll your stats? If you do, how fast? I don't think using fancy technique on Wave Surfing stats isn't good ideas. If you are dodging the LT/CT/PM, it may do. If you are dodging GF or AS, since the vast majority of those gun still use simple VCS, that why current top-6 bot are VCS wave surfer. The DC, however, can't dodge the best GF gun well, as seen by #6-#11, which all use DC for wave surfing. » Nat | Talk » 08:17, 14 June 2009 (UTC)
I have a fast rolling average on the surfing side, something like depth of 10, weight of 1, since the surfing gets so little data compared to the gun. -- Synapse 08:06, 15 June 2009 (UTC)
- [View source↑]
- [History↑]
You cannot post new threads to this discussion page because it has been protected from new threads, or you do not currently have permission to edit.