I would be more interested in searching the space for hard counters to build orders with certain match ups. Certainly it gets way more complex (and starcraft is).
Using genetic algorithms to find Starcraft 2 build orders
21–30 of 79 posts
Re: Using genetic algorithms to find Starcraft 2 build orders
#22Earlier quoted context omitted.
I can't quite understand if you're saying GA's are neural networks, or just that both of them are overused. Either way, one of the big problems is that the heuristics for a heuristic algorithm must be designed by with human insights. In this case, and in many other cases where GA's have been applied successfully, a fundamental new insight is discovered by the algorithm. I do play some SC2. There are a bunch of built-…
> I can't quite understand if you're saying GA's are neural networks, or just that both of them are overused. I was saying that both are overused. > one of the big problems is that the heuristics for a heuristic algorithm must be designed by with human insights By "heuristics" I don't strictly mean "rule-based", but you can do a good job in reducing the search space by a large amount if you program in some common sen…
As a comparison, look at the recent progress made in computer Go that employs Monte Carlo simulations. (And Genetic Algorithms are closer to Monte Carlo than to tree searches.)
Re: Using genetic algorithms to find Starcraft 2 build orders
#23Earlier quoted context omitted.
I can't quite understand if you're saying GA's are neural networks, or just that both of them are overused. Either way, one of the big problems is that the heuristics for a heuristic algorithm must be designed by with human insights. In this case, and in many other cases where GA's have been applied successfully, a fundamental new insight is discovered by the algorithm. I do play some SC2. There are a bunch of built-…
> I can't quite understand if you're saying GA's are neural networks, or just that both of them are overused. I was saying that both are overused. > one of the big problems is that the heuristics for a heuristic algorithm must be designed by with human insights By "heuristics" I don't strictly mean "rule-based", but you can do a good job in reducing the search space by a large amount if you program in some common sen…
Re: Using genetic algorithms to find Starcraft 2 build orders
#24Earlier quoted context omitted.
> I can't quite understand if you're saying GA's are neural networks, or just that both of them are overused. I was saying that both are overused. > one of the big problems is that the heuristics for a heuristic algorithm must be designed by with human insights By "heuristics" I don't strictly mean "rule-based", but you can do a good job in reducing the search space by a large amount if you program in some common sen…
Indeed. Though the crucial difference is, that chess is a game of complete information, while StarCraft hides your enemy. It's much harder to do tree search without complete information. As a comparison, look at the recent progress made in computer Go that employs Monte Carlo simulations. (And Genetic Algorithms are closer to Monte Carlo than to tree searches.)
Re: Using genetic algorithms to find Starcraft 2 build orders
#25Earlier quoted context omitted.
Yes, most high level play isn't really looking to do all-in rushes like this. The goal is more to "fast econ harrass to early map control" giving you an early advantage and allowing you to eventually win.
This is half true. Indeed, currently European/NA players play quite "standard" at tournaments, avoiding rushes and "all-in" strategies. The Koreans, however, at GSL have shown that they're neither afraid nor hesitant to do so. edit: GSL, not ESL.
Re: Using genetic algorithms to find Starcraft 2 build orders
#26A GA sounds like exactly the wrong way to go about this. I think you could do much better with a heuristic algorithm than a GA in this case, and I think GAs (like neural networks) are very much overused just because they correlate well with natural processes. That said, I haven't played SC2, and I don't know what sort of complexity the building problem has.
The Starcraft build order as defined here is a planning problem, that is a problem whose goal is to find a sequence of action to get to a desired state. There are algorithms more suited than GA because they take advantage of the logical structure of the problem.
Do I get that right?
Re: Using genetic algorithms to find Starcraft 2 build orders
#27A GA sounds like exactly the wrong way to go about this. I think you could do much better with a heuristic algorithm than a GA in this case, and I think GAs (like neural networks) are very much overused just because they correlate well with natural processes. That said, I haven't played SC2, and I don't know what sort of complexity the building problem has.
That's what I was thinking too but my AI knowledge is a bit rusty. A genetic algorithm serves as a search algorithm that is finding a solution among a set of candidates. For example finding an answer to a sudoku. A GA can also be used to perform optimization. For example arranging the structure of a bridge to maximize the load it can support. The Starcraft build order as defined here is a planning problem, that is a…
Again, it might work very well, I just think that some sort of tree-based approach might be faster and more efficient.
Re: Using genetic algorithms to find Starcraft 2 build orders
#28Earlier quoted context omitted.
I'd have to disagree regarding rushes in high level play. I most enjoy 4v4 random and a key move is decimating one opponent's economy to the point that they become a non-factor in the game. With this build order in a 4v4 one player can neutralize a Protoss or Zerg player and then pivot to mutas or continue with roach/hydra. Since your economy isn't in shambles like a traditional 6 pool zergling rush, even if you fail…
By 'High-level play' he is most likely referring to tournaments and the e-sports scene, which is almost entirely 1v1 and plays very differently from 4v4.
Re: Using genetic algorithms to find Starcraft 2 build orders
#29Earlier quoted context omitted.
I can't quite understand if you're saying GA's are neural networks, or just that both of them are overused. Either way, one of the big problems is that the heuristics for a heuristic algorithm must be designed by with human insights. In this case, and in many other cases where GA's have been applied successfully, a fundamental new insight is discovered by the algorithm. I do play some SC2. There are a bunch of built-…
> I can't quite understand if you're saying GA's are neural networks, or just that both of them are overused. I was saying that both are overused. > one of the big problems is that the heuristics for a heuristic algorithm must be designed by with human insights By "heuristics" I don't strictly mean "rule-based", but you can do a good job in reducing the search space by a large amount if you program in some common sen…
I believe that the fitness function used for evaluating build orders does this. It is very difficult to accurately evaluate how good a specific strategy is at a specific point in time, especially when you have imperfect information about your enemy. The code used to decide which build orders survive almost certainly used heuristics.
Re: Using genetic algorithms to find Starcraft 2 build orders
#30Starcraft has always struck me as a game of compound interest, and the optimal early builds always seem to be just that: maximizing an instantaneous rate-of-production, which will correlate to maximizing your instantaneous rates-of-doing-damage It's always seemed like more of an economic strategy game than an actual "fronts of battle" kind of strategy.
That's true, but if you're evenly matched with your opponent, your initial economic curves will be identical, and then strategy and tactics come into play. Obviously it can be more valuable to strike the opponent's miners and factories than to engage his main army -- but real war is no different.
There are two ways to look at economic production in SC2. You can spend your time and money producing items that will do damage (e.g. units), or you can spend money on things that will increase your production rate (e.g. more barracks, hatcheries, etc).
Then there is a tech tree to factor in, how far up the tech tree should you go. It's all about understanding how far up the tech tree you need to go.
Say you are facing an opponent that is going to rush with level 1 units, if you know this, you can build defenses at choke points that will cost you much less than his units will cost to break through. At the same time you are rapidly climbing the tech tree to get more powerful units and spending less on the lower tier units.
On the other hand, if he has just enough units to bust through your defenses, it's game over.
That's how strategy comes into play in SC2. Often part of your early game strategy is figuring out how to disrupt the opponents supply chain (particularly along their critical path) while continuing to increase your own production capacity.
Long post - but in general your economic curves are not necessarily the same. Early expand, versus more units and pushing, etc.