Talk:Pallas

From Robowiki
Revision as of 16:10, 3 March 2009 by Skilgannon (talk | contribs) (some comments)
Jump to navigation Jump to search

I use Simonton's KDTree for Dynamic Clustering. I modified it to accept 'dynamic' weighting. If I have add a 'hit' dimension to my movement and weight it 100 when in normal situation and weight it 0 (not take into account) when go for flattener, will it work? » Nat | Talk » 11:32, 28 February 2009 (UTC)

It would work, except keep the following in mind: When 'hit surfing' you always want to record the exact direction the bullet was aimed in, whereas with 'flattener surfing' you should only record the center of where your bot was, so you probably should store two seperate values in entries where you get hit: one for the enemy's bullet aim and one for the center of where your bot is.

I also have one other note: You say on the page "3 KDTrees", actually you could probably just do with 1 tree, which would save you CPU and memory: For the first two guns there you only need to do one kd-tree lookup, and just make your data contain information in both GF and 'play-it-forward' mode. For the third mode, you could just do a second kd-tree lookup with different weightings fed in. --Rednaxela 18:02, 28 February 2009 (UTC)

Note that my 3 KDTrees: 2 are used for gun and one for Wave Surfing. I'll make it with 2 trees, as I can't make the surfing and targeting use the same tree (or anyone can?) » Nat | Talk » 01:53, 1 March 2009 (UTC)

Oh wait, I did misread (didn't read the whole sentance) and thought the 3 meant one for each gun. But anyways yep, my main point was that the same kd-tree can run the tronsgun and the wave guns :) --Rednaxela 04:42, 1 March 2009 (UTC)

Just want to know, what is the TronsGun actually call. ABC call it Forward Pattern Matcher, Florent call it Pattern Recognition. In the TC board, it call Dynamic Clustering, where dynamic clustering is only technique to manage data. I think Rednaxela call it Play It Forward (from comment on this page). I'm currently call it DC-FPM gun. In outer world (the old wiki), some one say that he use Play It Forward gun. IMO, Play It Forward is a technique for find enemy location from current scan. So, what it actually call? » Nat | Talk » 12:59, 3 March 2009 (UTC)\

I would call it Dynamic Clustering using Play-It-Forward. DC-PIF. DrussGT uses DC-GF. --Skilgannon 15:10, 3 March 2009 (UTC)

Simonton's KDTree

Hey, anyone use Simonton's tree? I'd want to know what the maxDensity mean. Is it mean the child of each node like: (set maxDensity to 8)

                           ROOT
                            |
     +------+-------+-------+------+------+------+-----+
    1st    2nd     3rd     4th    5th    6th    7th   8th
     .      .       .       .      .      .      .     .
     .      .       .       .      .      .      .     .
     .      .       .       .      .      .      .     .

or mean the item to keep in one node like:

                ROOT (1st,2nd,3rd,4th,5th,6th,7th,8th)
                                |
      +-------------------------+--------------------------+
 NODE (1st,2nd,3rd,4th,5th,6th,7th,8th)      NODE (1st,2nd,3rd,4th,5th,6th,7th,8th)

? I'm getting confused with this tree. » Nat | Talk » 08:13, 3 March 2009 (UTC)

I don't use Simonton's one (I wrote my own from scratch because I decided I decided it was good to learn to), however looking at the code, maxDensity refers to how many data points can be inserted into a node before that node will split into *two* children. I believe this is like what you have in your second diagram, except it should be noted that in a kd-tree, only the leaf nodes actually contain data points. Stem nodes like "ROOT" in that diagram only contains a "boundry" value and two child nodes. I hope I'm clear enough --Rednaxela 09:26, 3 March 2009 (UTC)

OK, correct me if I'm wrong, when the data points in node exceed the maxDensity, the node split into 2 nodes. The parent node contains the links to its children, only the lowest level node contain data, right? One more question: how many point the data can store? Is it 2^floor(depth/dimension) * maxDensity? » Nat | Talk » 10:39, 3 March 2009 (UTC)

That all seems fine to me. As to your formula, I'm too tired right now to really analyse it, but I would say it is depth, not depth/dimension. Each time you split it doesn't matter which dimension you split on, you still double the number of data point available. However, unless you get a *perfect* spread of data, some places will reach max depth before others, so you will never really 'fill' your tree. --Skilgannon 15:10, 3 March 2009 (UTC)