The magic works through a mathematical truism stating that the error margin shrinks with each added sample. Each answer consists of part information, part error. The more answers the less the error gets and in theory the collective information approaches the real answer.
A very cool idea. In a way, this is similar to how a lot of wave surfers organize their data for movement (I know WaveSerpent, CassiusClay, and Dookious do it like this). There are many differently segmented buffers that are weighted and layered on top of each other to come up with the total risk of moving in a certain direction. -- Kev
I so wanna try this now, darn me and not saving Eclipse's installer. Seraphim surfs like this, though its base code is damaged. Actually you could do this not only with a swarm of bees, but a swarm made up of bees, wasps, dragonflys and birds. What I mean is, not only have gf guns, but pattern matchers and other types of targeting systems. --Chase-san
That is certainly true, and I think it's a fundamental part of what can make the crowd diverse. However, with multiple GF buffers, you can sum them to get a rating for each bin, while with a PM gun, you only get a single firing angle; so combining the results would require some more innovation.
Has anyone ever read about Google's rank aggregation techniques? I'm sure it's part of a larger field of study similar to this one. They have lots of different rankings that they try to intelligently (and very, very quickly) combine into a single ranking that is what you actually see as Google's search results. I attended a talk given by a Google employee last fall on the subject and found it very interesting. (And, of course, I instantly started considering ways to implement it in Robocode. =)) There may be much better ways to combine the voices in the crowd than just summing the values in the GF bins...
Converting a PM angle to a GF is no problem at all. PM tends to be slow though so throwing in a few of those might create the slowest bot ever. Even so one should be ready to go far to reach the diversity. I would certainly throw in a few other types of guns if I had them. Maybe we should create a Crowd interface where all of us can add targetings and see where that brings us. Using Dookious gun frame we would know that things are tuned to get optimum performance out of good guessing.
Google's Page rank is tapping in on the Wisdom of the Crowd, by the way. It's one of the examples taken up in the book. Sure there are other ways to utilize the crowd wisdom than just averaging GF guesses. It's about formulating the question in a way that can be accumulated and averaged. Whatever that question is.
Well, converting one angle to a GF is easy, but the PM gun doesn't give a ranking across all firing angles, it just gives you one angle. Engineer's NeuralNetwork, for instance, yields an array of GF bins just like we have in our guns, so that would be a lot easier to integrate into the crowd. It would be quite interesting to develop a common interface for this using Dookious, I'll definitely look into it when I get a chance. -- Voidious
Well, the way my current crowd in CC works is that all guns get to vote for one GF. Something a PM gun could deliver just as well. -- PEZ
What gets chosen? The mean (average), the mode (most popular) or median (most moderate)? Have you tried just adding together normalized segments (normalized meaning possibly either so that the highest bucket's rating is 1 or so that all buckets add up to 1) as Voidious probably assumed you were? -- Kawigi
Currently I chose the most popular. I'll try adding all buckets together next version. -- PEZ
Was the repetition of the top part intentional? I am deleting the top part --Starrynte
Hmm... actually, this reminds me somewhat of some of my ideas in Rednaxela/MultiplePlaneRegressionClustering, because that is essentially using a 'crowd' of function approximators (i.e. linear regression or neural nets) and using a k-means type method to nudge them to "diversity" and "decentralization", and then "aggregates" by having each function approximator reposition logs entries that it 'specialized' based on what it expects in the current situation. So really, I'd consider that idea I had there to be a specialized form of "CrowdTargeting" though of a different variety than most ones considered here. -- Rednaxela
Indeed. Even just StatisticalTargeting fits the CrowdTargeting category I think. The reason I get so excited about the idea is that I spent so much time on trying to figure out which of my Targeting strategies that was the best for a specific enemy and then I realized that it was much better to just tap into the crowd wisdom. -- PEZ
PEZ, I don't know if you've been keeping track, but DrussGT, which arguably has the strongest movement in the rumble, uses my own definition of CrowdTargeting. I have 100 randomly generated buffers for the surfing, each with different combinations of segments, both different attributes and different slices. It gives incredibly quick learning, which I blame for DrussGT's strong movement. It was this page that inspired me to give this idea a try. -- Skilgannon