• Log In
  • Register
  • Settings
TeamLiquid TeamLiquidPro Liquipedia TSL4 LiquidPoker
EDT 01:19
CEST 07:19
KST 14:19
  • Home
  • Forum
  • Streams
  • Liquipedia
  • Features
  • Store
  • WCS
  • StarCraft 2
  • Dota 2
  • Brood War
  • WCS Portal
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • Events
  • BarCraft
  • StarCraft 2
  • Dota 2
  • Brood War
  • League of Legends
  • Blogs
Featured News
[SPL] Round 6 Week 3 Revie…
Auction OSL - Ro32 Day 2 P…
Auction OSL - Day 1 Recap …
Auction OSL: Ro32 - Openin…
DH Summer Day 2 Photos
Community News
BlackBerry sponsors Virtus…
New Patch - Warp Prism buf…
ESL TV adds Shaun 'Apollo'…
WCS AM Season 2 to be run …
Confirmed Players at the M…
Defiler Tours #60, 61, 62 …
Alliance Wins DreamHack Su…
C Liquid Team News
Liquid Weekly Digest | June…
Zenio: Razer Replaypack of …
EG-TL vs Team Eight in Roun…
Dreamhack Summer Day 3: Sc2!
Fluff's Photoblog from Drea…
Sponsored Threads
New SC2Links Mobile App …
Gamers Wanted as Volunteer…
TL Advertising Features
C General
[\m/] Heavy Metal Thread
A Picture Says 1,000 Words
Brazilian Protests Thread
The no porn thread.
US Politics Megathread
C TL Community
The Automated Ban List
[Aus] Monash Uni SC2 Society
The Closed Thread Lounge
TL.net Ten Commandments
[Toronto] eSports Canada P…
C Fan Clubs
Smix Fanclub
The Jaedong Fanclub
C User Streams
[Stream] Specialist
[Stream] DDE
C Tech Support
Teamliquid Monitor Thread
Inaccurate mouse on big sc…
Computer Build Resource Th…
[G] Streaming with OBS (Op…
The Haswell overclocking t…
C SC2 General
New Patch - Warp Prism b…
INnoVation and Cakegirl
Esports contributor: Azu…
ESL TV adds Shaun 'Apoll…
[SPL] Round 6 Week 4 Lin…
The Importance of APM
C SC2 Tourneys
[OSL] Ro32 Groups A&B 2013…
[SPL] EG-TL vs. Team 8 R6
SEANA Trials NA Qualifier …
[HSC] HomeStory Cup VII po…
[WCS AM] Group G Challenge…
C SC2 Strategy
[H] Terran vs Zerg, Whirlw…
The HotS Protoss Help Me T…
[G] The Triple Barrel Bust…
[Q] Is Mech weaker then bi…
[L][D]HotS Terran Mech Res…
C Custom Maps
[M] (2) TPW Aldaris Betrayal
[P] Semmo's Map Thread
[M] (2) Crux Haeundae
[M] (4) TPW Roadrunner
[A] Starbow
C Dota 2 General
BlackBerry sponsors Virt…
Guilds Patch
TL's Item Trading Thread.
General Discussion
The GOOD Moments in Dota
Valve confirms release t…
C Dota 2 Tourneys
Liquid Pasture Community L…
$2000 Dota 2 Open [Chicago]
RaidCall EMS One Americas …
Dota 2 General LR thread
[DreamHack] ASUS ROG Tourn…
C Dota 2 Strategy
Simple Questions, Simple A…
[G] Dark Seer, the master …
Does Visage deserve to be …
On the stomping of pubs
Learning Weaver?
C BW General
[TLS2 Ro16 Predictions]
[SOSPA] Event Matches
No LAN ? O_o
Nada's Body
"Your connection to Batt…
New Launcher for ICC and…
C BW Tourneys
Defiler Tours #60, 61, 62 …
[CRTL] Finals: C Entus vs …
China vs Korea: Movie vs F…
[DRTL] All-Star Game
C Ranks Teamleague Season 1
C BW Strategy
Simple Questions, Simple A…
DragOn's BW strategy reboot
Practice Partner Thread
Tutorial videos for beginn…
C Sports & Games
The XBox One
FINALLY! - The 2013 NHL …
The PlayStation 4
2013 NBA Finals
MechWarrior Online (New)
C League of Legends
[Patch 3.08: Aatrox Patch]…
The Shikyo Memorial for QQ…
Was going to try LoL but c…
C LoL Tourneys
[NA LCS] Summer Week 2
[OGN] Champions Summer Qua…
[AMD-INVEN]GamExperience
C LoL Strategy
[Tricks] Warding
[Champion] Diana
Simple Questions, Simple A…
C Diablo 3
D3 Hardcore Community
The: What is my item worth?
Diablo 3 Coming to Xbox 36…
C TL Mafia
ESPORTS Mafia (streamed ma…
Catch 22 Mafia
Newbie Mini Mafia XLIII
C Health & Fitness
Olympic Weightlifting Thread
Running Thread
The 2013 Weightlifting Pro…
C Featured Blogs
Girl with flowers…
Glider
Voice
thedeadhaji
WC3 Power Ranks!
monk
E3 2013
kierpanda
Sketch: Tap Out To…
Raihn
C Blogs
Quod Erat Dem…
Shiverfish
Dreamhack Summer…
Teodice
Theodicy and Mi…
Jerubaal
Les 24 Heures d…
HotShizz
Chilled Gaming M…
DJWilma
ISO Phil…
KING CHARLIE :D
The Grave Tempest…
gaymon
Leta - Movie
Michael - skyline
Anytime - Beast
By.Hero - Shuttle
Anytime - Pusan
Customize Sidebar...

Website Feedback

Closed Threads


IRC Web Chat

TeamSpeak 3 (59 users)


Active: 5697 users

First steps towards perfect AI micro

Forum Index > Brood War 1 2 Next All
 
 Serendib   July 05 2012 06:51. Posts 63
Profile # 


Another update from the world of academic StarCraft AI! Here is a video demonstration of the results from our paper:

"Fast Heuristic Search for RTS Game Combat Scenarios"

We use a new algorithm (ABCD - Alpha Beta Considering Durations) to plan all unit actions you see being performed. The search is allowed to run for 50ms per frame in order to simulate real-time performance. There is *NO* human input or hard-coded scripting being used. All actions are being decided intelligently in a similar manner to how chess AI systems work. The reason this problem has been so hard is two fold:

- Extremely high branching factor for search (ie: an exponential number of possible simultaneous actions)
- Limited resource budget (50ms per decision, vs. many seconds or even minutes given to a game like chess)

Unit HP bars are shown above the units, as well as larger versions in the top-right corner. The red units are controlled by search, while the blue units are controlled by the default "attack closest unit" behaviour which is default to the StarCraft built-in AI. Initial starting positions for units are generated randomly, but symmetrically to guarantee fairness.

Shown is our combat simulation visualizer. Due to some issues with unknown unit behaviour in StarCraft, it is not yet possible to carry out perfect action execution in the game itself, so we showcase its performance first in simulation. Soon we'll be incorporating this into our AI bot "UAlbertaBot" which came 2nd place last year at the 2011 [AIIDE StarCraft AI Competition](http://www.starcraftaicompetition.com).

- Why is this new?

This is new because every other micro system so far (including those in BW, SC2, and the AI competition) has been performed using hard-coded human knowledge, or with incredibly long rule-based scripts. With this system, I can simply throw any units at it and it figures out the best moves on its own.

- Why does the script win sometimes?

In the examples I recorded, the blue player (script) does win sometimes. This is due to the nature of the randomly generated positions, as well as the visualization eating up some of our processing time. In our paper, our method beats the best scripts used from the 2011 StarCraft AI Competition over 80% of the time.
Last edit: 2012-07-05 06:52:03
Old Post

 
 okum   Austria. July 05 2012 07:08. Posts 5700
Profile Blog # 
Very cool.

What does it actually evaluate? Does it try to play the battle to the end, or just find a strategy that gives a good position some time into the future? Then how does it evaluate the strength of a position? Are you using (or plan to add) heuristics? Would the winning ratio improve if the algorithm was allowed, say, 100x more computation time? How does the algorithm scale with the number of units?
I was a Flash fan before it was cool | Coiner of "jangbang"
Old Post

 
 Zhyq   United Kingdom. July 05 2012 07:38. Posts 113
Profile # 
Interesting stuff. Is the paper available to read yet? If not, when is it expected?
Last edit: 2012-07-05 07:38:32
 
Old Post

 
 JustPassingBy   July 05 2012 08:17. Posts 6319
Profile Blog # 
Is the search parallelized to run on multiple cores? If not, is it possible to do it and, if yes, would you expect significance improvements (i.e. how limiting is this 50ms limitation).
Old Post

 
 WightyCity   Canada. July 05 2012 09:31. Posts 766
Profile # 
this is amaazing work. gj
90% watching it 8% talking about it and 2% playing it - sc2
Old Post

 
 Chef   July 05 2012 10:22. Posts 9766
Profile Blog # 
Seriously awesome :D Thanks so much for sharing and choosing to take up this project
LEGEND!! LEGEND!!
Old Post

 
 Serendib   July 05 2012 12:38. Posts 63
Profile # 

On July 05 2012 07:08 okum wrote:
What does it actually evaluate? Does it try to play the battle to the end, or just find a strategy that gives a good position some time into the future?


It is trying to decide the best 'next move' that it can perform. This is, when a unit (or multiple units) finish an attack or move command, what is the next best thing they should do?


Then how does it evaluate the strength of a position? Are you using (or plan to add) heuristics?


We use two methods to evaluate a position. The first is: for each player, sum the square root of their unit hit point remaining, multiple this by their damage per frame, and then divide this by the starting total for this value. This gives us a number between 0 and 1 indicating a heuristic 'strength' of our original force.

The second is through scripted play-outs, similar to monte carlo simulations, but deterministic. We use a script to guide actions from a leaf node in the search, and then use the above formula to evaluate the end state of the scripted simulation.


Would the winning ratio improve if the algorithm was allowed, say, 100x more computation time? How does the algorithm scale with the number of units?



We do get better results if we allow for more time, but I don't have exact numbers for you. Right now we are able to do search up to 8 vs. 8 units, due to the exponential branching factor of the problem. For example, if we allow Attack, Up, Down, Left, Right movement for 8 vs 8 units, and all units are within range to attack each other, the branching factor (number of combinations of possible moves for one player) is 12^8.
Old Post

 
 Serendib   July 05 2012 12:40. Posts 63
Profile # 

On July 05 2012 07:38 Zhyq wrote:
Interesting stuff. Is the paper available to read yet? If not, when is it expected?


I can't release the paper yet, since it has just been accepted to AIIDE 2012, but the camera-ready version hasn't been submitted. However, the paper improves on results from this paper, written by my supervisor:

https://skatgame.net/mburo/ps/rab.pdf
Old Post

 
 Serendib   July 05 2012 12:41. Posts 63
Profile # 

On July 05 2012 08:17 JustPassingBy wrote:
Is the search parallelized to run on multiple cores? If not, is it possible to do it and, if yes, would you expect significance improvements (i.e. how limiting is this 50ms limitation).


Any sort of parallel techniques that could be applied to alpha-beta (which are quite tricky) could be applied here, however with only 2 cores available to us during the AI competition, we may not benefit very much from it.

50ms is incredibly short amount of time, but for example we are able to look-ahead up to about 20 moves in the future in 2v2, or 5 moves in the future in 8v8 using this technique.
Old Post

 
 undyinglight   United States. July 05 2012 13:48. Posts 588
Profile # 
Visually this reminds me a lot of Robotron 2084.
Rise Up!
Old Post

 
 JustPassingBy   July 05 2012 21:14. Posts 6319
Profile Blog # 
This might be a noobish question to people who are familiar with the topic, but changing to 100ms per 2 frames improve the result or make it worse?
Old Post

 
 1a2a3aPro   Canada. July 06 2012 01:39. Posts 184
Profile # 
As a developer, I find this really cool. Please open-source your efforts after the competition?
We are just an advanced breed of monkeys on a minor planet of a very average star. But we can understand the Universe. That makes us something very special.
Old Post

 
 Equalizer   Canada. July 06 2012 01:57. Posts 106
Profile # 
Are there any thoughts on how to improve the scaling?

It seems that its still quite a long shot to get from 8v8 to full scale battles in a real game.

Also how well can it handle a combination of different unit types that need to work together (say vultures, goliaths, and tanks)?
The person who says it cannot be done, should not interrupt the person doing it.
Old Post

 
 3FFA   United States. July 06 2012 04:45. Posts 2715
Profile Blog # 
And what about reaver micro? Can we get a video of it trying to do Reaver/Shuttle Micro?
Having spent most of my life on the internet, I can tell you, it gets old.
Old Post

 
 ZeroCartin   Costa Rica. July 06 2012 05:28. Posts 2151
Profile Blog # 
Cool. I can see space for improvement though. Some dragoons die since they almost have no health. They could have been saved if they had moved further away and avoid damage.
"My sister is on vacation in Costa Rica right now. I hope she stays a while because she's a miserable cunt." -pubbanana
Old Post

 
 snakeeyez   United States. July 06 2012 08:48. Posts 866
Profile # 
Always cool to see brood war bots get better. I wonder also about moving the weak goons to back or can it handle different combinations of units? Speed might be a problem once you get late game with huge battles those tree searches are going to get slow but again I always said you never have enough CPU in AI problems.
Old Post

 
 AcrossFiveJulys   United States. July 06 2012 11:05. Posts 3597
Profile Blog # 
Are you doing the search individually for each agent? It seems that considering friendly units around would be important, and its importance would scale with the number of units and unit combinations involved.

Regardless, this is cool, but I think using a search method to select individual actions is a dead end if your long term goal is to produce an intelligent sc player. There needs to be an element of learning involved combined with abstraction so that you are planning with (learned) higher level behaviors. In other words, I think your goal should be to produce a behavior/policy which is able to decide what to do in particular micro situations without needing to plan in real time.

So I would suggest forgetting about the 50ms ceiling you're imposing. You are essentially using a brute-force search method and you can't expect it to scale well. I think your method would be useful instead for producing examples of perfect micro behavior (especially if you cranked up the ceiling to minutes) which you could then feed through a learning algorithm (such as a supervised learning algorithm, or apprenticeship learning, etc) which would then be able to make decisions in real time, and can be used by a higher level AI which does more than just micro a single battle.
 
Old Post

 
 Fluid   Canada. July 06 2012 11:29. Posts 133
Profile # 
Have you tried it in a real game? (AI vs AI, and you spectate)
Old Post

 
 Morfildur   Germany. July 06 2012 15:09. Posts 3536
Profile Blog # 
This should work for normal units but i can image it becoming extremely complex with units that have special effects, i.e. SC2 broodlords (broodlings), BW/SC2 carriers (interceptors), SC2 marauders (slow), BW Reavers (Scarabs) as well as active unit abilities (SC2 ghost snipe, BW marine/SC2 marauder stim, ...).

Good luck implementing that into the Starcraft AI.
Last edit: 2012-07-06 15:16:42
"Remember kids, the 3 most important things for becoming a good player: Micro, Macro and always take your Dailies!" - Rastaban
Old Post

 
 Fluid   Canada. July 06 2012 16:23. Posts 133
Profile # 

On July 06 2012 15:09 Morfildur wrote:
This should work for normal units but i can image it becoming extremely complex with units that have special effects, i.e. SC2 broodlords (broodlings), BW/SC2 carriers (interceptors), SC2 marauders (slow), BW Reavers (Scarabs) as well as active unit abilities (SC2 ghost snipe, BW marine/SC2 marauder stim, ...).

Good luck implementing that into the Starcraft AI.



Well I think it would be interested to see if he just changes the AI for the units that don't have special abilities and leave the original AI for those that do. And then just try out a game or two and see how the computer plays with it's new skills.
Old Post

1 2 Next All
Please log in or register to reply.
 
Refresh
 Calendar - June 
Th Fr Sa Su Mo Tu We
20212223242526
ON AIR:
→
ESPORTS Mafia E09
Stream: Koibu0
Upcoming events:  [ More ]
3h 41m[OSL] RO32 Group C&D
5h 41mHSC VII Day 1
6h 41mASL Ro64
6h 41m[DSL] iG vs LGD.int
6h 41m[SRT] Ro16 Group A
10h 41m[D2L] Na'Vi vs. EG
10h 41m[EMS One] Group B
11h 41mAdroits #RC #3
11h 41mGo4SC2 #293
13h 41m[D2L] mouz vs. Na'Vi
16h 41m[WCS AM] Group E CL
16h 41m[D2L] Na'Vi vs. TL
17h 41m[URTL] Denial vs…
19h 41m[URTL] FXO.NA vs Op
20h 41mRules of Engagement
1d 3h[GSTL] Ax-Acer vs.…
1d 5hHSC VII Day 2
1d 11hXilence Cup 8
1d 16h[WCS AM] Group D
1d 22hVengeance Cup Qual…
1d 22h[GSTL] AZUBU vs. FXO
2 daysMST#07
2 daysWyN Master CUP
2 daysHSC VII Day 3
2 daysAdroits RC #4
2 daysDenver June HOTS T…
2 daysSSRO #3
2 daysZOTAC NA #107
3 days[AlienwareCup]Grou…
3 days[BW] Defiler Tour…
3 daysHSC VII Day 4
3 daysGo4SC2 Sun €150
3 daysZOTAC EU #162
4 days[AlienwareCup]Grou…
5 days[OSL] RO32 Group E&F
5 days[AlienwareCup]Grou…
6 days[AlienwareCup]Grou…
Refresh
StarCraft: Brood War
snipealot2
StarCraft 2
EG.DeMusliM [RC]
Liquid`HerO
NonY
coLTheStC
MillForGG
Dota 2
EG.DeMoN [RC]
Wagamama
Arteezy
Liquid`Korok
Bdiz
Other Notable Streams
Destiny
Cyborgmatt
ROOTAxeltoss
[ Show 93 non-featured ]
StarCraft: Brood War
• Nagisama
• Rlentless
• rel
StarCraft 2
• TMiweedamins
• 1MaSsan
• Doombie
• Grinkers
• Enders116
• bexysc
• Bails
• IAmBelieve
• LazZBerry
• jayaiwhy
• xavikon
• Cress
• implisity
• RuFF_SC2
• nusTella
• HolyLand
• BlackLotus88
• eric2532
• Acid916
• lolcookie
• Gormeroth
• Havok_jj
• DakyKun
• Matt0684
• twistersen
• Loonish
• BabyCrusher
• SpecialistSc
• zDreaM
• Impactsc2
• aScPraiise
• ThePowerHour
• Flannman
• ChronicBoom
• JacValentine
• TuckerX
• slytown
• CanuckHuskie
• MugenXBanksy
• Bakku
Dota 2
• -Barny-
• cheeseheadlogic
• TsunamiNori
• Nekofest
• -FoX
• soonkyuu
• -Trigger-
• opasamdi
• D4RKCIDE
• DotPain
• Kamatari
• Flawl3ss1
• DeLoReAn
League of Legends
• Obsessed w LoL
• pureability
• Modroocka
• wgrates
• Necro365
• Mezxxii
• riderLyrae
• -dcLookAtThis-
• montev87
• m16gatman
• 1veracity
• QQKachoo
• pickemgenius
• Whiteglint
• LetMeThinkIt
• :PC:Spacegoon
Other Games
• SK.Testie
• charliewinsmore
• Zilea
• Cdxsc2
• Trump
• rizeupgaming
• Treasoned
• NopeVidya
• KingDime
• BusterZ
• Zeritas
• SrPablo
• RenJ-69
• -BCNPalomino-
• GoldenH
• LFHaunt
• Igbarash
• Warnipple
• hugar
• Crusaders TV
• maRkySC2

» Recent SC2 Results
» Premier SC2 Tournaments

1. Sen
2. Stephano
3. Socke
4. mOOnGLaDe
5. Nerchio
1. Life
2. Curious
3. RorO
4. Symbol
5. PartinG
Sidebar Settings...

The Little App Factory



The opinions expressed by our users do not reflect the official position of TeamLiquid.net or its staff.

Advertising | Jobs | Privacy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren. Ad tag: TF_US.
The contents of this webpage are copyright © 2002-2013 Teamliquid.net. All Rights Reserved