User:Nat/NeuralTargetingQuestions

From Robowiki
< User:Nat
Revision as of 14:03, 23 March 2009 by Zyx (talk | contribs) (→‎Comments)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Just wonder, and have nowhere to ask, and the statement is pretty long, that should this call Neural Targeting? Please read an article below and make your conclusion.

-- I'm not very good at English, some statement might not clear, feel free to ask.

Take a look at GuessFactor Targeting. The traditional GuessFactor Targeting use a combine of GuessFactor, visit count stats and waves. The 'DC-GF' use the difference combination, it use Dynamic Clustering instead of Visit Count Stats. That, indeed, should not call a GuessFactor Targeting anymore, but since it use GuessFactor, too, it still called GuessFactor Targeting.

Take another look at Pattern Matching. The heart of Pattern Matching is to 'match' the history, then do Play-It forward. Play-It Forward is also use by another type of gun, the DC-PIF gun used by Tron, Shadow, Aleph and some more.

Now, Neural Network. Neural Network is to make a 'machine learning'. First we need to train it with a pair of input/output. After training, it can return an output that associated with new input. When use in targeting, use can use any type of input/output. It can be velocity/heading -> heading or distance/velocity -> GF.

The most success robot that use Neural Network is Engineer. It use input of situations and output of a GF. It is a Neural Targeting, but is that right name?

By the word, Neural Targeting is mean to use robot's 'brain' to calculated enemy future position (not to be confused with Albert's Future Position). It is reasonable. But wait... Horizon/DrussGT (and more) use Dynamic Clustering, GuessFactor and Wave. The only difference from 'traditional' GuessFactor Targeting is the Dynamic Clustering part and we still call it GuessFactor Targeting because it still use GuessFactor!!! What about Engineer? Engineer use a combine of Neural Network, wave and GuessFactor. The only part that difference is Neural Network. It still use GuessFactor, too! Why not we call it GuessFactor gun, too?

PEZ once wrote that Engineer use a pair of situations/GF as input/output, much like GF gun. OrcaM (and few other) use input of velocity,deltaheading/deltaheading as an input/output, much like Pattern Matching.

New, let see a shorten of these words:

  • GuessFactor Targeting -> GF
  • Dynamic Clustering -> DC
  • Visit Count Stats -> VCS
  • Neural Network -> NN

In Targeting Challenge gun field, it is (usually) write as VCS-GF, DC-GF and other. Why should not we call Engineer gun NN-GF? and Engineer Movement as NN-WS? and the OrcaM as NN-PIF?

Thats all, thanks for reading.

Poll

Please vote in poll, what you think about this article?

Name Agree Neither agree or disagree Disagree
Nat X
Rednaxela X
Zyx X
(your name)

Please keep proper spacing.

Comments

Please read and vote. I just want to know, not to revolutionize. It is pretty long, but if you use English as your mother tongue, you can read it. Please help me correct the grammar :-) » Nat | Talk » 04:44, 23 March 2009 (UTC)

Agreed except I prefer NN-GF and VCS-GF over GF/VCS and GF/NN. Not a big deal but find the order "Stats-Predict" more natural, because if I think of being a bot aiming have to process the stats before doing the prediction. As a related note I once made a NN that wasn't just PIF but was true PM in it's inputs (it never worked well but that's beside the point). I'd term that gun PMNN-PIF or PM/NN-PIF. As a further note on terminology, I'd like to put forward the following abbreviation syntax for guns that use virtual guns or crowd targeting: Recent DrussGT that uses DC main gun, PM gun, and VCS anti-surfer would be VG(DC-GF, PM-PIF, VCS-GF). RougeDC on the other hand which uses crowdtargeting of DC and PM would be CT(DC-GF, PM-PIF). --Rednaxela 05:28, 23 March 2009 (UTC)

  • The only adventage on 'neural' is it can learn. I think with momentum over than 1, it will need at least 1000 rounds to learn, but I believed it can get over 80% hitrate over Shadow. Note targeting challenge use, for Dookious, GF/VCS/VG :-) But I really like your syntax. Just not understand what really crowdtargeting is. If I use your syntax, my BlackHole will write: VG(HOT, LT, CT, MLT, MCT, PM-PIF/ST, VCS-GF) : pretty long but clear than GF/PM/VG anyway. I've update my article above. » Nat | Talk » 06:50, 23 March 2009 (UTC)

Well I'm not old in the community so I may get the names wrong, and actually I'm not the kind of person who focuses so much on the names. But I feel that any gun that uses the basic idea of having Guess Factors as how to shoot is GuessFactor Targeting, it doesn't matter if the data comes from VCS, DC, Nerual Networks, or anything else, perhaps Genetic Algorithms, Factor Analysis or whatever, that's just an implementation detail not a different type of targeting. In my opinion, if it is recording a set of Guess Factors where the enemy has been seen to be when the bullet may have hit him is in fact GuessFactor Targeting. To be exact with the names I don't even think there is any bot using Dynamic Clustering, what most people do (including myself) is Closest Neighboring, but the name Dynamic Clustering has stuck in the community. But if you want to become strict about it, nobody is actually building a set of clusters, we are just getting the points in a hyperspace that are closer to the current point, by definition that algorithm is called closest neighbors and not Dynamic Clustering. --zyx 06:55, 23 March 2009 (UTC)

  • Actually what "Dynamic Clustering" means, is EXACTLY the same Nearest n-Neighbor schemes. It's a bit of a misleading misnomer, yes. The person who first first thought to apply nearest neighbor techniques to Robocode was origionally trying to apply clustering techniques but found cluster (re)building was to processor intensive. Thus in attempting to find a faster but somewhat similar alternative stumbled across nearest neighbor unintentionally. As said person did not know about anything existing on the subject of nearest neighbor and because it was very remotely vaguely similar to clustering, that individual called the nearest neighbor system he didn't know of an existing name for "Dynamic Clustering". The misleading name has stuck around anyway though, mostly because of the nice ring to it. --Rednaxela 07:25, 23 March 2009 (UTC)
  • Indeed, the early version of Dynamic Clustering actually do is very slow nearest neighbor search. » Nat | Talk » 07:46, 23 March 2009 (UTC)
  • Yes, I know most people here already knows that it is Closest Neighbors and not really a clustering algorithm, since I read Dynamic Clustering on the old wiki I knew it wasn't and there were posts stating it so. But I still released my bot as having Dynamic Clustering because it's the name it has in the community, and as said earlier, I don't really care about names, only code matters :-). --zyx 13:03, 23 March 2009 (UTC)

It seem that I can create a revolution on name calling... » Nat | Talk » 07:46, 23 March 2009 (UTC)