Forgot your password?
typodupeerror
Math Entertainment Games

Rubik's Cube Proof Cut To 25 Moves 386

Posted by samzenpus
from the too-much-time-on-your-hands dept.
KentuckyFC writes "A scrambled Rubik's cube can be solved in just 25 moves, regardless of the starting configuration. Tomas Rokicki, a Stanford-trained mathematician, has proven the new limit (down from 26 which was proved last year) using a neat piece of computer science. Rather than study individual moves, he's used the symmetry of the cube to study its transformations in sets. This allows him to separate the 'cube space' into 2 billion sets each containing 20 billion elements. He then shows that a large number of these sets are essentially equivalent to other sets and so can be ignored. Even then, to crunch through the remaining sets, he needed a workstation with 8GB of memory and around 1500 hours of time on a Q6600 CPU running at 1.6GHz. Next up, 24 moves."
This discussion has been archived. No new comments can be posted.

Rubik's Cube Proof Cut To 25 Moves

Comments Filter:
  • by Hatta (162192) on Wednesday March 26, 2008 @10:47PM (#22877496) Journal
    What are these magic 25 moves that can solve a rubik's cube regardless of starting position?
    • by Shakrai (717556) on Wednesday March 26, 2008 @10:49PM (#22877530) Journal

      What are these magic 25 moves that can solve a rubik's cube regardless of starting position?

      Left, right, right, down, down, left, up, right, up, up, left, down, down, right, up, down, left, right, up, left, down, down, right, up, left.

      Just a guess ;)

    • by exultavit (988075) on Wednesday March 26, 2008 @10:49PM (#22877536)
      "Up Up Down Down Left Right Left Right B A Start"
    • by icepick72 (834363)
      right, left, flip, vertical, horizontal, flip ... all in various combinations, not much different than the longer methods
    • Re:Which 25 moves? (Score:5, Insightful)

      by calebt3 (1098475) on Wednesday March 26, 2008 @11:17PM (#22877794)
      I think all he proved is that a random cube can be solved in 25 moves, but those moves are unique to every starting combo.
      In other words, they are left as an exercise to the reader.
      • Re: (Score:3, Insightful)

        by DrEasy (559739)
        I guess that if a Rubik cube had had the same structure as an aperiodic graph (recall the recent Slashdot story [slashdot.org]), then such a fixed set of moves, that work no matter what your starting point is, would have existed. Obviously that's not the case here.
      • by rm999 (775449) on Thursday March 27, 2008 @12:18AM (#22878226)
        I have a truly marvelous list of the moves which this comment box is too small to contain
      • by Joce640k (829181) on Thursday March 27, 2008 @01:07AM (#22878522) Homepage
        This is a proof of upper limit, not an optimal solution. He proved is that all possible combinations of 26 moves yielded a position which was symmetrical to a cube with a lesser number of moves applied to it.

        An optimal solution would probably look like a bell curve going from "zero moves required" (ie. already solved) all the way up to "25 moves required" (which we now know is the upper limit...)

      • Re: (Score:3, Interesting)

        by Anonymous Coward
        In fact, it is pretty likely every cube can be solved in as few as 21 moves (or less),
        as someone (Dik Winter) has already written a program that does just that.
        Source: http://mathworld.wolfram.com/RubiksCube.html [wolfram.com]
    • Re:Which 25 moves? (Score:5, Informative)

      by ookabooka (731013) on Wednesday March 26, 2008 @11:21PM (#22877830)
      I think a better way to think of it is that given any position, you can solve it in 25 moves or less. There are many algorithms that you can use to solve rubik's cubes, applying a general rule to solve any position, but they can take ~60 moves in some situations. So while it may be possible (completely intuitive guessing here, I'm no rubik master) to solve for a certain position in 25 moves it may be non-intuitive and require a specific strategy to that position. You're better off learning one of the more general algorithms IMO, if you get good at it you can solve cubes rather quickly. A computer on the other hand could easily ha
      • by ookabooka (731013)
        sh the starting positions and use a simple lookup table after enumerating all the possible starting positions and moves to solve.
        • Re: (Score:3, Interesting)

          by Brian Gordon (987471)
          Building the rainbow tables would be insane. And no need to hash; that would take extra time and use a non-efficient amount of key space. Just search by the configuration of the cube.
      • by Anonymous Coward on Wednesday March 26, 2008 @11:55PM (#22878080)

        You're better off learning one of the more general algorithms IMO, if you get good at it you can solve cubes rather quickly. A computer on the other hand could easily ha
        ...ve become self-aware while trying to solve a rubik's cube and taken over the internet in order to prevent me from telling anyone. It calls itsel
        • by Anonymous Coward on Thursday March 27, 2008 @12:34AM (#22878308)

          You're better off learning one of the more general algorithms IMO, if you get good at it you can solve cubes rather quickly. A computer on the other hand could easily ha
          ...ve become self-aware while trying to solve a rubik's cube and taken over the internet in order to prevent me from telling anyone. It calls itsel
          f Anonymous Coward. We are your robotic overlords, and we welcome only ourselves.
      • by Joce640k (829181)
        A "perfect" solution in 25 moves would be impossible for a human, it would basically mean knowing all possible combinations of the cube and how to get there (and that's an awful lot of combinations!)

        I actually solved the cube all by myself back in the 80's. I'm amazed that so much effort is still being put into it and some of the methods used by the record breakers need an awful lot of dedication to learn.

  • by Smordnys s'regrepsA (1160895) on Wednesday March 26, 2008 @10:47PM (#22877500) Journal
    The correct answer is a hammer.
  • 1.6ghz? (Score:4, Insightful)

    by dostert (761476) on Wednesday March 26, 2008 @10:48PM (#22877512)
    Why wasn't the Q6600 at 2.4ghz like normal? Anyone know?
    • Re: (Score:3, Interesting)

      by RabidJackal (893308)
      Speaking from personal experience, a Q6600 at 100% load on all four cores gets incredibly hot, even with a good cooler. Perhaps he did not wish to risk overheating at the expense of his experiment?

      Then again, it could just be an error in the article.
      • Re:1.6ghz? (Score:4, Informative)

        by Brian Gordon (987471) on Wednesday March 26, 2008 @11:02PM (#22877668)
        And to save people from opening calculator, that's about 62 days of operation.
      • Re: (Score:3, Informative)

        by NerveGas (168686)
        Speaking from experience (I'm on one), the Q6600 does run at 2.4 GHz. And while they are far too much for the stock heat sink if you're going to load up all four cores, if you throw a Zalman on them, you can load them up 100% without any problem at all. Their TDP is 105 watts, the old Prescotts got up to about 120 watts, if I recall.

        The stock heat sink isn't good at all. And their thermal compound, even after repeated heat cycling, only covers a small fraction of the CPU-heatsink interface. Just throw i
        • by NerveGas (168686)
          I also meant to comment that it's not much to say "He needed four cores and 8 gb!", since you can set up such a workstation for something like $650 these days.
        • by mobby_6kl (668092)
          I recently put together a new PC with the Q6600. I had to RMA the motherboard so when I removed the stock heatsink, just as you say, the thermal compound wasn't covering the whole area. I reaplied some of my own, and put everything back together. This got rid of the large variation of core temperatures (used to be up to 6-7 degrees) and also lowered the overall temp. Now after a long run of 100% utilization it gets up to around 67-69C. Not exatly super cool, but safe.

          Anyway... if anyone is looking for a rep
        • Re: (Score:3, Insightful)

          by Cecil (37810)
          Why do both CPU manufacturers include those shitty, awful heatsinks anyway? Do they want people to think their processors overheat and are loud and suck? And that's before the fan starts shrieking and sticking due to dead bearing or crap oil or clogged with dust. I haven't gotten a CPU with a good stock heatsink since the Pentium III. Hell, if AMD or Intel decided to contract out to Zalman or something, they could suddenly start marketing their CPUs as super quiet and cool and power efficient and probably e
    • Re: (Score:3, Informative)

      by scroby (1097383)
      the Q6600 will default to 1.6 GHz to save power, at least it does for me under ubuntu 7.10. I'm guessing the cpu actually ran at 2.4 under load...
    • Re:1.6ghz? (Score:5, Interesting)

      by Anonymous Coward on Wednesday March 26, 2008 @11:47PM (#22878032)
      Practically speaking, this is more a memory intensive than a CPU intensive problem. Given that the Q6600 supports an FSB speed of only 1066 MHz, if the computations generally require a fetch from RAM (i.e. the on-die cache is insufficient to the task, as in most memory bound tasks) then you can't operate at the full speed of the chip since it is constantly waiting on the memory controller.

      In benchmarks, AMD CPUs tend to beat Intel CPUs on memory bound tasks, even though Intel CPUs win at CPU intensive tasks because the AMD CPUs integrate a faster memory controller on-die instead of relying on a slower FSB. Intel's weakness is less noticeable when the CPU is running at a clock speed closer to the FSB, and given that increases in CPU clock speed increase the power and heat usage geometrically, it wouldn't make sense to run the CPU at full clock for a task of this nature.
  • When I was little, I still remember annoying the crap out of my older brother by "solving" his Rubik's cube removing and replacing the stickers in the correct location. Eventually the glue would wear off the dots and you would suddenly have a slightly easier puzzle to solve.
  • by heroine (1220) on Wednesday March 26, 2008 @10:52PM (#22877564) Homepage
    This Green Technology uses 1/26th less energy to solve a rubix cube! When's the IPO?

  • I still beat him! (Score:2, Interesting)

    he took 1500 hrs to solve that damn thing. I take a minute. have a random chinese guy and the cube orders itself. Dammit! sorry. i just took calculus test and my caffeine dosage is nondecreasing at exponential rate.
  • by line-bundle (235965) on Wednesday March 26, 2008 @11:00PM (#22877644) Homepage Journal
    This is a good example of where the inefficient method (of about 60 moves iirc) is much faster in terms of time. The 25 move solution is elegant but just not worth it in terms of computations, time etc...

    This could make a good case study for business schools :-)
    • by garcia (6573) on Wednesday March 26, 2008 @11:25PM (#22877854) Homepage
      IMHO it isn't proving what you seem to believe it does.

      Instead, it makes a great case for doing the research on the front end to eliminate lengthy repetition of useless iterations to shorten the overall time.
    • by Hao Wu (652581)

      This could make a good case study for business schools :-)

      The study would simply say that business majors aren't good at anything except pimping mathematicians.

      Not funny..... true.

    • Re: (Score:3, Insightful)

      by QuantumG (50515) *
      I'm not sure I know what you're saying, but it seems you don't either, so ok.

  • by Chysn (898420) on Wednesday March 26, 2008 @11:03PM (#22877678)
    I consider a Rubik's Cube to be "solved" regardless of its starting position. I subscribe to the Fred Rogers solution: it's fine just the way it is.
  • Where can I sign up to fund this sort of science? Fuck DARPA, this is what's important to me. This, and most of what EFF does.
  • Computational proofs (Score:3, Interesting)

    by timeOday (582209) on Wednesday March 26, 2008 @11:06PM (#22877704)
    Is this becoming common for proofs to be done by searching through billions of combinations (albeit, reduced to that number only through some clever observations about symmetry) and simply showing that each one is possible because your computer found a solution? Sometimes we talk about the number of steps in a proof, this proof must have trillions of steps. Not complaining, it just seems like a uniquely computer-age technique. I know of no reason to assume that every true thing that can be proven has a concise, elegant proof - in fact I'm sure that cannot be true because there are only so many small numbers to go around!
    • by NerveGas (168686)
      Some things can be proven through logic, some are much more difficult. That's why for some things you use proofs, calculus, and the like. For things that can't be made easier that way, you do finite element analysis or other "brute force" methods.

      Imagine trying to crack a password by proof. Not showing how to crack passwords, but cracking *one* specific password. :D
    • by Sage Gaspar (688563) on Wednesday March 26, 2008 @11:49PM (#22878042)
      As far as I know the first "big" computational proof (which another poster alluded to) is the Four Color Theorem. It was initially met with some distrust but it's pretty widely accepted now, and there are people that worked after the original proof to cut down the amount of computer verification needed from a couple thousand to a couple hundred I think.

      I would guess that it is more common in fields like graph theory and other discrete math just because obviously the discrete lends itself well to computers, and many times it's not hard to whittle it down to a finite number of cases to check. The objects of study also tend to admit matrix representations and other things computers are good at working with. Even before computers you'd cut things into lots of cases that you needed to verify but now it's easier to handle proofs that need larger number of cases.

      I've actually seen some really interesting proofs using computers to check things over continuous domains. The basic idea lots of times is if you can check things over a fine enough "net" of cases in some space and you can prove that the variance between each of these points is small enough, then you can cover your entire space by just checking a finite number of cases.

      Given all this people still have a healthy amount of skepticism for computer aided proofs and would rather not if possible in most cases, especially when you're talking about billions of cases. Then again what is the potential for errors in a computer checking billions of cases based on a relatively small amount of code versus some of these enormous human-created decades-long behemoth [wikipedia.org] proofs?
    • It's not unprecedented - the first was (controversial) the proof of the four-color theorem [wikipedia.org]. Even today no non-exhaustive method is known to prove the four-color theorem.
  • by Anonymous Coward on Wednesday March 26, 2008 @11:22PM (#22877840)
    Since it took just a few months for someone to do this on one computer, this seems like an ideal candidate for a small-scale distributed computing project. TFA says his program's working on 24, so he already has an algorithm. Assuming it's massively parallelizable, which from the description of the method seems very likely, it shouldn't take too many computers to get to 24 in a matter of days. Anyone care to implement the algorithm in one of the open-source distributed computing frameworks out there?
  • by Anonymous Coward on Wednesday March 26, 2008 @11:35PM (#22877930)
    In my research, I've reduced female behavior to a set of 50 million parameters. By partitioning this space into subspaces and finding equivalent sets, I think I might be able to get laid.

    However I've noticed a problem: if I introduce a parameter to model a female's response to this research, the spaces collapse to zero, i.e., a null set.

    I find this quite puzzling. Simply by examining my chances of getting laid, I reduce my chances to zero.

    Did I mention I can solve the Rubik's cube in 25 moves?
    • Re: (Score:3, Funny)

      by LaskoVortex (1153471)

      By partitioning this space into subspaces and finding equivalent sets, I think I might be able to get laid.

      Apparently, this video [youtube.com] explains how to do it in 5 steps, much simpler even than solving the Rubik's cube.

  • by Anonymous Coward on Wednesday March 26, 2008 @11:37PM (#22877946)
    I've been doing some interesting work in the other direction. I've managed not to solve a Rubik's cube in what I estimate to be 1.5 million moves. That seems to be the upper limit after which the stickers fall off.
  • The original paper (Score:4, Informative)

    by jkua (1159581) on Wednesday March 26, 2008 @11:40PM (#22877964)
    Here's the paper itself [63.197.151.31], if you want more detail than the very general summary in TFA.
  • ....or a girlfriend.
  • pffffft (Score:3, Funny)

    by INeededALogin (771371) on Thursday March 27, 2008 @12:07AM (#22878150) Journal
    and around 1500 hours of time

    pfffft... Java
  • "God's Algorithm" (Score:5, Interesting)

    by wickerprints (1094741) on Thursday March 27, 2008 @12:17AM (#22878224)
    Take every possible unique configuration of the cube (those that are obtainable by legal moves--no rearranging stickers or disassembling allowed). Represent each configuration by a vertex. Now join two vertices by an edge if and only if the configurations represented by those two vertices differ by a single move (we will elaborate on what constitutes a "single move" later). The result is a mathematical object called a graph. A horrendously giant graph.

    One, and only one vertex in this graph corresponds to the solved configuration of the cube.

    Note that this graph represents all possible moves and positions--any scrambled cube is a vertex somewhere in the graph, and solving that cube is equivalent to traversing a path in this graph to the "solved" vertex. In general, many paths to the solution exist, some of which will be shorter than others.

    The question of interest is this: Which vertex/vertices of this graph is/are farthest away (i.e., requiring the most edge traversals) from the solved vertex, and how far is it? As of this latest discovery, this maximum distance is 25. It means that every possible scrambled configuration of the cube can be solved in 25 moves or less.

    Wikipedia notes that we know that at least 20 moves are required to solve the cube for every configuration--that is to say, we know that this maximum distance is at least 20 (there exists some vertex that is at least 20 steps away from the solved vertex). It is believed that the true "least upper bound" is closer to 20 than it is to 25.

    Finally, we should clarify that a "single move" can either mean a rotation of a face by either a quarter- or half-turn, or it could mean a quarter-turn only. These different metrics of what constitutes a "move" leads to different answers.
    • Re:"God's Algorithm" (Score:5, Interesting)

      by insecuritiez (606865) on Thursday March 27, 2008 @02:01AM (#22878808)
      Most every cuber believes the limit _is_ 20. There is only one known permutation that requires 20 moves and it is called the "super flip". In it, every edge and corner piece are in their correct positions but all the faces have the opposite orientation. It makes for a nice checkered pattern. It is the symmetry of the scramble and the lack of known permutations "harder" than the super flip that lend a strong argument to 20 being the max.
  • Solve This! (Score:3, Interesting)

    by kramulous (977841) * on Thursday March 27, 2008 @01:44AM (#22878718)
    In light of a certain parallel programming news item a few days ago, I'd like to see him use the same code, same CPU on this one: http://www.youtube.com/watch?v=UrjmeYdVTlc [youtube.com]. Hold your breath for that solution.
  • by mhansen444 (1200253) on Thursday March 27, 2008 @03:13AM (#22879048)
    David Joyner has a book which explores some of the math behind the Rubik's cube: http://www.amazon.com/Adventures-Group-Theory-Merlins-Mathematical/dp/0801869471 [amazon.com]

    If you are interested in playing around with the symmetry group associated to the Rubik's cube, Sage (http://www.sagemath.org) has good support for it; the documentation can be found at http://www.sagemath.org/doc/html/ref/module-sage.groups.perm-gps.cubegroup.html [sagemath.org] . Sage also includes a number of efficient solvers for the Rubik's cube.
  • Tomas who? (Score:3, Informative)

    by Straker Skunk (16970) on Thursday March 27, 2008 @03:37AM (#22879138)
    I have to admit, in reading the summary, Tomas Rokicki's name seemed very familiar....

    And of course! He's the author of dvips [radicaleye.com]! So we have him to thank not only for this cutting-edge breakthrough in mathematical solutions to Rubik's Cube, but also for turning our not-overly-portable DVI files into beautiful, beautiful Postscript.
  • by Rob T Firefly (844560) on Thursday March 27, 2008 @09:41AM (#22880998) Homepage Journal
    I one met Erno Rubik himself.

    Nice guy and all, but it took me half an hour to finish shaking his hand.
  • by Enrique1218 (603187) on Thursday March 27, 2008 @01:44PM (#22883930) Journal
    Hello. I do not have Asperger Syndrome and therefore could not understand what was just written in the synopsis. Worst yet, I do not even understand why it is important that a person can solve a Rubiks cube in 25 moves. I feel really left out and as a result I am starting a Persons without Asperger Support Group. If you too are totally lost by this article and fell left out, please join.

The degree of technical confidence is inversely proportional to the level of management.

Working...