1. ridana says

    Is it actually solving it, i.e., given a random configuration to start with that it has to find the unique solution to, or did they just program the steps to manipulating the sides of that particular configuration? The former would be somewhat impressive, even though every configuration can be solved in 20 steps or less, but the latter, not so much. I’d be more impressed by welding robots.

    Either way, it’s still funny to watch that though.

  2. John Morales says

    ridana, it’s just terminology. Also, at root your question (whether it is “solving” an arbitrary case or a singular one) is vapid; it’s an algorithm in either case, and any solving has been done by the builders of the machine.

    The answer, yes, it is somewhat impressive by your criterion:

    “The gist is that there is a motor actuating each face of a Rubik’s Cube,” explains Katz, who conducts research at MIT’s Biomimetic Robotics Lab. Custom-built electronics and controls are then used to control each of those motors. The robot also has pair of webcams pointed at the cube. “When we tell the robot to solve the cube, we use those webcams to identify the different colors on the face of the cube,” says Katz.

    Di Carlo wrote software that identifies the colors of each individual part within the cube to determine the cube’s initial state. The team then used existing software written to instruct the robot on exactly how to move the pieces to solve the puzzle.



  3. John Morales says

    When those cubes first came out, I mucked around but wasn’t motivated enough to solve it and quickly gave up.

    Not long after (years), the rote steps to solving it were publicised, so that pretty much anyone could do it if they cared to learn how. Thus, merely “solving” it became unimpressive (unless, of course, the solver nutted out the method themself — which may be ridana’s intended point).

  4. file thirteen says

    I finally nutted out the last sequence in bed one morning, before school. I’m sure I use a totally inefficient method of solving it, but it’s one I worked out for myself so damned if I’ll learn any other.

  5. chigau (違う) says

    I “solved” the cube by taking it apart and putting back together with the colours correct.

  6. ridana says

    @ John Morales: Thanks for the quoted explanation. To me there’s a difference between programming the 20 or fewer steps required to solve one specific configuration (Turn side 1 90°, turn side 4 180°, etc.), and making the robot first identify which configuration it’s been presented with and then having it run the solving algorithm for that (if they’d been able to get it to write its own solving method, now that would’ve really been impressive). To me it’s a little more impressive if it can be given quadrillions of different problems and still solve them, than it is for it to only be able to do one simple trick (that programmers hate!). 🙂 The latter isn’t even solving anything. It would just be following a set of instructions that it would try to execute regardless of what you put in front of it.

  7. says

    It took me 8 months or so to solve the cube (obviously I left it alone for significant periods during that time), IIRC, and the last 2 or 3 I had a book on solving it in my bedroom. As I got very close to solving it, I looked in the book at the opening pages for solving a single side. It wasn’t so much the moves that they published, but they’d put into words the idea I’d not yet: you don’t have a goal of solving the cube, you create short term goals of “how do I solve the problem of getting piece X to position Y”. Many of these problems are generalizable to a small set (often 3) other pieces. Although technically I didn’t read the solution to the last few cubes’ replacement and reorientation, I’m not sure I ever would have solved it if I hadn’t started being more explicit about intermediate goals and systematic in my approach, and that was definitely down to the influence of the book’s philosophy even if I didn’t repeat the book’s algorithms.

    After I’d solved it once, I went back and read the book trying to improve my solving times systematically. While doing that, I discovered that a couple things I had done to solve intermediate steps had been horribly convoluted -- essentially I had unknowingly moved a few steps away from undesirable state A to intermediate state B, then I had followed a series of moves that passed through undesirable states C & D (etc.) before bringing the cube back to the exact B state before moving on to reach desirable end-state E. While it’s possible that I might have figured that out eventually without the book, I didn’t solve it “on my own” more than once, so I owe the ability to solve the cube quickly (almost always under a minute, with a couple times just barely under 30 sec due, probably, to fortunate initial states) entirely to the book.

    All of which is to say that being given the algorithm, as I was, doesn’t mean no interesting stuff is going on. Even just watching the algorithm work, I could see things about my own approach to problem solving that were far from optimal and it caused me to think about how I think. That wasn’t the first time that happened, but it was one of the most significant of those early explorations into the limitations of my own mind.

    So when ridana says,

    if they’d been able to get it to write its own solving method, now that would’ve really been impressive

    I somewhat agree. But I think what would be even more interesting is to take several different neural networks and give them the goal of solving the cube and then comparing the algorithm written by one network to those written by others and ultimately to the original human solutions. More than just the existence of a novel solution, the insights gained by comparing these different solutions and any differences in underlying strategy (if any) would be impressive to me.

Leave a Reply

Your email address will not be published. Required fields are marked *