• Log In
  • Register
  • Settings
TeamLiquid TeamLiquidPro Liquipedia TSL4 LiquidPoker
EDT 06:11
CEST 12:11
KST 19:11
  • 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
Auction OSL - Day 1 Recap …
Auction OSL: Ro32 - Openin…
DH Summer Day 2 Photos
DH Summer SC2 Interviews
DH Summer Dota Interviews
Community News
WCS AM Season 2 to be run …
Confirmed Players at the M…
Defiler Tours #60, 61, 62 …
Alliance Wins DreamHack Su…
Major leaving Team 8
Valve confirms release thi…
MLG Spring Championship ma…
C Liquid Team News
Zenio: Razer Replaypack of …
EG-TL vs Team Eight in Roun…
Dreamhack Summer Day 3: Sc2!
Fluff's Photoblog from Drea…
Dreamhack Summer Day 2: Sc2…
Sponsored Threads
Gamers Wanted as Volunteer…
Simplifi is hiring - work …
TL Advertising Features
C General
One Piece Manga
Bleach manga
Hip Hop / Rap Music Disc…
Protests in Turkey attac…
Rape and Incest - justif…
C TL Community
Happy birthday salle!
TL Site Changes
Know Your TL Fellow
Long Island BarCraft - MLG…
San Diego Area SC 2 Players
C Fan Clubs
The Nathanias Fanclub!
The ToD Fanclub
C User Streams
[Stream] SarenS
[Stream] LifeStyle NA Prot…
C Tech Support
Computer Build Resource Th…
Flash player lag
Mechanical Keyboard Guide
Can't connect to wired int…
Streaming with a live hear…
C SC2 General
Confirmed Players at the…
WCS AM Season 2 to be ru…
WCS Points System… Point…
The Official Live On Thr…
Stuttering from Dreamhac…
Major leaving Team 8
C SC2 Tourneys
[RSL] Ritmix RSL V - Ro32 …
[EU] Gold/Platinum Tours b…
[WCS AM] Group H Challenge…
[OSL] Ro32 Groups A&B 2013…
[WCS AM] Group F Challenge…
C SC2 Strategy
[H] Forgetfulness
The HotS Protoss Help Me T…
[G] The Triple Barrel Bust…
[G] TheCore - Advanced Key…
The HotS Terran Help Me Th…
C Custom Maps
ZvT midgame micro trainer.
[A] Starbow
[MOD] HotS Build Order Tes…
[UMS] Snipers Promod
[P] Semmo's Map Thread
C Dota 2 General
Valve confirms release t…
TL's Item Trading Thread.
Dota 2 QQ thread
General Discussion
Dreamhack Summer 2013 Fe…
[stream] Sing
C Dota 2 Tourneys
[DreamHack] ASUS ROG Tourn…
RedBull ECL2013
Alienware Cup
Sticky Flames Weekly Dota …
Perfect World's Dota 2 Su…
C Dota 2 Strategy
Learning Weaver?
Simple Questions, Simple A…
Lone Druid Item Build 6.78
On the stomping of pubs
Does Visage deserve to be …
C BW General
[TLS2 Ro16 Predictions]
[Q] Mong's Music
[show] Starcraft Presents
New Launcher for ICC and…
No LAN ? O_o
[Map](4)I Dont Care
C BW Tourneys
[CRTL] Finals: C Entus vs …
Defiler Tours #60, 61, 62 …
[DRTL] All-Star Game
C Ranks Teamleague Season 1
China vs Korea: Movie vs F…
C BW Strategy
DragOn's BW strategy reboot
Simple Questions, Simple A…
Practice Partner Thread
Tutorial videos for beginn…
C Sports & Games
Scrolls by Mojang is in …
2013 NBA Finals
2012 - 2013 Football Thr…
EVE Corporation
[PS3] The Last of Us
C League of Legends
[Patch 3.08: Aatrox Patch]…
[NA LCS Summer] Week 1 Wri…
Looking for a Mid for rank…
C LoL Tourneys
[OGN] Champions Summer Qua…
[D] Pro Scene Evolution
[AMD-INVEN]GamExperience
C LoL Strategy
[Champion] Kayle
Simple Questions, Simple A…
[Champion] Jarman the Four…
C Diablo 3
The: What is my item worth?
Diablo III's New Game Dire…
D3 Hardcore Community
C TL Mafia
Newbie Mini Mafia XLII
Newbie Mini Mafia XLIII
Roulette Mini Mafia
C Health & Fitness
The 2013 Weightlifting Pro…
Running Thread
TL Health and Fitness Init…
C Featured Blogs
Voice
thedeadhaji
WC3 Power Ranks!
monk
E3 2013
kierpanda
Sketch: Tap Out To…
Raihn
Liquid at D…
Liquid`FLUFF
C Blogs
LoL MMR co…
EtherealDeath
Emotions and Pr…
husniack
Summer books to r…
Speake
MLG Spri…
TylerThaCreator
Back on track.
Jan1997
League of Legen…
Zyori.tv
Steel Yoursel…
AsmodeusXI
Leta - Movie
Michael - skyline
Anytime - Beast
By.Hero - Shuttle
Anytime - Pusan
Customize Sidebar...

Website Feedback

Closed Threads


IRC Web Chat

TeamSpeak 3 (36 users)


Active: 6038 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 2714
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 3534
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 
We Th Fr Sa Su Mo Tu
19202122232425
Upcoming events:  [ More ]
4h 50mRitmix RSL V
5h 50mESET Masters'13 RQ#8
6h 50mSC2I Summer League…
11h 50m[WCS AM] Group G CL
12h 50m[URTL] PrOp vs Gl…
12h 50mLO3 - E163
14h 50m[URTL] iMp vs oSp…
15h 50mRules of Engagement
16h 50mMeta: Episode #9
22h 50m[OSL] RO32 Group C&D
1dHSC VII Day 1
1d 6hAdroits #RC #3
1d 6hGo4SC2 #293
1d 6hGo4SC2 #293
1d 11h[WCS AM] Group E CL
1d 12h[URTL] Denial vs…
1d 14h[URTL] FXO.NA vs Op
1d 15hRules of Engagement
1d 23h[GSTL] Ax-Acer vs.…
2 daysHSC VII Day 2
2 daysXilence Cup 8
2 days[WCS AM] Group D
2 daysVengeance Cup Qual…
2 days[GSTL] AZUBU vs. FXO
2 daysMST#07
2 daysWyN Master CUP
3 daysHSC VII Day 3
3 daysAdroits RC #4
3 daysDenver June HOTS T…
3 daysSSRO #3
3 days[AlienwareCup]Grou…
3 days[BW] Defiler Tour…
4 daysHSC VII Day 4
4 daysGo4SC2 Sun €150
4 days[AlienwareCup]Grou…
5 days[OSL] RO32 Group E&F
5 days[AlienwareCup]Grou…
6 days[AlienwareCup]Grou…
Refresh
StarCraft: Brood War
snipealot2
PiKe
StarCraft 2
ROOTCatZ
ProTech
Liquid`TLO
SarenS
Dota 2
Liquid`Korok
Wagamama
WinteRwtr
Other Notable Streams
beyondthesummit2
PainUser
[ Show 57 non-featured ]
StarCraft: Brood War
• iFU.pauline
• -BOSS.KisS-
StarCraft 2
• TMiweedamins
• KingCobra90
• 1MaSsan
• schmuzi
• -SonG-
• bexysc
• Grinkers
• Najzmajs
• Loacker
• viPro-
• grossmaul2130
• coldscars
• jglitch
• Butteryllama
• xsnac
• Gamerdude17
• FongBire
• RoxkisWhite
• MdaaaaOhhh
• -ForAiur-
• OSL0rd
• Moxi
• Gormeroth
• Stitch
• Fasy
• LFHaunt
• LDLC TV
• G18333
• Ashalka
• Suduss
Dota 2
• alia
• Alaitiy
• phone_microwave
• NotAHax
• GraZiaZ
League of Legends
• OnGameNet Global
• OGN-LoL
• Obsessed w LoL
• Modroocka
• VegetaLOL
• Luckstaaa
Diablo III
• eyeJUK3
Other Games
• SK.Testie
• AnarchyAo
• ToSs.Bag
• rizeupgaming
• Khaiine
• Dailydreamer
• TunK904
• StimiLant
• Inertiaddict
• Warnipple
• Crusaders TV
• hugar
• 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