5 ms·
It's unfortunate that the only other comments so far are about the fact this article is a few years old. Clearly what's interesting here is the method itself, n
by pyduan 13y ago
It's unfortunate that the only other comments so far are about the fact this article is a few years old. Clearly what's interesting here is the method itself, not its immediate impact on the StarCraft II metagame.
Real-time strategy games have recently stimulated a lot of great research [1] because they exhibit several interesting subproblems such as resource allocation optimization, strategy selection, or plan optimization (like here). It also has the nice side effect that it makes it easy to evaluate the quality of the resulting plan in a real-world setting and see how it fares when certain assumptions are relaxed (non-static opponents, effect of imperfect strategy execution, etc.).
In this case what they did is solve a multi-objective optimization problem [2] using a genetic algorithm (a popular way to do so). The goal is to optimize some metric (e.g. time) with respect to some objective (e.g. "build 8 units of this type") and some constraints (resource requirements, unit trees). Of course you could perform some form of search in the solution space, but this space can become pretty big pretty fast and for complex games it's fairly easy to be stuck in a local optimum because the net effect of some choices can be hard to assess (some can be bad in the short term but be a nice set-up in the medium term, and two bad tactics can interact to be a good strategy). In contrast, a genetic algorithm can help find the global optimum.
While it's not as big as the article makes it sound (it's not a "winning build" per se -- more like a method to find the fastest way to achieve a known opening), if you combined plan selection methods (e.g. [3]) with plan-optimization techniques like this one, you could come up with an IA that is able to come-up with both near-optimal tactics (how to achieve an objective) and strategies (which objectives to pursue). Pretty interesting stuff overall, and applicable to more than just real-time strategy games.
[1] http://scholar.google.com/scholar?q=%22real-time+strategy+game%22%2Balgorithm http://scholar.google.com/scholar?q=%22real-time+strategy+ga...
[2] http://en.wikipedia.org/wiki/Multi-objective_optimization http://en.wikipedia.org/wiki/Multi-objective_optimization
[3] http://link.springer.com/chapter/10.1007/11536406_4 http://link.springer.com/chapter/10.1007/11536406_4
- TrainedMonkey 13y agoGreat tutorial on genetic algorithms here: http://www.ai-junkie.com/ http://www.ai-junkie.com/
- marcosdumay 13y agoAn all flash site. Well, just to add, the algorithm used in the article was "evolution with assexual reproduction". Genetic algorithms rely on sexual reproduction, to the point that the assexual algorithm has a completely different name (and origin), it's called "simulated anealing".
- lomnakkus 13y agoI think you have a rather unfortunate misspelling in your post. It's "asexual" not "assexual".