More importantly, in my opinion, I'm not aware of any other AIs that have been competitive at the StarCraft problem using a Neural-Net-based implementation; from talking to PhDs in the field (but not from direct technical experience, so take this with a pinch of salt), my impression is that state-of-the-art RNNs just don't have the ability to encode the history of the game-world in a way that would enable them to be competitive. So it will require significant advances to the theoretical models to be able to compete using the sort of implementation that DeepMind will build.
I tried to make a blink stalker rush that'd be the rough equivalent of the build shown in the post liked above, just with the Protoss race in the game. The program would tell me to do things like make two extractors but put fewer than necessary probes on them, pull probes to extractors after X trips or at X time (can't remember which), things like that.
1. http://lbrandy.com/blog/2010/11/using-genetic-algorithms-to-...
I had to look it up again to be sure, but 2 on minerals 3 on gas haha: http://www.teamliquid.net/forum/sc2-strategy/140055-scientif...
Pros actually do both of those things.
Otherwise the AI is eventually just going to absolutely destroy humans with micro, which is not remotely interesting. We've known transistors were faster than fingers for ages.
Also, I'm not sure how they plan to limit APM, but if it's done in the naive way - the AI simply isn't allowed to surpass an APM of X, there will be plenty of optimizing it can do in terms of spending those actions more optimally than a human could (in some cases by performing fewer but more difficult actions to accomplish a task), as well as by remaining at peak APM continuously throughout an entire match. (Something that is a hallmark of great players, but like map awareness and macro timing, no human is able to keep up their peak speed indefinitely without any lapses.)
Whenever the harder action is better than the simpler one, the AI would gain an intrinsic advantage even though it's limited to the same number of APM.
If you did NOT limit APM, it wouldn't even be a contest. The AI could simply mass first tier units and crush any human opponent with micro.
The goal is to build an AI that is at least as good as pro players (which would involve building models and technology capable of taking complex decisions etc.). The goal was never to implement something that is strictly equal to a human.
You cannot blame the AI for having a better memory and perfect timing, or next thing you know you'll ask them to limit the RAM to something comparable to the memory in a human brain and use older processors to restrict the unfair advantage current computation clusters have.
Regarding your last point: even without limiting APM, there is no AI that can currently compete with decent players . If it was as easy as you say, people would've done that with Broodwar which has open APIs. The fact is that micro alone cannot win a StarCraft game. Perfectly micro-ed zerglings cannot do much against a terran turtling behind a closed wall and shooting with marines, or a protoss with immortals and adepts.
Well, if you want just an AI to win with humans, you can stick to playing chess - nowadays the AI can drunk-walk its way to victory through the game tree faster than humans can make leaps in strategic thinking. The point of such experiment here is to impose limits on what an AI can do in order to cancel out "trivial" advantages it has, so that the challenge for AI developers will be to improve the core of strategic thinking & planning. Victory by perfect micro is not interesting[0]. Neither is victory by perfect macro. You need to curtail the avenues which would let the AI win by executing utterly dumb strategies with machine-like precision if you want the AI to develop smart strategies.
TL;DR: because humans are not programmable, so they cannot be rapidly improved ;).
[0] - except as an art piece.
Any other advantage you mentioned (computers having a larger memory and faster reaction time than humans) shouldn't be removed, as that doesn't make any sense: machines will be machines. You're building an AI on such a complex game because you want to be able to model hard problems with incomplete information, and to do so you do need to use a lot of memory and the computer's fast processing... even if that means being faster than a human. That is "fair".
> Your parent post appears to suggest mitigating these other advantages in various ways (although I don't personally agree with that approach, since the computer isn't doing something that's out of reach for humans, just things that aren't practical for humans to achieve consistently).
As far as your last paragraph, I suspect the issue is that people building AIs generally try to follow the spirit of the game. I believe it would be possible write an AI that wins by perfectly macroing out tier-1 units, rushing, and perfectly microing them (and obviously it would be much easier than to build a more general Starcraft AI). If it hasn't been done, I expect that's because it would be little more than a gimmick. It certainly wouldn't be any fun to play against, nor would it advance AI in general.
Pro players do have (quasi-)perfect macro: They build units and buildings exactly when they should be built (especially at the early stages of the game). They also have an excellent micro. What makes one player win against the other is often the choices they make (going for a surprising build, or simply executing an attack in a way their opponent wouldn't be ready for).
So I'm pretty sure an AI that would just mass zerglings and micro them "perfectly" still would be crushed by decent players that know how to counter that rush. (build a wall, and have siege tanks or a similar unit)
Do we eventually see the hypothetical human (or AI!) opponent trying to metagame against the way an AI system interacts with the game? E.g. human-pointless feints in an attempt to pollute AI logic?
Under the premise that a competitive AI will reason and act differently than a competitive human (due to aforementioned difference in speed/memory vs abstract thinking resources).
Generally speaking, the counters are balanced for human players. Biased toward high level players, but still human.
Could be interesting to see if it chooses different strategies based on that. What actions will optimize performance if I can only do 50 a minute
And it worked for him, too.
If you could issue as many orders as you wanted, what would the optimal strategy be?
Here's what you can do with infinite APM: https://www.youtube.com/watch?v=IKVFZ28ybQs
It's just broken. It's not even the same game.
(The implementation in the video likely just cheats and gets the information from the engine, but at least the first case should be deterministic enough)
Winning against AI in a sufficiently complex game looks very different than winning against a human.
A lot of units would be rendered useless because it's balanced for humans. That means the units they counter would be a lot stronger. I'm afraid it would probably just be a race to get the fastest rush.
Here's the type of micro pro players can do: https://www.youtube.com/watch?v=xrAlhk98WxE±
They do say that they will limit the number of actions taken by the AI to focus on building a smart and strategic AI instead of learning gimmicky micro moves, but if one thing is sure, it's that even the best micro cannot win a StarCraft game if the macro is not on point, and bad choices are made (good luck micro-ing siege tanks against a swarm host!)
Meta is still pretty fast, here's a SC1 AI finals: https://www.youtube.com/watch?v=LjSXj4cb_Yo
There's would not be one optimal strategy, but many optimal strategies depending on the matchup between units. By taking advantages in differences in movement speed, attack range, attack projectile speed, and attack cooldown, a weaker group of units can potentially beat a stronger group.
This is an older video that demonstrates some examples of winning with good micro: https://youtu.be/CdSKD3LRHV8?t=11. An AI knowledgeable of and capable of executing such tactics would be pretty strong.
One example is a sibling post's video of 100 zerglings against 20 siege tanks. For humans, the zerglings are capable of destroying only a handful of tanks before being killed of. For an AI with infinite APM, they can move all but an individual targeted zergling out of the way of the tank's splash damage. This allows them to take out all of the siege tanks with only moderate losses. Many such matchups will be tossed on their heads, and it's likely that one of them is totally game-breaking.
They regenerate, so the AI just has to keep them alive and do damage to win.
Like a real army :)
just to illustrate a point: on a sufficiently large map, i could have four times as many workers by the time your first set reaches my spawn.
if i'm playing Protoss against a Terran AI, i have an added advantage of worker regen without having to stop attacking.
Also, I'm pretty sure this is not something that DeepMind would do to "solve intelligence".
How much more complexity is added by resource mgmt vs just "legal play possibilities" as now you have "this move isnt legal because you dont have the requisite resource, thus you need to depend on completing those moves first"
Are there any efforts applying deepmind to, say, commodities markets? Or something along those lines? Supply chains for complex hardware manufacturing logistics?
Robot assembly of complex parts in an assembly line?
Sure, AI's playing games is cool...
What I would like to see is an AI playing "Farm Simulator" to manage a vast swatch of farm equipment making and picking food over a vast expanse - with little human interaction.
* Auto dock
* Auto Harvest
* Auto Refuel
etc....
That would go well with the concept of Seed Factory, which is a factory that could reproduce itself, from raw materials. If we can build a self replicating device, we will reach another kind of singularity. At the moment, the whole human race is such a self replicating system, but if we can take humans out of the loop we could ship it to an undeveloped area (another planet?) and have it create a city and industry for us.
Another application would be to ensure self reliance for humans in the post automation world. A self replicating factory, capable of solving the whole logistics puzzle of building repairing itself, as well as supporting its owners, would ensure that its owners don't depend on UBI or jobs.
Such a factory would initially need some industrial machines and robots, probably at minimum a 3D printer, some raw materials and high end pieces such as CPUs. Then it would gradually print and assemble more equipment.
It would eventually bootstrap like a compiler, being able to "compile" an identical factory from raw materials.
Keeping count of each object, its source parts, construction waste, energy spent in building it, processes and time they could "compile" an ecosystem of devices that carefully work together, recycling everything that is wasted in the process. As the capabilities of the factory increase, the process could be "recompiled" to take advantage of the new capacity.
The place of AI would be to optimize the process. Instead of a hand-made industrial compiler, it could search for a way to combine its resources in more masterful ways. It can keep track of more things than human planners (project managers?) can. It could potentially assess the needs and organize the industrial production for a whole country in a more efficient way than capitalism or communism could.
The beauty of a seed factory is in its initial price - under 5% of the price of a factory built from buying equipment, because it only needs the seed of the factory and raw materials. The factory would grow like an organism, expanding itself. Most of the factory would be self made. Just like a cell, or an animal.
[Wiki Book] https://en.wikibooks.org/wiki/Seed_Factories
There is a massive advantage to seeing everything all the time and being able to arrange and organise everything at the same time.
One AI won simply because it abused the fact it could spam monks and use the monks in a manner no human could ever achieve
Don't get me wrong; I'd prefer DeepMind's efforts be focused on a huge and realistic economics simulator but there are simply no such games (not ones that are good and/or realistic anyway).
IMO StarCraft 2 is the best economy and war simulator these days so that's why DeepMind chose it.
Having an AI that wins because it is faster isn't very interesting.
And they are really bad.
You could solve this by coming up with some sort of context-switch effort function but it starts to feel forced.
Or at least, once you start calibrating the parameters of the problem around human limitations, it sort of feels weird to talk about the computer being better or worse than the human.
Doesn't seem too forced to me IMO. Humans have to expend more effort to context switch, so if the goal is to put humans and computers on a level playing field that's something you have to take into account.
They address that in the article. The context they're talking about is a bot beating a human with human-like dexterity limits in place.
Seems like they should probably tackle a game that involves strategy without micro as a stepping stone to StarCraft. Are there any games with good AIs like that already?
It doesn't matter how well you split your zerglings or move your marines, when there are tanks busting through your front door.
I don't actually agree with this. Unlike Go, StarCraft is not only a game of strategy; "micro" (micro-managed tactics, basically) also plays a big role. An AI is going to be able to issue a LOT more commands per second than even the most skilled humans, giving them a natural tactical advantage.
Strategy is more difficult for an AI, but not the only deciding factor in StarCraft.