8 ms·
The Mathematics of the Rubik’s Cube (2009) [pdf]
- stilldavid 8y agohttps://cube20.org/ https://cube20.org/
- maxxxxx 8y agoI really wish I had the brains to do math to figure out things like the Rubik's cube. I find it fascinating how you can model something like this and express it with math.
- nelsonic 8y agoWhat's preventing from having the brains...?
- maxxxxx 8y agoLack of intelligence? I simply can’t do math on a higher level.
- onemoresoop 8y agoTo understand higher maths intelligence is not enough. It is necessary, but not sufficient. To understand mathematics, someone needs discipline and hard work. Years of preparation, years of study of topics you don’t know for what they can be useful. But, as far as you go deeper in maths, more you understand the meaning of the first steps and theirs contents. It is a BS opinion that one which says that maths is something got by putting bricks over bricks. By the contrary, it consists of an eternal returning to the same points, ever seeing them from a different perspective, with deeper understanding. Try to read again a book you had difficulties when in basic school. You will find it easy.
- maxxxxx 8y agoI just remember that when we had three dimensional differential equations I kind of hit a wall. Until then I had a pretty good intuitive understanding of things but this requires a lot of work. Other people had no problems with this. On the other hand I don’t have to work much on understanding computers and software architecture so it seems this is a better area for me.
- Jtsummers 8y agoDifferential Equations is often called Difficult Equations for a reason. You may have some more success in other areas of advanced math, particularly abstract algebra, graph theory, and related fields. You'll find more connections between that and what we do as developers than between programming and differential equations. And not just in the sorts of problems we solve (routing, etc.), but also in mapping between the structure of programs/architectures and concepts in algebra and graph theory.
- maxxxxx 8y agoTrue. When we did finite elements linear algebra seemed more accessible. But I still don't think I could be cutting edge in any area of math.
- Jtsummers 8y agoFair. I have no anticipation of being at the cutting edge in math either. One thing that I have found, though, is that as I've explored (particularly in programming and CS) more areas, that reviewing the math I had trouble with in college it all seemed "easy", or at least easier. An advantage of age/experience is the ability to draw from our numerous experiences and produce better (for us, personally) analogies with the material. Another crucial thing for me (post-college) is the absence of grading or immediate external or internal pressure. If I have trouble with a math or CS concept, I just set it down. It has no impact on remaining employed or future job prospects (well, mostly, some geometry and trig refreshers were good when doing some geographic stuffs; learning some languages were critical to a job, but that's not theory). Additionally, I removed the pressure from myself. If I don't get something, I don't (as I did in college, which led to other problems) see it as a personal defect or deficiency. It's just a fact, I simply don't understand it. I re-read the same material over and over across a several year period (Knuth's Concrete Mathematics) before certain sections of it became accessible to me. I desired to understand it, so I returned to it. But despite the desire, I didn't feel any external or internal pressure to understand it at that precise moment. When understanding came, it was a good feeling. But when it didn't, it was just a thing.
- EdwardCoffin 8y agoThis 15 minute video is a pretty accessible explanation of a technique for solving Rubik's-type puzzles: A simple trick to design your own solutions for Rubik's cubes [1] [1] https://www.youtube.com/watch?v=-NL76uQOpI0 https://www.youtube.com/watch?v=-NL76uQOpI0
- ssewell 8y agoNot sure if you're referring to cube theory or just the ability to solve... If it's the former, almost anyone can learn to solve a Rubik's cube in a few days (albeit in a non-optimal fashion). It's a matter of learning a handful of algorithms for each layer then executing. It can quite a fun way to keep the hands busy while thinking, like crocheting or knitting.
- maxxxxx 8y agoI am talking about cube theory. Solving it isn’t that hard unless you want to be super efficient. But formalizing it in way you can then reason about seems very hard to me.
- perfect_wave 8y agoRyan Heise's site is a good place to start with this: https://www.ryanheise.com/cube/theory.html https://www.ryanheise.com/cube/theory.html https://www.ryanheise.com/cube/fundamental_techniques.html https://www.ryanheise.com/cube/fundamental_techniques.html From there you should have enough of an understanding to start Googling things, playing with a cube, and Learning the Heise method: https://www.ryanheise.com/cube/heise_method.html https://www.ryanheise.com/cube/heise_method.html
- aidos 8y agoIs solving it not that hard?! I chipped away at it for a year before I figured out a (really inefficient) technique.
- maxxxxx 8y agoI remember after a few weeks I figured out a move that could swap two pieces without other changes or something like that (don't remember the details). It was horribly inefficient but it did the job.
- tuckermi 8y agoIs there a properly colorized version of this PDF floating around somewhere? In particular, I'm wondering about this line that lies above a grayscale image: For example, in the picture below, the red square is at FUR, yellow at RUF, blue at URF, and green at ULB
- alejohausner 8y agoNice introduction to group theory. I wish my math profs had used some of this material.
- perfect_wave 8y agoMy group theory textbook mentioned the cube briefly, but no mention ever from the professor on it. It really would have helped me in the class because I had a hard time seeing how groups actually apply and why they're so useful. I've gained a lot more appreciation for group theory from exploring math of the Rubik's cube.
- tzs 8y agoI was a second year undergraduate math major at Caltech when the Rubik's Cube came out in the United States, and they quickly seemed to be all over campus. Second year was when we took the intro to abstract algebra course. One of the requirements my professor had was that we each had to do a term project involving material from the class. I couldn't think if anything interesting, so went to to see the professor to see if he had any suggestions for interesting project areas. He simply said "The answer is in your hands". I looked at my hands, and realized I had been carrying my cube with me. Oops. I hadn't even figured out how to solve the stupid thing yet, let alone understand anything mathematical about it, and now my grade would depend on understanding it? DoH! One of the first people at Caltech to figure out how to solve it was Peter Shor. Until there were a fair number of other people who had figured it out, Peter was nice enough to make a nightly circuit of the student houses solving people's cubes for them. I remember one strange night when Peter came around right as several of us where wondering if some particular thing was reasonably do-able. The group wondering this also happened to be high on LSD at the time. (To be clear, Peter was not tripping. He just encountered the tripping group on his nightly cube solving circuit). Both Peter and one of the tripping people started working on the problem. The strange thing was that the tripping person was not a theory guy. He was a strictly experimental cubist. But for some reason he was just staring at his cube thinking about the problem. And Peter, who would usually figure out these things with theory instead was just furiously trying things. Peter and the tripping guy both solved it at the same time, while the rest of us wondered if we had entered the Twilight Zone.
- perfect_wave 8y agoI've been fascinated by the Rubik's cube for years after learning to solve one in 7th grade. I started to get back into it high school and dropped my solve times down below a minute. Then I continued in college and got down to 25 seconds average with a personal best of 15.15. I created a 2x2 Rubik's cube in Java as my freshman final project for my second computer science class, but it was quite ugly. Recently, I decided to take another look at implementing the cube - this time using Python. I also wanted a way to generate cubes and check if they were valid. The main representation of the cube is as a permutation group - a 48-tuple where each element in the tuple is unique. The solved cube is represented as (0, 1, ... , 46, 47). Turns of the cube simply permute this tuple. To figure these all out I spent a lot of time with a cube covered in post it notes. All of the stuff I implemented in the checking for valid cube comes from this stackoverflow post: https://math.stackexchange.com/questions/127577/how-to-tell-if-a-rubiks-cube-is-solvable/127627 https://math.stackexchange.com/questions/127577/how-to-tell-... I've had a lot of fun working with this cube as my personal project. I recently created a Django website and a RESTful API to display randomly generated cubes. Soon I'll be working on a data pipeline to process these random cubes and display them nicely. I've looked into working on a solution algorithm to implement Thistlethwaite's algorithm - https://www.jaapsch.net/puzzles/thistle.htm https://www.jaapsch.net/puzzles/thistle.htm. I think this will take me a while, but it should be doable. I haven't really though too much about implementing it, but I think the way to do it is to define what it is for each step to be completed and then BFS a graph of moves to end up in that state. If anyone has looked into this I'd love some advice! You can find the code I've written on Github: https://github.com/elliotmartin/RubikLite/blob/master/Rubik.py https://github.com/elliotmartin/RubikLite/blob/master/Rubik....
- Retric 8y agoMy only suggestion is trying to quickly validate a cube is solvable seems like a waste of time vs generating them via a large number of random rotations. Especially when no cube can be more than 20 rotations from a solution.
- nsilvestri 8y agoChecking whether a cube is valid is effectively a random-state generator; i.e. it randomly chooses one of the 43 quintillion possible states. Generating random moves biases towards certain scrambles. This is why the World Cube Association generates random states of the cube with their library TNoodle, rather than random sequences of moves.
- ensconced 8y agodogschool.tripod.com
- foxes 8y agoMathologer has a nice video explaining how to solve a cube, and they are really using group theory :), https://youtu.be/-NL76uQOpI0 https://youtu.be/-NL76uQOpI0. The key take away is that all you need to do is find a few basic operations (swapping an edge/corner/center) that leaves the rest of the cube unchanged, and then your job is basically done, you apply these until you have a solved cube. This might approach might not give you the optimal algorithm, which has been shown to be able to solve any Rubik's Cube in 20 turns or less [0]. [0] http://www.cube20.org/ http://www.cube20.org/
- magoghm 8y agoThere are also these much older (1980) notes on the Rubik's cube: https://maths-people.anu.edu.au/~burkej/cube/singmaster.pdf https://maths-people.anu.edu.au/~burkej/cube/singmaster.pdf