• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 00:57
CEST 06:57
KST 13:57
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL22] Ro24 Preview: Siren's Call7[ASL22] Ro24 Preview: Summer's End9Serral wins HomeStory Cup 2915Serral wins Maestros of the Game 244ByuL, and the Limitations of Standard Play3
Community News
New 3v3 BGH Ladder (and more) on ShieldBattery!23Weekly Cups (August 17-23): Zerg dominate the week2Weekly Cups (August 10-16): SHIN doubles2GSTL Returns in 2026!45Weekly Cups (Aug 3-9): Protoss get shut out7
StarCraft 2
General
SC4ALL II: SC2 Player Announcement 6/8 - Maru How would you feel about frequent/monthly balance patches for SC2? Weekly Cups (August 17-23): Zerg dominate the week PhD study /w SC2 - help with a survey! Geoff 'iNcontroL' Robinson has passed away
Tourneys
2026 GSTL Announcement IntoTheTV X SOOP SC2 League : Weekly & Monthly PIG STY FESTIVAL 8.0! (13 - 23 August) Sparkling Tuna Cup - Weekly Open Tournament WORTEX 2026 - Hungarian SC2 Finals Budapest
Strategy
[G] Having the right mentality to improve
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
Mutation # 540 Dodge This The PondCast: SC2 News & Results Mutation # 539 Thunder Dome Mutation # 538 Media Blackout
Brood War
General
New 3v3 BGH Ladder (and more) on ShieldBattery! 25 Years Since Brood War Patch 1.08 BW General Discussion Looking 4 Yaroslav: Enemy, Korchagin, WCG, Ukraine Pros React To: First 'Fastest' Map in ASL History
Tourneys
[ASL22] Ro24 Group F [ASL22] Ro24 Group E Escore Tournament - Season 3 [ASL22] Ro24 Group D
Strategy
Replay Review Process - What do you do? Odyssey Mineral Stack Saturation Fighting Spirit mining rates Any training maps people recommend?
Other Games
General Games
Nintendo Switch Thread General RTS Discussion Thread Anyone here play Quakeworld back in the day? Stormgate/Frost Giant Megathread EVE Corporation
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Power Rank TL Mafia Community Thread NeO.D_StephenKing vs This Guy From 1 Million Dance
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread Artificial Intelligence Thread Canadian Politics Mega-thread Dating: How's your luck?
Fan Clubs
The Creator Fan Club MarineLorD Fan Club The ShoWTimE Fan Club
Media & Entertainment
Movie Discussion! Anime Discussion Thread
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023 NBA General Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Northern Ireland Global Starcraft
Blogs
Young Players Exit Esports E…
TrAiDoS
LOCKPICKING NOOB
LUCKY_NOOB
Cathedral Of CS And NY pizza a…
FuDDx
Please support my new stand…
Peanutsc
Hello guys!
LIN1s
Customize Sidebar...

Website Feedback

Closed Threads



Active: 3798 users

Zerg Build Order optimizer. - Page 17

Forum Index > SC2 General
Post a Reply
Prev 1 15 16 17 18 19 58 Next
icezar
Profile Joined June 2010
Germany240 Posts
Last Edited: 2010-10-18 17:55:06
October 18 2010 17:53 GMT
#321
I would be curious for the BO to maximize economy and after that try to add static defence and queens to defend or even lings if larva is not a cap.
Dharmok
Profile Joined April 2010
Netherlands57 Posts
Last Edited: 2010-10-18 20:54:40
October 18 2010 20:53 GMT
#322
Lomilar, I love what you're doing here. I tried to see if I could come up with a better build order for 5 muta and it turns out following build (tested using yabot on steppes) is at least as good and probably better:
10 OV
10 pool
12 gas
14 Queen
16 gas
16 OV
16 Lair
23 OV
23 Spire

On steppes I was able to start the mutas at 6:26 (same as your build order). But since it uses a Queen, you're in a lot better shape. Makes me wonder if something like a fast expand build using 4 geysers might be feasible as well... Anyway, I find the builds this program generates pretty inspiring.
Only dead fish go with the flow
azzu
Profile Joined August 2010
Germany141 Posts
Last Edited: 2010-10-19 11:41:51
October 19 2010 11:30 GMT
#323
actually the build that was found by this program for fastest 5 muta + 23 drones is almost exactly like this one: http://wiki.teamliquid.net/starcraft2/Fast_Mutalisks_(vs._Protoss)

10 - Overlord
10 - ExtractorTrick
14 - SpawningPool
13 - Extractor
12 - Extractor
16 - Lair
18 - Overlord
20 - Spire
19 - Queen
24 - Overlord
24 - Overlord
25 - 5 Mutas
@6:20 - Mutas pop
http://pastebin.com/11Pp87Um


Also note that you're ~15 seconds slower if you do this ingame
Dudemeister
Profile Joined July 2010
Sweden314 Posts
October 19 2010 13:14 GMT
#324
Fastest way to 12 banes:

10 ET
11 Ovie
11 Gas
11 Pool
11 Ling
2 drones
14 ling
15 Banes nest
14 ling
15 ling
16 Gas
15 ling
16 ling
Make 12 banes

Time: 4:40
Andre112
Profile Joined September 2010
Canada52 Posts
Last Edited: 2010-10-19 17:32:05
October 19 2010 17:31 GMT
#325
Can someone do a run of the program of the following requirement:
30 drones
2 queens
2 hatcheries (1 at nat)
2 pairs of lings (before 4:30 mins)
ling speed
maybe lair too (i'm not sure about the timing)

i wanna know which BO it comes up.
Is it 15hatch>14pool>13gas, 14gas>14pool>21hatch, or 14pool>16hatch>17gas, or something crazy?
PepperoniPiZZa
Profile Blog Joined October 2010
Sierra Leone1660 Posts
October 19 2010 18:21 GMT
#326
Hi, I'm not too much into Starcraft but I like ai and I'd like to ask a question.

Howcome your ai takes so many hours to calculate, are you doing real-time simulations? I'm asking because my CPU can do billons of operations per second, millons of build orders should fit in there, what's the part that consumes so much time?

Quote?
Bumblebees
Profile Joined August 2010
United States328 Posts
Last Edited: 2010-10-19 19:41:46
October 19 2010 19:31 GMT
#327
On October 19 2010 02:26 kaliax wrote:
Show nested quote +
On October 16 2010 20:44 Schnullerbacke13 wrote:
On October 16 2010 18:17 Almania wrote:
Therefore a minmax algorithm is applicable


Are you using the term minmax correctly here? My understanding of minmax (having implemented it to solve a few two player games) is that it requires an adversary. You take a turn - they take a turn, with them trying to lower the result and you trying to raise it (hence, minimax). I don't see how it can apply to BOs which are effectively single player games?


Ofc it applies. In chess minmax is applicable only with 2 players, because there is no game progress with one player ^^.

With one player RTS it works like:
1) at time T you have two options.
2) Branch (so you have two game simulations). One with action A done, other with option B done
3) do (2) for 10 time ticks creating more branches
4) at time T+10 run your weighting function, remove weakest branches
5) continue with (2)

the longer you can afford to create branches, the weaker the minmax weighting function is, (=computing time) the more likely you will find "sneaky" BO's, which will look bad for some 30 seconds but suddenly get well after some 60 seconds (e.g. early queen). Those BOs are likely missed by a human beeing.



Uh, so this is not minimax search. You're describing some sort of tree search with pruning and a heuristic evaluating function (wtf is a "minmax weighting function"?), but not minimax, which requires an adversary who is trying to minimize your score (i.e. chess), or at least a model which creates a zero-sum game (i.e. modeling player vs nature, and trying to minimize the worst possible outcome, which again does not make sense here since all actions aside from opponents actions (which we aren't modeling) are within player's control).

Thank you for post OP, looks great, will keep checking this.


Extensions or modifications to a search algorithm do not make it no longer that algorithm.

There are many forms of minimax, and essentially the only requirement to be considered so is that the search's primary function is to compare two optimal outcomes arising from evaluating 2 opposing developments. There's plenty of various minimax based searches (such as alpha-beta and it's variants) with varying extensions (heuristics, quiescence, iterative deepening, aspiration searches, etc..). Nearly all of them can be added to a basic minimax, though the performance will not be enhanced nearly as much as moving to even a simple alpha-beta, which is still a form of minimax.


Also in a build order search, there IS an opponent and it is quite simply another build order. The evaluation is time for a specific outcome. Simply comparing 2 build orders initiating at a zero-state initially to a specific depth is quite simply enough.

There are plenty of ways to greatly speed this up. Even just a simple negascout with principal variation and very little else.

I haven't read the whole thread, but if the OP is using a genetic algorithm as seemed to be implied at the beginning of the thread, the aforementioned method would be significantly faster.
Bumblebees
Profile Joined August 2010
United States328 Posts
October 19 2010 19:39 GMT
#328
On October 20 2010 03:21 PepperoniPiZZa wrote:
Hi, I'm not too much into Starcraft but I like ai and I'd like to ask a question.

Howcome your ai takes so many hours to calculate, are you doing real-time simulations? I'm asking because my CPU can do billons of operations per second, millons of build orders should fit in there, what's the part that consumes so much time?



You have it a bit reversed. Given "billions of calcuations", even a relatively static calculation of a build order will take "millions of calculations". Ideally a well written program should be able to evaluate many (likely tens or hundreds of thousands) static points in time. Every point in time needs to be evaluated (ideally at increments of time equivalent to the income of 5 minerals/gas given the current mining rate).

Once you consider the branching that will occur for every state that needs to be evaluated, that increases the time significantly as you move forward in 'game time', Many, many millions of game-states need to be evaluated.

If the OP is using a genetic algorithm, then you have to consider each possible build order possible to achieve the outcome and essentially work backwards to narrow it down to a select field of "fit" options.

Either way you look at it, the program has to prune or create branches to determine the idea outcome from millions and millions of potential solutions.
Lomilar
Profile Joined July 2010
United States130 Posts
October 20 2010 00:32 GMT
#329
I love you guys.

There's been tremendous support for this tool and lots of help from ~25 alpha testers.

Hoping to get a version out to you guys by the end of this week.

Subversion
Profile Blog Joined April 2010
South Africa3627 Posts
October 20 2010 01:59 GMT
#330
On October 20 2010 09:32 Lomilar wrote:
I love you guys.

There's been tremendous support for this tool and lots of help from ~25 alpha testers.

Hoping to get a version out to you guys by the end of this week.



you are the man. can't wait for this.
Goobus
Profile Joined May 2010
Hong Kong587 Posts
October 20 2010 02:05 GMT
#331
The first poll has 666 yes answers. I think it's the devil telling you, through TLers, to release the app. DON'T DO IT!! ITS A TRAP!
Almania
Profile Joined September 2010
145 Posts
October 20 2010 02:44 GMT
#332
I haven't read the whole thread, but if the OP is using a genetic algorithm as seemed to be implied at the beginning of the thread, the aforementioned method would be significantly faster.

Can you prove prove this to us? ie, write a BO calculator faster than Lomilar's?
latan
Profile Joined July 2010
740 Posts
Last Edited: 2010-10-20 03:21:52
October 20 2010 03:20 GMT
#333
I'd assume it's based on linear programming or some other operation research technique. there's specialized software that will solve a problem after you model it problem properly. i don't think it'd be that hard to put these type of sc2 problems into a RO model.
ibgeekn4me
Profile Joined April 2010
United States75 Posts
October 20 2010 03:26 GMT
#334
lovin this idea!!!
Deleted_143
Profile Joined October 2010
Australia256 Posts
Last Edited: 2010-10-20 07:08:54
October 20 2010 07:07 GMT
#335
--- Nuked ---
Schnullerbacke13
Profile Joined August 2010
Germany1199 Posts
Last Edited: 2010-10-20 07:34:28
October 20 2010 07:33 GMT
#336
On October 20 2010 04:31 Bumblebees wrote:
Show nested quote +
On October 19 2010 02:26 kaliax wrote:
On October 16 2010 20:44 Schnullerbacke13 wrote:
On October 16 2010 18:17 Almania wrote:
Therefore a minmax algorithm is applicable


Are you using the term minmax correctly here? My understanding of minmax (having implemented it to solve a few two player games) is that it requires an adversary. You take a turn - they take a turn, with them trying to lower the result and you trying to raise it (hence, minimax). I don't see how it can apply to BOs which are effectively single player games?


Ofc it applies. In chess minmax is applicable only with 2 players, because there is no game progress with one player ^^.

With one player RTS it works like:
1) at time T you have two options.
2) Branch (so you have two game simulations). One with action A done, other with option B done
3) do (2) for 10 time ticks creating more branches
4) at time T+10 run your weighting function, remove weakest branches
5) continue with (2)

the longer you can afford to create branches, the weaker the minmax weighting function is, (=computing time) the more likely you will find "sneaky" BO's, which will look bad for some 30 seconds but suddenly get well after some 60 seconds (e.g. early queen). Those BOs are likely missed by a human beeing.



Uh, so this is not minimax search. You're describing some sort of tree search with pruning and a heuristic evaluating function (wtf is a "minmax weighting function"?), but not minimax, which requires an adversary who is trying to minimize your score (i.e. chess), or at least a model which creates a zero-sum game (i.e. modeling player vs nature, and trying to minimize the worst possible outcome, which again does not make sense here since all actions aside from opponents actions (which we aren't modeling) are within player's control).

Thank you for post OP, looks great, will keep checking this.


Extensions or modifications to a search algorithm do not make it no longer that algorithm.

There are many forms of minimax, and essentially the only requirement to be considered so is that the search's primary function is to compare two optimal outcomes arising from evaluating 2 opposing developments. There's plenty of various minimax based searches (such as alpha-beta and it's variants) with varying extensions (heuristics, quiescence, iterative deepening, aspiration searches, etc..). Nearly all of them can be added to a basic minimax, though the performance will not be enhanced nearly as much as moving to even a simple alpha-beta, which is still a form of minimax.


Also in a build order search, there IS an opponent and it is quite simply another build order. The evaluation is time for a specific outcome. Simply comparing 2 build orders initiating at a zero-state initially to a specific depth is quite simply enough.

There are plenty of ways to greatly speed this up. Even just a simple negascout with principal variation and very little else.

I haven't read the whole thread, but if the OP is using a genetic algorithm as seemed to be implied at the beginning of the thread, the aforementioned method would be significantly faster.


1st: with "weighting function" i mean a method computing a value of "how good" a build variant is.
2cnd: ofc i implemented some variant of minmax. However i do not care how it is called. it works :-D

3rd: People seem confuse some things: I am not the OP, i wrote a distinct build calculator independent of the OP using a minmax (or as you want to call it), and yes: it seems to run faster (~some minutes) instead of genetic algos.
However the performance depends on how agressive the pruning of "weaker" build variants is done. Sometimes a build looks bad in the beginning (e.g. early hatch, queen) and gets good at a later point, the less agressive pruning is performed, the more likely the "best" build is found and the higher the computation time. So i usually use some fast settings for initial discovery (3 minutes), but make a long run (1 day) to ensure there is not another, better build.
21 is half the truth
kaliax
Profile Joined June 2009
United States48 Posts
October 20 2010 09:41 GMT
#337
@OP,

Wondering if you could share some of the technical details of your genetic algo implementation. Doing some research on the topic for an unrelated project, would be fascinated to know how you applied it here.
In the beginning, the universe was created. This made a lot of people very angry, and has been widely regarded as a bad idea. - Douglas Adams
kaliax
Profile Joined June 2009
United States48 Posts
October 20 2010 10:00 GMT
#338
On October 20 2010 04:31 Bumblebees wrote:
Show nested quote +
On October 19 2010 02:26 kaliax wrote:
On October 16 2010 20:44 Schnullerbacke13 wrote:
On October 16 2010 18:17 Almania wrote:
Therefore a minmax algorithm is applicable


Are you using the term minmax correctly here? My understanding of minmax (having implemented it to solve a few two player games) is that it requires an adversary. You take a turn - they take a turn, with them trying to lower the result and you trying to raise it (hence, minimax). I don't see how it can apply to BOs which are effectively single player games?


Ofc it applies. In chess minmax is applicable only with 2 players, because there is no game progress with one player ^^.

With one player RTS it works like:
1) at time T you have two options.
2) Branch (so you have two game simulations). One with action A done, other with option B done
3) do (2) for 10 time ticks creating more branches
4) at time T+10 run your weighting function, remove weakest branches
5) continue with (2)

the longer you can afford to create branches, the weaker the minmax weighting function is, (=computing time) the more likely you will find "sneaky" BO's, which will look bad for some 30 seconds but suddenly get well after some 60 seconds (e.g. early queen). Those BOs are likely missed by a human beeing.



Uh, so this is not minimax search. You're describing some sort of tree search with pruning and a heuristic evaluating function (wtf is a "minmax weighting function"?), but not minimax, which requires an adversary who is trying to minimize your score (i.e. chess), or at least a model which creates a zero-sum game (i.e. modeling player vs nature, and trying to minimize the worst possible outcome, which again does not make sense here since all actions aside from opponents actions (which we aren't modeling) are within player's control).

Thank you for post OP, looks great, will keep checking this.


Extensions or modifications to a search algorithm do not make it no longer that algorithm.

There are many forms of minimax, and essentially the only requirement to be considered so is that the search's primary function is to compare two optimal outcomes arising from evaluating 2 opposing developments. There's plenty of various minimax based searches (such as alpha-beta and it's variants) with varying extensions (heuristics, quiescence, iterative deepening, aspiration searches, etc..). Nearly all of them can be added to a basic minimax, though the performance will not be enhanced nearly as much as moving to even a simple alpha-beta, which is still a form of minimax.


Also in a build order search, there IS an opponent and it is quite simply another build order. The evaluation is time for a specific outcome. Simply comparing 2 build orders initiating at a zero-state initially to a specific depth is quite simply enough.

There are plenty of ways to greatly speed this up. Even just a simple negascout with principal variation and very little else.

I haven't read the whole thread, but if the OP is using a genetic algorithm as seemed to be implied at the beginning of the thread, the aforementioned method would be significantly faster.


Of course you can model this problem as a variant of minimax, I wasn't disputing that. I was just stating that the post I quoted was not actually a minimax, but just a heuristic search tree pruning algorithm. Moot point anyways.

You bring up a great point with negascout though, it'd be great to see that implementation of this.
In the beginning, the universe was created. This made a lot of people very angry, and has been widely regarded as a bad idea. - Douglas Adams
Bumblebees
Profile Joined August 2010
United States328 Posts
Last Edited: 2010-10-20 10:40:59
October 20 2010 10:32 GMT
#339
On October 20 2010 11:44 Almania wrote:
Show nested quote +
I haven't read the whole thread, but if the OP is using a genetic algorithm as seemed to be implied at the beginning of the thread, the aforementioned method would be significantly faster.

Can you prove prove this to us? ie, write a BO calculator faster than Lomilar's?


There is nothing to prove. Use of a genetic algorithm is only ever going to be faster in a 2 opponent game if there is some form of mutation occurring that limits the accuracy or ability of a static comparison between branches. Build order evaluation is completely static as the current position can always be evaluated compared to a previous game state, and it becomes even more effective over GA because there is a defined cutoff that will limit branching and allow for effective search extensions.

Of course GA can be fairly easily made to fit most game-theory problems, but the question isn't really "can it work?" For 99% of problems where some form of minimax is directly applicable, it will be faster.


And no, I won't write one. I spent many years of my life working on, with and discussing chess software. I have other things in my life I rather focus on in my spare time, such as actually playing starcraft 2


edit: I wanted to point out that if we were trying to figure out what the best response to a adaptive build order* is, then some sort of genetic algo would be quite applicable. This would be even more computationally intense though as it would need to take into account the map, unit pathing/speed, unit loss, etc... to be even remotely useful. Essentially it would be AI playing the game.

* This is assuming that the 'opponent' is constantly changing his response to the information that can be gained from the 'player's emerging build order.
osten
Profile Joined March 2008
Sweden316 Posts
October 20 2010 11:49 GMT
#340
I want to have your babies!

This is absolutely perfect!

Can't wait to try it out. Also veeery interrested in how this thing works!
Prev 1 15 16 17 18 19 58 Next
Please log in or register to reply.
Live Events Refresh
Next event in 5h 3m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 183
Nina 117
Trap 8
StarCraft: Brood War
Rain 2609
GuemChi 1640
Dewaltoss 116
Soma 66
Icarus 7
Dota 2
LuMiX1
League of Legends
JimRising 664
Counter-Strike
summit1g6386
Coldzera 1389
m0e_tv464
minikerr41
Super Smash Bros
hungrybox724
Mew2King124
Other Games
C9.Mang0511
WinterStarcraft224
PiGStarcraft210
ViBE167
Livibee122
Maynarde105
Trikslyr35
[ Show 12 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• Azhi_Dahaki12
• Light_VIP 6
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota2127
League of Legends
• Lourlo1413
Upcoming Events
Afreeca Starleague
5h 3m
Mini vs Calm
Queen vs EffOrt
Patches Events
11h 3m
Replay Cast
19h 3m
The PondCast
1d 5h
Replay Cast
1d 19h
Escore
2 days
IntoTheTV X SOOP
2 days
Korean StarCraft League
2 days
GSL
3 days
Replay Cast
3 days
[ Show More ]
Sparkling Tuna Cup
4 days
WardiTV Weekly
4 days
GSL
6 days
PiGosaur Cup
6 days
Liquipedia Results

Completed

CSL Season 22: Qualifier 1
PiG Sty Festival 8.0
META DYMY #4

Ongoing

KCM Race Survival 2026 Season 3
K-JUNGMAN
ASL Season 22
Super Anchor Qualifying S3
CSL Season 22: Qualifier 2
RSL Revival: Season 6
Light Tournament 2026
BLAST Open Fall 2026
Esports World Cup 2026
Esports World Cup 2026: LCQ
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026

Upcoming

BSL 2026 LAN: Kraków
CSL 2026 AUTUMN (S22)
Acropolis #5
Acropolis #5 - TRS
Blizzard Classic Cup 2026
Acropolis #5 - GSA
Acropolis #5 - GSB
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Calamity Invitational
Big Dog Cup 2026 Div 1
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.