Answers.Body: <p>I can't answer definitively without a detailed breakdown of game mechanics of dota2 vs. Starcraft, but assuming the games have similar complexity, the AI controlling multiple in-game agents that form a team would be more complex, and therefore more difficult to create, than a single agent "team".  </p>
  
  <p>My supposition is based on the fundamentals of <a href="https://en.wikipedia.org/wiki/Combinatorics" rel="nofollow noreferrer">combinatorics</a> and <a href="https://en.wikipedia.org/wiki/Computational_complexity_theory" rel="nofollow noreferrer">computational complexity</a>:</p>
  
  <ul>
  <li>in dota2, the AI has to not only to identify winning strategies, but <em>coordinate</em> multiple agents.  </li>
  </ul>
  
  <p>by contrast:</p>
  
  <ul>
  <li>the Starcraft AI only has to identify a winning strategy, with no coordination between discrete agents which form a team.</li>
  </ul>
  
  <hr>
  
  <p><em>Coalitions have traditionally been difficult to analyze in Game Theory and Combinatorial Game Theory (in the latter case especially, restricting mathematical study, for the most part, to games involving only 2 players.)  In this case the issue is not coalitions--the multiple game agents are already on the same team--but complexity is nevertheless dramatically increased by the existence of multiple agents on a team as compared to a team consisting of a single agent.</em></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-21T09:41:59.567Z
Answers.Text: While it is true that the coordination of several agents is more complex, I don't think this holds true for the question at hand. In Dota2 you have different accounts playing the game, which must be considered building the architecture of the AI. But In Starcraft you have way more individual units playing together on the same map. I don't see why an AI should treat the individual heroes in dota2 differently than the individual units in Starcraft from a strategic standpoint.
Answers.UserDisplayName: Demento
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-21T16:50:47.347Z
Answers.Text: @Demento I generalized by assuming the mechanics of both games are of similar complexity (since I'm not very familiar with dota2.)  In Starcraft, there are many decisions, but only one decision-maker (game agent).  In dota2, there are 4 decision-makers.  So the Starcraft AI only has to make one decision at a time, while the dota2 AI has to make 4 decisions at a time.
Answers.UserDisplayName: DukeZhou
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-21T16:55:10.613Z
Answers.Text: Thanks for the clarification. Now I understand your point of view!
Answers.UserDisplayName: Demento
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-18T15:48:40.223Z
Answers.LastActivityDate: 2017-08-18T15:48:40.223Z
Answers.UserDisplayName: DukeZhou
Answers.Body: <p>There are different abilities required for strong play in those two games. Some of them are easier to implement using AI than others. Therefore it is difficult to answer this question in a generic fashion, but we can look at different aspects in detail:</p>
  
  <ul>
  <li>Speed / APM (Actions per Minute)</li>
  </ul>
  
  <p>While both games require a certain speed, SC2 is usually a bit faster because you simply have more stuff to manage (keep building, arranging your units, coordinate attacks on multiple locations). That said, if you want to control the whole team in Dota2 from a single agent, the APM requirements multiply accordingly. In the end it doesn't really matter, because speed is the least of our concerns and can simply be improved by throwing more resources at the problem. So I wouldn't say that one of the two games has an advantage here concerning engineering effort, just wanted to get the topic out of the way.</p>
  
  <ul>
  <li>Implement strong battle technique</li>
  </ul>
  
  <p>Fighting battles is an important skill in both games. While the armies in SC2 are larger, the amount of abilities each unit has is usually smaller. One of the limitations of a human player in SC2 is the inability to control each unit individually, because there are simply too many units most of the time. An AI on the other hand could utilize a complex army significantly better by controlling each unit. I have seen simulations of such armies in the early days of SC2 and it was obvious that no human player can compete with this technique by far.</p>
  
  <p>This aspect is less important in Dota2, because the amount of units is significantly smaller. Nevertheless the precision in executing attacks and retreating could easily be optimized to a level hardly achievable by any human player. I would still rate the potential for super human skill in SC2 much higher because it gets multiplied for each unit.</p>
  
  <ul>
  <li>Find a Winning Strategy</li>
  </ul>
  
  <p>While it is rather easy to beat a human player with speed and technique, finding a winning strategy is a totally different ball game. In games where deception and hidden information plays such a crucial part, the engineering requirements for a strong winning strategy are huge. A strong AI will require a hybrid approach of playing according to programmable rules of different strategies and fine tuning using ML. Both games are still evolving and new (or changing) heroes, units and structures need to be considered in the long run. In my opinion, the hardest part for the AI will be dealing with unconventional or trick plays it hasn't encountered before. SC2 has a higher potential for such trick plays that can catch the opponent off guard and wins you the game right away. And even when the AI has encountered a certain trick play several times, it is very hard to find appropriate counters on its own. So each new trick play will require specific guided training to play correct against it. On the other hand the AI could learn the same tricks and utilize them as part of their strategy.</p>
  
  <p>Dota2 has a smaller range of unpredictable events and strategies, therefore adapting to those would be easier for an AI. This would reduce the engineering effort significantly in this regard.</p>
  
  <ul>
  <li>Limitations</li>
  </ul>
  
  <p>To evaluate the complexity of the problem, you need to consider, which limitations are set in place for the challenge. If you allow the AI to play with unlimited APM, many deficits in strategy can simply be overcome with technique, utilizing pure speed and precision.</p>
  
  <p>If you restrict the challenge to a small map pool, the AI can be trained much more efficiently. If the AI has to be able to navigate arbitrary maps, the problem gets much more complex. The same is true for limiting matchups or hero selection. The more limitations you put in place, the easier it is to implement a strong AI</p>
  
  <ul>
  <li>My conclusion</li>
  </ul>
  
  <p>While it is difficult to weight all those aspects against each other, I feel like it would be easier to implement a strong <strong>strategic</strong> AI for Dota2 than for SC2, but the leverage of an AI using a strong <strong>battle technique</strong> is larger for SC2. This doesn't mean a strong Dota2 battle technique can't reach super human level as well, but the skill ceiling is higher in SC2.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-21T09:36:26.597Z
Answers.LastActivityDate: 2017-08-21T09:36:26.597Z
Answers.UserDisplayName: Demento
Answers.Body: <p>It would depend on the level of human authenticity you want to give the AI. For one, in StarCraft II humans are limited by their ability to look at only one particular place in the map at once and of making only one action at a time. Computers aren't necessarily limited by this constraint so you would have to artificially create it. It's a similar story with Dota2 except in this scenario the AI would be able to control all 5 characters at once with precise synchronization which would be unmatched by even the best teams. So again, you would have to artificially created constraints on the agent so that it was forced to optimize for team work and communication. I think a challenging and interesting problem for Dota2 would be to have 5 separate agents working together like humans usually do in the game. It would be interesting to see for example if they could generate a "gaming language" in which to signal cooperative operations on the map as well as setting up ganks and pushes for example. This would give researchers a good environment in which to test how the interactions between separate agents would evolve alongside a common goal.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-22T17:42:13.013Z
Answers.Text: Great answer.  Welcome to AI!  *[I was pondering some of these issues subsequent to my high-level, theoretical answer.  Taking a contrary viewpoint, I wondered if the Starcraft AI needs to be regarded as controlling every non-player-character (NPC) on the map individually, but it occurred to me that, even if that were the case, it makes the decisions one-at-a-time, and does not make decisions for NPCs or groups of NPCs simultaneously, but sequentially]*
Answers.UserDisplayName: DukeZhou
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-24T02:04:01.577Z
Answers.Text: @DukeZhou In a sense I think that's true and it depends on how the AI in a particular game works. I know for some programmable AIs the engine allows a submission of several actions per 'game step' so you could in practice have many unit's actions per step which would give a significant advantage to machines and programs that can get more actions per step. If however you limit the APM's that the AI can submit then there's another optimization problem available with which actions are the best to submit per game step. Also to note, in SC2 you can submit one game action and influence many units.
Answers.UserDisplayName: dfbernal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-24T18:52:02.093Z
Answers.Text: Grouping of units would seem to be another factor which raises complexity.  I suspect a definitive answer could only be gotten by comparing the memory and processors utilized in the "strong" dota2 and Starcraft automata, since it would be difficult to mathematically analyze the complexity of the games based on the number of in-game elements and mechanics.
Answers.UserDisplayName: DukeZhou
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-22T16:13:54.050Z
Answers.LastActivityDate: 2017-08-22T16:13:54.050Z
Answers.UserDisplayName: dfbernal
Body: <p>I am just curious what AI would be harder to create from a strictly engineering point of view. AI which would win 1vs 1 game with the best player in starcraft or AI which would control a team the whole team in dota2 and win against the best team?  </p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-18T12:23:04.287Z
Comments.Text: Welcome to Artificial intelligence community.We are a small brilliant community of scientists/geeks and nerds.I would kindly request you to go through community guidelines.and also avoid duplicate questions.Because smart boys are always around to help you out after analysis is done.Big Bless.
Comments.UserDisplayName: quintumnia
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-18T12:31:14.010Z
Comments.Text: @BlindFungFuMaster ,Do you copy,captain. We have reached in the enemy zone.what can we do?
Comments.UserDisplayName: quintumnia
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-18T15:38:23.583Z
Comments.Text: @quintumnia I found the possible duplicate: https://ai.stackexchange.com/q/3814/1671   Still wondering if this question is distinct in that it asks specifically whether "strong narrow" AI controlling multiple game agents would be harder to create than an AI of similar strength controlling a single game agent.  My feeling is that Game Theory and Complexity Theory strongly indicate that the multi-agent controller will be more difficult.  (Although this could be modified if the mechanics for dota2 are significantly less complex than Starcraft.)
Comments.UserDisplayName: DukeZhou
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-19T07:43:25.610Z
Comments.Text: @DukeZhou ,So you have analyzed,that it's a duplicated question.Now what  do you do as a community mod?
Comments.UserDisplayName: quintumnia
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-20T21:20:28.623Z
Comments.Text: @quintumnia Similar but not duplicate imo.  This specifically ask which would be harder to produce: an AI controlling a single game play agent, or an AI controlling multiple in-game agents.  The other question asks for distinction, but is not focused on difficulty of the endeavor specifically.
Comments.UserDisplayName: DukeZhou
Tags: <game-ai>
Title: AI in dota2 vs AI in starcraft
UserDisplayName: Ignacy Ślusarczyk
ThreadText: # AI in dota2 vs AI in starcraft
  
  (Asked by: username_0 on 2017-08-18)
  
  I am just curious what AI would be harder to create from a strictly engineering point of view. AI which would win 1vs 1 game with the best player in starcraft or AI which would control a team the whole team in dota2 and win against the best team?
  
  **Tags:** game-ai
  
  > **Comments:**
  > **username_1**: Welcome to Artificial intelligence community.We are a small brilliant community of scientists/geeks and nerds.I would kindly request you to go through community guidelines.and also avoid duplicate questions.Because smart boys are always around to help you out after analysis is done.Big Bless.  
  > **username_1**: @BlindFungFuMaster ,Do you copy,captain. We have reached in the enemy zone.what can we do?  
  > **username_2**: @username_1 I found the possible duplicate: https://ai.stackexchange.com/q/3814/1671   Still wondering if this question is distinct in that it asks specifically whether "strong narrow" AI controlling multiple game agents would be harder to create than an AI of similar strength controlling a single game agent.  My feeling is that Game Theory and Complexity Theory strongly indicate that the multi-agent controller will be more difficult.  (Although this could be modified if the mechanics for dota2 are significantly less complex than Starcraft.)  
  > **username_1**: @username_2 ,So you have analyzed,that it's a duplicated question.Now what  do you do as a community mod?  
  > **username_2**: @username_1 Similar but not duplicate imo.  This specifically ask which would be harder to produce: an AI controlling a single game play agent, or an AI controlling multiple in-game agents.  The other question asks for distinction, but is not focused on difficulty of the endeavor specifically.  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_2 on 2017-08-18. Score: 3
  
  I can't answer definitively without a detailed breakdown of game mechanics of dota2 vs. Starcraft, but assuming the games have similar complexity, the AI controlling multiple in-game agents that form a team would be more complex, and therefore more difficult to create, than a single agent "team".
  
  My supposition is based on the fundamentals of [combinatorics](https://en.wikipedia.org/wiki/Combinatorics) and [computational complexity](https://en.wikipedia.org/wiki/Computational_complexity_theory):
  
  * in dota2, the AI has to not only to identify winning strategies, but *coordinate* multiple agents.
  
  by contrast:
  
  * the Starcraft AI only has to identify a winning strategy, with no coordination between discrete agents which form a team.
  
  ---
  
  *Coalitions have traditionally been difficult to analyze in Game Theory and Combinatorial Game Theory (in the latter case especially, restricting mathematical study, for the most part, to games involving only 2 players.) In this case the issue is not coalitions--the multiple game agents are already on the same team--but complexity is nevertheless dramatically increased by the existence of multiple agents on a team as compared to a team consisting of a single agent.*
  
  > **Comments:**
  > **username_3**: While it is true that the coordination of several agents is more complex, I don't think this holds true for the question at hand. In Dota2 you have different accounts playing the game, which must be considered building the architecture of the AI. But In Starcraft you have way more individual units playing together on the same map. I don't see why an AI should treat the individual heroes in dota2 differently than the individual units in Starcraft from a strategic standpoint.  
  > **username_2**: @username_3 I generalized by assuming the mechanics of both games are of similar complexity (since I'm not very familiar with dota2.)  In Starcraft, there are many decisions, but only one decision-maker (game agent).  In dota2, there are 4 decision-makers.  So the Starcraft AI only has to make one decision at a time, while the dota2 AI has to make 4 decisions at a time.  
  > **username_3**: Thanks for the clarification. Now I understand your point of view!  
  
  ---
  
  ### Answer by username_3 on 2017-08-21. Score: 2
  
  There are different abilities required for strong play in those two games. Some of them are easier to implement using AI than others. Therefore it is difficult to answer this question in a generic fashion, but we can look at different aspects in detail:
  
  * Speed / APM (Actions per Minute)
  
  While both games require a certain speed, SC2 is usually a bit faster because you simply have more stuff to manage (keep building, arranging your units, coordinate attacks on multiple locations). That said, if you want to control the whole team in Dota2 from a single agent, the APM requirements multiply accordingly. In the end it doesn't really matter, because speed is the least of our concerns and can simply be improved by throwing more resources at the problem. So I wouldn't say that one of the two games has an advantage here concerning engineering effort, just wanted to get the topic out of the way.
  
  * Implement strong battle technique
  
  Fighting battles is an important skill in both games. While the armies in SC2 are larger, the amount of abilities each unit has is usually smaller. One of the limitations of a human player in SC2 is the inability to control each unit individually, because there are simply too many units most of the time. An AI on the other hand could utilize a complex army significantly better by controlling each unit. I have seen simulations of such armies in the early days of SC2 and it was obvious that no human player can compete with this technique by far.
  
  This aspect is less important in Dota2, because the amount of units is significantly smaller. Nevertheless the precision in executing attacks and retreating could easily be optimized to a level hardly achievable by any human player. I would still rate the potential for super human skill in SC2 much higher because it gets multiplied for each unit.
  
  * Find a Winning Strategy
  
  While it is rather easy to beat a human player with speed and technique, finding a winning strategy is a totally different ball game. In games where deception and hidden information plays such a crucial part, the engineering requirements for a strong winning strategy are huge. A strong AI will require a hybrid approach of playing according to programmable rules of different strategies and fine tuning using ML. Both games are still evolving and new (or changing) heroes, units and structures need to be considered in the long run. In my opinion, the hardest part for the AI will be dealing with unconventional or trick plays it hasn't encountered before. SC2 has a higher potential for such trick plays that can catch the opponent off guard and wins you the game right away. And even when the AI has encountered a certain trick play several times, it is very hard to find appropriate counters on its own. So each new trick play will require specific guided training to play correct against it. On the other hand the AI could learn the same tricks and utilize them as part of their strategy.
  
  Dota2 has a smaller range of unpredictable events and strategies, therefore adapting to those would be easier for an AI. This would reduce the engineering effort significantly in this regard.
  
  * Limitations
  
  To evaluate the complexity of the problem, you need to consider, which limitations are set in place for the challenge. If you allow the AI to play with unlimited APM, many deficits in strategy can simply be overcome with technique, utilizing pure speed and precision.
  
  If you restrict the challenge to a small map pool, the AI can be trained much more efficiently. If the AI has to be able to navigate arbitrary maps, the problem gets much more complex. The same is true for limiting matchups or hero selection. The more limitations you put in place, the easier it is to implement a strong AI
  
  * My conclusion
  
  While it is difficult to weight all those aspects against each other, I feel like it would be easier to implement a strong **strategic** AI for Dota2 than for SC2, but the leverage of an AI using a strong **battle technique** is larger for SC2. This doesn't mean a strong Dota2 battle technique can't reach super human level as well, but the skill ceiling is higher in SC2.
  
  
  ---
  
  ### Answer by username_4 on 2017-08-22. Score: 1
  
  It would depend on the level of human authenticity you want to give the AI. For one, in StarCraft II humans are limited by their ability to look at only one particular place in the map at once and of making only one action at a time. Computers aren't necessarily limited by this constraint so you would have to artificially create it. It's a similar story with Dota2 except in this scenario the AI would be able to control all 5 characters at once with precise synchronization which would be unmatched by even the best teams. So again, you would have to artificially created constraints on the agent so that it was forced to optimize for team work and communication. I think a challenging and interesting problem for Dota2 would be to have 5 separate agents working together like humans usually do in the game. It would be interesting to see for example if they could generate a "gaming language" in which to signal cooperative operations on the map as well as setting up ganks and pushes for example. This would give researchers a good environment in which to test how the interactions between separate agents would evolve alongside a common goal.
  
  > **Comments:**
  > **username_2**: Great answer.  Welcome to AI!  *[I was pondering some of these issues subsequent to my high-level, theoretical answer.  Taking a contrary viewpoint, I wondered if the Starcraft AI needs to be regarded as controlling every non-player-character (NPC) on the map individually, but it occurred to me that, even if that were the case, it makes the decisions one-at-a-time, and does not make decisions for NPCs or groups of NPCs simultaneously, but sequentially]*  
  > **username_4**: @username_2 In a sense I think that's true and it depends on how the AI in a particular game works. I know for some programmable AIs the engine allows a submission of several actions per 'game step' so you could in practice have many unit's actions per step which would give a significant advantage to machines and programs that can get more actions per step. If however you limit the APM's that the AI can submit then there's another optimization problem available with which actions are the best to submit per game step. Also to note, in SC2 you can submit one game action and influence many units.  
  > **username_2**: Grouping of units would seem to be another factor which raises complexity.  I suspect a definitive answer could only be gotten by comparing the memory and processors utilized in the "strong" dota2 and Starcraft automata, since it would be difficult to mathematically analyze the complexity of the games based on the number of in-game elements and mechanics.  
  
  ---
  
  