Live data from Hacker News

Genetic Algorithms Produce Winning StarCraft II Build Order (2010)

rockpapershotgun.com

11–20 of 51 posts

Re: Genetic Algorithms Produce Winning StarCraft II Build Order (2010)

#11

I remember reading this and thinking "That would be so much simpler to do with a breadth first search". Sure 'genetic' sounds cool, but when the search space is as limited as it is in a build order optimization like this, you should use the right tools for the task.

They also didn't use crossover which I thought was the main advantage of genetic algorithms.

How would a breadth first search work better? The search space is huge.

Re: Genetic Algorithms Produce Winning StarCraft II Build Order (2010)

#13

I remember reading this and thinking "That would be so much simpler to do with a breadth first search". Sure 'genetic' sounds cool, but when the search space is as limited as it is in a build order optimization like this, you should use the right tools for the task.

They also didn't use crossover which I thought was the main advantage of genetic algorithms. How would a breadth first search work better? The search space is huge.

Maybe backtracking would be used to reduce the search space.

Re: Genetic Algorithms Produce Winning StarCraft II Build Order (2010)

#15

I remember reading this and thinking "That would be so much simpler to do with a breadth first search". Sure 'genetic' sounds cool, but when the search space is as limited as it is in a build order optimization like this, you should use the right tools for the task.

I don't think breadth first search would have been the right approach. The search space is actually quite huge for this. Also, the algorithm wasn't built to create a build that wins the fitness was simply how fast they could produce the army the user inputs. What stands out is if you had asked anyone even a professional player to build this exact army composition (7 roaches) they would almost certainly not have pulle…

The search space is not that big. It depends on the granularity of the decisions, but in SC2 most algorithms will work on the supply scale (with resources as constraint). Meaning you only have 3-5 decisions to make at any supply count. In this case considering the extractor cancel is a nice touch and I assume it was a special case because it's a known trick which makes no sense to consider for any other buildings.

Re: Genetic Algorithms Produce Winning StarCraft II Build Order (2010)

#16
post #12
post #2

This "news" is from 2010.

And no longer applies with all the refactoring done in 4 years...

Perhaps a more appropriate word is "rebalancing"; I'm sure that the code has been refactored to some extent, but the balance issues are what are salient to this article.

Re: Genetic Algorithms Produce Winning StarCraft II Build Order (2010)

#18
Ha. I wrote the blog post mentioned in this article that started this. As pointed out, this is an old repost(1), but perhaps interestingly (at least at a meta level) is that this is all actually HN's fault.

When I first saw this thread on teamliquid, I thought "Oh man, proggit and HN will love this" so I wrote it up. And sure enough, it was near the top of both, for a day. Next came the random news articles (like this one). And here several years later is an HN repost of a blog article that only exists because HN and proggit upvoted the original blog post. You guys created the article that's being reposted :)

[1] https://news.ycombinator.com/item?id=1856390

From the last time around, the most common criticisms were:

1. Without any form of crossover, it's just hill-climbing/gradient-descent, it's not really a "genetic algorithm".

2. BFS would work better (maybe. IIRC people tried BFS and there's a bunch of subtle things that make the BFS search space huge (e.g. putting workers on and off gas at certain times). Of course since we have a goal state, something like A* might win the day).

Re: Genetic Algorithms Produce Winning StarCraft II Build Order (2010)

#19
post #4

Earlier quoted context omitted.

2^10=1024

This assumes e.g. that I can extend my ring finger without also extending the adjacent middle finger. ;)

Rather than extending extending and retracting fingers, you can achieve this by placing your hands on a table and lifting a finger off the table in order to indicate a 1 on that digit.

http://en.wikipedia.org/wiki/Finger_binary

Re: Genetic Algorithms Produce Winning StarCraft II Build Order (2010)

#20
I'm not a java programmer and currently eclipse is telling me that it's going to take 60 minutes to download. How does the program itself work? Is there some SC2 API they are using for this or did they just write down all the values and are "simulating" a SC2 build.
Post reply on HN