Robots can beat humans at Jeopardy, fly our planes and even go to war for us, so they'll surely take over the world eventually. First thing's first, though - they'll have to beat our Rubik's Cube record. Oh wait, one just did.
Behold the CubeStormer II, a robot constructed from four lego Mindstorms NXT kits and packed with the …

COMMENTS

I'd guess it solves the puzzle in 0.000001 seconds, there are a finite number of moves required to solve the cube, if I were doing it I'd get the view of all 6 sides of the cube, work out the sequence required to solve the puzzle and then get the arms moving to implement the solution, total time to solve = not very long, the majority of the time would be spent turning the cubes around and around, now we'll get faster turning of the cubes as the next iteration, probably. Still pretty neat though.

Pretty sure that exactly what it does. Rotates the cube first to find out where all the colours are, then solves it, then does the moves. As you can see from the video, the time to complete is the time taken to move the cube around, and it's moving pretty quick already.

I don't think seeing all six sides are necessary, given the restrictions on the placements of colors once you know the configurations of some of them. I once saw a Commodore program that could solve the cube (albeit, not in the most efficient manner) simply by inputting the spots on the top face. One or two cameras would be all that is needed, with software trained to recognize the colors at specific positions.

@Steve Knox

same as humans then.

Humans don't solve Rubic's cube puzzles without knowing the rules for getting colors from one spot to another spot, either. Credit goes to the robot builders twice - once for understanding the workings of the Rubic's cube to the degree that they could write a program that solves them, and then even more credit for building an awesome (if a bit pointless) robot that solves the physical puzzle! Bragging rights doesn't even begin to describe their amount of win.

But if we're going to talk philosophy, robotics and AI aren't about making robots "intelligent". Shooting something down for not trying to is like claiming a dish made with "vegetarian fish balls" can't be tasty because it's not real fish, even though tastiness is not related to being fish. Time to get the qualifiers right: robotics and AI are about automating things that humans need to be intelligent for, ideally to the point that it's become trivial. Like, say, solving Rubic's cube.

Lots of things that you need to be really smart for as a human turn out to be trivial when have even a modest bit of robot kit available. A good scientific conclusion is that apparently intelligence isn't worth achieving, because it's apparently not necessary for doing useful and even awesome things.

Never mind that on a technical note, intelligence is an a posteriori evaluation, not a guiding quality. The actually useful quality measure is success at a task. Someone or something that has the potential to fail a task but achieves success, is said to be "intelligent", whereas someone or something that fails the task is said to not be intelligent (and someone or something that lacks the ability to fail cannot be rated). So talking about intelligence for robots is nonsense in the first place.

And then of course on a scientific note: "Intelligence" doesn't mean anything. It's not measurable, which means that using it shows you don't actually know what you really want to measure, or implement for that matter. Useful word when talking about people's behaviour, utterly useless word when objectively talking about carrying out some task.

I agree that it would be really noteworthy if you could tell the robot the required end result and see whether it can develop an algorithm to solve it, and improve that algorithm etc. (that would be skynet alert !!)

However just solving it is a pretty nifty feat. After all, even the best human rubikers don't start from a blank slate and work it all out themselves - I'm sure they learn algorithms and techniques as they go along.

"but only after being told how"

Or after the programmer has figured out how and programmed the phone to run the same logic.

Yes, it's a machine that simply does what it's told. Yes, it's not hard for a piece of software to solve a cube. Most innovations (e.g. auto-parking on BMW's) are the same sort of innovation. For goodness sake, see it for what it is... *lego* connected to a mobile *phone* to do something pointless *really* fast.

I want one!

Beer, because these guys deserve one. More than one. But they only have 5.3 seconds to drink them.

@Mike Kamermans ("Humans don't solve Rubic's cube puzzles without knowing the rules for getting colors from one spot to another spot, either.") -- Some of us do. The first solver HAD to.

("But if we're going to talk philosophy, robotics and AI aren't about making robots "intelligent"") You're right about general robotics, but: Expand the acronym "AI", please. Then either change it or GTFO.

("Never mind that on a technical note, intelligence is an a posteriori evaluation, not a guiding quality. The actually useful quality measure is success at a task. Someone or something that has the potential to fail a task but achieves success, is said to be "intelligent", whereas someone or something that fails the task is said to not be intelligent (and someone or something that lacks the ability to fail cannot be rated). So talking about intelligence for robots is nonsense in the first place.")

Well, if you use that horrible definition for intelligence, no wonder you are unable to apply it to anything. Try this one on for size: the ability to learn -- or in more task-oriented language: the ability to 1) create strategies for dealing with a task, 2) test those strategies in a meaningful manner, 3) select and refine the successful strategies for application to the defined task, and 4) generalize those strategies for analogous tasks as well. Most AI nowadays can actually do 2 and 3 quite well, but need human intervention for 1 and 4. On a scientific note, intelligence defined this way IS measurable (although it takes careful testing and long-term observation) and meaningful.

@Richard Wharram ("That's how speed-cubers solve the cube.") I don't care about speed-cubers.

I care about the fact that every time a machine is built to perform a menial task faster than a human can, the mass media (unfortunately including El Reg in this case) use that as a proxy for intelligence, and the people and companies involved are all too happy to perpetuate that misconception, as it gets them some camera time and often lots of colored pieces of paper.

Mike Kamermans is right when he says that modern robotics and software is about optimizing systems to perform menial tasks to allow us to be intelligent, he's just sadly mistaken when he lumps AI theory into those fields.

Oh, and Anonymous Coward down below, as long as you include militant Atheism in your list of fundamentalist religions, I'm right with you on that one!

I think your paragraph below sums up what some people like us are looking to see:

"Well, if you use that horrible definition for intelligence, no wonder you are unable to apply it to anything. Try this one on for size: the ability to learn -- or in more task-oriented language: the ability to 1) create strategies for dealing with a task, 2) test those strategies in a meaningful manner, 3) select and refine the successful strategies for application to the defined task, and 4) generalize those strategies for analogous tasks as well. Most AI nowadays can actually do 2 and 3 quite well, but need human intervention for 1 and 4. On a scientific note, intelligence defined this way IS measurable (although it takes careful testing and long-term observation) and meaningful."

Solving the cube is cool, but let's see such a device put up against the same cube but with only the basic rules on how the cube works. No advance knowledge of solving techniques: just you, the cube, and the mechanics of it all. If a machine can solve the cube using only that much information (the same amount as anyone seeing the cube for the first time), THEN we'd be witnessing something really interesting. Similarly, if our CSII were to be put up against a cube where the colors are different or are patterned rather than coloured (or better yet, able to determine that the cube has been tampered and is in fact unsolvable) and can determine the right course of action accordingly, then we'd be seeing something novel.

It's more fun to do the evil thing..

When these things came out I discovered quickly it was *WAY* more fun to take one segment out and turn it and leave the experts to work that one out than to solve it myself. Dang - I just realized from how early I must have had BOFH tendencies..

20y?

As in, wait for youtube to come into existence and then watch one of many instructionals? It's a simple sequence / set of rules to learn by heart... not very interesting, once you know; its beauty lies in creating complexity in a simple way.

Add a bucket attachment

Given the speed at which this works, it would be fun to add a kind of bucket to this where you could just toss a bunch of random cubes, which would be fed into the machine, solved and then spat out the other end.

Wow!

I did my first time under 30 seconds the same week the world record dropped to 20...

Theory says that any cube can be solved in a finite number of moves, currently proved to be 20, but working out the optimal route is VERY non-trivial. What speed solvers do is apply a suite of moves to solve groups of pieces, without breaking previous progress. The better the solver, the more sequences they can recognise and apply - but these are of the order of 60-65 total moves.

Machine learning

I agree that CSII in all likelyhood uses a predefined set of rules to solve the puzzle, but it shouldn't be that hard to use standard AI tricks like alpha-beta search or machine learning to do so.

There are six faces that can turn either clockwise or anticlockwise, which makes for 12 possible beginning moves and 11 possible moves for each move after that (since you don't want to reverse your previous move). Slightly less, actually, as you don't want to turn a face three times clockwise in a row and if you turn the opposite face, you don't want to go back to turning the front face (you might as well finish turning the front face first). So the branching factor is around 10. With 20 deep that is solveable with alpha-beta search in less than an hour. Less if you can find a good scoring function for move ordering.

Machine learning such as genetic programming could also work. This would in the beginning be really inefficient but may converge to a really fast solver later.