Difference between revisions of "Category talk:Targeting"

From Robowiki
Jump to navigation Jump to search
(→‎Subcategories: more thoughts)
 
(18 intermediate revisions by 5 users not shown)
Line 19: Line 19:
  
 
: One of the key advantages of the MediaWiki category system is that a page can be in more than one category. If we wanted to have categories and list a targeting method under more than one, there is no problem. Perhaps it would be best to have those pages be subcategories of Advanced Targeting. --[[User:AaronR|AaronR]] 21:49, 15 November 2007 (UTC)
 
: One of the key advantages of the MediaWiki category system is that a page can be in more than one category. If we wanted to have categories and list a targeting method under more than one, there is no problem. Perhaps it would be best to have those pages be subcategories of Advanced Targeting. --[[User:AaronR|AaronR]] 21:49, 15 November 2007 (UTC)
 +
 +
Another issue I've encountered is pages like [http://robowiki.net?FuzzyLogicTargeting FuzzyLogicTargeting] and [http://robowiki.net?DisplacementTargeting DisplacementTargeting]. These are targeting methods that never really materialized, so it doesn't feel right actually listing them under "targeting strategies" like other methods; they are just discussions. But I don't think I can say for sure that they should be forever forgotten. (Displacement Targeting, for instance, I find especially interesting, and other similar discussions exist on the old wiki.) I was thinking of maybe making a "Targeting Discussions" category to put these pages in (they'd also go in "Discussions" and "Targeting"). Thoughts? Anyone got a better solution? --[[User:Voidious|Voidious]] 16:26, 16 November 2007 (UTC)
 +
 +
: Make "Targeting Discussions" a subcategory of both "Discussions" and "Targeting"? --[[User:AaronR|AaronR]] 18:46, 16 November 2007 (UTC)
 +
 +
I've got another dilemma now - particularly for this category, but it could apply to many others. When should a page be in both the most specific category and a broader category? For instance, I like [[Fuzzy Logic Targeting]] being in only [[:Category:Targeting Discussions]]; should all of the [[:Category:Advanced Targeting Strategies]] be likewise removed from [[:Category:Targeting]]? My gut says that a page should be in a category it has to do with directly - like pages that have to do with targeting ''in general'' should be under "Targeting", while specific strategies perhaps shouldn't be. This would also mean that bots ''could'' go in all of the bot sections they're part of (so a MicroBot could be in [[:Category:Bots]], [[:Category:MicroBots]], [[:Category:MiniBots]], etc.). What do you guys think? --[[User:Voidious|Voidious]] 22:13, 28 November 2007 (UTC)
 +
 +
: Well, for one thing, MicroBots should NOT be a subcategory of MiniBots. In my opinion, bots should go into every codesize category they are in, so a NanoBot would be in 4 categories at a minimum: [[:Category:NanoBots]], [[:Category:MicroBots]], [[:Category:MiniBots]], and [[:Category:Bots]]. However, no page should be a member of both a category and an ancestor category. I think the [[:Category:Advanced Targeting Strategies]] pages should be in Category:Advanced Targeting Strategies ''only'', not Category:Advanced Targeting Strategies and [[:Category:Targeting]] at the same time; by this rule, the fact that bots can be in multiple codesize categories implies that the bot categories cannot be subcategories of each other. Just a little convoluted, backwards logic. =) --<code>[[User:AaronR|AaronR]]</code> 22:29, 28 November 2007 (UTC)
 +
:: Hmm. Well, I think that makes sense for the most part. So I've got a lot of pages to remove from the "Targeting" category. I agree MicroBots should not be a subcategory of MiniBots on the wiki, though any bot in MicroBots would also be in MiniBots. But a page like "Pattern Matching" I feel like should be listed under "Advanced Targeting Strategies" and "Log-Based Targeting", even though one is a subcategory of the other. What do you think of that arrangement? As an aside, I wonder if there is a way on the wiki to show all "leaf nodes" under a top level category like "Targeting"... that would be nice. --[[User:Voidious|Voidious]] 22:42, 28 November 2007 (UTC)
 +
::: I don't know, I think it would make more sense to list it under just "Log-Based Targeting" - but that's just me. Remember, it's a wiki, so the final organization is really dependant on the opinion of "the masses". Although, for this wiki, "[[Special:Listusers|the masses]]" is about 14 people... --<code>[[User:AaronR|AaronR]]</code> 22:51, 28 November 2007 (UTC)
 +
:::: Oops, I was wrong, we have Log-Based Targeting and Advanced Targeting Strategies as parallel categories. I think that's fine. They really are different ways of classifying targeting strategies. --[[User:Voidious|Voidious]] 15:04, 29 November 2007 (UTC)
 +
: Maybe we should have "Targeting Strategies by Skill Level" and "Targeting Strategies by Type"? I dunno, as I think some method might not fall under any specific "type". I think it's OK as is, with advanced, simple, log-based, etc., all being parallel as subcategories of "Targeting". But Wikipedia does a lot of that "____ by ____" categorization scheme going on. --[[User:Voidious|Voidious]] 15:24, 29 November 2007 (UTC)
 +
 +
== Main page ==
 +
 +
I think we should have a main page for this as well as this category. It wouldn't be the worst idea to describe the basics of each targeting type on a single page so people can quickly find things that interest them.
 +
 +
Additionally on the topic of Targeting (movement as well), perhaps we should split up implementations and explanations. The core page in my opinion should be limited to explaining the basics of the strategy in an intuitive and easy to understand fashion. Leaving blocks of code with little explanation of what is happening in each part may be confusing for budding programmers, who cannot as easily sift through the code and get to the meaning.
 +
 +
--[[User:Chase-san|Chase]] 17:48, 14 April 2010 (UTC)
 +
 +
Those sound like good ideas. I could also see splitting this top level category into "Targeting Algorithms" (with the subcategories we have now) for stuff that relates purely to how to decide on firing angles, and something else for things like [[Selecting Fire Power]], [[Saving Gun Data]], [[Anti-Surfer Targeting]]. Then a page called "Targeting" like you describe with an overview of stuff. What do you think? For what it's worth, I looked to Wikipedia for guidance and found [[wikipedia:Country|Country]] and [[wikipedia:Category:Countries|Category:Countries]] to be vaguely analogous. I'm sure there are lots of other examples of a topic page that is also a category.
 +
 +
I'm not sure what you mean about splitting implementations and explanations. Could you point to an example? I agree a page should explain the concept in English and not just rely on code, but it seems OK to have both and I'm not sure they should be on separate pages.
 +
 +
I'd almost say you should just go for it reorganizing this stuff if you're so inclined. There's a lot of organization to be done on the wiki and sometimes it stalls out in conversations with few participants. =)
 +
 +
--[[User:Voidious|Voidious]] 18:11, 14 April 2010 (UTC)
 +
 +
: Sorry it took so long to get back to you. I forget where I saw code intermingling with information (cannot find it, maybe I was insane that day), but what I think I mean to say is, no 'extensive' code. Keep it as simple as possible, the radar page is somewhat like this (although radar solutions are by their very nature '''much''' simpler). Generally visual aides, commenting code, and breaking code down into easier to understand chunks (readability over performance) A little like so:
 +
<pre>A little hard to read easily:
 +
guessfactor = (double)(bestindex - (stats.length - 1) / 2) / ((stats.length - 1) / 2);
 +
</pre>
 +
<pre>Easy to read:
 +
half_factor = (stats.length - 1) / 2;
 +
guessfactor = (double)(bestindex - half_factor) / half_factor;
 +
</pre>
 +
 +
--[[User:Chase-san|Chase]] 01:14, 18 April 2010 (UTC)
 +
 +
 +
Well... one thought about adaptive targeting, is I would separate history-matching algorithms from the future-prediction. Here's a chart that gives a rough comment on how I view the current state of adaptive targeting:
 +
 +
[[File:Targeting chart1.png]]
 +
 +
Note, I wouldn't quite consider it exhaustive, there are a few things I might add, but that gives the sort of picture of how I view the landscape of targeting. --[[User:Rednaxela|Rednaxela]] 19:03, 14 April 2010 (UTC)
 +
 +
: You know, the first Neural Network robot (Albert's; I can't remember its name) uses NN/PIF. The net is fed by 50 last velocity/rotation and output next velocity/rotation. Do this continuously until the BFT is reached. --[[User:Nat|<span style="color:#099;">Nat</span>]] [[User talk:Nat|<span style="color:#0a5;">Pavasant</span>]] 10:43, 15 April 2010 (UTC)
 +
 +
:: Mhmm, however that NN/PIF isn't a "log based" form of PIF. It belongs in the same category as Simonton's "Single-Tick Pattern Matching". In the above chart, I would probably put in another family beside "2-dimension log-based", called something like "2-dimensional behavioral simulation". --[[User:Rednaxela|Rednaxela]] 20:08, 16 April 2010 (UTC)
 +
 +
Yeah, I certainly think of it that way, too. (Though I'd probably say "firing angle projection" instead of "future prediction".) Looking over these Targeting pages, there's a lot of rewriting/revising/reorganizing that could be done. --[[User:Voidious|Voidious]] 19:26, 14 April 2010 (UTC)
 +
 +
And currently, things like [[GuessFactor]], [[Displacement Vector]], [[Play It Forward]] are only in [[:Category:Terminology]]. Maybe those should also be in a subcategory under targeting (and movement) somewhere. --[[User:Voidious|Voidious]] 19:30, 14 April 2010 (UTC)
 +
 +
Indeed. Oh, and I'd like to note, I personally think that a targeting main page, should probably have a chart like I made above (except more extensive, and the coloured blocks replaced with links), as it's "table of contents". I say this because really, so many different people have given different names to their targeting configurations, and there really should be a clear map of how they all fit into the bigger picture I think. Right now, much of it is unclear and I think virtually everything can fit on a nice map like this, for example the recently updated [[PastFuture]]'s uncommon configuration fits very nicely into the play-it-forward/segmented cell. One other thought... is that really all the past-situation-matching applies just as well to surfing as it does to targeting. --[[User:Rednaxela|Rednaxela]] 19:44, 14 April 2010 (UTC)
 +
 +
== Subcategories ==
 +
 +
I'm not really liking all our subcategories of targeting. "Simple" to "Advanced" is quite the continuum, so lumping into one or the other may not have much value. Similar with "statistical" vs "log based" - I'd note that [[Neural Targeting]] doesn't fall under either one, and there are targeting strategies that can be implemented as either one, like [[Anti-Surfer Targeting]] involving fast-decaying data. I think I'd like to just collapse all the subcategories, leaving just [[:Category:Targeting Implementations]] and maybe [[:Category:Targeting Discussions]]. Thoughts / objections? --[[User:Voidious|Voidious]] 01:59, 27 August 2011 (UTC)
 +
 +
I suppose there is a meaningful distinction between targeting systems that learn and those that don't, so maybe we should preserve Simple vs Advanced (and possibly rename them, if that's the only distinction). I do think we should drop the other subcategories (angular, statistical, log-based), and maybe still just lump them all under "Targeting Strategies". Feedback? Otherwise I'll just go nuts organizing it however I'd like. =) --[[User:Voidious|Voidious]] 16:46, 3 September 2011 (UTC)

Latest revision as of 17:46, 3 September 2011

Organization of targeting methods

So far, this has been my setup for arranging targeting methods / categories:

  • Targeting (category)
    • Simple (category)
      • Simple method 1
      • Simple method 2
    • Advanced (category)
      • Advanced method 1
      • Advanced method 2
      • Statistical targeting (links to other advanced methods)
      • Log-based targeting (links to other advanced methods)
      • Angular targeting (links to other advanced methods)

Should those last 3 be their own categories instead? I guess maybe they should be; then we'd remove the "forms of" from those pages. Originally, I was thinking that they were like overlapping families of methods more than actual categories, so they should just be sibling pages under the "advanced" category, but now I'm not sure. Any other suggestions on how this setup should be different?

--Voidious 21:08, 15 November 2007 (UTC)

One of the key advantages of the MediaWiki category system is that a page can be in more than one category. If we wanted to have categories and list a targeting method under more than one, there is no problem. Perhaps it would be best to have those pages be subcategories of Advanced Targeting. --AaronR 21:49, 15 November 2007 (UTC)

Another issue I've encountered is pages like FuzzyLogicTargeting and DisplacementTargeting. These are targeting methods that never really materialized, so it doesn't feel right actually listing them under "targeting strategies" like other methods; they are just discussions. But I don't think I can say for sure that they should be forever forgotten. (Displacement Targeting, for instance, I find especially interesting, and other similar discussions exist on the old wiki.) I was thinking of maybe making a "Targeting Discussions" category to put these pages in (they'd also go in "Discussions" and "Targeting"). Thoughts? Anyone got a better solution? --Voidious 16:26, 16 November 2007 (UTC)

Make "Targeting Discussions" a subcategory of both "Discussions" and "Targeting"? --AaronR 18:46, 16 November 2007 (UTC)

I've got another dilemma now - particularly for this category, but it could apply to many others. When should a page be in both the most specific category and a broader category? For instance, I like Fuzzy Logic Targeting being in only Category:Targeting Discussions; should all of the Category:Advanced Targeting Strategies be likewise removed from Category:Targeting? My gut says that a page should be in a category it has to do with directly - like pages that have to do with targeting in general should be under "Targeting", while specific strategies perhaps shouldn't be. This would also mean that bots could go in all of the bot sections they're part of (so a MicroBot could be in Category:Bots, Category:MicroBots, Category:MiniBots, etc.). What do you guys think? --Voidious 22:13, 28 November 2007 (UTC)

Well, for one thing, MicroBots should NOT be a subcategory of MiniBots. In my opinion, bots should go into every codesize category they are in, so a NanoBot would be in 4 categories at a minimum: Category:NanoBots, Category:MicroBots, Category:MiniBots, and Category:Bots. However, no page should be a member of both a category and an ancestor category. I think the Category:Advanced Targeting Strategies pages should be in Category:Advanced Targeting Strategies only, not Category:Advanced Targeting Strategies and Category:Targeting at the same time; by this rule, the fact that bots can be in multiple codesize categories implies that the bot categories cannot be subcategories of each other. Just a little convoluted, backwards logic. =) --AaronR 22:29, 28 November 2007 (UTC)
Hmm. Well, I think that makes sense for the most part. So I've got a lot of pages to remove from the "Targeting" category. I agree MicroBots should not be a subcategory of MiniBots on the wiki, though any bot in MicroBots would also be in MiniBots. But a page like "Pattern Matching" I feel like should be listed under "Advanced Targeting Strategies" and "Log-Based Targeting", even though one is a subcategory of the other. What do you think of that arrangement? As an aside, I wonder if there is a way on the wiki to show all "leaf nodes" under a top level category like "Targeting"... that would be nice. --Voidious 22:42, 28 November 2007 (UTC)
I don't know, I think it would make more sense to list it under just "Log-Based Targeting" - but that's just me. Remember, it's a wiki, so the final organization is really dependant on the opinion of "the masses". Although, for this wiki, "the masses" is about 14 people... --AaronR 22:51, 28 November 2007 (UTC)
Oops, I was wrong, we have Log-Based Targeting and Advanced Targeting Strategies as parallel categories. I think that's fine. They really are different ways of classifying targeting strategies. --Voidious 15:04, 29 November 2007 (UTC)
Maybe we should have "Targeting Strategies by Skill Level" and "Targeting Strategies by Type"? I dunno, as I think some method might not fall under any specific "type". I think it's OK as is, with advanced, simple, log-based, etc., all being parallel as subcategories of "Targeting". But Wikipedia does a lot of that "____ by ____" categorization scheme going on. --Voidious 15:24, 29 November 2007 (UTC)

Main page

I think we should have a main page for this as well as this category. It wouldn't be the worst idea to describe the basics of each targeting type on a single page so people can quickly find things that interest them.

Additionally on the topic of Targeting (movement as well), perhaps we should split up implementations and explanations. The core page in my opinion should be limited to explaining the basics of the strategy in an intuitive and easy to understand fashion. Leaving blocks of code with little explanation of what is happening in each part may be confusing for budding programmers, who cannot as easily sift through the code and get to the meaning.

--Chase 17:48, 14 April 2010 (UTC)

Those sound like good ideas. I could also see splitting this top level category into "Targeting Algorithms" (with the subcategories we have now) for stuff that relates purely to how to decide on firing angles, and something else for things like Selecting Fire Power, Saving Gun Data, Anti-Surfer Targeting. Then a page called "Targeting" like you describe with an overview of stuff. What do you think? For what it's worth, I looked to Wikipedia for guidance and found Country and Category:Countries to be vaguely analogous. I'm sure there are lots of other examples of a topic page that is also a category.

I'm not sure what you mean about splitting implementations and explanations. Could you point to an example? I agree a page should explain the concept in English and not just rely on code, but it seems OK to have both and I'm not sure they should be on separate pages.

I'd almost say you should just go for it reorganizing this stuff if you're so inclined. There's a lot of organization to be done on the wiki and sometimes it stalls out in conversations with few participants. =)

--Voidious 18:11, 14 April 2010 (UTC)

Sorry it took so long to get back to you. I forget where I saw code intermingling with information (cannot find it, maybe I was insane that day), but what I think I mean to say is, no 'extensive' code. Keep it as simple as possible, the radar page is somewhat like this (although radar solutions are by their very nature much simpler). Generally visual aides, commenting code, and breaking code down into easier to understand chunks (readability over performance) A little like so:
A little hard to read easily:
guessfactor = (double)(bestindex - (stats.length - 1) / 2) / ((stats.length - 1) / 2);
Easy to read:
half_factor = (stats.length - 1) / 2;
guessfactor = (double)(bestindex - half_factor) / half_factor;

--Chase 01:14, 18 April 2010 (UTC)


Well... one thought about adaptive targeting, is I would separate history-matching algorithms from the future-prediction. Here's a chart that gives a rough comment on how I view the current state of adaptive targeting:

Targeting chart1.png

Note, I wouldn't quite consider it exhaustive, there are a few things I might add, but that gives the sort of picture of how I view the landscape of targeting. --Rednaxela 19:03, 14 April 2010 (UTC)

You know, the first Neural Network robot (Albert's; I can't remember its name) uses NN/PIF. The net is fed by 50 last velocity/rotation and output next velocity/rotation. Do this continuously until the BFT is reached. --Nat Pavasant 10:43, 15 April 2010 (UTC)
Mhmm, however that NN/PIF isn't a "log based" form of PIF. It belongs in the same category as Simonton's "Single-Tick Pattern Matching". In the above chart, I would probably put in another family beside "2-dimension log-based", called something like "2-dimensional behavioral simulation". --Rednaxela 20:08, 16 April 2010 (UTC)

Yeah, I certainly think of it that way, too. (Though I'd probably say "firing angle projection" instead of "future prediction".) Looking over these Targeting pages, there's a lot of rewriting/revising/reorganizing that could be done. --Voidious 19:26, 14 April 2010 (UTC)

And currently, things like GuessFactor, Displacement Vector, Play It Forward are only in Category:Terminology. Maybe those should also be in a subcategory under targeting (and movement) somewhere. --Voidious 19:30, 14 April 2010 (UTC)

Indeed. Oh, and I'd like to note, I personally think that a targeting main page, should probably have a chart like I made above (except more extensive, and the coloured blocks replaced with links), as it's "table of contents". I say this because really, so many different people have given different names to their targeting configurations, and there really should be a clear map of how they all fit into the bigger picture I think. Right now, much of it is unclear and I think virtually everything can fit on a nice map like this, for example the recently updated PastFuture's uncommon configuration fits very nicely into the play-it-forward/segmented cell. One other thought... is that really all the past-situation-matching applies just as well to surfing as it does to targeting. --Rednaxela 19:44, 14 April 2010 (UTC)

Subcategories

I'm not really liking all our subcategories of targeting. "Simple" to "Advanced" is quite the continuum, so lumping into one or the other may not have much value. Similar with "statistical" vs "log based" - I'd note that Neural Targeting doesn't fall under either one, and there are targeting strategies that can be implemented as either one, like Anti-Surfer Targeting involving fast-decaying data. I think I'd like to just collapse all the subcategories, leaving just Category:Targeting Implementations and maybe Category:Targeting Discussions. Thoughts / objections? --Voidious 01:59, 27 August 2011 (UTC)

I suppose there is a meaningful distinction between targeting systems that learn and those that don't, so maybe we should preserve Simple vs Advanced (and possibly rename them, if that's the only distinction). I do think we should drop the other subcategories (angular, statistical, log-based), and maybe still just lump them all under "Targeting Strategies". Feedback? Otherwise I'll just go nuts organizing it however I'd like. =) --Voidious 16:46, 3 September 2011 (UTC)