5 ms·
Title is misleading. Traditional AI with subroutines for each subtask would have no problem with this.
by soup10 7y ago
Title is misleading. Traditional AI with subroutines for each subtask would have no problem with this.
- milesvp 7y agoWas my thought as well. I’m pretty sure a stupid AI that was no more than a couple state machines and a lookup table could collect diamonds. I’ve written bots for MMO’s and the hardest part for a task like this is fighting the API the bot has access to. I suspect I could even solve this challenge 10% of the time with a blind bot that just did some brownian motion. Unless you never run into trees, every other resources is pretty easy to just dig down for. The only thing that would make this hard is the thing that makes it hard for a human player which is knowing you’re on the diamond level without using the xyz debugging info.
- twright 7y ago> hard for a human player which is knowing you’re on the diamond level That’s a really good point, lava pools start at y=10 so mining around 11 is both safe and in the diamond zone. The question is if there’s enough training data to reinforce an agent so that once it finds a (underground) lava pool it should start mining at that level.
- unoti 7y ago> The only thing that would make this hard is the thing that makes it hard for a human player which is knowing you’re on the diamond level without using the xyz debugging info. Something else that makes this much harder than it is for a human: there's no sound! You can't hear the nearby lava or water when digging down. Check out the information in the observation space-- nothing about sound in here. http://minerl.io/docs/environments/index.html#minerlobtaindiamond-v0 http://minerl.io/docs/environments/index.html#minerlobtaindi... But maybe a computer could do a better job than a human at looking at the clouds before digging, estimating how high they are, then keeping track of how many levels down we've dug. I'm pretty sure the clouds are at a fixed altitude.
- johnmoberg 7y agoThe challenge was to accomplish this without domain knowledge... if you can do this with GOFAI, please go ahead and shock the world.
- progval 7y agoYou have to use at least some domain knowledge, else you would be making a general-purpose artificial intelligence. The rules actually say: "without relying heavily on human domain knowledge" (emphasis mine). The rule is actually quite vague, which is not very surprising, as it seems quite hard to define what domain knowledge is allowed and what isn't without having lots of loopholes.
- johnmoberg 7y agoI agree that is vague. But there are plenty of RL algorithms that learn with essentially no domain knowledge, e.g., MuZero[1] which doesn't even use a model. That doesn't make it AGI -- it only masters a single game at a time and we currently don't know how to transfer that knowledge to other domains. [1] https://arxiv.org/abs/1911.08265 https://arxiv.org/abs/1911.08265
- deleted 7y ago[deleted]
- deleted 7y ago[deleted]
- opportune 7y agoYeah, the steps of how you get from the base state to diamonds maps directly to classical planning problems. Deep learning would at best be an augmentation to this
- unoti 7y ago> Title is misleading. Traditional AI with subroutines for each subtask would have no problem with this. The easiest way to code this with traditional methods would be to still use deep learning for the image recognition part of it. The input to the agent at each step includes an array of numbers representing the pixels on the screen. So it doesn't get to see the 3d terrain directly; it sees a projection into 2d, and needs to recognize the 3d terrain and objects. And from there it needs to synthesize that into a map of the situation-- for example, the presence of lava, water, cliffs, and hostile monsters. Doing that kind of object recognition without deep learning would be pretty onerous. The strategy and planning parts of this, though, I agree would be comparatively straightforward. Further, even if it started with a representation of the actual terrain blocks in a 3d model, the synthesis step into a representation of what the overall situation is-- that also is much more easily done with deep learning than with traditional methods. Back in the day I wrote a highly effective bot for playing Star Wars Galaxies which would run missions unattended. It was created exclusively with hand-coded routines and a big nested state machine. It included a hand-written OCR library for reading the compass coordinates and accepting missions from the mission terminal in a particular direction. It knew a pre-recorded path for navigating in and out of town to and from the mission terminal. It used the little red dots on the radar scanner to determine the presence of nearby hostile creatures and mission targets. I ended up selling this system to a gold farming outfit in China; it was only available for sale to the public for a handful of days. I bring this up because this bot for SWG didn't contain any modern machine learning or deep learning techniques, and it worked great. But if it weren't for the coordinates displayed on the radar (used for navigating through the maze of town back to the mission terminal), along with easily discernible red dots on the radar indicating enemy presence (used for knowing which direction to face during combat), I'd have been at a loss for the complex object recognition / situation recognition necessary to turn this into a task solvable by a straightforward nested state machine.