Using previous GFs as dimensions

Jump to navigation Jump to search
Revision as of 20 December 2013 at 17:07.
The highlighted comment was created in this revision.

Using previous GFs as dimensions

I tried making a gun which uses kNN classification, in which the one dimension is shots (for data decay) and the others are the last 5 GFs the opponent went to on firing waves. Its very simple right now and I haven't tried much, but it does reasonably well (as in it doesn't get crushed, does better than random targeting) vs both surfers and simple movers. (Haven't tried against random movement yet) It seems similar to pattern matching on the opponents GFs. Any ideas?

    Straw (talk)03:01, 20 December 2013

    can you show the robowiki the gun

      Tmservo (talk)03:33, 20 December 2013
       

      Interesting. I think you should definitely test against RM, because surfers generally don't like anything with bullet waves, and simple movers are pretty easy to hit. Also, you might want to start with the basics (distance, velocity, relative heading, acceleration...) before you get into data decay and experimental dimensions. Good luck.

        Sheldor (talk)04:42, 20 December 2013

        Don't worry! I am actively optimizing my more "normal" gun using standard predictors. What bots would you recommend as good test bots with strong RM? Tmservo its just a 6 dimensional KNN, 5 are lastGFs normalized to 0-1, last one is sqrt(shots)* .5. I haven't added any kernel density stuff to this tree, I plan to try that.

          Straw (talk)06:35, 20 December 2013

          just drussgt, diamond, gilgalad, tomcat, xandercat, waveserpent, nene, gressuffurd,

            Tmservo (talk)13:21, 20 December 2013

            Those are not bots with Random Movement as Straw asked for.

              Rednaxela (talk)14:45, 20 December 2013
               

              I'd suggest you use the reference bots from the Targeting Challenge RM, because they give you a good variety of random movements, and have been thoroughly tested against before, so the 'expected' result is fairly accurately known. You may wish to use RoboRunner to automate testing against that set as well.

                Rednaxela (talk)14:47, 20 December 2013
                 

                Yeah, like Rednaxela said, the reference bots would work well. I'm curious, are you planning to have these two guns in a VG array, or are you just experimenting in parallel?

                  Sheldor (talk)15:30, 20 December 2013
                   
                   

                  Seems like a neat idea. I'm pretty sure I recall prior GFs being used in kNN targeting in the past (I think I may have tried that a little), but never (to my knowledge) going to the extreme of 5 prior GFs.

                    Rednaxela (talk)15:10, 20 December 2013
                     

                    Works well against active flatteners. Bad against the rest. Anti-flattener classifier.

                      MN (talk)16:38, 20 December 2013

                      Well, I'd imagine it might work okay against oscilator, stop-n-go, and CircleBot movements... but out of strong movements, yeah, I'd mostly expect flatteners indeed.

                        Rednaxela (talk)16:52, 20 December 2013
                         

                        I'm curious how you're structuring this: Do you condense these 5 GFs into one attribute, or are they 5 independent attributes?

                        The most practical example this reminds me of is I believe Skilgannon uses his own last GF as an input to his gun to help crushing mirror movement. Using the enemy's previous movements I would guess to behave similarly to attributes like displacement distance last X ticks or time since velocity change.

                        My only other comments it that 5 seems like a lot. At an interval of 14 ticks, that's 70 ticks into the past, and more if you count the time it took to reach that first GF. My "distance last X" experiments have never gone past ~40 ticks, IIRC, and even that was not a strong signal.

                          Voidious (talk)18:07, 20 December 2013